Programming links for Sunday, March 15h, 2008

YouTube: Google Tech Talk: Linus Torvalds on git

code zen: On Technology, User Experience and the need for Creative Technologists

Joel Spolsky: How to be a program manager

Explanations to common Java exceptions – who said Java programmers didn’t have a sense of humor.

IndexOutOfBoundsException – You have put your index finger in an unacceptable place. Reposition it and try again.

Okay, maybe not.

Emacs links for today

Emacs Screencast (Ruby developer shows why he likes Emacs)

Xah’s Emacs Lisp Tutorial – I’m following this myself. Some great bits in there for the Lisp/Emacs newbie.

Publiushing Org-mode files to HTML – nice setup to publish a directory of org-mode files.

Hacker News thread: Ask HN: Emacs users on OS X, what’s your setup?

Programming Links for February 22, 2009

Kimberly Blessing: The Seventh Grade: So when I keep hearing about this crucial sixth/seventh grade time period for young girls, I can’t help but think back to my own experience around these grades. I didn’t lose interest in computers (or science or math) in seventh grade, but I was certainly separated from them. As time went on, I had less time to pursue those interests myself, and in some cases I was discouraged from pursuing them.

codeartisan: Websites are also RESTFul Web Services: if you design a RESTful web site it is also a RESTful web API.

code zen: Announcing EspressoReader (alpha): A desktop client for Google Reader: I am excited to finally announce the alpha release of EspressoReader. EspressoReader, in its current incarnation, is a desktop app for Google Reader.

Props to my co-workers in the first three reads (and a download – go forth and try out EspressoReader!), now on with more…

defmacro: The Nature of Lisp (absolutely a must read – this piece has influenced me on a project and will probably have a growing effect on my work down the line).

Code Monkeyism: Scrum is not about engineering practices: Scrum is not about engineering practices, it’s about management.

zack’s home page blog: One month with Emacs and counting – Part 1 – the Debian Vim package maintainer moves to.. Emacs!

The Daily WTF: Programming Sucks! Or At Least, It Ought To:Obviously, a lot of us – me included – enjoy writing code. But should we?

Honda: The Power of Dreams – Failure: The Secret of Success – a terrific must see video.

The Fishbowl: The DOM Stigma: Java is a strongly and statically typed language with a Smalltalk-style object model. Javascript is a loosely and dynamically typed language with a prototype-based object model. Force them to share an apartment and you’ve got an instant sitcom.

pyDanny: Naming conventions thoughts for Pinax and Django (they are using Django at NASA!)

Adam Bien: A Good Architecture Is All About Probability – Or It Is Sufficient To Be Good Enough: Many J2EE architectures were entirely exaggereted. The were intended for all, even very uncertain, cases. The result were many, dead, layers with lot of transformations and indirections. This introduced additional complexity and obfuscated the actual business logic and missed the point. The problem were generic, stereotypical architectures, which were developed once and applied to every possible use case. Even a guestbook was developed with at least 15 layers :-). So keep it small, keep it simple, and focus on the essential cabatilities of your application.

Aaron Swartz: Non-Hierarchical Management: Most guides on management are written for big bosses at big companies, not people starting something new who want their team to be as effective as possible. (Hi, startup founders!) So herewith, a guide to effective non-hierarchical management.

Fast Company: They Write the Right Stuff: And that’s the point: the shuttle process is so extreme, the drive for perfection is so focused, that it reveals what’s required to achieve relentless execution. The most important things the shuttle group does — carefully planning the software in advance, writing no code until the design is complete, making no changes without supporting blueprints, keeping a completely accurate record of the code — are not expensive. The process isn’t even rocket science. Its standard practice in almost every engineering discipline except software engineering. Plastered on a conference room wall, an informal slogan of the on-board shuttle group captures the essence of keeping focused on the process: “The sooner you fall behind, the more time you will have to catch up.”

nextthing.org: Fun With HTTP Headers

Morethanseven: Example of using XMPP on App Engine (via IMified)

digital inspiration: Single Google Query uses 1000 Machines in 0.2 seconds

Tech President: Why the White House’s Embrace of Drupal Matters

Some inspiration from a co-worker

Scott Westerman: If you will it, it is no dream:

I tell the people I serve to start from the premise that all things are possible. Work backwards from there. Charles Kettering’s wise counsel that “Our imagination is the only limit to what we can hope to have in the future,” was never more true.

Here’s hoping that more of my geek friends can develop that outlook.

Alan Kay on education

Scholastic.com: Face to Face: Alan Kay Still Waiting for the Revolution:

Q: Well, what should 21st-century education be about?
A: The most critical thing about the 20th and 21st centuries is that there’s a bunch of new invented ideas–many of them connected with modern civilization–that our nervous systems are not at all set up to automatically understand. Equal rights, for example. Or calculus. You won’t find these ideas in ancient or traditional societies.

If you take all the anthropological universals and lay them out, those are the things that you can expect children to learn from their environment–and they do. But the point of school is to teach all those things that are inventions and that are hard to learn because we’re not explicitly wired for them. Like reading and writing.

Virtually all learning difficulties that children face are caused by adults’ inability to set up reasonable environments for them. The biggest barrier to improving education for children, with or without computers, is the completely impoverished imaginations of most adults.

Followup link: Squeakland.org

Aaron’s daughter learns about project scope

And a little Flash to boot 🙂

Flash sounds like a perfect tool to teach programming. Others I’ve been reading about:

Alice

Scratch (scratch is built on Squeak Smalltalk – there are other educational environments/tools built with it as well)

Snake Wrangling for Kids

Pygame

My roots: LOGO and Commodore BASIC.

Interesting related article at O’Reilly: Why Johnny Can’t Program.