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.

Wednesday, December 26, 2012

Adobe Brackets

Adobe's Bespin-like editor, written in javascript / html.

Sweet

Social Media 2012

My comment on Alex's blog :


Well, you already know but I still think wiki has a future, as pointed to by Smallest Federated Wiki. There are some flaws / issues with SFW, mainly I think because not enough people are working on it, but it’s still the signpost for how wiki could evolve. 
Would still love to see you and other UseMod / OddMuse people look at ways to engage, even if you don’t switch over. 
2012 is the year when it just became more and more clear that we need our own space and shouldn’t be dependent on Fb / Tw / G+ etc. 
Fb / Tw / G+ offer two compelling things : 1) an aggregate river of stuff from people we care about, 2) really easy transclusion from various rich media sites. 
We could have a distributed river architecture if we took RSS and some kind of pubsub architecture (eg. RssCloud) seriously. SFW has made transclusion protocols central to its philosophy. If we pick up on both, figure out how to get the most important things we get from the mainstream working smoothly, we can create a compelling alternative on our terms. And one of the interesting, overlooked, facts about G+ is that it showed that significant numbers of people are still willing to experiment with alternatives. As long as you can get a critical mass of around 20 people you care about to use it, G+ is as valuable as anything else. You don’t need 1 billion users. You aren’t trying to take over the world at this point, just to have a syndication / discussion architecture which isn’t owned by THEM.

Saturday, November 24, 2012

Vi Hart on Making Her Videos

How To Make A Video About How To Make A Video About How To Make A Video About How To Make a Video... 

There's something about Vi Hart's recursive video about how she makes her videos which reminds me strongly of the Lispish ideal of having the Lisp interpreter available at write-time, compile-time and run-time.

Saturday, October 27, 2012

Do The Simplest Thing

Congratulations to Bill Seitz on launching his Personal Finance startup / project.

Tuesday, October 16, 2012

Dog : A Social Language

Dog seems to be a little language for writing social software.

Initial thoughts :

Big question is what it compiles to. It's about time we had a programming language that compiles a single program down to parts that run on both server and clients, in a really easy and transparent way.

Building in knowledge of protocols like http and json and making services like twitter at least members of the standard library is a good idea.

Like most programmers, I'm sceptical of the  "easy English-like" nature of it. We've had plenty of time to learn that what's hard in programming is the logical thinking not the strange syntax. (Update : See my Quora answer)

But if Dog can become a little-language which makes it easy to configure and administrate social software back-ends then it will be very useful. Particularly if there are ways of compiling the same program down to multiple back-ends (Django, Rails, Chicago Boss etc.)

Tuesday, October 02, 2012

Project Schema

This is awesome : Project Schema combines mind-mapping with management of parts of a CAD model. 

Sunday, September 30, 2012

Command Line In Web Apps

Excellent!

Mozilla is releasing a command line library for use in web-apps. 

Initializr

O'Reilly Early Release

I didn't know about the O'Reilly Early Release program. Basically, it seems you can buy a book as it's still being written, and give feedback while receiving updates and rewrites.

Nice idea. I'm tempted to buy some of these.

Saturday, September 29, 2012

Programming With A Mind Map

Using a MindMap to store documentation.

Actually it sounds like Freemind is much like an outliner, in that you can drive it with the keyboard and collapse / expand etc.

I wonder how using this compares to LEO.

(Hat-tip Other Michael)

Friday, September 14, 2012

JSON / RSS

Dave Winer is considering an official(?) JSON flavour of RSS.

I just want to say here that I like RSS, for what it is, and what it does, and I like JSON to actually work with, because parsing XML is still a faff. So it gets my vote.


Tuesday, August 14, 2012

Tuesday, August 07, 2012

Planet Building

As I mentioned in my previous post, I'm rather taken with Planet Planet, the old-skool Python based RSS aggregator that outputs flat HTML.

I used it to build my wonderful Future Manufacturing river. And I want to use it for more things. So I've created a small script to make installing Planet ultra-easy on a linux server.


Four steps and you're rolling :

# clone it
git clone https://github.com/interstar/PlanetBuilder.git  planets

# make the planet
cd planets
./planets.sh MYPLANET

# add feeds
emacs MYPLANET/fancy/config.ini
# defaults have been set-up, just change and add the feed URLs and names at the bottom of the config.ini file and set your name and contact details (earlier in the file)


# edit the crontab
crontab -e
# and add the following line or suitable variant.
53 * * * * /PATH/planets/MYPLANET/refresh.sh
# note that the line with the correct value of PATH will have been given to you when you ran the create script


Your automatically generated aggregate will start being available at MYPLANET/index.html




Monday, August 06, 2012

Walled River

Apple join the war against RSS.

We need to defend the principle of a platform independent / open feed of news items from all the companies like Facebook, Twitter, Google and Apple who have seen the future as feeds insided their own proprietory walled "gardens".

Not sure if a garden is the right metaphor for a feed routing system, maybe "walled river"?

Something like this? :-(
 
 
Hat-tip Scribe.

Open rivers of news are wonderful things. Recently I've started using the venerable Planet feed agregator to make some public planets (rivers) such as this mind-boggling "Future Manufacturing" one. Glance at that and see exactly how awesome open RSS is. And how it can be way more compelling than the constrained Twitter or your riddiculously cramped Facebook wall. Look at a torrent of exciting information that can actually "breath", where text can be as long as it needs and where pictures are wide-screen rather than crammed into a cage designed to make you look at adverts.