

Ask HN: ideas for little projects you have? - henning

I'm looking for a little project I can do, something open source. My requirements are that it not require anything too specialized (no computational fluid dynamics) and that I can get a bare minimum proof of concept running in a few hundred lines of code, or about one solid hacking session. Like the simplest possible version of it that could possibly work.<p>Any ideas?<p>If I implement any ideas here I will release it under the generally accepted free software license of your choice (MIT, GPL, GPLv3, Apache, etc.) and will report back here with code to share.
======
yummyfajitas
A Nigerian scammer auto-replier.

 _Yes I am very interested in the ONE MILLION DOLLARS ($1,000,000) you have
stored in your NIGERIAN BANK ACCOUNT. To where should I wire the money?_

I've got a toy version built on an early version of Lamson, but it doesn't
keep scammers interested beyond 2-3 emails.

~~~
GavinB
What about sending them fake bank account info after that point? You could
probably get them to try 3 or 4 different accounts etc if you kept saying that
there were typos, wrong bank, etc.

------
callmeed
Implement a web-based app which performs copy-move/clone-stamp detection in
images. Similar to the experiment here: [http://coding-
experiments.blogspot.com/2009/03/detecting-cop...](http://coding-
experiments.blogspot.com/2009/03/detecting-copy-move-forgery-in-images.html)

So, the web-based version (kept simple) would allow a visitor to: 1\. upload
an image (& enter their email) 2\. process the image in the background (the
detection algorithms that I've seen aren't fast) 3\. email the visitor when
the detection is complete, with a link to results.

This would be a valuable service to newspapers, magazines, and news
websites–who must make sure that news/photojournalism images aren't tampered
with in Photoshop.

If you could improve upon the algorithm linked above and open-source it along
with the web app, I think it would be a great resource. Of course, you'd still
have plenty of room to build a for-pay service at a higher level. I know
larger news organizations that would pay to be able to run several images
through such a service and save the results.

Feel free to get in touch if you'd like more details.

~~~
weaksauce
That is a pretty interesting idea. Are there other photo tampering detection
methods other than the obvious clone stamp? For instance, does color
correction leave a fingerprint that could be detected via some sort of
probabilistic or algorithmic way?

~~~
callmeed
I don't know the answer, but basic color correction isn't really a cardinal
sin like pasting/clone-stamping is. Performing white balance or converting to
B/W is usually fine (after all, a lot of newsprint images end up B/W).

Here's some examples where this behavior has been uncovered:
<http://www.poynter.org/content/content_view.asp?id=28082>

[http://www.nytimes.com/slideshow/2009/07/05/magazine/2009070...](http://www.nytimes.com/slideshow/2009/07/05/magazine/20090705-gilded-
slideshow_index.html)

------
chaosmachine
Write a program to convert torrent files into midi files. They should be
normal midi files that will play music, but can be run through midi2torrent to
get your original torrent back.

The idea being that you now have unique pieces of music you can host anywhere,
rather than scary torrent files.

PS: If anyone does this, let me know :)

~~~
zeckalpha
To clarify, the .torrent, not the file that is found by feeding the .torrent
into a client. Correct?

One could simply change the extension.

~~~
chaosmachine
Changing the extension is too easy.

The .torrent file should be converted into an actual midi file, with correct
headers, etc. It should actually play when you open it with quicktime or
windows media player.

When converted, the result should be a unique piece of music. Perhaps
something that could be considered "art", and protected by free speech laws.

Imagine printing out the score and having an orchestra perform the torrent
file!

The key, though, is that you can also convert the midi back into a usable
torrent.

~~~
mr_dbr
I present to you, Ubuntu in D Minor:

[http://www.mediafire.com/?sharekey=bc9a7de093071754ed24a2875...](http://www.mediafire.com/?sharekey=bc9a7de093071754ed24a2875c7fa58ee04e75f6e8ebb871)

...it's not actually in D Minor, but it's certainly Ubuntu
(ubuntu-9.04-desktop-i386.iso.torrent, converted to a proper, listenable MIDI
file)

Only done the encoding just now.. Basically the code loops over each byte in
the file, ord()'s it, creates a note with that value and advances to the next
beat.. Decoding should be simple enough, but the simple MIDI library I was
using only creates MIDI files.

One slight problem is the file is about 5-6 hours long, so I don't think we'll
be sharing torrents via background music on Youtube videos quite yet.. A more
time-efficient way to pack the bytes into notes is definitely possible
(currently it only plays one note per time-slot), but that would have taken
far longer than I wanted to spend on this...

The Python code, including the required smidi.py module:
<http://gist.github.com/202593>

------
joeld42
Hey, this isn't my idea but I wish someone would do it. Only useful to
programmers or web developers, but hey..

A little tray-app (or something) that works like this: \- You select text
representing a color in a text editor (i.e. something like #ff00ff,
(1.0,0.0,1.0), (255,0,255) etc.. \- You hit the tray app or some magic key
combination and it sends a Copy message to the window, pops up a nice modern
color editor, you edit the color, then you hit "Apply" and it sends a paste
message with the new color formatted in the same way as the old one.

This would allow gui color editing in any text field with almost any program,
and sharing of palettes between programs that use different representations.

This is totally doable in X11 or Windows.

------
there
go meta and build a site where people can submit ideas for projects and vote
them up/down and discuss them. i'm sure an audience less technical than this
site's would have some decent ideas for things they need but don't know how to
build.

could probably just be done with a subreddit though.

~~~
stevejohnson
I have something like this in the works, spawned from a domain name swapping
thread a few months ago.

------
keefe
Why don't you make a small contribution to a larger project, perhaps a widget
for the ubuntu UI or a plugin for pidgin or gimp?

------
techiferous
I love the little projects that I work on; sometimes I learn more from them
than my day job (because I feel freer to experiment).

Here are a couple of my "toys". Maybe they will inspire some ideas for you:

<http://www.alphabetclock.com>

<http://2rgb.com>

My 2rgb project is open sourced here: <http://github.com/techiferous/2rgb>
It's basically the equivalent of taking a programming method and putting it on
the web. So if you have an interesting programming method or algorithm, that
might be a good idea for a microapp.

Here's another source of ideas: <http://r09.railsrumble.com/entries>

~~~
jrussino
What kind of registration/hosting services do you use for these sites?

I'd like to be free to play around with small projects on the web, but the
prices that I've found make me hesitate to start something that seems
frivolous.

For example, at godaddy.com: -1 year of registration for a .com domain costs
~$10/yr -1 year of "economy" hosting costs ~$4.75/mo This means that I'd have
to spend about $67 before I can start hacking away on my weekend project.

Is this normal? I'm fairly new to working in the web space, and as far as I
know it may very well be the case that people are willing to drop 60-70 bucks
per year on a hobby website the same way they would, for example, spend
$40-$100 on an Arduino + kit as a cheap way to play around with
mechatronics/robotics.

Is that about right? Or is there an even lower-barrier-to-entry option that
I've missed?

~~~
techiferous
I use Google Apps for my domains: <http://www.google.com/a/cpanel/domain/new>
It's actually cheaper than GoDaddy. With GoDaddy, it's $10/year plus $10 to
keep the WHOIS anonymous. Otherwise, you'll have your name and contact info
publicly available to anyone who requests a WHOIS on your domain (which means
you get spammed). With Google, you get both the domain and the anonymity for
$10/year.

For hosting, I've been using Linode, which is a virtual private server. I had
to install everything on the Linux server myself (Apache, Rails, web security,
etc.). It sets me back $20/month, but I can put hundreds of websites there.
Right now I have probably about a dozen there.

For 2rgb.com, I'm trying out heroku.com. The hosting starts out completely
free (and no ads). You pay only when you get more traffic. And you don't have
to set up the server at all (like I did for Linode). You just send it your
code. It might be a Ruby-only host, though.

~~~
jrussino
Thanks! I'm going to try out heroku as well.

------
EliAndrewC
MadnessOrSparta.com

This would be a silly time-wasting site like KittenWar but with much less
cuteness and slightly more pointlessness. People can upload pictures and
visitors are presented with one picture at a time. For every picture, visitors
vote on whether the image is closer to "Madness" or "Sparta".

~~~
aguynamedben
A site called "It's Pat" that is a hotornot.com knock-off where you vote
whether an uploaded picture is a picture of a man or a woman. Leaderboard is
photos closest to 50-50%.

~~~
Travis
haha I did something like this for a friend of mine a few years back. Primed
it with about 50 pics of him, 50 randoms. Allowed people to upload their own
images which were then included. Passed the URL on to all friends. Hilarity
ensued.

------
johnrob
How about a way to get an email alert whenever someone replies to one of your
comments on hacker news?

------
icey
Do you want to write a library? A service? Web? Client-server? What tools do
you want to use?

------
apgwoz
I started building a script to go through source code and find all the things
I tag "TOFIX" or "TODO." For example:

    
    
       $ python tofix.py tofix.py
       line 3: ...
       line 16: this needs some attention as we shouldn't be 
       using 'pass' notice this is indented slightly more than 
       the TOFIX line above and should be included in the TOFIX.
    

I haven't had time to work on it anymore, but you're welcome to work on it if
you'd like. I can send you the source I have. My username at gmail. Ideally
it'd be able to remove them as I fixed things. So I might say tofix fixed 3
and it'd remove the "TOFIX: ..." at line 3.

~~~
slig
Can be done with one line of cat and grep. So why did you bother to reinvent
the wheel in a python script?

~~~
apgwoz
Why yes, you happen to be correct. It _can_ be done with cat and grep, and
really you can do it without cat! However, it's perhaps desirable to be able
to do things like edit the todo/tofix, delete them, export them to your todo
application of choice, etc, etc, etc, etc. So, while you're correct in that
you certainly can do it with grep, you're severely limiting yourself if you
choose to.

~~~
slig
I didn't read this when I posted, sorry.

> Ideally it'd be able to remove them as I fixed things. So I might say tofix
> fixed 3 and it'd remove the "TOFIX: ..." at line 3.

------
Flemlord
Create a Hacker News clone for politics.

~~~
philwelch
Ah yes...the technical aspect of the problem will be easy to solve but the
social aspects will be nigh impossible.

~~~
tomjen2
Well not necessarily, though it will be hard.

What you basically need is an incredibly thick skin (you will be attacked from
both sides of the political spectrum) and remove trolls/bad debaters with an
iron fist.

~~~
philwelch
You would need a lot more hands-on moderation than other communities, since it
would be harder to build a self-governing community like HN that largely knows
who to mod up and who to mod down.

~~~
tomjen2
In principle, but you could do things like making an upvote within a clique
mean a lot less than an upvote to somebody you haven't agreed with in the
past; give additional weight to people who often vote outside their own
cliques (so as to reward those who have a more balanced view); letting stories
initial weight depend on the previous balancedness of the source, optionally
make it gain points fast if it gets upvotes from those who wouldn't normally
upvote stories from that source. There are endless improvements that could be
made. As a side effect you are likely to get more interesting discussions
precisely because you go for the more "unusual" stories.

------
orvado
I noticed a nifty site that converts words into a phone number and vice versa.
Just get your hands on a dictionary file and look at a phone keypad -
shouldn't be too hard after that!

------
qd
I would love a javascript data viz lib built on top of processing.js, may be a
large project, but you could probably get a thing displays one type of chart
in a single hack sesh.

~~~
mcxx
I'll write something like this as a part of a greater project I'm working on
ATM.

------
plaggypig
I'd like to see more libraries in more languages for .tel domains (reading and
writing DNS records, i.e. NAPTR/TXT/LOC), and more mobile apps too. It's an
open platform, see: <http://dev.telnic.org/>

I should also declare my interest:
[http://www.guardian.co.uk/technology/2009/feb/12/internet-
mo...](http://www.guardian.co.uk/technology/2009/feb/12/internet-mobile-
phones)

------
manish
I was searching for some sort of tool to write flow charts online, that is
something I did not find easily, flowchart.com has it, but requires inviation.
I would like to see something like etherpad for flow charts.

~~~
elboheme
have you ever tried <http://www.gliffy.com/>?

~~~
run4yourlives
You sir, are a godsend.

Good bye visio!

------
qw
How about a simple program that monitors an RSS feed, and sends each new entry
to a person as a mail.

~~~
tomjen2
I am almost certain those exist, but I would think it would be more useful the
other way around: consolidate all your email into on RSS feed.

------
jyf1987
well, i have many ideas to be implement for this reason i learn programming
myself

------
mrfish
Ok, Take any link and display the corresponding link in the web site's mobile
enabled equivalent. Sort of like Bit.ly but with a mobile browser ability.
Obviously this won't work for every site but a lot of major news sites have
mobile versions. Take www.crackberry.com for example. They have a pc version
and a mobile version but the links in the RSS feeds the links are always for
the PC version. No auto switching if your viewing it from your Blackberry. So
translate the PC links to link to their mobile site. That's it. Then users of
the service can link to articles on crackberry.com but if they view it with a
blackberry, it chooses the mobile site automatically.

