Tags: programming

Bruce Lawson’s personal site  : Happy Birthday, BASIC

Bruce’s love letter to BASIC.

The closest I’ve ever come to that “a-ha!” moment I had when I first wrote something in BASIC was when I first wrote something in HTML.

Peter Nixey - How to be a great software developer

I’m not sure if I agree completely with every point, but this is a great shortlist of things you can do to make your code more resilient and understandable (thereby making you, by any sensible definition, a better programmer).

Node School in Brighton

Tom is running a Node School at 68 Middle Street on the evening of March 27th. I plan to attend and finally wrap my head around all this Node stuff.

Screen shots of computer code

There’s something very satisfying about this televisual sleuthing:

Images of the computer code appearing in TV and films and what they really are.

Unfashionably profitable

Rachel talks about some of the old-fashioned technologies and business practices driving Perch.

This reminds of a talk by Marco Arment at Webstock a few years back when he described the advantages of not using cutting-edge technologies: most of the time, “boring” well-established technologies are simply more stable.

Should JavaScript devs build real things?

This post is about the pros and cons of using JavaScript to programme hardware, but within it is a great summation of what makes JavaScript so powerful:

In my opinion the greatest strengths of JavaScript are its immediacy and its accessibility. It has plenty of weakness (insanely weak typing, implicit casting for comparison, terrible problems with numbers, fluid syntax, I could go on…). Regardless, these weaknesses are entirely overcome by those two points above.

Having taught quite a few people to code, the benefit of being able to open a text editor or a browser console and type code that can immediately and reliably be executed is incredible. The power this brings to the learner is unmatched. When trying to learn new things it’s important to get positive reinforcement very quickly and JavaScript has this ability in spades.

Executing console.log(“hello world”) or window.alert(2+5-20) brings immediate feedback, makes you feel as though you’re getting somewhere and that you are interacting directly with the computer as a programmer. For those of you old enough to own a Spectrum, C64 or Vic20 – BASIC (itself heavily derided) had the same benefit.

My Metaphorical Job Title - That Emil

Get out my head, Emil! This is pretty much exactly how I feel about my work, especially this bit:

In trying to be the best web developer I can, I feel a need to understand the web. That involves a lot of what some of my friends who are not in the web business think my job is about, i.e. “clicking on funny links all day”. I read copiously about new and old technologies. I bookmark them, I try to classify them, see them in the light of history as well as projected future. Follow up on them. Try them out. Even if they’re not specifically about what I do for a living, the nature of them might have a bearing on my understanding of how other people use the web.

Not Real Programming by John Allsopp

A terrific long-zoom look at web technologies, pointing out that the snobbishness towards declarative languages is a classic example of missing out on the disruptive power of truly innovative ideas …much like the initial dismissive attitude towards the web itself.

The Future of Programming

A wonderful presentation by time-traveller Bret Viktor.

James Somers – Web developer money

A well-written piece on the nature of work and value on the web, particularly in the start-up economy.

I’m done with the web by Randy Luecke

I find it hard to agree with any part of this. To me, it shows a deep misunderstanding of the web—treating the web as just another platform, without understanding what makes it so special.

I think I may have found my polar opposite.

The hilarious obsession with file size is the start of my frustrations with the web community.

Execution in the Kingdom of Nouns by Steve Yegge

A classic of writing on the fundamental differences between programming languages.

Hacking the Future: Clare Sutcliffe at TEDxBrighton - YouTube

A great short talk from Clare about Code Club.

TEDxToronto 2012 Talk - Ryan Henson Creighton

And this is why Code Club is such a great initiative.

NodeCopter Brighton

Let’s spend the day after Full Frontal programming flying robots with JavaScript. Clearleft is sponsoring a drone; want to play with it?

Programming, Motherfucker - Do you speak it?

Does Zed Shaw look like a bitch to you?

I said does Zed Shaw look like a bitch to you?

Learnable Programming

It’s a long one, and it’s kind of meta, but if you have any interest in the idea of programming, this in-depth knowledge bomb from Bret Victor is well worth your time.

DOM Enlightenment

This looks great! It’s a CC-licensed book by Cody Lindley (whose work I’ve admired for many years) aimed at teaching DOM Scripting for modern browsers. You can read the whole thing online or wait for the paper version from O’Reilly.

If all your JavaScript currently consists of writing jQuery plugins, I highly recommend you read this.

Stories and Tools - Anil Dash

This post is ten years old, but I think it might still be the best attempt to demarcate a difference between web “sites” and web “apps”: think of them as stories and tools.

It’s also remarkably prescient about the need for an effort exactly like HTML5:

A widely-distributed, standards-compliant, browser and platform-independent library of functions that would perform the basic user interface functions for a web-based tool, relying on the server side only for the logic and data sourcing.

Creative JavaScript Training on Vimeo

I’m going to be attending Seb’s CreativeJS and HTML5 course in Brighton on September 13th and 14th …and I strongly suspect that it’s going to be great.

If Hemingway wrote JavaScript by fat xxx

This is a rather lovely way to show that in JavaScript, as in Perl, there’s always more than one way to skin a cat (in whatever idiom you prefer).

Summer Reading… and Programming

This is rather marvellous: a book review from Robin Sloan that requires you to type commands into a JavaScript console.

Code Club - The Interview - YouTube

It’s kinda nuts that in the space of just a few months, Code Club has gone from being an idea by Clare and Linda into something with an all-star promo video.

CreativeJS for non-coders on Vimeo

A fantastic taste of what you can expect in Seb’s Creative Coding workshop.

Code Club

This is an excellent idea: get a whole bunch of after-school code clubs going to teach kids how to code in Scratch.

One Div Zero: A Brief, Incomplete, and Mostly Wrong History of Programming Languages

A genuinely amusing alternative history of programming languages.

Wat — Destroy All Software Talks

This cracked me up. There are two possibilities: either this is really is very funny or I am very nerdy.

daniel sinker • Hacker-Journalism 2011: A year of “show your work”

A look back at some of the best code for journalism over the past year.

Aral Balkan · Google Dart, or ‘how we lost the ECMAScript 4 battle so we decided to create our own language instead’.

Aral takes the words right out of my mouth. This is pretty much exactly how I feel about Dart.

Metaphors we Program By: Space, Action and Society in Java

Linguistics and programming collide in this paper from the 18th Workshop of the Psychology of Programming Interest Group, University of Sussex, September 2006: Lakoffian analysis of the mental models of Java programmers.

Annoying.js: How to be an asshole • Javascript • Kilian Valkhof

All of the most irritating uses of JavaScript gathered together into one library.

Modern JavaScript - rmurphey

Rebecca Murphey on the continuing evolution and maturity of the JavaScript world.

Made by One – Huffduffer

In which I answer some questions about the making of Huffduffer.

You Must Learn JavaScript — Article — The Nerdary

Kenny Meyers on the ubiquity of JavaScript.

Help stop the spread of NIBS (Native is Better Syndrome) | Web Directions

John Allsopp calls bullshit on the notion that native apps are intrinsically better than web apps. I concur.

Create a new Fiddle - jsFiddle - Online Editor for the Web (JavaScript, MooTools, jQuery, Prototype, YUI, Glow and Dojo, HTML, CSS)

This looks like it could be a handy little tool for creating test cases with HTML, CSS and JavaScript.

Linked Data at the Guardian | Open Platform | guardian.co.uk

A great write-up of the latest additions to the Guardian's Open Platform API including a lukewarm assessment of Semantic Web technologies like RDF.

Open Data for the Arts – Human Scale Data and Synecdoche – Blog – BERG

An inspiring presentation by Tom Armitage on the value of open data.

CS404

This looks like an excellent event: learn about programming without being a programmer.

jQuery Fundamentals

A free-as-in-beer book on jQuery from Rebecca Murphey, released under a Creative Commons Attribution Share-Alike license.

New Programming Jargon — Global Nerdy

Some of the best neologisms in programming, many of them to do with bug-fixing.

Akihabara

A framework for creating old-school arcade games in the browser, using HTML5.

JsMag - the magazine for JavaScript developers

There is a magazine for JavaScript. I did not know that.

Enhance User Profiles with Google’s Social Graph API [Ruby & Rails]

Some Ruby on Rails code for enhancing sign-up forms using Google's Social Graph API, inspired by Huffduffer.

Amazon® AWS HMAC signed request using PHP

Since Amazon decided to require signed requests for its API, I'm going to have to use this code to keep Huffduffer and The Session working. Grrrr... cool APIs don't change.

Ex Nihilo

Dave has been experimenting with processing and documenting the results here.

Hallvord R. M. Steen - Most expensive javascript ever?

How one line of JavaScript cost a hardware vendor millions. Browser sniffing is bad, m'kay?

Code Poetry: Blake’s Jerusalem | actionscripter.co.uk

foreach (tyger in night.forests) { burn(bright); }

PHP Typography 1.0 beta 3 • KINGdesk

A PHP script that adds nice typography to your markup.

The Future of Code

Steven Pemberton, one of my favourite long-term thinkers, talks about programming, markup and XForms.

PHP: goto - Manual

Wait... I thought this was considered harmful?

Hivelogic - Backing Up Flickr

A python script from Dan Benjamin to help you do your bit in battling the datapocalypse.

Space Invaders

The classic arcade game, recreated using the JavaScript/SVG library Raphaël.

jQuery vs MooTools: Choosing Between Two Great JavaScript Frameworks

A detailed comparison of jQuery and MooTools.

Daring Fireball: How to Block the DiggBar

John Gruber provides a PHP-based way of busting out of Digg's 90s-style framing. I shall be implementing this forthwith.

ZX81 BASIC Programming by Steven Vickers

The manual that came with the ZX81 has been lovingly converted to HTML. This was my first contact with programming (or computers, for that matter).

Bespin » Code in the Cloud

An in-browser code editor from Mozilla Labs.

Structure and Interpretation of Computer Programs

The entire text of this seminal work is online in HTML, licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License.

AJAX APIs Playground

A nice way to play around with Google's APIs. Example code is provided which you can edit and immediately see the results.

Play School: Easy Ajax - load | jQuery for Designers - Tutorials and screencasts

Remy teaches non-techies how to use jQuery in a responsible way.

Douglas Crockford: "Ajax Performance" on Yahoo! Video

An excellent overview of Ajax and optimisation.

PHP Advent Calendar 2008

Like 24 Ways, this is an advent calendar for geeks. But this one is focused on PHP.

JS-909

Cameron made a drum machine in JavaScript. This is further proof that the man in blue is possibly even more insane than John Resig. Nuts! Nuts, I tell you!

Delighting with Data » tomtaylor.co.uk

Notes and slides from Tom Taylor's talk at Oxford Geek Night 7. It's a great collection of things that talk (or at least Twitter): Tower Bridge, asteroids, plants...

AJAX Libraries API - Google Code

Google is now hosting all the major JavaScript libraries. The caching benefits should be good news for your users.

Webmonkey: the Web Developers Resource

Hey, look what's back: Webmonkey! Ah, memories.

Unobtrusive JavaScript with jQuery

Simon's slides and demos from his half-day workshop at XTech.

John Resig - Processing.js

John gave us a sneak peak of this at @media Ajax last November: Processing ported to JavaScript using canvas. Check out the demos and be amazed.

Flickr Code

Hurrah! Flickr are sharing their code and here's the central repository.

NOSCRIPT for nerds. Stuff that disappears. -

Okay, you have to be a real JavaScript/HTML geek to find this funny but check this out: document.write('<noscript>...'); Madness!

John Resig - Secrets: Table of Contents

It looks like John's next book will be superb.

danwebb.net - @media Ajax

The slides from Dan's excellent presentation on metaprogramming JavaScript.

QuirksBlog: @media Ajax

PPK delivers his report on the excellent @media Ajax conference.

Cruciforum: crucially simple

A super simple lightweight piece of forum software from Stuart in just one PHP file. Drop it in a directory and you're done.

Snipplr - Code 2.0

One of many code-snippet sharing sites out there but this one has some nice features like tagging and popularity. The interface is yuck though. dpaste,com is nicer but more ephemeral.

Want To Learn Web Programming? Write A Blog Engine | iface thoughts

Speaking from experience, I concur.

jQuery UI: Widgets, Components, and Interactions

From the people who brought you jQuery comes a set of widgets built using jQuery complete with documentation and tutorials.

Digital Web Magazine - Hacking on Open APIs

The second part of Gareth's series for Digital Web on APIs. This time he's got some PHP code samples for parsing XML and JSON.

dpaste: #15223: LOLDOM, by Jeremy Keith

Okay, this started as a joke but then I couldn't resist writing a bit of code. Usage: OH_HAI.I_CAN_HAS_ELEMENT_BY_ID("Id") and OH_HAI.I_CAN_HAS_ELEMENTS_BY_TAG_NAME("tag").

LOLCODE

I'm sure everyone else has already discovered this but I really was L'ing O L when I read the "Hai world" code.

MiniAjax.com / A showroom of nice looking simple downloadable DHTML and AJAX scripts

A collection of scripts. There might be some good stuff here but use with care and discretion.

Monkey Bites

A brilliant list of New Year's Resolutions for Coders.

YUI’s Matt Sweeney and Hands-on YUI Workshops at Yahoo! Developer Day/Hack Day September 29-30 in Sunnyvale » Yahoo! User Interface Blog

Yahoo is opening up Hack Day to the masses. If you're anywhere near Sunnyvale on September 29th, this should be fun.

vanillart » A List Apart » Séparation Comportementale

A French translation of my most recent article for A List Apart.

Adobe Labs - Spry Data Set and Dynamic Region Overview

The Spry framework from Adobe looks like it could be worth further investigation. I certainly like the underlying philosophy: lightweight, standards-based, and declarative.

Infovore : <%= javascript_include_tag :defaults %> considered harmful?

A cautionary note to Rails coders from Tom. The default JavaScript includes can really add to your page weight. Only include them if you really need all of them.

Vitamin Features » Go forth and API

Cameron has written a great article on using APIs with Ajax. I love the idea of using .htaccess to fake a proxy and get around the same-site restriction.

Max Kiesler - How to Make Your AJAX Applications Accessible - 40 Tutorials and Articles

A lot of these articles are more about JavaScript in general than Ajax per se, but it's good to have all these resources gathered together in one place.

The JavaScript Library World Cup [JavaScript & DHTML Tutorials]

Dan Webb does an excellent job of comparing the big four JavaScript libraries that were discussed at @media.

The no-framework PHP MVC framework - Rasmus' Toys Page

The creator of PHP offers an antidote to the profusion of frameworks out there.

In Defense of Web Developers, Again (by Jeremy Zawodny)

Jeremy Zawodny rails against the continuing snobbery towards front-end engineers.

Samuel's Blog

The working example from Richard's chapter in Blog Design Solutions. It's a home-rolled PHP/MySQL blog for Samuel Pepys featuring beautiful typography... natch.

perl.com: Using Ajax from Perl

My fellow Brightonian geek, Dom, has written an article about using Perl and Ajax.

Scaryideas

This series of cartoon panels is funny because it's true.

rest/ahah - Microformats

Who knew? The way I do my Ajax is a microformat. AHAH: Asynchronous HTML and HTTP.

The Graphing Calculator Story

The fascinating story of an application built by ex-employees sneaking into Apple.

Why Good Programmers Are Lazy and Dumb

Paradoxical but true.

Idle Words: A rebuttal to Paul Graham's "Painters and Hackers"

Great paintings, for example, get you laid in a way that great computer programs never do.