skysight-inc/HackerNews huggingface dataset:
a) find something very very SMALL to start with. remember: facebook had one photo, one school, and no groups on feb 4, 2004. zuck built that shit in 2 weeks. could you imagine if he tried to build what fb is now (feature wise)? Zuck actually was a lot like this from what I can gather - making lots of small random things, not always finishing them, and seeing them stick. He got through fb fairly quickly and it stuck.

b) find something that people can pay you for ie- your first dollar. Without making money, youre running a nonprofit, not a company. even if it's just ad space, put the ads up from the beginning. Money is a hell of a motivator.

c) have a targeted customer/user. you can get feedback from them and it will keep you going. seeing someone enjoy your work is a big motivator. you will feel you cant let them down.

d) try to have it be something that you yourself would use. it will force you to finish the project.

You can do this. I've been in similar spots. Forget potential failure or potential success. Just focus on finishing. Hope this helps and good luck!
Time To Get Out Of The Bubble And Design For The Average User
If you want to save some clicking:

- Author picks Lift/Scala not on the best future interests of the company (ease of hiring, scalability, agility, maturity) but on fit for his world view about type safety and it would be fun for him.

- Author commits startup to stateful servers / scaling issues from day 1 of the rewrite.
If you need help coming up with a good plan for this, there are methodologies around it. Two that I like a lot are:
The Pomodoro Technique - http://en.wikipedia.org/wiki/Pomodoro_Technique
Getting Things Done - http://en.wikipedia.org/wiki/Getting_Things_Done
Tell people you care about that you are starting a project. Keep them up to date on your progress. Your friends and your ego can be powerful motivators to finish.
This is good advice. As sensible as the suggestions in this thread are, probably no one is going to be able to help you without a fairly detailed understanding of the emotional issues which are holding you back.
From "The Cult of Done Manifesto":

1. There are three states of being. Not knowing, action and completion.

2. Accept that everything is a draft. It helps to get it done.

3. There is no editing stage.

4. Pretending you know what you're doing is almost the same as knowing what you are doing, so just accept that you know what you're doing even if you don't and do it.

5. Banish procrastination. If you wait more than a week to get an idea done, abandon it.

6. The point of being done is not to finish but to get other things done.

7. Once you're done you can throw it away.

8. Laugh at perfection. It's boring and keeps you from being done.

9. People without dirty hands are wrong. Doing something makes you right.

10. Failure counts as done. So do mistakes.

11. Destruction is a variant of done.

12. If you have an idea and publish it on the internet, that counts as a ghost of done.

13. Done is the engine of more.

http://www.brepettis.com/blog/2009/3/3/the-cult-of-done-mani...
I came across a library for persistent data structures in Ruby yesterday: http://github.com/harukizaemon/hamster
The trick is to try to recognize the patterns in the errors he is making. It is remarkable how every one of the problems he raises has made a company or organization that solved it very successful.
Diligence > Intelligence.

A lot of people are going to have trouble admitting this, but a diligent person of average intellect is about a hundred times more likely to become successful than a lazy person with a titanic intellect.

I can provide examples if necessary.
If your strength is to be creative, maybe you are most useful at the beginning of projects. Maybe you could get someone else to finish them?

I have the opposite character flaw of finishing everything I start. This is not very good either because sometimes it's better to throw things away. For example I spent 4 years studying economics although I find the subject rather boring. Also the personal projects that I've started stop me from starting other personal projects which also interest me.

My personal project takes so much of my time that I don't work full time as a programmer. I work about 9 months, then go away 6 months and conme back to programming. If the project I am working on is not done after 9 months, another programmer takes over. This is one way in which you could get other people to finish your projects.
16 Blogs to Help You Master the Business of Design
Set disincentives for failing to finish. For example, register the domain name for your project and buy hosting before you finish. This way, you'll have the ticking clock of hosting fees without any revenue from ads to herd you on schedule.

I also enlist the help of friends. I tell people about the projects that I want to finish, and I keep them up to date about them. If I slack off, they ask me "so, how's it going on that project?" One friend of mine has agreed to punch me if I don't finish one particular project.
I am actually really looking forward to reading Brignell's books. This particular page might only be an indicator of how out-of-control the global warming meme is, but I'm under the impression Brignell's stances are at least an approximation of how you should honestly approach the subject/studies.

Who's read him? (I actually think I was linked to numberwatch on HN)
http://www.pomodorotechnique.com/resources/cirillo/ThePomodo...
One recommendation I would make is to shift your focus from how you can accomplish the project to how best to deliver the project regardless of the person. I used to have a similar problem (and still do at times) and the reason I could always start but never finish is that I sequenced all the tasks I liked to do early in the project so at the end of the project all I had were things I didn't enjoy.

Now I do two things. First I look how to outsource what I can to other people - for example my sister is very detailed oriented so I pay her to do things that would bore me, like writing instructional copy, disclaimers, terms of service, etc

With those activities I can't get off my plate, I sequence them so I am doing fun and boring activities equally. That way I am not over-burdened with boring, tedious, or difficult tasks.

Make sense?
I've never really 'finished' anything either. I think the main thing is to make sure you are making progress, moving forward, and improving, rather than trying to 'finish'.
I'm not a fan of MS typically, but this really should be a value-added requirement in the EU of OEMs. Microsoft did use its monopoly to force IE on the public, but it did so with OEMs complying. Dell should be able to build a machine that'll be shipped to Germany that comes pre-installed with Opera. Forcing Microsoft to do this is silly.
You must be merciless with yourself. Select the most important project, get a piece of paper and write down everything that needs to be done in bullet points. Write down the minimum and maximum time you believe each should take. Figure out the maximum amount of time you can work each day (10 hours is long term, every day sustainable rate for me, doing more imho leads to diminishing returns). Do the same time evaluation for every other important project and then reevaluate which is truly the most critical. Work on that critical project only until it is done, mercilessly without deviation.
It's true that users don't care if you're using RoR or have load balanced servers or or replicated databases or anything like that. However, users do care about what those things provide. Load balanced servers means their requests are likely to be met without large slowdowns. Replicated databases means your application will have better uptime. RoR could mean that you're able to add features more easily.

We care about this technology because it allows us to provide a better end result. We talk about it internally because we want to share our successes and failures so that we can educate and learn from our peers and create better end results for the average user.

I don't care why my house stays up, but I'm glad that there are people (line engineers and architects) who do so that I have a wonderful, stable home. We're the architects of the web.
that's not how i read it at all. he's experienced with java, prefers statically typed languages, and has had a lot of success so far with scala. for accusing someone of a heavy bias you're doing a pretty good job yourself
It's not as if "advantages of Flash" comments never get up-voted, or as if "why you should use HTML5 instead" comments never get down-voted.

Besides, a -1 is hardly worth complaining about. It's not like this is one of those sites where drive-by down-voters will keep showing up for weeks after the discussion has ended, voting you into the basement.
I never bought an ebook but I certainly do more than 95 percent of my reading on a screen.

(Considering that many people sit in front of a screen during their whole workday and read stuff I do not think that hardware was ever the problem. I do not know why people think they would be unable to read books on a LC Display when they have otherwise no problem staring at such screens for hours on end. It’s about image, availability and price, not technology.)
I agree. I am also grateful for engineers that keep websites running properly and quickly. I can't stand it when a website is slow or doesn't work. I have an equal appreciation for those engineers as well as the ones that allow us to have a roof that stays up or a bridge that doesn't collapse.

Engineers to engineers of course need to care about the technology. However, in terms of design, so many products seem to forget about the core user of their product and their needs.
Yes, yes, a million times yes. This is the great challenge and the great opportunity of our era. A yawning chasm has opened up between 'techies' and everyone else, but we have the tools and the technologies to bridge that gap. For most of us in this industry, the challenge is no longer the technology itself - it is to humanise technology and make it accessible and useful for the mass of the people.

I strongly believe that we are in a new industrial revolution.
The Ego Dilemma
I have a very similar problem and I've tried a lot of the solutions offered here. The only thing that works for me is to work on projects with people that have the focus and motivation that I lack. My "keep myself focused and on task" ability is very low, my "don't let other people down" ability is very high. I plan accordingly.
I don't know very much about traditional chinese medicine: like western medicine it's probably that they have certain things very wrong.

However, I will say that the analytical side of western medicine is over reliant on tools which render it practically blind to relationships more complicated than linear sensitivity to single variables, whereas the clinic side is driven by the cultural mores and background of doctors who, alarmingly, are not much healthier than the rest of the population.

And then there's the issue of arrogance. My god some doctors are arrogant.

Numerous alternative medicines return the focus to the whole body, whole life, and nutrition, and return the ultimate responsibility for the care of the patient to the patient.

In this, I think that they represent quite a promising volume in healthcare parameter-space.
As somebody who works on months-long and frequently years-long projects, I have some advice.

Firstly, I prefer not to solve /all/ of the hard problems at the start. I try to somewhat polish and test each feature before moving to the next. Otherwise the tail end of your project will become a long slog while you have to force yourself to address all the little things you've put off. It's a massive demotivator.

Also, you really need to break large projects down into smaller pieces. The large project quickly becomes overwhelming and despair can set in. Instead, set out to accomplish a small piece every day. The important thing is to feel like you've done something worthwhile every day, and to have something new to look forward to tomorrow. You'll get used to feeling good about yourself at the end of the day and programming will become addictive.

Usually I think about what I'm going to do that day between hitting snooze or driving to work. I map out what I want to get done in my head. That'll motivate me for the day. Of course, the problem with this approach is I tend to get upset when the day's plan changes. But that's kind of a personal intensity I have to keep in check sometimes.

Lastly, I find I'm pretty motivated by feedback. I want the users to like what I've done, so if I'm having motivation problems it can help to get my programs in front of users. I like to get prototypes in the hands of the right users, ones who'll understand not to expect everything to be done, as much as possible. It'll keep me on the right track.

Of course, there's still those days I have to turn off the bookmarks toolbar and force myself to work on something. Usually that's caused by a roadblock or a decision I haven't yet figured out. Sometimes I have to put my feet up on the desk and just noodle for a while.

Anyway, a lot of this will come with more experience. (Just a guess from your post.) When I started I was overwhelmed with the possibilities and new stuff to learn that I experimented with a lot of stuff, too. Somewhere I still have a project folder filled with just "messing around" projects.

It doesn't matter if those are ever finished, it's an important part of learning. But that was personal stuff... You should finish the work project. :-)
Why two showers?
I completely agree with you. The technology is now in a position where we can bridge that chasm, and bring the early innovators closer to the early adopters. With all of the talent available, we should be able to narrow that chasm considerably so that all products are friendly to both parties.
Attempting the slide 3 example on a dual-core Core 2 Duo CPU running 32-bit Linux with Python 2.6 I get

* single-threaded: 8.9s
* two threads: 10.4s

Overhead is ~17% (compare to 2X slowdown reported on quad-core Mac OS X). Interesting.
There are so many thing wrong with this article, I don't even know where to start.

The iPhone was the first smart phone to replace the mobile web. Flash-less internet was at least better than mobile-internet. Arguing that the iPhone is proof that we don't need Flash follows the same slippery slope that we don't need the iPhone since basic cell phones are popular.

The HUGE irony is the author casts a negative view that Microsoft broke open standards by blocking QuickTime yet praises Apple for blocking Flash. They're the same thing: blocking competition on a proprietary platform.

Flash wasn't leverage for Microsoft video. At the time there was a three-way battle between WMV, Real, and QuickTime and it sucked because certain videos only played on certain platforms. Flash provided a universal solution.

I'll admit Flash isn't not perfect, but it's undoubtedly the most popular and efficient. Flash is also the most open, being available to everyone, with the only exception being people who install additional extensions to avoid it.
Indie games are made by teams of 1 to 10 members.

Local, just-for-fun rock bands have 3 to 6 members.

Independent films are made by crews of less than 30. They may also hire a firm to do some marketing for them.

Indie bands working their way around the music scene have 3 to 6 members. They may also hire a firm to do some marketing for them.

AAA games are made by teams of 50 to 100 core employees and maybe 100 more support staff.

Big record label funded bands have 3 to 6 members. They likely have a large support staff to do marketing for them.

--

I think the grandparent post is dead on. Record labels provide resources and services, many of which are no longer rare, expensive, or difficult to obtain. The few things that still are rare, expensive, or difficult to obtain can be easily enumerated (like marketing). Each of those things are available via other channels and without having to give away your intellectual property or compromise your artistic integrity.
I don't know enough about the OP to talk directly to your problem, so I can only share a few interesting frames of mind that I have picked up along the way that help push me along.

There is a phenomenon from child psychiatry that has shown that parents that say to a successful child, "Wow, you're so smart" undermine that child's ability to muscle through tougher challenges later on in life. These kids believe they are intrinsically better than their peers, so they don't keep putting effort into themselves. Eventually they encounter a challenge that exceeds their initial abilities and they give up since they don't understand their performance is in their control, not baked into their God-given make-up.

Parents who instead say, "Wow, you put in a lot of effort," teach their children that the success is based on factors that you can control, like how much effort you put in and how prepared you are and what you do. These kids do a lot better in life.

http://www.scientificamerican.com/article.cfm?id=the-secret-...

Your problem description (high IQ, creative asset, character flaw) is in the wrong frame. Since we're talking about action, it's not about who you are, but what you do.

Anyway, getting things done is surprisingly simple (not easy). You look at the goal, work backwards thinking of all the things that have to get done to get to that goal, and then start doing them.

Another key part of being successful is to delay gratification. People who need constant positive feedback to keep moving forward don't get very far in real situations since most of life is a slog on the way to a better destination.

http://www.newyorker.com/reporting/2009/05/18/090518fa_fact_...

The final thing that helps motivate action is to know where you want your life to lead. It helps give each smaller project a sense of purpose: does this move my life forward or not? If it does, it's easy to step through things.

Once you have a vision, it's important to continuously repeat in your head all the positive aspects of success. A lot of people focus on the failure or ever the fear of success. As I mentioned above, most real life projects are a grind on your energy and your emotional state. You have to be your own emotional support system.

I liked Steve Jobs commencement speech at Stanford where he acknowledged how death is a motivator. Life is short. It takes a long time to accomplish anything (5 years or more). So, you only get so many chances (maybe 10) to do something meaningful. You have to always ask yourself, "Am I living this day as if it's my last?"

http://news.stanford.edu/news/2005/june15/jobs-061505.html

I will say none of these approaches to life are intrinsic to a person. I suspect all successful people have to teach themselves these strategies along the way and they struggle with them the whole way along.
Apart from the excellent advice jhancock and others gave (pick something small and finish it), I wanted to say that reading your post I realized there is another practical solution to the same problem: in the work I do, finishing doesn't make sense.

I write custom software for a few clients. They're developed continuously, without any hint of them ever being done. The catch is that since very very early they're "working". "Working" is a concept much more useful to me then "finished". Working means it does useful stuff for the people using it. Will there be more development? Sure. Does it matter? Nope.

The only such project I can consider finished is one in which the client company was bought by a bigger company, which came with its own software solution. All development stopped (eventually), but the software is still up and running, used occasionally for its database.
I read this post and then went to sokanu.com. For so much talk about UX design, it was a major disappointment. There is absolutely nothing on that landing page which makes me want to give you my email id. As a user, I take the time and effort to actually visit your site without anyone marketing it to me, and I am turned away without even being told what you guys do.
Prescriptions for Psychiatric Trouble
It's not like you can read the Windows source code to see what it's doing, so I am going to give him a pass.
Hopefully WordPress and other software with online code editing incorporate this into their next release. I was wary of Bespin when I first used it years ago, but since then it's become a pretty nice editor. Makes writing code online a ton easier.

The online collaboration tools on the main bespin site are also great for editing code with other people (job interviews, online tutoring, etc).
Thanks for writing this up!
Yes, I realize that. We are in stealth mode currently and in the process of building the alpha platform. I do appreciate you visiting though, and we do understand that it is your time and there is little information about the product.
Eliss, awesome iphone game
That's not strictly true. Any court can decide that a law is not enforceable within its jurisdiction -- but a higher court can overturn that decision. The Supreme Court comes into it because at that point there's no higher court that can overturn a decision. All that can happen at that point is passage of a different version of the law that doesn't suffer the same issues or an amendment to the Constitution.
Too bad. The tax code needs to be nuked and paved.
Partner with a finisher. Focus on your skills, collude at the start on the features, and let them take over and close the project up while you start up the next.
I think the real point of the article is that almost all of the technologies at our disposal are good enough. We spend endless time debating Ruby vs Python, RoR vs Django and navel gazing about Lisp or Haskell or Smalltalk, but how often do we talk about users? Keep a tally yourself and I think you'll see my point - I counted more HN articles in the past week about Haskell than about users.

I would expect that the majority of us here at HN can easily build stable, reasonably scalable applications quite easily. I would expect that far fewer of us really understand the needs, desires and abilities of the average user. To me, it seems ridiculous that we continue to worry about marginal, incremental improvements in the technology when it is readily apparent that "technically better" solutions are easily beaten in the market by solutions that resonate better with users.

To use your architecture analogy, few architects worry about whether or not a house will stay up, because they have mature processes and frameworks in place to guarantee the soundness of the design. The real work of architects, the part that separates the likes of Foster and Gehry from everyone else, is of aesthetics and usability. What makes an architect great is not their ability to build cheaper or stronger or bigger buildings, but their ability to build beautiful and elegant ones. We have a great deal to learn from them.
I don't really get the fuss about stealth mode. AFAIK you don't really achieve anything being in stealth mode. You might get some traffic out of the mystery factor, but other than that I really don't see any reason why startups choose to be in stealth mode. Personally I would be shouting off the roofs about what we are doing.

In any case, I believe that if you're asking user's for their email, then you should tell them what you are doing. You don't have to give much details. A short 3 line summary would be enough. In my opinion, "Explore. Connect. Achieve." isn't going to get you a lot of emails. Just my two cents.
http://www.snopes.com/religion/wellhell.asp
http://www.irs.gov/businesses/small/article/0,,id=99921,00.h...