The quote is from Ian MacKaye: "The best records are the ones that get made."
[1] https://www.pcgamer.com/introducing-gameref-the-anti-cheat-h...
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.
If you're ever in LA, let's grab a coffee.
I wish ..
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).
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.
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.
* 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.
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.
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.
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...
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.
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.
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 :)
Its the cornerstone ideology of most failed startups.
I released voiceaudiocheck.com a month ago and haven’t seen a single user.
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.
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... :)
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.
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.
But let me just say this: after I built Lofi and got more hate than I would've imagined for what was really a throwaway project, a great dread came over me. What if I was new at programming? What if I was just a college or high school kid learning how to use Electron because I simply didn't know C++ or Java or what-have-you? I know that if I got this much hate in my teens or early 20s, it would've discouraged me tremendously from pursuing startups, programming, and building. I really hope you realize that your words can deeply affect people. I have thick skin, went to an elite school, wrote a book, I'm arrogant af, and couldn't give a damn about what you have to say, dear anonymous HN commenter....
...however, keep in mind that you might be negatively impacting an impressionable young person; or an underprivileged minority; or a total newbie. I hate the term "safe space" but we should all fight to keep HN as close to a Miltonian "marketplace of ideas" as possible.
I would like to think that such personal attacks would be downvoted/flagged into oblivion here.
I introduced a friend of mine to programming. He picked up pyret and released a cool little game with it. Instead of the community encouraging him, they shit on his code. Called it ugly, and pointed out a lot of nothings.
Consequently, the dude quit programming. He now considers it something the smart ones do. He agrees with me when I say those haters don't matter. But, the spark's dead.
I'm not saying we shouldn't give feedback. But feedback is different from nagging, complaints and bullying. A good way to give feedback correctly is the sandwich method.
Specific Praise -> specific critique-> specific praise.
It's like a forum full of carpenters that are using Black and Decker tools to build houses.
Your desktop isn't magic either. Ever run a benchmark with slack turned on versus off? Try it out sometime. You'll be amazed.
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.
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?
You're also confusing premature optimization with skillfull use of resources. Not driving a car with the handbrake on isn't premature optimization.
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.
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_...