Montreal
All-Girl
Hack Night
looking for some ideas of projects to work on? here’s a long list of ideas for inspiration. try any of these in any programming language you want! or, preferably, read this list, say “all these ideas are dumb! i have a way better idea!” and then do that. and maybe do a pull request and update this list :)
programming languages
want to learn something about a new programming language? try doing anything below in one of {go, lisp, clojure, python, ruby, java, c++, c, javascript, haskell, erlang, postscript, perl, prolog, smalltalk, intercal, actionscript}. maybe check out some codecademy classes.
some kinds of languages you might not have used before:
- functional languages: haskell, clojure, lisp, ocaml
- stack-based languages: postscript
- graphical languages: processing
- logic programming languages: prolog
- languages where you have to say ‘please’: intercal
- concurrent programming langues: erlang, go
- assembly languages
music & animations & games
- generate midi files to create music
- make a simple game — snake or frogger. javascript/python (using pygame) are good choices for this
- make animations (maybe with css3?)
- rotating cube / molecules / particles bouncing around the screen / infinitely growing fractals
- ants crawling around the screen
- googly eyes that follow the mouse around the screen. you know, like this
- a double pendulum (a pendulum attached to a pendulum)
- implement your favorite screensaver
- write a text adventure (like the hitchhiker’s guide to the galaxy)
- make videos from your instagram/flickr photos
- make a web version of your favorite board game (copyright issues may
apply) - write a multiplayer game server
web development
- make a website using a web framework {django, rails, flask, grails,
yesod, node, compojure} - make yourself a personal website.
- make an animation with javascript visualization libraries. maybe some d3?
- make yourself a dashboard homepage with dashing: demo, github
- make a presentation using impress.js
- display things on a map using google maps or openstreetmap or textile
- here is a cool usenet post from 1999 with some ideas
playing with data
- nasa images-of-the-day
- stm data
- ville de montreal data (images, bike paths, library books, traffic lights, parking, garbage collection dates, …)
- yahoo! answers and other yahoo! open data
- github data
- transcripts from parliament
- all kinds of machine learning datasets are available here
- download all your emails from gmail/hotmail and find out what kinds of things you say the most
- montreal ouvert
- do some of the competitions on kaggle
- don’t trust google with your data? write a program using twilio to email/text/call you a week before your friends’ birthdays
other
- fix an annoying bug in an open source program that you use
- have a dumb phone instead of a smartphone? find out how they’re stored on your phone and find a way to automatically sync them
- write your own programming language, or a dsl/embedded dsl using clojure/lisp/scheme/haskell
- write a compiler for an existing programming language (brainfuck, shakespeare, …)
- write an android app to find out how much you’re moving. and text you to complain if you’re not moving enough
- write a daemon to take a picture of yourself every day and stitch them together at the end of the year. and do image processing to make sure you’re wearing clothes in the pictures :)
- do exercises from sicp
- write a jabber/google talk/aim/msn/irc chatbot. that messages you with a new recipe each day. or that reminds you to get up and walk around if you’ve been online for too long
hardware
- make some leds blink using an arduino
- make a robot!
- find out how a remote control works
- make a turn signal cycling jacket with a lilypad!
- buy a raspberry pi and hack the remote control for your camera, install xbmc and have your own cheap tv thing. can you maybe make a webserver for your thermostat?