Hacker News new | ask | show | jobs
by dvt 2656 days ago
Great piece.

Last year, I forced myself to release something every two weeks -- even if it wasn't finished or was just a poorly-written blog post. I can proudly say it was one of the most productive years of my life[1]. Most of those projects won't see the light of day -- no one will care and no one will notice -- but releasing is far better than endless planning.

And just to really hit it home: this year I built Lofi (a small Spotify player replacement[2]) and I shared it on reddit[3] (and on HN). But if you read most of the posts, it's a whole bunch of angry people arguing about Electron sucking, about why the app is 100mb, about how C++ and Qt would be better, etc. etc. The difference between me and those people? I'm already working on my next project ;)

[1] https://dvt.name/2019/01/06/retrospective-stuff-2018/

[2] https://www.lofi.rocks/

[3] https://old.reddit.com/r/programming/comments/aufj4m/lofi_a_...

12 comments

That's the thing isn't it? People are always so sure that the one they could have built but didn't is so much better than the one you could build and did. Except for that one tiny detail of not actually existing.
Just would like to offer a joke and a quote from the music world. The joke is, How many guitar players does it take to screw in a light bulb? And the answer is, 10: 1 to do it, and 9 to stand around saying how they could've done it better.

The quote is from Ian MacKaye: "The best records are the ones that get made."

nice joke
So true. I remember a few years ago when I built Game:ref[1], everyone on reddit was an eSports anti-cheat expert. Right now, they're all Qt/C++ experts. It comes and goes in waves ;)

[1] https://www.pcgamer.com/introducing-gameref-the-anti-cheat-h...

Thank you for posting your original comment, it actually encourages me that this is a normal thing and means all the more to ignore the haters.

Thank you for actually shipping.

Thank you for actually being positive.

Thank you for being brave enough to speak about your experience.

We need more people like you in the world.

Thanks for your kind words! Btw, Gun is awesome :)

If you're ever in LA, let's grab a coffee.

> Right now, they're all Qt/C++ experts

I wish ..

I'm obliged to quote The Man in the Arena: https://en.m.wikipedia.org/wiki/Citizenship_in_a_Republic

A stirring speech, and a good reminder to press on, and to press for results (just be careful not to reference it as an excuse to dismiss constructive criticism, or to play a martyr).

Well, if you call an app "tiny" old internet types are going to assume you mean "lightweight" and "efficient"
to be fair, most existing apps with that monika _are_ lightweight and efficient: tiny c compiler etc (https://tinyapps.org/ for more).
"But if you read most of the posts, it's a whole bunch of angry people arguing about Electron sucking, about why the app is 100mb, about how C++ and Qt would be better, etc. etc. The difference between me and those people? I'm already working on my next project ;)"

This is a typical style of web app development that is rightfully criticized: the average web developer thinks it's okay to offload their performance problems on everyone else as long as they reach their personal or company goals.

Pumping out many unsupported, mediocre projects isn't something to brag about either.

> the average web developer thinks it's okay to offload their performance problems on everyone else as long as they reach their personal or company goals.

Why is it not okay? He solved his problems under his requirement, if it doesn't solve your problem under your requirement, it's not his fault and he isn't forced to follow your requirement.

> Pumping out many unsupported,

Why you consider that bad? He is learning, he is building, he is solving issues. The fact that he keep doing this is bad? I only see positive in that...

I'm pretty sure it's supported as much as he need them to be. He is his only client. I'm pretty sure too that if anyone wanted theses projects to be supported, he would gladly accept to be hired by them with a compensation worth his time.

I just saw that he was even generous enough to give his source code, with a MIT license on top of that!

> mediocre projects

That's just means and uncalled for. You should really think more over this issue you seems to have.

I consider that bad for two reasons:

* the software was released/published and the author's idea about what are the minimum requirements that should be fulfilled by any and all software apparently doesn't include efficient use of system resources (Electron) or at least some minimum support (many projects already gone, moved to the "next project", bragging about quantity).

* they are learning and building but they're learning bad practices which they'll naturally continue to make use of, if they will developing software professionally or already are. Perfect practice makes perfect, this doesn't.

I have thought about this issue for years. There is no overabundance of quality software in the world, the opposite is true. If every simple open source project is praised just for the very simple and frankly nowadays fashionable act of offering the sources, no wonder.

I think they mean that for the most part developers spend their time complaining instead of doing.

In the end, someone can always rewrite something that's successful to fix performance issues, but what's the point of making something performant (or focusing heavily on architecture) before you even know people want your product? Performance matters to a degree (after all, performance is a feature), but the product matters the most.

The point is professional pride and the "engineering" in software engineering.

Which can admittedly get in the way of half-assing a start-up into life... and that's why many devs are not good business men. That's a feature, assuming we don't want all our sw to be complete crap.

Why not? Nobody's forcing you to use them.
> it's a whole bunch of angry people arguing about Electron sucking, about why the app is 100mb, about how C++ and Qt would be better

FWIW, KDE Plasma already has something similar to Lofi that I use daily https://i.imgur.com/uVAnf7p.png . Works out of the box :)

Under the hood it uses MPRIS to talk to the Spotify Linux app. So it works with all native music players, and even YouTube running in your browser! https://www.omgubuntu.co.uk/2018/05/kde-plasma-5-13-features...

How do you find motivation to continue working on a bunch of things that don't pan out?

Most of a what I code in my free time is 'useless'. Project Euler and the like.

When I think of building something and actually releasing it, my immediate impulse is that no one would use it so it'd be a waste of time. It bothers me a bit.

> Most of a what I code in my free time is 'useless'. Project Euler and the like.

The key question is why are you writing code in your free time? Entertainment? Profit? Personal Development?

I'd rather write code to solve an interesting thing that is entertaining to me than to work on things that nobody (including me) will use. Because I'd only do it as entertainment.

This is my motivation: https://news.ycombinator.com/item?id=8863

Drew Houston's Show HN post (Dropbox) that, you guessed it, got a ton of hate (on HN of all places). I don't believe for one second that money brings happiness, but a decade later, Drew's the one laughing all the way to the bank :)

Then don't code in your free time. My family likes eating my cookies and hearing me play piano.
I wasn't saying I don't enjoy programming in my free time. I enjoy it, but I'm not building products.
Those pesky users will come as soon as you release it.
I like the blind broad general statement that is devoid of all nuance & background work that has to be done for users to 'come'

Its the cornerstone ideology of most failed startups.

It’s not that simple. You need to have a market and also advertise.

I released voiceaudiocheck.com a month ago and haven’t seen a single user.

What have you done to market it? Who is your primary user? What pain does it solve? How do they solve this pain without your service?
> What have you done to market it? Nothing, because... > Who is your primary user? What pain does it solve? I don't know :D

I guess it helps them with the pain of sounding shitty on video calls, by telling them how to improve. I don't see a market for it at the moment because the problem it solves is so incremental.

I was actually looking for something similar to this recently. Very first thing you need to do is fix your title and description tags for SEO. Second, contact some sites where this product might be useful for their users.
> Very first thing you need to do is fix your title and description tags for SEO.

Damn, I had totally forgotten that that's a thing!

> Second, contact some sites where this product might be useful for their users.

Yes, I had planned that but then got distracted with other projects... :)

maybe he's just being satirical.

But, i don't want anyone getting the wrong idea. The vast majority of stuff released on the web these days, never ever sees any users at all. You'll be lucky if your web server even gets hit by actual users a couple times a week. and the vast majority that do, will churn.

Awesome! Does Lofi work on Linux? It would be a fantastic addition to my i3 setup (and the main Spotify player can go nowhere near as small as I want it!)
Someone actually built it on Linux[1] but there's a few bugs that need to be addressed (mostly dealing with graphics/transparency issues) before it's ready for prime time.

[1] https://github.com/dvx/lofi/issues/6

How are you releasing, but the products are not seeing the light of day?
Not being used actively maybe?
Many of your project links are dead.
Did you completely miss what he said?
If so, that makes 2 of us. I re-read the post, and he talks about releasing something on a regular basis. I don't see anything about then going back and unpublishing things once he decides it actually isn't good enough? Sorry if there are edits in play or I'm just missing something, but it sure looks to me like broken links should still be surprising.
A few domains lapsed, and I took spoiled.tv offline (as it was just burning a hole in my wallet). Sometimes, you need to know when to call it quits.
I had just made a post about keynav and here I see you ;)
Heh:) As things go to be known for, that's pretty good option :-)
As Steve jobs said, ( that guy was genius regarding seeing understanding thing so completely that he can explained it in really simple terms ) , "Real Artist delivers"
This is good advice, will read the article now. Just checked out lofi, looks really great actually! Been looking for a minimalistic spotify visualiser / interface for my linux htpc.
Great piece. Last year, I forced myself to release something every two weeks

Out of habit I tend to check the comments here before reading the article, and um... I did a serious double-take between the title and your opening sentence. For about a second I just stopped and stared at the phrase, “even if it wasn’t finished” and just thought, “Wow... here’s a guy with high standards!”

Anyway, then I read on, sighed, chuckled, and read the (very good) blog post.

I reread your comment about five times and still am not sure what you are saying here, my apologies.
The commenter took the post title literally/without context and applied that literal understanding to the top level comment.
Well I guess it's not everyday you see "Masturbation" in a HN #1 post's title and the sentence "I forced myself to release something every two weeks" in the first top comment.
The title mentions masturbation and the top commenter said they forced themself to release something, which could be read as an euphemism for masturbation.
He misunderstood that the masturbation was not purely intellectual
Get your mind in the gutter
I'm confused that so many people on this site seem to be working on ancient weak sauce computers. The difference between a 1mb and 100mb app today is nil. I run Slack, vscode, and tons of other apps. Even if they take few gigs of RAM each, there's 62 more where that came from. They all run just fine.

It's like a forum full of carpenters that are using Black and Decker tools to build houses.

Most of us are running other, more important shit that takes up RAM, like an IDE for my code and DB, plus some shells, text editors, etc. If we can get the less important shit to run faster, it would be a win.

Your desktop isn't magic either. Ever run a benchmark with slack turned on versus off? Try it out sometime. You'll be amazed.

> I run Slack, vscode, and tons of other apps. Even if they take few gigs of RAM each, there's 62 more where that came from

Okay, and if your apps used sane amounts of resources, then you could do that on <$1000 of hardware - or even <$100 on a Pi or used machine. Sure, on a programmer's budget/salary it's okay to buy expensive hardware, but it still adds up, and you shouldn't need it.

I spent $1200 building my system. So not that much more than $1000
> It's like a forum full of carpenters that are using Black and Decker tools to build houses.

In that analogy the end result is the same, but the process to get there more complicated. In reality, the difference is between a house that has stuff like insulation and faucets that don't leak, versus than something slapped together in 5 minutes for $50 that costs 50 times more to live in, for as long as you live in it.

It's less effort for the programmer, more effort for every machine it gets run on, every time it gets run. And that stuff compounds in non-linear ways, too: The more data has to be read from disks, the more useless the disk cache becomes, the more data has to be shuffled around in RAM, the more useless the CPU cache becomes. Using gigantic frameworks for programs that use 0.1% of them, which still set up and maybe even poll for all sorts of stuff, not knowing it's not needed, is not "wrong" (certainly not ever when it's open source), but it's more wasteful for what it achieves.

I just checked, and my Directory Opus with 3 windows open, one of them having 2 panes, and all the custom buttons etc. is taking up 100 MB of memory. The list of features is huge. Another thing I have to think of is audio software. Sure, there's also VST that come with gigantic bitmaps or whatever, but generally, efficiency is king. They know their code doesn't run in a vacuum and they are dealing with customers (even when talking about free software) who pay keen attention to such things, to a degree unheard of and unstrived for here.

Sometimes I wish we could just completely freeze hardware development for 20 or more years (if it wasn't for improvements in energy efficiency) just to be forced to become better at programming again. Just look what in 2015 could be done with a machine from 1981: https://www.youtube.com/watch?v=hNRO7lno_DM ... What could we actually do with our current hardware? Who even knows?

Sure, we could optimize the heck out of everything. But at what cost? There is a reason many developers rail against premature optimization. It would cost much more and development would progress much slower. Hardware is cheap. Developer time, not so much.
Hardware isn't cheap, certainly not multiplied by millions of instances. It's just that you don't have to pay for it. But someone down the road will, be it other people or future generations.

You're also confusing premature optimization with skillfull use of resources. Not driving a car with the handbrake on isn't premature optimization.

What's your target audience? Who are you building apps for? Yourself, with 64GB of RAM, or much more common users with 4-16GB?
> or much more common users with 4-16GB?

Or the sizable portion of end-users who won't or can't upgrade past 2G; it's a pain to do that on a modern system, but it does work.

That's a different story. But a lot of time, people are complaining about tools for developers like VS Code.
64GB RAM is far from common. My 16GB is regularly tested by fancy new startups thinking it’s fine if their app burns 7GB (I’m looking at you Zeplin!).
Many of us are running on corporate computers at work and don't have the freedom to spec a 64GB computer
Most users on this site are running MacBook Pros, which only last year came with more than 16GB.
Well, some people dreamed about using their phones as desktop replacements. (not me to be honest) That dream is now dead.