Settings

Theme

I was stuck on a side project for 5 years – how I finished it (2020)

cassandraxia.com

185 points by danbst 4 years ago · 45 comments

Reader

nonbirithm 4 years ago

You can still believe that a project which becomes a shed is desired by an audience, however niche, and not care as much about getting popularity, which gives you an excuse to keep working. You can let a project that you still get enjoyment out of consume the rest of your life. It's scary that the thing you willingly do to get away from obligation and 9 to 5 work can be at the same time the most fulfilling and most debilitating thing you do.

It's even harder to detach when your shed is your idea of "making something out of your life", when you imagine the alternative being years of wasted potential suppressing your life's true desires. Don't people always say to never put off what you want to do right now until it's too late? But for someone unable to detach, I'm still not sure if remaining dispassionate is worse than the chronic issues that arise from lack of sleep and similar from never giving up and earning the label of "tenacious".

  • foateaca 4 years ago

    Your very insightful comment seems to embrace a principal I see rarely remembered but one I find a kind of lost achievement of the Enlightenment- there are things worth doing for their own sake, not requiring further justification. For me this became clear about so many meaningful parts of life after finally starting to understand what Thomas Nagel meant in his essay The Absurd.

  • greatpostman 4 years ago

    Wow this captures a lot of my current dilemma.

  • motoxpro 4 years ago

    Very beautifully put.

godshatter 4 years ago

I'm working on a project that's been going on at least 10 years, not sure exactly how long. It's an engine to play the game of go that uses something like genetic algorithms to produce generations of "go-bots". I have sets of go-bots fighting each other for dominancy pretty much 24/7 now. Deepmind and alphazero have nothing to worry about, though. I play them against the gnugo program as a test of their worthiness so I can see if they are improving or not. The best of them can win 1 or 2 games in a hundred against the gnugo program even when given 20 stones to start with. They don't actually look ahead any moves, though, they just look at the state of the board and figure out where they want to play next based on weightings for different things, so it's maybe not as terrible as it sounds. I'm pretty sure that the top go masters are sleeping like babies not worrying about my program at all, though.

Anyway, I didn't start this as a project I was going to sell or even one that had a defined deadline, it's a hobby. I've learned lots of things along the way. I think of it as a nice wooden contraption I'm building that I sand and polish as I go. I recently (early this year, I think?) rebuilt my bots dna based on what I'd learned about how the last batch fared. Every day I come home and see how they did against gnugo and make sure the scripts have enough commands to perform so I can let them do their thing without intervention. I work on other projects but still keep this one going because I enjoy it. My "goal", such as it is, is to evolve a bot that can beat gnugo more than 50% of the time on an even playing field, without looking down any sort of move tree.

So this is my shed, I guess.

edit: grammar

  • f0e4c2f7 4 years ago

    I feel like you must have seen it given that you're working on this but just in case, the AlphaGo Documentary (2017) was quite good. I bet you'd enjoy it.

    • godshatter 4 years ago

      I actually haven't seen it. I need to. At first I didn't want to know too much about go strategy or how other programmers have attacked the problem because I wanted a sort of naive untainted view of things. Which was easy for me, because I'm not much of a go player. Now I'm pretty much roped in to what I'm doing, so I should watch that documentary. I'm playing around. The AlphaGo devs are the real deal.

shard 4 years ago

Not sure if the OP is the author, or if the author will read this, but I ate the shed, and at first found it delightful, but then got an annoying bit stuck in my teeth.

The Guide first says "The results of the spell are supposed to be independent." And I took that at face value, since I figured this is an educational page rather than a page of brain teasers and trick questions. But then when it asks "in my last 100 casts of the spell, I got the gross potion all 100 times, what do you think the next cast would yield?", I guess I was supposed to have remembered that the original statement said "supposed to be independent", and figure out the lesson was that this indicates a problem with the spell not being independent as opposed to stressing that regardless of results, independent means independent. I feel annoyed rather than enlightened.

  • giomasce 4 years ago

    My problem with that question is that it seems to imply that of something has a very small probability to happen, then it cannot really happen. This is false. The probability of me generating my precise GPG or writing this exact comment were ridiculously small before these events happened, and still they happened.

    Or, from another point of view, it's worthless to ask what is the probability of something that has already happened. Once something has happened (i.e., if you constrain to that thing having happened) its probability is one, full stop. You have to ask a question before running the experiment.

    • eternalban 4 years ago

      That's not really correct. There are more bits of information regarding the event of your comment than the spell. It was observed you read the GP. Your profile is read, interests noted. Your comment history gives us probability of your making a comment today. All in all, pretty sure a much higher probability than "very small" in the sense that you intended it.

  • jerf 4 years ago

    I think that's a really hard problem to phrase correctly no matter what you do, because no matter what you do, you're swimming upstream against almost the entire mathematical education that person has had up to that point. Up to that point the answer to "Susie has 37.8 cookies and wants to split them evenly weighted by the body mass of the 17 people in her class, how many cookies does each person get?" has never been "Why the hell does she want to do that?" But that's the kind of answer you're fishing for at that point.

    No criticism intended of the question itself. Every stats course should have it in there somewhere, it's a very important one. But I'v personally tried my hand at how to phrase it exactly right a couple of times and it's really, really hard.

    (Since this is an invitation for 50 people to post their attempts, I would also point out it's easy to phrase it in a way that works for you, who wrote the question. You might find if you take it out for testing that it doesn't work as well as you thought, though. But by all means, smash that reply button. I can't stop you. :) )

    • necovek 4 years ago

      The focus of the question should not be on the independence of the probability, at the very least: you are setting a responder up for failure, and that rarely leads to satisfaction. Perhaps the only problem is with the given response: if it was "Yes, BUT..."

      If you expect the "why the hell does she want to do that", you can't ask that in a quiz form. Why the hell are we collecting potions: I couldn't care less, right? And then you suspend your disbelief, and then suddenly, "uh-uh, that's too unlikely, you should have questioned your assumptions."

  • necovek 4 years ago

    Yeah, another problem is that none of the answers offered at that question is really "right" according to the adventure. I also find it contradictory. If you did "cast a spell" a 100 times, and recorded that sequence, and then asked what's the likelihood of getting any particular value after getting exactly that sequence, one could argue similarly that there's only a 1/2*100 chance of the previous sequence happening (yet it just did for the author), so something must be wrong with it. Basically, they are saying that some of outputs are not equally likely, and I am now seriously confused.

    This is such an early point to attempt to highlight features in purportedly random behaviour that is not really random.

    It didn't annoy me, it just made me quit at that point, especially as I was already battling the spell terminology.

  • motoxpro 4 years ago

    I had the exact same experience. Stopped right then and there. Great concept though and awesome work!

dang 4 years ago

Submitted title was "Building Sheds: 5 years of polishing, and only 3 points on HN". Please don't do that—it's against the site guidelines:

"Please use the original title, unless it is misleading or linkbait; don't editorialize."

https://news.ycombinator.com/newsguidelines.html

  • cco 4 years ago

    Funny, because I think that title is better than the one that they chose.

gwbas1c 4 years ago

The shed is a poor analogy. (Here's the link to the story about the shed that took 9 years to build: https://www.reddit.com/r/DIY/comments/czg04y/shed_is_finally...)

Basically, the guy wasn't a perfectionist. He didn't build and tear down 5 different sheds. It just wasn't a priority. It was really important to him that he DIY his shed, but "life" happened. Every time he set aside a weekend or some funds for the shed, something came up.

If he really needed a shed, he could have just ordered one from Home Depot. They aren't that expensive and are dropped off, fully assembled.

> the shed consumed their free cycles and mind space for 9 years.

No, it was more like a running joke. The shed was an unfinished project that was never gotten around to. My dad started finishing his basement before I was born, and only finished it over 20 years later! It was also a running joke in my family.

Ironically, I have a grass-free spot of land in my yard that was supposed to be for a dog run. My dog died a few years after I built my house. Maybe in 9 years I'll put a shed there.

  • HeyLaughingBoy 4 years ago

    Huh, that could be me except it's been like 9 years and the shed isn't finished yet.

    > It just wasn't a priority

    Pretty much this!

pezzana 4 years ago

> A few months ago, I stumbled upon this post where someone spent 9 years making a shed. No knocks on them, but it’s not even a particularly good-looking shed.

This is the link:

https://www.reddit.com/r/DIY/comments/czg04y/shed_is_finally...

Although it did take 9 years from start to finish, nothing was done for most of that time. It sat as a slab for a few years, then as a half-finished skeleton for a few more. In between, life happened.

There seems to be two contradictory lessons here:

1. Actually work on your project or it will never be finished and it will haunt your dreams. Don't just review the plans - actually take action to close the gap to shipping.

2. If you keep working on your project without shipping, it will haunt your dreams and mutate from cake into shed and you will be sad.

That mutation in (2) can happen through a mis-estimate of the resources required to finish a cake:

> ... Shed projects seem to start out with an underestimate. You think it’s only going to take a few months, and then it drags into a year. But you acquired some new skills in the meantime, so then you think it’s really just a month more. But then it didn’t pan out the way you envisioned it, so you want to spend a few months redoing it.

But there are also times when you're certain you're working on a cake, but it turns into a shed anyway. One way to find yourself there is if you under-specify the cake.

One way to prevent this from happening is to practice Readme-driven development,[1] or some other approach that forces you to clearly state what's in scope and what is not, and who is the intended audience.

[1] https://tom.preston-werner.com/2010/08/23/readme-driven-deve...

elmers-glue 4 years ago

I’ve made two side projects so far. The first was a visual JVM profiler that was very complex and educational/intellectually satisfying to build but when I finished it I had little interest or know-how or capital to invest in growing + marketing it.

The second one was as simplest as I could possibly make it. I had basically 2 hours per weekend in 2021 (kids & all) and I rigorously stuck within my estimated scope. I was really focused on making cake. I use the app all the time; it’s at least cake to me. In 2022 I’ll have to figure out if other people think it’s cake, too. But at least no will able to say I over-scoped it, or over-estimated it.

rjbwork 4 years ago

Author has a way with words. I chuckled quite a bit. I will not eat your shedcake, dear OP, but I have eaten your cake and it was pretty good. I may eat another.

Swalden123 4 years ago

Love the analogy. I recently started reducing the scope of my projects and getting them in front of users as quickly as I can. For the first time ever I've actually been launching things as a result. "Sheds" can be so mentally draining, especially due to the uncertainty of whether anyone will actually want it.

8bitsrule 4 years ago

> I learned how to design things people actually want.

I enjoy designing and making things I actually want. If someone else 'gets it', that's okay. If not pfffft.

> won’t amount to much.

Don't want to sound crass, but very very little of anything truly 'amounts to much', not in its own time, or ever. Now and then (rarely enough) it takes decades or centuries for creative work to find its audience. What's behind 'what people want'?

"You see, ya can't please everyone / So ya got to please yourself." And if the world ever feels lucky? Lucky them.

SrslyJosh 4 years ago

This problem wasn't entirely clear:

> Casting each of the spells in the set is finicky and doesn't always succeed. A cast succeeds 20% of the time and is independent of previous casts. I need 3 successful casts in a row to summon the animal familiar. > What is the probability that I summon a familiar on my first try?

I tried inputting the answer as a percentage with "%" and as percentage without "%" before I tried inputing it as fraction and was able to proceed.

It'd be a good idea to indicate what format the answer needs to be in.

  • maxbond 4 years ago

    I imagine they agree and aren't satisfied with the interface, but can't give it any more of their time. I take the impression they were more concerned about finding a novel and beautiful way to present statistics, and to transfer some of their passion for the subject to the reader, than creating a usable piece of software. (For instance, when they describe coming up with entirely different stories and casts of characters, repeatedly. Clearly the story is what is important about this project to them.)

    Personally I've never made it past the first paragraph of a story without deleting it, so I salute them for shipping _something_.

strzibny 4 years ago

Excellent post.

> Sheds are never finished. You just decide you are done.

This is what everybody should take from this. It's easy to iterate over and over again.

And btw your (unfinished) shed looks pretty good!

benfarahmand 4 years ago

I may or may not be building a shed in my spare time for the past 5 years, but I'm positive I'm not making a cake. With prototyping and user feedback it feels like I'm not building a shed, but the effort many times feels like I'm building a shed. That said, the shed definition could be clearer because there are parts of my passion project that makes it feel like I'm building a shed (i.e. marketing).

fwsgonzo 4 years ago

This is his big project, a work on teaching statistics: https://cassandraxia.com/wizard/

So far, I'm liking it a lot.

pingsl 4 years ago

I ate the shed. The course is well designed. Maybe you can add some reminders, e.g. answer should be in a format like 1/5 rather than 0.2. :)

hubert022 4 years ago

Can relate... Scary thing is that probably millions of people can too. Imagine if all these projects saw the daylight one day

lambic 4 years ago

I'm eating your shed. I like it.

donatj 4 years ago

I've got a side project I've been working on for over 12 years, on and off. About a year in, a very popular competitor popped up, and it was roughly as good as what I was working on so I gave up - for a year or two.

Then they closed their API and had some PR drama so I started up again. Rewrote the whole thing. I've got it about 90% of the way there, and I was getting ready to open it up for a public beta and suddenly GDPR happened.

I don't even want names if I can avoid it, but the core data of the product could be construed to be PII, which means I want to get some sort of encryption on it before I open it… And I just haven't come up with a way to do that that doesn't involve rewriting the whole thing.

So right now, I've got a project I spent 12 years on that only I am using - and using heavily - and love. I generally put a couple hours a week into it.

If anything it's been a fun testbed for keeping my frontend skills up to snuff, especially as I've moved from full-stack to backend in my professional career over the last 5 years.

  • NicoJuicy 4 years ago

    Cloud DB with encrypted columns is not enough?

    ( Other options exist)

    • donatj 4 years ago

      If I'm going to do it, I want it in a way where it's encrypted per-user, using something not stored in the database like a client side hash of their password or something.

      I don't want the possibility a miswritten SELECT potentially revealing anything.

      I don't want to be able to read their data, at all.

      • NicoJuicy 4 years ago

        Normally that would be a salt or a certificate. No?

        It protects against rainbow tables. So I'm not sure sure why you wouldn't go down that road.

popfastful 4 years ago

To build more project.this is my projects: https://www.beforedo.com and https://www.alovez.com

bigbassroller 4 years ago

Hey thats a nice looking shed!

szundi 4 years ago

first question with an edit box made me stuck, shed burned

Quite like the cute npcs though

sigmonsays 4 years ago

i just built a shed. I wanna know in depth how they built it to take 9 years. Nobody? =P

  • HeyLaughingBoy 4 years ago

    Not OP, but I started my shed (I think) 8 years ago.

    Year 1: dig, place and level footings. Put down floor joists: it's just a little 8x10 shed, so they're 2x4's

    Year 2: find some scrap 3/4" plywood left over from another project for a floor. Realize that it'll just get wet and rot if placed, so leave it where it is. Instead frame and raise the walls.

    Year 3: realize that you should have built the south wall a bit higher so the roof can slope, shrug and figure out a way to frame the roof so there's a small slope anyway.

    Year 4: (I think). Find leftover metal siding and nail it in place for a roof. Now that we have a roof, put the plywood down, but don't nail it down since without walls, it could still get wet and rot.

    Year 4.5: realize that the proto-shed is usable as is, and start throwing crap in there that needs to be out of the way, but can take getting wet.

    Years 5 - present. Look at the shed and realize that with less than a day's work you could finish it but don't have the motivation to go find more siding, drive over there, drive back and then nail it up. Maybe next summer...

  • gwbas1c 4 years ago

    Just click the link. I copied here for you: https://www.reddit.com/r/DIY/comments/czg04y/shed_is_finally...

    Summary: The guy bought a house and decided he wanted to build a shed. He bought the plans, poured the slab, and then life happened.

    Basically, every time he had time / money to work on his shed, some kind of obligation came up or some kind of emergency ate away at his shed funds.

    IMO, I think it's just a case of the shed not being that important, but the joke being "worth it." If it really was important he'd have figured out how to finish it more quickly. (It's not that expensive to have someone deliver a small shed to a home.)

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection