Live data from Hacker News

Finish your stuff

250bpm.com

121–130 of 177 posts

Re: Finish your stuff

#121
But its so hard! :) my strategy is to have many 3-9 side projects on at any one time, each is really just practice and I judge the concepts based on how often revisit them.

Re: Finish your stuff

#122

Earlier quoted context omitted.

Abandoned or stable? If it has no dependencies and a small feature set, it may just be done. "Stable" is a good thing.

Let me give a more concrete example: if something was developed in Rails 3 but was not updated for Rails 4, then I assume it won't work (I'm on Rails 4.1). This doesn't mean the entire project needs to be re-written. Often times, a simple note that says "compatible with Rails 4" would be satisfactory. But if even the readme is not updated, that makes it difficult for me to put any faith in it. And unfortunately there…

The Gemspec should have an upper limit on major Rails versions as a general best-practice.

But yeah, this happens all the time in this space.

Unfortunately, Rails APIs change a lot more than the time-trusted POSIX APIs.

Re: Finish your stuff

#123
I'm at the last 10% of a screencast script; there's two more phases after this but for some reason my productivity on the project has slowed to a crawl. I'm not sure how to overcome this feeling.

Re: Finish your stuff

#124

Earlier quoted context omitted.

I searched my old emails and indeed we called it "Finish Up Weekend." It was held May 10, 2013 at Work In Progress (in Las Vegas). I'll credit John Hawkins (9seeds.com) with the name.

I live in Vegas and would love to attend something like this.

To that end you should join LVDev if you haven't (http://www.meetup.com/Las-Vegas-Developers/) and suggest a meetup!

Re: Finish your stuff

#125
post #99

I thought the Unix philosophy embraced the idea of "small tools that do one thing really well." > Please join me in my effort and do finish your projects. Hear, hear. A friend and I hosted a "Finish it! Weekend" once (as opposed to a "Startup Weekend"). The idea was to get people together for one weekend and finish that last 10% or whatever of a project. Sadly we were the only two to show up. (And we both finished ou…

Can you please elaborate?

The original description we emailed around is probably best:

[snip]

You've heard of Startup weekend, right? You spent an entire weekend working on something and then, come Monday you've got yet another project sitting on your plate that needs your attention. Now what?

I floated an idea by Steve Wainstead a while back for something we're calling "Finish Up Weekend." The idea is, take one of those projects that's part way finished and FINISH the damn thing! So, that's what we're doing.

Tomorrow morning around 9, Steve and I will be setting up shop at WIP and digging in to projects that we both want to make happen. No checking email. No checking Facebook. And especially, no working on projects for clients. This is all about YOU and that project YOU want to work on. Be prepared to show off what you finished!

We'd love to have you join us. Come on down and make something awesome.

Hope to see you there!

[/snip]

What gives this idea some mojo is it's an event. It's an incentive to set aside everything for one weekend to push the project over the finish line. And you're in the company of others with the same goal; this creates peer pressure to avoid distractions and stay focused until the end.

Re: Finish your stuff

#126
The only way to "finish" software in the way the author describes is to find or invent an abstraction that is exceptionally powerful and well-designed. It has to give users what they want for a multitude of different use cases without requiring the library to grow to accommodate those use cases.

In practice, abstractions this powerful and flexible are almost impossible to create. For example:

- the Linux kernel is based around POSIX, which is a pretty good set of abstractions. But its API surface area is huge, and whenever users want to do something not in POSIX, the Linux developers have to invent a new syscall or stick more crap in /proc.

- Lua is an exceptionally well-designed scripting language and implementation, that satisfies tons of use cases while staying small. But it keeps adding features to address pain points of existing users. For example, Lua 5.3 added integer support. Users wanted it.

- zlib is perhaps the closest I can think of to a library truly being "done." And it gets away with this because it is perhaps one of the easiest abstractions to define and contain: a simple string->string streaming transformation that uses a roughly constant overhead of memory. That's pretty much as good as it gets!

Re: Finish your stuff

#127
post #86

Earlier quoted context omitted.

Your comment is absurd. "A finished project is a dead project?"

Yes, which part did you not understand?

Not the person to whom you're replying, but there are two things I don't understand:

    1. The statement of your (minority) opinion as an undeniable fact.
    2. Your needlessly hostile tone to anyone who dares question or disagree with #1.

Re: Finish your stuff

#128
> Except for some basic UNIX tools, like grep or make, it's almost impossible to find anyting that's truly finished, not simply abandoned.

Much of the stuff in the OpenBSD base.

thttpd also comes to mind.

Re: Finish your stuff

#129

Earlier quoted context omitted.

> managing by whatever is in front of the managers mind and declare it highest priority Bane of my existence for the longest time. Eventually I learned to just ignore those managers. They're too chaotic to remember whatever I was supposed to work on for them anyway.

Ignoring seems to me like the secret weapon of the powerless. I like to confront, discuss and get things improved. But it is so hard to get incompetent managers up to speed, if they lack years of experience.

> the secret weapon of the powerless

It is. I've had a few managers where everything we all tried to change change were fruitless. The only solution was to either antagonize until things got out of hand, or to ignore.

> I like to confront, discuss and get things improved

That's a good initial starting point. But I've also learned that there comes a time when expending any more of my own energy fighting such people is no longer worth it.

> incompetent managers

In my cases, it wasn't incompetence but rather character. You can have rational discourse with incompetent people. You can show them why they're wrong. You can't have a reasonable discussion with someone who's own mind jumps from high-priority to high-priority, wanting everything yesteryear but isn't willing to put in the actual resources to get things done.

I've dealt with too many managers like that to expend much energy on it anymore. Mind you, ignoring them should be a last resort, but given enough experience with such managers, you learn to quickly know when you're dealing with one.

I'd much rather spend my time making customers happy.

Re: Finish your stuff

#130

Am I the only one that really hates the carpenter analogy? As someone who does woodworking on the side of my programming, there's a million reasons why it's a terrible way to think about software development. The chair doesn't have supported platforms, new security issues, or the need to be updated so that people keep buying the same chair. Someone else isn't going to have to come along later to maintain the chair an…

>The chair doesn't have supported platforms, new security issues, or the need to be updated so that people keep buying the same chair.

IoT will change all of that ;)

Post reply on HN