tag:blogger.com,1999:blog-52978003071200512912024-02-20T12:49:41.306-08:00MindrosityRandom thoughts on all sorts of things.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.comBlogger32125tag:blogger.com,1999:blog-5297800307120051291.post-57327617743698788632007-09-14T08:56:00.000-07:002007-09-14T09:00:03.807-07:00Dangerous Knowledge<A HREF="http://video.google.com/videoplay?docid=-3503877302082311448">http://video.google.com/videoplay?docid=-3503877302082311448</A><br /><br />"In this one-off documentary, David Malone looks at four brilliant mathematicians - Georg Cantor, Ludwig Boltzmann, Kurt Gödel and Alan Turing - whose genius has profoundly affected us, but which tragically drove them insane and eventually led to them all committing suicide.<br /><br />The film begins with Georg Cantor, the great mathematician whose work proved to be the foundation for much of the 20th-century mathematics. He believed he was God's messenger and was eventually driven insane trying to prove his theories of infinity. Ludwig Boltzmann's struggle to prove the existence of atoms and probability eventually drove him to suicide. Kurt Gödel, the introverted confidant of Einstein, proved that there would always be problems which were outside human logic. His life ended in a sanatorium where he starved himself to death.<br /><br />Finally, Alan Turing, the great Bletchley Park code breaker, father of computer science and homosexual, died trying to prove that some things are fundamentally unprovable.<br /><br />The film also talks to the latest in the line of thinkers who have continued to pursue the question of whether there are things that mathematics and the human mind cannot know. They include Greg Chaitin, mathematician at the IBM TJ Watson Research Center, New York, and Roger Penrose.<br /><br />Dangerous Knowledge tackles some of the profound questions about the true nature of reality that mathematical thinkers are still trying to answer today."Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com1tag:blogger.com,1999:blog-5297800307120051291.post-33433154962898105882007-09-13T16:55:00.000-07:002007-09-13T17:06:03.140-07:00The imperative vs functional decision in ScalaWhen programming in Scala, one needs to think about whether to use an imperative or functional approach (or some hybrid thereof) when writing most methods. Thinking about which approach to use so frequently could result in a significant waste of time.<br /><br />One thing that makes OO development easier is the use of automated refactorings for evolving a class hierarchy. So getting things right at the start is not so important because you can easily change things later.<br /><br />To address the imperative vs functional decision that one encounters in most Scala methods, one can similarly have automated refactorings for transforming code fragments from one paradigm to the other. In this way, you don't need to worry much about getting this decision right because it is easy to change it later.<br /><br />Moreover, for those not so familiar with functional programming, such refactorings can provide guidance by helping them transform imperative code to functional code.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-41935070526514288912007-09-12T18:49:00.000-07:002007-09-12T18:51:16.825-07:00How Google could beat Facebook at its own gameGoogle could obtain a social network graph quickly from gmail accounts.<br /><br />Moreover, it could release a platform similar to Facebook based on GWT but take it another step further by providing free hosting on its massive computer cluster.<br /><br />There would be some sort of revenue sharing system in place for apps created using this platform.<br /><br />Instead of hiring so many software engineers worldwide, Google could "outsource" much of their app development to entrepreneurs.<br /><br />Although Google already acquires a few startups here and there, one would expect thousands of apps to be developed quickly in what I described above.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com2tag:blogger.com,1999:blog-5297800307120051291.post-86106804875050038632007-08-09T12:51:00.001-07:002007-08-09T12:58:22.291-07:00Why social networks use bidirectional links even though unidirectional links are probably betterI think the main reason is simply to get people to invite their friends to the site, thus increasing the number of users via peer pressure.<br /><br />For specialty social networks (or specialties within a general social networking site), your friends are probably not the best people to connect to. In that case, it would probably be better to use unidirectional links so that you can "subscribe" to anyone whom you would like to learn from.<br /><br />Yet these unidirectional links -- while better suited in such cases -- are not great in attracting people to the site. And so such sites probably won't get enough critical mass to be interesting.<br /><br />Instead of friend requests and acceptances, users should just be able to subscribe to other people via unidirectional links.<br /><br />Such unidirectional links don't designate friendship at all, but rather, interest in keeping in touch with someone's activities (e.g., their subscriptions to discussion groups, the apps they add to their profile, etc.).<br /><br />You could use some sort of reward to encourage people to invite their friends that has nothing to do with these links. <br /><br />For example, wherever people are listed throughout the site, you could rank them based on the number of friends that they have invited to the site.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-23460507928936681182007-08-05T06:15:00.000-07:002007-08-05T06:29:46.044-07:00Why not let online ads fight it out in a geometric real-time game played by advertisers and consumers?In this approach, the advertiser would display his/her ad along with all the other ads currently on display.<br /> <br />Larger ads have the disadvantage that they will overlap with other ads and may end up being underneath many of them.<br /> <br />Advertisers may resize and/or move their ads at any time to reduce overlap.<br /> <br />Whenever two ads overlap, they will then have to fight it out to see which one will go on top. This fight is on-going and may involve one ad appearing on top, later underneath, then on top again, and so on.<br /> <br />To determine which of two overlapping ads goes on top, we would compare their current scores, where the score of an ad could be the number of visits minus the number of "hide" requests from consumers say. <br /> <br />One can view this approach as a geometric version of social news.<br /><br />For a non-geometric version of this idea, we could have something like reddit but where the submitter determines and can change the rank of his/her link on the front page.<br /><br />The issue is that a link ranked highly will have to share that rank with many links. We can have the probability that a user will see a link at rank k depend on the score of that link with respect to the scores of other links with rank k.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-42763984904226601892007-07-30T08:27:00.000-07:002007-07-30T09:04:57.931-07:00Why it is in Microsoft's self-interest to have an OS that is susceptible to virusesIf you are a commercial software developer, you would like an operating system where security risks (e.g., viruses) discourage users from pirating your software.<br /><br />Yes, there's a limit to what users will tolerate. A system that is too insecure would not work. But the virus threat needs to be real to discourage piracy.<br /><br />Ultimately, users do care about an OS with lots of software available. Many users will put up with some security threats to get that.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com1tag:blogger.com,1999:blog-5297800307120051291.post-83390416597415528832007-07-28T07:24:00.000-07:002007-07-28T07:27:12.472-07:00Making random people famousConsider a service that crawls the web for home pages and then displays one chosen at random each day for all to see and discuss. <br /><br />It would be sort of like this Facebook app:<br /><br /><A HREF="http://apps.facebook.com/fifteen/">http://apps.facebook.com/fifteen/</A><br /><br />The difference though is that people would not sign up requesting they be made famous. Rather, the service would do it without their permission.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com1tag:blogger.com,1999:blog-5297800307120051291.post-30190371599830569242007-07-25T10:18:00.000-07:002007-07-25T10:32:53.720-07:00The Software Garden: Software Quality Visualization for Non-programmersThe idea here is to come up with a visualization of source code that would give some indication of quality to non-programmers.<br /><br />Imagine for example a service that indexes open source code and provides such a visualization in the form of gardens. A non-programmer could quickly examine and compare the gardens for some competing open source software applications.<br /><br /><A HREF="http://en.wikipedia.org/wiki/Code_smell">Bad smells</A> in the source code would manifest themselves in the form of a poorly maintained garden.<br /><br />You could also show code evolution via an animation of the garden over time.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-68147999409211459812007-07-24T12:07:00.000-07:002007-07-24T12:17:19.275-07:00Visualizing Software Systems as CitiesFrom the abstract:<br /><br />"This paper presents a 3D visualization approach which gravitates around the city metaphor, i.e., an object-oriented software system is represented as a city that can be traversed and interacted with: the goal is to give the viewer a sense of locality to ease program comprehension.<br /><br />The key point in conceiving a realistic software city is to map the information about the source code in meaningful ways in order to take the approach beyond beautiful pictures.<br /><br />We investigated several concepts that contribute to the urban feeling, such as appropriate layouts, topology, and facilities to ease navigation and interaction.<br /><br />We experimented our approach on a number of systems, and present our findings."<br /><br /><A HREF="http://www.inf.unisi.ch/projects/evospaces/publications/Wettel07b.pdf">http://www.inf.unisi.ch/projects/evospaces/publications/Wettel07b.pdf</A>Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-47854368338181194012007-07-24T09:24:00.000-07:002007-07-24T10:20:21.610-07:00If lifecasting is too much for you, why not try "Lifehinting"?For many people, <A HREF="http://justin.tv">lifecasting</A> is just too much of an invasion of privacy.<br /><br />So why not consider "Lifehinting"? The idea here is to give clues as to what your life is like.<br /><br />For example, you could do this by an algorithm that transforms a lifecasting feed into abstract animations, perhaps resembling <A HREF="http://www.idiom.com/~zilla/Work/VisualIDs/visualids.html">VisualID Scenery</A>. Similar sorts of activities would result in similar sorts of abstract animations.<br /><br />After a while of doing this, your friends will start to get clues as to the sorts of things you do -- at least, for those activities that they are familiar with.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-84537582793776006972007-07-23T07:05:00.000-07:002007-07-23T07:13:16.198-07:00“I Am the Very Model of a Modern Major Googler” (Song)Via <A HREF="http://blogoscoped.com/archive/2007-07-20-n73.html">Google Blogoscoped</A>:<br /><br /><A HREF="http://lauren.vortex.com/modern-major-googler.mp3">http://lauren.vortex.com/modern-major-googler.mp3</A><br /><br /><A HREF="http://lauren.vortex.com/googler-lyrics">http://lauren.vortex.com/googler-lyrics</A><br /><br />Also, check out the <A HREF="http://www.cs.washington.edu/orgs/student-affairs/cseband/">CSE Band</A>, especially <A HREF="http://www.cs.washington.edu/orgs/student-affairs/cseband/studio/Theory%20Girl.mp3">Theory Girl</A>.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com1tag:blogger.com,1999:blog-5297800307120051291.post-63103736330371282862007-07-23T06:01:00.001-07:002007-07-23T06:05:31.904-07:00Study Stickies Facebook ApplicationI would appreciate feedback on my Study Stickies Facebook application:<br /><br /><A HREF="http://apps.facebook.com/studystickies/">http://apps.facebook.com/studystickies/</A><br /><br />Study Stickies allows you to take notes (stickies) from books as well as online resources (e.g., pdf/html documents, videos, etc.).<br /><br />The vision behind Study Stickies is two-fold:<br /><OL><br /><LI> it allows people to take notes for themselves for easy browsing/search; and<br /><LI> these notes accumulate allowing you to learn from others.<br /></OL><br />Imagine for example getting stuck on page 147 of your algorithms textbook or SQL reference. You might then see if others have made any insightful stickies for that page.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-57555208944640729552007-07-17T12:27:00.001-07:002007-07-17T12:38:05.067-07:00Using human computation games to promote your startupIn a previous post, I described a <A HREF="http://mindrosity.blogspot.com/2007/07/how-to-get-people-to-look-at-online-ads.html">variation</A> of the <A HREF="http://listengame.org/">Listen Game</A> that could be used to get people to look at online advertising carefully.<br /><P><br />Another approach would be to build a custom human computation game for your startup to promote your startup in a more domain-specific way. <br /><P><br />For example, if you are building an online video site, then you could provide a game similar to the <A HREF="http://espgame.org">ESP Game</A> but adapted to video. Not only would this give you useful data to improve video search on your site, but it would also provide an engaging form of advertisement for your online video startup.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-71230541082587286552007-07-17T11:58:00.000-07:002007-07-17T15:49:52.287-07:00Will Wright: Toys that make worldsFrom the talk description:<br /><blockquote>In a friendly, high-speed presentation, Will Wright demos his newest game, Spore, which promises to dazzle users even more than his previous masterpieces. Here Wright encourages users to create not households, as in The Sims, or cities, as in SimCity, but the entire universe, from single-celled life forms to galactic physics. While guiding us through his mesmerizing beta, Wright shares his thoughts on Montessori schools, Darwinian theory and long-term thinking, emphasizing, throughout, that Spore is not so much a game as an opportunity for discovery -- "an imagination amplifier."</blockquote><br /><!--cut and paste--><!--cut and paste--><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="432" height="285" id="VE_Player" align="middle"><param name="movie" value="http://static.videoegg.com/ted/flash/loader.swf"><PARAM NAME="FlashVars" VALUE="bgColor=FFFFFF&file=http://static.videoegg.com/ted/movies/WILLWRIGHT-2007_high.flv&autoPlay=false&fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&forcePlay=false&logo=&allowFullscreen=true"><param name="quality" value="high"><param name="allowScriptAccess" value="always"><param name="bgcolor" value="#FFFFFF"><param name="scale" value="noscale"><param name="wmode" value="window"><embed src="http://static.videoegg.com/ted/flash/loader.swf" FlashVars="bgColor=FFFFFF&file=http://static.videoegg.com/ted/movies/WILLWRIGHT-2007_high.flv&autoPlay=false&fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&forcePlay=false&logo=&allowFullscreen=true" quality="high" allowScriptAccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" width="432" height="285" name="VE_Player" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object><br />(Via <A HREF="http://blog.ted.com/2007/07/will_wright_pre_1.php">TEDBlog</A>.)Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-70709408788550300412007-07-13T15:21:00.000-07:002007-07-13T15:43:37.642-07:00Justin.tv + NeuroSky: Not just lifecasting but also mindcastingFrom the <A HREF="http://www.neurosky.com/">NeuroSky</A> site:<br /><blockquote><br />NeuroSky has developed a cost effective bio sensor and signal processing system for the consumer market. Our wearable technology unlocks worlds of new applications such as consumer electronics, health, wellness, education and training.<br /><br />The neurons that comprise the brain work on electrical impulses. The last century of neurological research has shown us that brainwaves of different wavelengths indicate different emotional states, like a focused awareness, a meditative state, or drowsiness. Brainwaves have been used in medical research and therapy for years. We're bringing it to the consumer world. <br /></blockquote><br />Adding this technology to Justin.tv would allow viewers to get into the lifecaster's state of mind, thus making the lifecast more interesting to watch.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-67586896117726257712007-07-12T19:49:00.000-07:002007-07-12T19:57:51.990-07:00Combining blogs and chat roomsThe idea here is to associate a chat room with each blog post. So instead of having people submit comments, they would participate in a real-time discussion associated with a particular blog post.<br /><br />It is important to have a "chat schedule" for each blog post. For example, you might announce 3 chat sessions, each 20 minutes long, for a particular blog post. This sort of schedule is important because you would like to have a reasonable number of people available for real-time chatting.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-47345849011889698072007-07-10T19:32:00.000-07:002007-07-10T19:47:42.018-07:00Some unusual subreddit suggestionsSome unusual suggestions for <A HREF="http://sub.reddit.com/">subreddits</A>:<br /><br />* really new subreddit: accept only urls that are not indexed by google yet<br /><br />* no longer there subreddit: accept only urls in the <A HREF="http://www.archive.org/index.php">Internet Archive</A> that are no longer functional<br /><br />* give them a chance subreddit: accept only urls with low pagerank<br /><br />* crawler subreddit: can only submit a url that is linked to from one of the urls on the front page of the crawler subreddit<br /><br />* domain subreddit: accept only high level domain urls (e.g., http://cnn.com but not http://cnn.com/...)<br /><br />* reddit user subredditAmir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-27293804342877661182007-07-08T19:55:00.000-07:002007-07-08T20:05:04.519-07:00Using Photosynth as a tour guideIn case you still haven't seen Photosynth:<br /><br /><blockquote>Our software takes a large collection of photos of a place or an object, analyzes them for similarities, and then displays the photos in a reconstructed three-dimensional space, showing you how each one relates to the next.</blockquote><br /><A HREF="http://labs.live.com/photosynth/">http://labs.live.com/photosynth/</A><br /><br />Note that the software actually identifies the positions of the cameras that took the pictures in the collection.<br /><br />So in fact, you can use this approach as a tour guide, taking you to places from which many pictures were taken (i.e., the positions of the cameras).<br /><br />Imagine for example walking around a city while a device points you to nearby places from which many pictures were taken and orienting you in the direction of the often photographed scene.<br /><br />Such a device could take into account context (e.g., time of day, season, purpose of the photograph, etc.).Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-71170928299029989952007-07-08T17:43:00.000-07:002007-07-08T17:50:04.118-07:00The Hug Shirt and Lover's CupsFrom the Hug Shirt web page:<br /><br /><blockquote>The Hug Shirt is a shirt that makes people send hugs over distance! Embedded in the shirt there are sensors that feel the strength of the touch, the skin warmth and the heartbeat rate of the sender and actuators that recreate the sensation of touch, warmth and emotion of the hug to the shirt of the distant loved one.</blockquote><br /><A HREF="http://www.cutecircuit.com/now/projects/wearables/fr-hugs/">http://www.cutecircuit.com/now/projects/wearables/fr-hugs/</A><br /><br />From the Lover's Cups web page:<br /><br /><blockquote>Lover's Cups explore the idea of sharing feelings of drinking between two people in different places by using cups as communication interfaces of drinking. Two cups are wireless connected to each other with sip sensors and LED illumination. The Lover's cups will glow when your lover is drinking. When both of you are drinking at the same time, both of the Lover's Cups glow and celebrate this virtual kiss.</blockquote><br /><A HREF="http://web.media.mit.edu/~jackylee/cups.htm">http://web.media.mit.edu/~jackylee/cups.htm</A>Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-12312191176005919612007-07-08T17:27:00.000-07:002007-07-08T17:31:00.341-07:00Why personalization done well is not in Google's self-interestIf web search personalization is done really well, then it could have a very bad effect on paid advertising.<br /><br />After all, if potential customers are likely to see your product via personalization, why bother with paid advertising?Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com1tag:blogger.com,1999:blog-5297800307120051291.post-9932666487746116792007-07-08T15:12:00.000-07:002007-07-08T15:18:08.259-07:00Your percentile rank in terms of effort among single founders is...Single founders often have problems with motivation. So why not build a service to motivate single founders to try harder?<br /><br />For example, effort could be determined by looking at how much coding gets done each day. You would see your percentile rank among single founders in terms of this and other measures.<br /><br />Effort isn't everything, but having that intense motivation that you find in multiple founder startups will probably help.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-47892904842437819742007-07-08T13:50:00.000-07:002007-07-08T13:53:31.866-07:00Mining your email to automatically broadcast your moodThis can give you useful information. For example, you might delay an email asking for something if the receiver is currently in a bad mood or too busy.<br /><br />This could also be useful for suicide prevention. Imagine Google doing this with gmail to keep its users mentally healthy and safe. Signs of depression would be reported automatically to mental health professionals.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-14895519269160634452007-07-08T10:50:00.001-07:002007-07-08T11:07:16.987-07:00Justin.tv suggestionsSome ideas for Justin.tv:<br /><br />* allow viewers to control imaginary friends who can interact with Justin; only he and the viewers would be able to see and hear them.<br /><br />* have one channel that gives the most interesting video among all other channels in (near) real-time based on user feedback (e.g., in the chat rooms)<br /><br />* a search engine for clips based on associated chat text; yes, the chat is pretty noisy data but I think you will get interesting results anyway<br /><br />* imagine using justin.tv to augment your mind, taking advantage of the intelligence and knowledge of your viewers<br /><br />* use justin.tv as a way to interview people for jobs<br /><br />* when Justin meets someone for the first time, viewers can show flashbacks from Justin's life to give a first impression (and the choice of flashbacks would depend on the person he is meeting for the first time)<br /><br />* have a prediction market about all sorts of short-term events (e.g., in the next day/week) in Justin's lifeAmir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com0tag:blogger.com,1999:blog-5297800307120051291.post-776099941541432972007-07-08T10:39:00.000-07:002007-07-08T10:48:26.009-07:00Remote flying of real model planes over the netConsider a web 2.0 startup where you would pair up people with<br />model airplanes with people who would like to fly them remotely via<br />the web from the comfort of their homes.<br /><br />A video camera would transmit live video from the plane and/or the<br />ground.<br /><br />The owner of the plane would be responsible for the safety of the<br />plane. If flight inputs coming in via the web put the plane in danger,<br />then the owner can override them temporarily.<br /><br />Flight inputs may come in from one person or a combination of people<br />via some voting mechanism. Users who would like more control over the<br />plane would pay more.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com1tag:blogger.com,1999:blog-5297800307120051291.post-47822951870381451832007-07-08T10:34:00.001-07:002007-07-08T10:35:36.613-07:00Ranking search results based on IQInstead of using PageRank, how about computing an "IQRank" that takes into account the IQs of people?<br /><br />For example, you could consider the IQ of the creator of the site as well as the IQs of people who link to the site.<br /><br />The creator of a site would have a greater incentive to undergo IQ testing so as to have some chance of ranking highly.<br /><br />Not sure what sort of incentive you could have for encouraging people linking to a site to undergo IQ testing.Amir Michailhttp://www.blogger.com/profile/11532311330603872562noreply@blogger.com1