9 ms·
Embarrassing Flaws That Made My ‘Weekend’ App Possible
- c4urself 16y ago"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?
- moconnor 16y agoIt's my one weakness ;)
- pierrefar 16y agoDelusions of grandeur, IMHO, are a key part of the drive entrepreneurs need to slug through the pain of building a new business.
- BrandonM 16y agoWouldn'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.
- philwelch 16y ago"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." http://sivers.org/horses http://sivers.org/horses
- saurabh 16y agoCame 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.
- dholowiski 16y agoHah, I usually do that before I even write the first line of code! Actually I think Jeff Bezos might be ringing my doorbell right now, gotta go...
- adbge 16y ago[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.
- deleted 16y ago[deleted]
- deleted 16y ago[deleted]
- bengl3rt 16y agoOn the way to England I'm much more likely to think about Davros...
- techbio 16y ago"I remind myself that pride is another I Ain’t Gonna Need and get on with it." YAGNI applies liberally.
- zipdog 16y ago"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 :) Thanks for the interesting read.
- moconnor 16y agoGreat, 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...
- thirdstation 16y ago"Take that, NoSQL guys! I’m NoEverything!" 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.
- theycallmemorty 16y agoHere's a feature suggestion for you from a fellow BGGer: Allow users to restrict the search to games from with specific amounts of players.
- moconnor 16y agoYeah, #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.
- kenjackson 16y agoI haven't looked at this data to know if this would fit, but SVD worked really well for the Netflix prize. When I first heard its use in recommender systems I laughed and then thought... wow, that's kind of perfect. Here's a good explanation if you're not familliar with it, and very accessible to those who haven't studied linear algebra (or haven't thought about it in a long time) http://journal.batard.info/post/2009/04/08/svd-fun-profit http://journal.batard.info/post/2009/04/08/svd-fun-profit
- stevenbedrick 16y ago+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?
- binomial 16y agoI'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. [1] http://www.miislita.com/information-retrieval-tutorial/svd-lsi-tutorial-1-understanding.html http://www.miislita.com/information-retrieval-tutorial/svd-l... [2] http://nlp.fi.muni.cz/projekty/gensim/index.html http://nlp.fi.muni.cz/projekty/gensim/index.html
- 16y ago
- gacba 16y agoAnother 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.
- gridspy 16y agoActually I think this just raises the bar - "Look, it only took 2 hours * 2 weeks to make something useful." Now everyone who has been slaving away for >24 months to make their own end-to-end power monitoring solution feels slightly lame. Look ma - power monitoring in only 1200 hours! (http://gridspy.co.nz http://gridspy.co.nz)
- moron4hire 16y agoSo 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?
- gacba 16y agoWhy do these observations of a site being down get downvoted so harshly? The observation is accurate for him, and it could be for everyone...
- silentbicycle 16y agoBecause 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.
- moconnor 16y agoEspecially when the blog's hosted on tumblr and the app on GAE ;)
- Timothee 16y agoThis 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...
- albemuth 16y agoalso www.heroku.com
- nopal 16y agoI 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.
- bricestacey 16y agoThe 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.
- zrail 16y agoThis 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. [1]: http://blog.darkhax.com/2010/07/30/auto-scale-your-resque-workers-on-heroku http://blog.darkhax.com/2010/07/30/auto-scale-your-resque-wo... [2]: http://github.com/ddollar/heroku-autoscale http://github.com/ddollar/heroku-autoscale
- Timothee 16y agoInteresting, 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... Thanks for pointing it out to me!
- ojbyrne 16y agoIn 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.
- JimEngland 16y agohttp://web.archive.org/web/20041209040106/http://digg.com/ http://web.archive.org/web/20041209040106/http://digg.com/
- Groxx 16y agoProof that The Internet does indeed hate you, and wants everyone to remember it forever, even if you don't.
- slouch 16y agodigg could remove themselves from archive.org using robots.txt if they wanted to
- js2 16y agoget it done; make it right; make it fast
- brown9-2 16y agoAnyone know which analytics tool is generating these graphs? http://media.tumblr.com/tumblr_lai5rgUrSd1qd3z7l.jpg http://media.tumblr.com/tumblr_lai5rgUrSd1qd3z7l.jpg
- thrdOriginal 16y agohttp://www.analytk.com http://www.analytk.com http://www.analytk.com/view/?url=http://yieldthought.com/post/1345897970/10-flaws-that-made-my-weekend-app-possible http://www.analytk.com/view/?url=http://yieldthought.com/pos...
- moconnor 16y agoAh, my other unreleased side project has come to light. Time to add some login screens, then :-)
- moconnor 16y agoActually, 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.
- thrdOriginal 16y agoWhoops, 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.
- sp4rki 16y agoThere 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.
- icefox 16y agoA 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. http://icefox.net/picktheboardgame/ http://icefox.net/picktheboardgame/ Based off of an older (more fun) app I wrote a long time ago: http://toybin.org/pickthetransformer/ http://toybin.org/pickthetransformer/
- jacksonh 16y agoI've used that same template before. Opened the article and was like "oh god, is this about one of my embarrassing weekend projects?"
- jayliew 16y agomoconnor: 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?"
- gridspy 16y agoPersonally, 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 http://gridspy.co.nz) Another one 18/10/2010 | 8:50:00 | 9:56:36 | 1:06:36 | Server maintaince, removed orbited, checked memory usage. Killed backup scripts, installed python 2.7 Naturally it is all in an Excel spreadsheet. :)
- jayliew 16y agoDo you find that it helps? The closest thing I got that looks like what you got above there are my git log messages!
- irrelative 16y agoSeconded. Using distributed RCS, you commit often and therefore have a pretty good log of your daily activities.
- 16y ago
- 8ren 16y agoAppEngine is amazing. It's free web-hosting, that also happens to include everything you need to make webapps. The man who never made a mistake never made anything
- brisance 16y agoNice writeup. Did you consider using Google's Prediction API before rolling your own recommendation system? http://code.google.com/apis/predict/ http://code.google.com/apis/predict/
- gridspy 16y agoPossibly 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. http://code.google.com/apis/predict/docs/getting-started.html http://code.google.com/apis/predict/docs/getting-started.htm...
- moconnor 16y agoNo. 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!
- SudarshanP 16y agoThat's great! http://techcrunch.com/2010/09/15/hunch-taste-graph-business-model-api/ 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/ http://hunch.com/developers/v1/
- chipsy 16y agoI 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 :)
- raccer 16y ago"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!
- Tichy 16y agoWow, great idea. I am envious.
- rmoriz 16y agoMunich? cool, I'm probably not so alone :)
- moconnor 16y agoCall in at http://combinat56.com http://combinat56.com sometime; there's always a couple of devs doing interesting stuff there.