Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: ideas for little projects you have?
35 points by henning on Sept 28, 2009 | hide | past | favorite | 55 comments
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.

Any ideas?

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.



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.


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.


Could human input help? How about a site that lets visitors answer questions that are then used to improve the responses to spammers? The result could be smarter than AI and more efficient than humans.

Social or game aspects could make it interesting for users.


a one day project related to natural language quantification?


You might have more luck if you try to datamine the incoming emails, they start to read your replies after a couple of mails.


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...

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.


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?


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...


Color correction of an 8-bit-per-channel image will leave gaps in the color histogram. It's usually possible to conceal those gaps, though, by blurring the image slightly or adding some noise.


tineye.com doesn't do all of this, but it will sometimes match different photos of the same thing / location.


Yeah, Tineye looks cool. Slightly different application however.


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 :)


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

One could simply change the extension.


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.


I present to you, Ubuntu in D Minor:

http://www.mediafire.com/?sharekey=bc9a7de093071754ed24a2875...

...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


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.


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.


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



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?


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


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?


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.


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


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".


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%.


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.


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


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


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.


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


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.


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.


cat <file> | grep "TOFIX\|TODO"


For those of you who work in Rails, there are a couple of rake tasks that do this already. I just found out myself while mucking around a couple of days ago.

rake notes:todo

and

rake notes:fixme


Some editors (Komodo) do this for you.


Create a Hacker News clone for politics.


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


I would moderate it like pg does here. High-quality political articles only and moderators would remove inappropriate content. Partisanship may come into play, but only in the article rankings via votes.


You would need a large number of like-minded moderators to manually remove off-topic articles and idiotic comments.

It's hard enough for HN to keep a high level of discourse. A community based around politics will attract partisans and weigh heavily against people's identities. Eventually one group or another will reach enough critical mass to bring the site to one political center or another, and it will be socially impossible to stray too far from that center. Most forums get around this centering problem by explicitly declaring a center. HN does this implicitly by centering around pg's views--a programming social news site founded by Jeff Atwood would have a much different bent.

Likewise, political forums either implicitly or explicitly center around left-wing, right-wing, libertarian, feminist, socialist, or some other default viewpoint where there may be a core community of e.g. leftists, and right-wing commenters who show up to the fight are something of a different social group than the core of people who agree with the site's ideological bent. (Huffington Post comes to mind).

It's a hard and interesting problem though, so if something comes of this discussion I'd be glad to help.


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.


Very much so. Maintaining neutrality is incredibly tricky when you run a political community. You want to ban people who wave nazi flags, but then people ask you to ban the guys with the hammer & sicle flags. It's pandora's box, the horror.


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.


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.


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!


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.


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


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...


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.


have you ever tried http://www.gliffy.com/?


You sir, are a godsend.

Good bye visio!


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


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.


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


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: