< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #110 - April 11, 2021

If you are looking for work, check out this month's Who is hiring? and Who wants to be hired? threads.

Here are the top threads of the week, happy reading!

Top comment by fsloth

This is an awesome question. I hope someone has good strategies for you. Life should be spent doing the things you find worthwhile, and the fact is, not all of those things are monetizable.

Given how esteem- and success driven HN as a platform is... you might not get too many ideas since I suppose people want to maintain their "hireable" status.

Success and "loving your job" are more or less empty phrases unless you are actually a professional moving your field forward or learning a highly complex subject matter - or you own a stake in a company.

Beyond that you are toiling, and if you like your job, it's glorious toiling like gardening (pleasing, but not important, but you love it, so it's great) or terrible toiling for living that eats your soul.

I'm basically in a job that is quite important for my org, I get compliments for good job, but I hate most aspects of my daily work since the tech stack is complex and fugly. I probably _appear_ motivated but I'm just a neurotic who hates failing. If I didn't need to feed and house my family I would have moved to a lower paying position long ago that is intrinsically more motivating.

Success and "loving your job" have nothing in common in my experience.

Top comment by kouteiheika

This partially might be more of a what's old is new again, but here's what I use:

- 100% server side rendered

- Progressively enhanced (fully works without JS, but having JS enabled makes it nicer)

- In select places where I need SPA-like snappiness I use a ~100 line long DOM diffing algorithm (I request full HTML through AJAX and diff it into the current page; if the user has no JS enabled then the page just refreshes normally)

- Running on a single, cheap VPS; no Docker, no Kubernetes, no serverless

- No SQL database; I just keep everything in memory in native data structures and flush to disk periodically; I have a big swap file set up so that I can keep a working set bigger than the RAM

- Written in Rust, so it's fast; I can support tens of thousands of connections per second and thousands concurrent users on my cheap VPS

Top comment by gvb

Hardware (peripherals) have state. Reading the hardware state is difficult and sometimes impossible so recreating that state correctly after powering down is very difficult. Then multiply that difficulty across all the different hardware that can be in a PC and it becomes extremely difficult to do on an arbitrary laptop/PC.

Add to that difficulty the fact that many hardware (peripheral) vendors provide incomplete documentation making it difficult or impossible to implement "off-nominal" situations like hardware state reading/writing-restoring.

VMs have an advantage that the peripherals are limited in types and numbers and the state is "virtual" so the state is directly accessible (r/w) in the virtualizing driver software, not buried in physical hardware. When you "hibernate" a VM, no physical device actually powers down and no (buried in hardware) state is lost.

Top comment by disordinary

The fact that you've got a comment on the front page of hacker news about your products lack of awareness, yet you don't say what the product is or link to it explains a lot.

You need to hustle more. This is a huge opportunity to get it in front of hundreds of people.

Edit: I had to search through the page to find a link to your app. You need to make it more obvious.

Top comment by neogodless

56 million cars sold last year. How many do you think were bought because they do not create emissions, or because of any serious consideration of the engineering behind them?

People buy a Toyota Corolla or Prius because it's below the median price, reliable and efficient. They will buy it and then never think about it again because it'll "just work."

People buy a Ford F150 because they either have some real use for a full-sized truck or, as we know is often the case, they want to feel like they are in the "big" vehicle, the "fancy" but "powerful" looking truck.

People buy a Porsche 911 because it's a symbol for having the money to throw at a fun, slightly exotic machine.

People buy a Tesla because it's a symbol of embracing the future, seeing cars as technology, and freeing them from generating exhaust and visiting gas stations.

People buy a Honda CR-V because it can do enough things well that they can just use it, fit people and stuff inside, feel safer when it snows, and so on.

People buy a Kia Soul because it's a little off the beaten path and comes in crazy colors.

Obviously the exact reasons behind each car purchase vary a little per person, but that's kind of the point. People want a car that feels like "them", and has enough practical use to justify their decision.

Automotive maker consolidation isn't new, just like any other industry, and it certainly would leave many unhappy if the options narrowed severely, because there are different use cases and preferences out there. For now, the market is so big that Toyota can have 6 different SUVs that are all slightly different, and you can configure a Ford F150 about a million different ways. (Though with colors converging back on black, white and gray, we're nearly back to the days of "You can have it any color, as long as it is black."

Top comment by hn_throwaway_99

Take this for what it's worth, but virtually every example I see here is for applications that are supported on Linux, but certainly not specifically targeted towards Linux. Looking through the comments I see Jetbrains apps (which are built in Java and designed to be cross-platform), Steam, Sublime, Spotify, Dropbox, etc. I can guarantee all of those apps make the vast majority of their money from paying Mac and Windows customers, and they either offer a Linux version because they can afford to for essentially developer goodwill, or there is an interoperability story (e.g. a Dropbox user may use Mac most of the time, but needs it to manage some shared storage on all of their machines, including some Linux ones). Perhaps one exception I could see to this is highly technical or engineering focused software (e.g. Matlab, CAD software), but that software is largely paid for by large organizations like companies and universities.

HN folks may not like to hear it, but in general your "average" Linux user makes the absolute worst software customer: they can get tons of stuff for free so there is a high bar when it comes to willingness to pay for non-free software, they have very high demands about how software should work, and they are most likely to run customer configurations on different combinations of hardware, making bugs more likely, and they are usually quickest to switch if something better comes along.

And by the way, calling someone a "bad customer" is not really a putdown; being highly discerning about where one spends their money is more of a compliment.

Top comment by zikzak

I don't want to be dismissive but I think we all go through this. My dream of building robots was kind of crushed when I realized as a mature student coming into a cs program after eight years of working blue collar jobs, that I might not have the chops to get into the electrical engineering program. A few years later I'm graduating in the middle of the dotcom crash. Hey, building contact us forms and customizing or building CMS software landed me a job so let's do that.

Ten years after that I was thinking "great, I've spent 10 years validating email addresses on contact us forms" (the reality was quite different, of course, but I was feeling like I'd lost the thread). But then I started doing a little more with ecommerce and got good at mentoring people and so on.

Now, it's ten years after that. I am managing a bunch of programmers and still write a little code. And I'm wondering how I will stay relevant for the next twenty or so years but so far, so good.

And I keep learning more and more. Not about compilers and Docker (this does come up, I guess) but about projects and people, business, domain knowledge about the area we build software for, and so on.

On paper, yes, I'm nothing. Just some average dude. But I really like my job, my team, and my skills.

I'm not saying this will happen to you but what I am saying is you shouldn't feel inadequate because you can't build a C compiler in assembly or something. That's the kind of thing only someone truly, truly interested would do. It's not something you do because you should or because it will make you a "real programmer".

Find an industry or business that fascinates you and figure out what they need to see to hire you and go for that.

Top comment by MisterBiggs

Old site is still accessible: https://www.spacejam.com/1996/

I think my favorite part is you can download the original trailer in a crisp 160x120 and 8 fps https://www.spacejam.com/1996/cmp/jamcentral/trailerframes.h...

Top comment by JabavuAdams

After many decades of fighting procrastination the most important thing I have learned is that you cannot analyze yourself out of procrastination. You cannot read articles to solve your procrastination problem. The only thing that works is to start the work. I wish there were something else I could tell you, but that's it. Just open the book, open the editor, open the document, whatever.

Now, that said, you may be burnt out, or you may not actually have to do the thing you're putting off. That's different. I'm talking about something you know you have to do (or else painful and undesirable consequences), but you're avoiding starting it. It's a trap. Just find any way to start. Do a bit, don't get down on yourself if you only do a bit. It's better than nothing.

Top comment by chx

Croatia just started a program where you can stay for a year (instead of the usual 90 days) as a digital nomad.

> A DIGITAL NOMAD IS a third-country national who is employed or performs work through communication technology for a company or his own company that is not registered in the Republic of Croatia and does not perform work or provide services to employers in the Republic of Croatia.

https://www.croatia.hr/en-GB/travel-info/croatia-your-new-of...

If you have a remote job or freelancing, this is a good first step.

AFAIK there are only four countries in the world where you can stay more than three months in a situation like this:

1. Barbados was the first to start such a digital nomad program https://barbadoswelcomestamp.bb/ 2. Canada immigration authorities have openly declared remotely employed doesn't count as work so you can stay for six months without a problem 3. There's Svalbard. Yeah you can stay indefinitely and work... if you can afford it. Not to mention it "rather resembles Mordor after it has frozen over". 4. And now Croatia.

Read more at https://travel.stackexchange.com/q/45092/4188