"While thinking about this on a plane to England, my mind makes the natural leap from my motley collection of python functions to turning down acquisition offers from Amazon and being invited to talk at Davos."
haha happens all the time, who else suffers from this?
[One of my favorite excerpts from Why's (Poignant) Guide to Ruby]
Today I was at this Italian restaraunt, Granado’s, and I was paying my bill. Happened to notice (under glass) a bottle of balsamic vinegar going for $150. Fairly small. I could conceal it in my palm. Aged twenty-two years.
I’ve spent a lot of time thinking about that bottle. It is often an accessory in some of these obsessive fantasies. In one fantasy, I walk into the restaraunt, toss a stack of greenery on the counter and earnestly say to the cashier, “Quick! I have an important salad to make!”
In another, related fantasy, I am throwing away lettuce. Such roughage isn’t befitting of my new vinegar. No, I will have come to a point where the fame and the aristocracy will have corrupted me to my core. My new lettuce will be cash. Cold, hard cash, Mrs. Price.
Soon, I will be expending hundreds for a block of myzithra cheese.
My imaginations have now gone beyond posessions, though. Certainly, I have thought through my acquisition of grecian urns, motorcades, airlines, pyramids, dinosaur bones. Occassionally I’ll see wind-tossed cities on the news and I’ll jot down on my shopping list: Hurricane.
But, now I’m seeing a larger goal. Simply put: what if I amassed such a fortune that the mints couldn’t print enough to keep up with my demand? So, everyone else would be forced to use Monopoly money as actual currency. And you would have to win in Monopoly to keep food on the table. These would be some seriously tense games. I mean you go to mortgage St. James Place and your kids start crying. In addition, I think you’ll begin to see the end of those who choose to use the Free Parking square as the underground coffers for city funds.
You’ve got to hand it to fun money, though. Fake money rules. You can get your hands on it so quickly. For a moment, it seems like you’re crazy rich. When I was a kid, I got with some of the neighborhood kids and we built this little Tijuana on our street. We made our own pesos and wore sombreros and everything!
One kid was selling hot tamales for two pesos each. Two pesos! Did this kid know that the money was fake? Was he out of his mind? Who invited this kid? Didn’t he know this wasn’t really Tijuana? Maybe he was really from Tijuana! Maybe these were real pesos! Let’s go make more real pesos!
I think we even had a tavern where you could get totally hammered off Kool-Aid. There’s nothing like a bunch of kids stumbling around, mumbling incoherently with punchy red clown lips.
Wouldn't those delusions also be a source of the emotional rollercoaster ride that pg talks about? It seems to me that an entrepreneur that can keep a level head and realistic expectations will not only have lower highs but higher lows.
I would expect that the delusions may help with building a large-scale business: in order to achieve the desired grandeur, a big exit will be necessary. VCs and wealthy entrepreneurs are better off expecting to change the world.
The first-time entrepreneur (and some angel investors), on the other hand, would probably be better served by having realistic projections and reasonable goals.
Came here to quote the same thing. I too suffer from this and it's unbearable after it happens. It's exactly what my stupid brain does. And then I get angry on my brain for doing it. I think it is a symptom of a deeper problem in the way I think about developing something.
While day dreaming, I have made a better search engine than Google, a better operating system than existing ones, a game played by millions and each of the projects having a "situation room" like the one in Bourne Ultimatum.
It's all fun and games while I am dreaming though.
In the very oldest version of digg to be found on the internet archive, if you view source there's an sql query inside an html comment. Embarrassment, trapped in amber forever.
"If I’d played around with every piece of technology I should be using whether I felt like it or not, I’d never have got anywhere."
I feel like this all the time. Sometimes it's better to do a less-great job in a language you know backwards and skip the learning curve of a new tech.
The site works really well btw: after entering a handful of my favs it took my a while to get through all the games I already like to find new ones - so it's doing something right :)
Great, I'm glad to hear it's proving useful! I'll do a follow up with how well my NoDB implementation stood up to the pounding it's getting at the moment later in the week...
I actually LOL'd when I read that. Which is kind of embarrassing since it's really quiet in the office today :-)
Great post. I get analysis paralysis all the time when I think of new web apps. The idea that I won't have the perfectly scalable architecture (horizontally AND vertically) with all the cool infrastructure is enough to overwhelm.
That's because I also skip to the scenario of "What if my app gets real popular and then starts crashing all the time, and then everyone stops visiting while I try to learn how to set up nginx with memcached and ... ad nauseam."
Sometimes it gets me stuck and sometimes I remember to take baby steps like you wrote about.
Yeah, #players and playingtime are both on my list of things to optionally filter. Just need to find a nice way to do it without complicating the initial user experience.
+1 to this... I've had very good luck using SVD/LSA-ish approaches for building recommendation engines.
HOWEVER- the big catch with naïve (i.e., simple to implement and understand) approaches to LSA are that every time you add a new datum, you have to recompute the SVD of your data- which is time consuming, and raises some interesting logistical challenges when done in the context of a web app (i.e., how you persist your matrices, etc.). There are more sophisticated LSA approaches that get around some of these problems, but they're more complex to implement.
Nothing insurmountable, but kind of a pain nonetheless, and w.r.t. the system described in the parent post, I'm not sure how well they'd integrate with GAE- can you use NumPy/GSL/etc. on GAE? Or would you be stuck using some sort of Java numerical computing library?
I'd love any resources you could point to that were helpful to you when builder your recommendation engines (also, do you have links to the actual engines?). I've been going through a tutorial to understand how SVD works [1], but it would be nice to find something that will help me deal with implementation details. I thought I might just use Gensim [2] for now, but the authors of that tool themselves say that Gensim is more of a framework to learn about these things rather than a production-ready tool.
Sorry for the delay, I just now saw that somebody had replied. Regarding links to the systems- the only one that was ever publicly accessible was for a Facebook app that I wrote some years back that was let researchers post links to their publications on their profiles, and also featured a recommendation system to find other users of the app that had "similar" publications. It's unfortunately fallen into a pretty sorry state of disrepair, as I haven't had any time to devote to maintenance in more than two years and Facebook's APIs have changed quite a bit since then. I described the underlying system a little bit in a conference paper: http://view.ncbi.nlm.nih.gov/pubmed/18999247
The other systems I've used the approach for have all been along either bibliometric/bibliographic lines, or have been relating to content-based image retrieval. It's a pretty robust approach, but can take a little bit of tuning to get just right- coming up with a good evaluation strategy is important to getting the most out of it, I've found.
It might be a little dated w.r.t. specific libraries or APIs, but the basic technique is there. For a more comprehensive look at the SVD-IR approach, take a look at:
Berry et al. Using Linear Algebra for Intelligent Information Retrieval. SIAM Review (1995) vol. 37 (4) pp. 573-595
The SVD approach falls in the same family as Latent Semantic Analysis, which is a whole black art unto itself- I'd actually suggest going back to the early papers by Landauer, Dumais, etc. if you're really interested- those guys did a great job writing up what was at the time really novel stuff.
My contact info should be in my profile, drop me an email if you have any more questions (or to let me know what you end up doing!).
heya binomial, don't let gensim's disclaimer deter you! it's been used by many people, both academically and commercially, and it's fairly mature.
having said that, i'm always happy to hear about success and failure stories from users. so if there's something you find broken/missing in gensim, just let me know.
Another great story on 30 days to an "overnight success". Launching a product, even a "weekend project" is just damned hard to get right, end-to-end. Harder than you think out of the gate. I love how this puts things into perspective.
Actually, forget the login screens, it can stay public. This is the first time I've ever launched a site in a 4th level comment, though.
Analytk's a pet real-time blog tracking site I wrote because I was thoroughly dissatisfied with the typical ones. It tracks each post individually, updating every minute to begin with (exponential backoff after 1 hour, not truncated). It also picks up HN and reddit ranks and scores, and tweets. It's only half-finished. Please be nice.
Whoops, didn't mean to out your pet project. I enjoyed your post and I too was curious which analytics script you were using so I checked the page source to see what was going on. I wondered about the lack of documentation on the homepage...looks cool though.
There was a time in my life where I really thought I needed to keep up with the latest and greatest technologies, libraries, et cetera. As the author discovered, you don't need to. I can now sleep easily knowing that I 'marked as read' the newest no-sql magix and do x y & z gems that I really didn't mind to read about. Great read.
moconnor: did you keep a journal while you were building this app?
I'm thinking to myself as I am reading this that there's no way you could have gotten from A-Z, then only after that started filling in the blanks accurately about what you did on day #X. (Heck, I can't remember what I ate yesterday!)
Motivational, good stuff, thanks for sharing.
Now I'm thinking of an app for HN'ers who just need a little help getting something like this off the ground: An app that lets you chronicle every day a short paragraph of what you did to move the ball forward.
Plus, there will be a nagging^H^H^H^H^H^H^Hpeer-accountability feature built-in. Your progress is public and other HN'ers can "tap" you on the shoulder if there's a lack of progress and say "what's up with this?"
I didn't keep a journal, but after a couple of weeks when I decided to write this post I jotted down what I'd done when. The filesystem helped with a lot of dates (creation, last modification and so on). Going to England in the middle was a good, specific memory aid too - it's easier to remember what I was doing and thinking in an unusual place.
Personally, I keep a timesheet on when I started and finished working on something, for instance
Tue 19/10/2010 | 15:40:00 | 17:10:06 | 1:30:06 | Looking at admin interface for sensor daetails. Trying to fix None issue, seems to be related to subclassed models. Adding code to twisted for CT settings
Turns out that one of my Django models is breaking the Django admin interface, and also that I have to have calibration details for the Current Transformer sensors we use (http://gridspy.co.nz)
"Talked to client"
"Wrote email"
"Made blog entry"
"Spent 60 minutes wasting time doing X"
Also, the gaps in the timeline are just as telling. I always feel that little bit guilty returning from HN and seeing a 1hr gap where I could have worked.
Great idea, please do this. It should also record the choices encountered at each step and tabulate the paths not taken, which would be very useful if something doesn't work and you need to backtrack.
"Day 5 - Embarrassing Flaw #3: Making a stupid business plan, then ignore it anyway"
Awesome! (I lol'd) I love inventing. It's only recently that I've started to add business logic to my imagination, I'm no Jedi in this capacity, but the force was strong at startup school; and I want to train!
I just put a Flash game into the sponsorship process today. I made the initial game in 48 hours for Ludum Dare some months back. Then I returned to it and put in approximately another 72-96 hours(real-time, not work-time) of effort, spread out between Thursday, Monday, Tuesday, and this morning, to rework the theme, polish everything up, and bulk out the content.
Its obvious flaws are having no animation to speak of and minimal tutorialization, but in comparison to the bloated things I've worked on in the past, it was a breakthrough performance. A game in five-six days of work. I'm going to start on another one, now... hopefully I will finish around the 25th :)
No. I thought about Directed Edge, but playing with recommendation algorithms was the raison d'etre of the project. I didn't want to make a web site and throw some amazon referral links at it, I wanted to play data miner!
That's great! http://techcrunch.com/2010/09/15/hunch-taste-graph-business-... is another alternative. Maybe you could try tweaking your algo continuously and comparing with how well hunch recommends stuff. The advantage of the hunch api is that it is able to use a lot more info about the visitor to make more awesome predictions. Just curious to see how far it goes!!! http://hunch.com/developers/v1/
Possibly ruled out because : Access to the Prediction API is currently by invitation only. To request access and learn about the access process, sign up on our waitlist.
A while ago I did a somewhat similar board game web app. I wanted to find a better ranking than what is on boardgamegeek.com Alas another weekend project that hasn't really gone anywhere.
This convinced me to use AppEngine for a tiny little project I've been thinking of this past week. It'd be useful to me, probably others, but knowing that I wouldn't have to worry about anything on the hosting side (be it bandwidth, uptime...) would be nice.
Actually, I'm looking forward to have some time soon to get started...
Interesting, I didn't know they had a free plan. (never looked into it that much)
5MB of DB and 1 "dyno" would be plenty for what I have in mind (let's be honest: 1kB would be sufficient :)), so I'll definitely keep it in mind as well. But now the eternal question for me comes back again: Ruby or Python...
I really wish they'd show me what I can run on Koi (links to current sites). I know they make deployment a snap, but I worry that I'd be forced to add more and more resources to keep my site running as I'd hope.
The only difference between Blossom and Koi is the size of the database. The only way to improve performance is to increase the number of dynos or workers you use.
This is actually possible to do dynamically[1] so you can keep your costs down. I found this post last week and implemented it over the weekend, and it's pretty neat to watch it work. So far I've only implemented this for workers, but it's certainly possible[2] to implement it for dynos.
So I take it from the comments that, "We'll be back shortly.
Our servers are over capacity and certain pages may be temporarily unavailable. We're incredibly sorry for the inconvenience." is not the embarrassing flaw?
Because they're trite. For example, it seems like whenever somebody posts an article about databases, there's a comment saying, "Whoops, looks like your database doesn't scale after all! Haha". Similar versions (such as this) for web hosting, etc.
If you're going to take the time to post a "hey is this down" comment, at least link to the site's google cache or something. Otherwise it's just noise.
haha happens all the time, who else suffers from this?