Wednesday, February 27, 2013

Mind Traffic Control

If you haven't looked at Mind Traffic Control recently (and I know YOU haven't, because I see the logs), then you may be surprised.

Just saying ... :-)

Friday, February 15, 2013

Personal Question

Question : Hey Phil, do you actually do any programming these days?

Answer : Yes. Quite a lot at the moment. Though it's a bit all over the shop.

I'm dipping a toe into Android programming. (And, hmmm ... Java .... I thought I'd got over my Java hangups by doing a lot of Processing, but it turns out that Processing just hides the crap and Android doesn't. Why hasn't Google picked up on Processing to turn it into a first-class Android art / game app. development environment?)

I'm mainly writing CoffeeScript. Some stuff related to my ongoing 3D modelling / desktop manufacturing projects. (Did I forget to mention those? I'm sure there's a half-written blogpost somewhere.) Some work towards an SdiDesk-derived network diagramming plugin for Smallest Federated Wiki (held up by silly problems). Some other bits and pieces. I've recently been playing with Jison, which rocks. And I'm about to investigate angular.js which looks pretty good.

There's a project for small stand-alone web-servers that I'll talk about more if / when it takes off.

I've been trying to compile example VST instruments  (C++) for some of my work with the Brasilia Laptop Orchestra, but it's driving me crazy. (I may go back to Pure Data which can be embedded in a VST.)

A bit of PHP, just simple small web-services.

I'm going to be teaching an Arduino course soon. So I'll be writing a bit of C and I want to try Occam-.

I'm still writing Python too. Mainly for short file transformation scripts or to prototype algorithms that later get translated into CoffeeScript.

Some of this stuff is headed for GitHub soon.



Giles Bowkett: Rails Went Off The Rails

It's fascinating to read Giles Bowkett on Rails, its bloat, its falling out of fashion.

Fascinating mainly because it so clearly highlights that no-one is immune from this life-cycle that goes :

  • new, simpler and easier than anything else
  • hot-new thing that everyone loves
  • adding more fluff to deal with more edge-cases
  • build-up of technical debt
  • re-writes to try to make more general, more principled, but requiring more configuration
  • old and bloated.
Certainly Python isn't immune. We've been through this cycle with Zope, Plone ... feels like Django has too. Java went through it several times. The node/js/coffeescript frameworks will go through it too. 

DOS/Windows did it. I guess the Macintosh OS has, though Apple have been more willing to kill and reboot its operating systems with the moves to OSX (BSD) and then iOS.





Thursday, February 14, 2013

VB.NET

I'm amazed that Microsoft didn't get the VB.NET domain name.

Tuesday, February 12, 2013

Why Pascal is Not My Favorite Programming Language

This is a great essay on what's wrong with Pascal. But really, it's a great essay on what are some of the nice touches of C that makes it such a good language.

Monday, February 04, 2013

Universal Programming Literacy

My answer to a Quora question : What would happen in a world where almost everyone is programming literate?
How might such a world (of universal programming literacy) come about? 
Most likely from a continuing trend to automate the way a lot of work gets done, and then people would learn programming as a way of engaging with that world. 
For example, instead of spending half an hour in the supermarket or even 10 minutes browsing a supermarket site on the web, you might be able to compose an augmented shopping list on your phone. 
6 Apples
4 bread rolls 
Could become : 
"Apples".
   prefer("Pink Lady" or "Fuji").
     take(6).
   otherwise.take(4)

"Bread rolls".
   only("Wholemeal").
     take(4).
     prefer("Top=Poppy Seed")

Deliver("Wednesday")
Order_from( 
   priorities("Waitrose","Asda","Sainsbury","Tesco")

)

Similar little languages can be developed for most activities. So I'd guess that we'll all be writing little scripts for robots or large automated services. There's an assumption that people must prefer navigating rather laborious graphical interfaces to get stuff done. But if they were more programming literate they may learn to use and love such small scripts instead.