Social networks (Facebook, LinkedIn, Rimzu)
Ideas from GSoC 2007.
Wikipedia offers their whole database for download, and this can be a 'mikhre zahav' for experiments.
One particular thing that I wanted to experiment with is some sort of ranking system for users (just like eBay), and a way to provide reader of Wikipedia visual warning when certain texts are written by unexperienced/uncertified/anonymous individuals.
Think of a site with lots of small items (recipes, jokes, poems, …) where you rate each item shown to you (1-5 or even Good/Bad)
Pretty quickly, one could come up with a system that only shows you stuff you like, based on the rating of all users.
The difficult point is how to make it accurate without explicit tagging (What is yellow and equivalent to the Axiom of Choice? Zorn's Lemon - this is a joke tagged math, pun).
Google Images CAPTCHA
An embeddable object that offers human identification to sites.
The widget would do the following
- decide on a topic X, e.g., animals,
- decide on a specific word Y within this topic, e.g., elephant,
- Search Google Images for a random image of a Y,
- Display it to the user and ask "what kind of X is that?"
You as a site owner could query the widget whether human ID worked.
Once you get many people using your human ID service, you could add other types of tests (can't see images? click here for an audio test), add i18n (allow > the site owner or the client to choose a language, for example), etc.
I wonder how complicated it is to add layers like that. One similar idea that I had was to add a layer showing the current location of satellites. If that's feasible, maybe we should consider it.
What about something a little hardware-related, such a making an appliance
that will ring a phone or make skype controllable by the phone keys?
HW side is modestly difficult, as most of the schematics can be found on the
internet; SW side is the real highlight, as besides DTMF decoding you can
build a menu system (a la KOLNO'A-FON).
There's a room for a lot of imagination here, e.g., mess with caller ID to
display messages on your phone :)
Frankly, I'm afraid of HW projects since I don't have much experience
with it myself (nor does anyone else in the department except Sivan Toledo).
We cannot expect students to etch PC boards and solder, or can we?
You call your home phone number, the computer picks up the phone, and allows you to make Skype phone calls through it.
Skype to FAX
There's some public API and we could make things as fax support (not between
computers, but to send a fax to a real machine).
I once looked at the voip-to-fax thing (maybe I even discussed it with you?).
People seem to have tried it before, and claim it's impossible/very difficult;
See Section 2.3 here, or much better here
For instance, I was wondering if one card can support two wireless
networks at once? Most likely not, and these things can also be
heavily dependent on firmware and so are hard to deal with.
Maybe there are some open source attempts in this direction.
Most flavours of linux can exercise a wifi card to become an AP, so multiple
connections are not a problem. It will still be hard to implement a
wireless bridge, or something like that.
Won't it require modifying the firmware? I thought this thing is hard-programmed into the card.
What would it require to implement a bridge?
I've seen some projects and companies offering geo-location services based on Wifi. One company has a database of WiFi points across the world, and they have a nice program that looks at which WiFi points you currently hear, and based on that deduces your location.
I also saw some projects that try to deduce distance between stations (and hence triangulation information) based on signal strength. I don't believe in this stuff since signal strength is highly variable (a tree, a car, a slight movement… anything can change it).
What I was curious to see if exact timing (in the level of nanoseconds) can allow you to compute your distance. Theoretically speaking, this should be possible: 1 nano second = 30cm for light to travel, and computers these days have clocks running at 2Ghz = 1/(0.5 nano second). But even an estimate to within +-10 meters = 30 nanosecond would be really really nice.
Two questions here: 1. Has it been done before? 2. Is it possible?
A related company: WeFi
Anything to do with IPv6 ? I think we can arrange for IPv6 access if needed (some of our routers might already support it).
Isn't IPv6 one big hoax?
Never saw it in play, never saw a need for that. Unless you want your toaster to have a *public* IP address
(not a smart thing to do, unless you want spam for breakfast)
BTW, the IPv6 people usually say that your IP address in IPv6 is essentially private because it is so long and no one can guess a 128bit number (sending to random IP addresses, as worms do in the IPv4 world, just won't work!).
I guess it has some truth to it, as long as there's no way to discover these numbers somehow.
Find a way to connect two computers behind NATs that want to talk to each other.
Think how ridiculous the situation is: both parties want to talk to each other,
both know the other's IP address, but neither can initiate a connection.
I think the Skype people worked hard on this, but had limited success.
I even saw once some scientific papers written on this.
But perhaps there's still stuff to contribute here.
For instance, can such a TCP connection be initialized with the help
of a 3rd party? Or maybe we can develop some NAT extensions that would
support such a thing?
Can these be anywhere affiliated with Internet Tech.?
USB on-the-fly encryption
There has been some talks about USB security — companies complain that employees come with their USB sticks from home and introduce viruses (who cares about that…) and also take out sensitive material.
There are several solutions in the market, even one by an Israeli company. I don't remember exactly what they do, but it's something like a piece of software that you install on each of your computers in the company, and allows the IT manager to decide on his policy: either disable all USB ports, or allow only certain USB keys, etc.
One possibility I thought of is to have a program that encrypts all information stored on USB keys using a company wide private key. This would create a situation where files written to the USB are visible only inside the company, and are invisible (more precisely, encrypted) outside. I didn't think about it too much so I'm not sure if it makes sense.
What about laptops?
Either you store the company key on every computer, hence make it accessible to the entire world, or you require a network connection for encrypting/decrypting. Neither is too appealing…
Recently, some music services started offering DRM-free music.
This is of course wonderful. But turns out they now put your personal information inside the file, so that in case your brother shares the file on eMule, they'll put you in jail :).
Currently the methods are pretty basic (I think they just add your name in the comment field of the MP3 or something like that).
But the methods are getting more sophisticated and there was a story on Slashdot saying that the record companies are planning to use watermarking to replace DRM.
I would be curious to see how robust these watermarking solutions can really be. Unlike usual watermarking situations (like those of Getty images, say), here you have the same MP3 file, delivered to many people, each one with a different watermark. Getting rid of such a watermark is easier than in the case of a Getty image: the easiest solution is to take 10 different files, each bought by a different person, and average the files together. Presumably, this should be enough to make the watermark so weak that they would have no way to tell who are the 10 people that created the file jointly. Does it make sense?
Of course one can thing of other method beyond averaging, depending on the watermark used.
Are we playing the good guys or the bad guys here? (I reckon that assigning good and bad to audio pirates and record companies or vice versa is up to personal interpretation…)