Skip to content

Instantly share code, notes, and snippets.

@mr-robot
Forked from jasonrudolph/about.md
Created August 11, 2011 09:16
Show Gist options
  • Save mr-robot/1139227 to your computer and use it in GitHub Desktop.
Save mr-robot/1139227 to your computer and use it in GitHub Desktop.
Programming Achievements: How to Level Up as a Developer

Learn a variety of programming paradigms:

  • Write a program in assembly language
  • Write an application in a functional language
  • Write an application in an object-oriented language
  • Write an application in a prototype-based language
  • Write an application in a logic programming language
  • Write an application using the Actor model
  • Write an application in Forth

Experience the ins and outs of programming for different platforms:

  • Write a nontrivial web app - connector,
  • Write a nontrivial desktop app - for ubuntu? - music app? mongodb viewer? zeromq viewer?
  • Write a nontrivial mobile app - Achieved!
  • Write an embedded app
  • Write a realtime system

Enhance your understanding of the building blocks that we use as developers:

  • Write a networking client (e.g., HTTP, FTP) -
  • Write a device driver
  • Write a B-tree database - In scala? Python?
  • Wrap an existing library to provide a better (more pleasant) user experience
  • Write an application or framework that provides a plugin model
  • Write a testing framework
  • Write a programming language

Enlighten yourself with koans, katas, and the wisdom of ages:

Program in the open:

  • Contribute to an open source project - diaspora? openblock?
  • Have a patch accepted
  • Earn commit rights on a significant open source project - Ubuntu related? Something I use and admire?
  • Publish an open source project
  • Perform a Refactotum of an open source project

Learn by teaching others:

  • Present a lightning talk
  • Present at a local user group
  • Present at a conference
  • Deliver a training course
  • Publish a tutorial
  • Publish a constructive code review of an open source project
  • Write a programming book

Idea Dump

###From Hyperink###

  • Advenjure Create a simple MUD (Multi-User Dungeon) text game in Javascript (coffee script, clojure script) which makes AJAX (JSON or XML) requests to a central server. For brownie points, generate a basic infinite map.

  • Auto-meme Write a RESTful web service which takes a random image url, analyzes the image, and intelligently stamps it with appropriate, generated meme text.

  • Hacker News Write a program which analyzes hacker news posts and determines common attributes of successful posts (topics, dates, events).

  • Command Line Equalizer Write a command line tool which plays a song and streams its equalizer in ascii.

###From Me###

  • Personal Command Center Write a program which aggregates email, calendar, core tasks into a focussed display. Bonus Points for drawing out relationships in the data (e.g. where is timing being spent, patterns/solutions for topics). (Use Context.io for getting cool and fancy with analysis of email)

  • Use Twilio to Build a Funny Cats Text Message Game, Django on the server side

  • Auto-Diary Write a Service which rings or texts a user each to help them compile a personal diary, analyse their entries and progressively build a mood/emotion diary

  • Team Spirit Build a service which lets users provide messages of support of their group/team/organisation with a dashboard to view analytics, trends etc...

  • Caliper Build a Web application for building decision models, collecting data, modelling uncertainty... Pretty much making performing AIE super easy, reliable and collaborative

  • Crowd Noise Monitoring Android App integrated to Twilio, to record sound/noise levels at a concert/for a crowd/in an urban context, with location

  • Instant Meeting Recording Instant meeting record to transcript and email to participants

  • Workout Machine Android App for easily managing a set of workouts, providing a timer and tracking progress (e.g. Based on 'You are your own gym')

  • Shelf Build a simple web app which lets you store inventory - define inventory templates, create inventory and track its allocation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment