HNHacker News
TopNewBestAskShowJobs

softwarebeware

2,752 karma · joined September 20, 2021

submissionscomments
softwarebeware··on Class Bullshitters
Most people without an inheritance probably miss the fact that tons of people they know do. You often have journalists as friends for example who unbeknownst to you are “subsisting” on their parents’ wealth and who secretly have millions of wealth in the bank. I recall meeting a “guitarist” in local bands in Seattle who confessed after a good amount of alcohol one night that his father had given him and his brother a million each when they turned 18 and he had decided to grind out the “starving musician” life until he “made it.”
softwarebeware··on Duck DNS – free dynamic DNS hosted on AWS
Happy user here. DuckDNS is one of those great things that does one thing simply and just works
softwarebeware··on The U.S. added 678,000 jobs in February
Do you mean is 678,000 jobs added in February, 2022 more than the number of jobs added in February, 2020? Or do you mean are the total number of jobs in the US in February, 2022 higher than the total number of the jobs in February, 2020? Or something else?
softwarebeware··on The Impoliteness of Overriding Methods
Thoughtful, well-written article. Thanks! It brings up a couple points.

First, I hadn't heard of BETA. It's always interesting to see language choices that didn't survive, for whatever reason.

Second, I agree with the statement, "What this means is that the subclass is in control of the dispatch chain...This is great for flexibility, but as an API designer, that can be frustrating."

But I don't agree that's a problem. Isn't the need for the subclass to be in control the more frequent use case? I would be shocked / upset at a language that made it the other way around. You have to support both. You probably want the implementer of the subclass to have maximum freedom and to decide what's appropriate, because you can't anticipate all possible implementations.

The following two paragraphs, "There’s an implied requirement here...how are you supposed to know that you need to do that? You can document it, but it would be better if the base class itself made sure you did the right thing" aren't convincing to me. For one thing, maybe I don't want the call to setTransform in my implementation. Or maybe I want to setTransform(x - 1, y - 1). Also, to answer "how are you supposed to know...?" Maybe by reading the code. Why would you even need to document it? If you are extending a class, you have to read its code to even know if it's a good idea.

The example of the render method with an abstract onRender method is good for many use cases of this. How is this more difficult than using the proposed "inner" keyword? The "inner" approach doesn't seem to me to have less code or to be easier to understand. When I imagine how inner would work ("...specialize the behavior of their superclasses at well-defined points (i.e. at calls to inner...") it didn't seem to be any different than the super keyword in practice.

There's also many other options that may be more appropriate depending on the context. Someone in the comments pointed out that maybe interfaces and inversion-of-control would be better. There are also a variety of different patterns available that achieve the same thing depending on the context. The Decorator pattern might be another one. If you always want all GameObjects to be transformed in a game, for instance, one approach that would work fine is to only render objects of type "Renderable" and perhaps you wrap all GameObject instances in a decorator of type Renderable, which calls setTransform and then calls the onRender of the wrapped object.

Like I said, that's just one other option.

At the end of the article, I'm left scratching my head a bit at the title. It would be more "impolite" to me if the person who created a given base class

a) required me to extend their base class in order to achieve something in the program; and b) also required that super be called at a specific point in any overridden methods

One small nit that's neither here nor there: in Java methods marked final can't be overridden so maybe the example code with the protected abstract onRender method should have a "final void render..." method.

softwarebeware··on It's now your fault they don't know about it
Reminds me of http://www.catb.org/~esr/faqs/smart-questions.html
softwarebeware··on Military action in radioactive Chernobyl could be dangerous for people
I'll be honest. I did not realize that Chernobyl is only about 90 kilometers (60 miles) north of Kyiv.
softwarebeware··on SPAs Were a Mistake
Do you want a full page reload just because you deleted an email? Or flagged it? Or marked it as spam? Or even do you want your webmail in frames just to have a reader pane? Webmail is a great SPA candidate.
softwarebeware··on The decline and fall of Java on the desktop
Scala is far ahead of its time. And has been since 2014.
softwarebeware··on Fitbit recalls Ionic smartwatch after 78 reports of burns
Yesterday, a cargo ship with 4,000 cars sank into the ocean reportedly due to fires resulting from lithium-ion batteries in electric vehicles. Today, Fitbit recalls millions of watches due to lithium-ion batteries causing burns.

I'm starting to wonder about the safety of lithium-ion batteries. Does anyone have any insights on whether these are isolated incidents or something to be concerned about when buying products with lithium-ion batteries?

softwarebeware··on SPAs Were a Mistake
I'm not clear why the author thinks that "media sites, really" are the only SPA use case. Have they never used webmail (like GMail), map apps (like Google Maps), or social networks (like Twitter)?
softwarebeware··on Don't write just in plain text (longevity vs. authenticity)
Yes, I feel this in my bones as someone who previously worked for a text messaging provider. Plain text has the deceptive appearance of simplicity, but it is actually one of the most maddening things to get right, especially if you intend to support the accurate transmission of said text to any possible text message receiving device in the world.
softwarebeware··on Ask HN: Should HN require/encourage job postings to have a salary range?
For Silicon Valley, New York, and Seattle, at least, $150k yearly is below average market value for new grads. (I may even be missing some development centers.) "Salary" may be lower than that, but not total compensation including cash and stock bonuses.
softwarebeware··on Show HN: A more social, Amazon-free alternative to Goodreads
That actually sounds really cool! I’m signed up and will be trying it out. Thanks!
softwarebeware··on Show HN: A more social, Amazon-free alternative to Goodreads
I applaud the effort! The "Amazon-free" part is attractive, considering that many of us feel that Amazon's business practices are abusive of employees, anti-competitive, and unethical in other ways.

I have stopped using Goodreads already--probably for a couple years now. I found that the only feature I really used was the "To read" bookshelf. And I found that I just replaced it with a specific "To read" list of reminders in my iPhone's Reminders app. For that use case, this seems to work great for me. Can you speak to potentially any features of Booqsi that would be an improvement over my simple / non-book-specific approach?

softwarebeware··on Ask HN: Single-person creations that have stood the test of time?
I'm shocked that noone mentioned Kent Beck and JUnit. JUnit is one of the most widely-used libraries out there.
softwarebeware··on Got offer 4x of what I earn in EU, terrified of US w. culture. Fears unfounded?
Lots of FUD over there but maybe the extreme views expressed there are a needed counterweight/ reality check on the Silicon Valley fairy tale.
softwarebeware··on Why not hire part-time developers?
There’s no way I will ever expect corporations to use their brains. They are a unique example of idiocy. This particular essay calls out only one of their bizarrely stupid ways of functioning.
softwarebeware··on All You Zombies
The movie "Predestination" with Ethan Hawke is based on this story.
softwarebeware··on Vim – Minimal Setup Explained
My “minimal” setup is nothing. I just use vim the way it is, out of the box.
softwarebeware··on Enthusiastically Rehiring
I think you're saying that you would enthusiastically rehire everyone you ever hired? Not sure I'm getting the intended meaning
softwarebeware··on Enthusiastically Rehiring
Hmmm.. the advice given here seems to open the door to a lot of biases. Why might you not "enthusiastically" rehire someone? It might not be for their fit to the role, their job performance, or any other important factor. It may just be...your enthusiasm. Which very often wanes with your personal prejudices.
softwarebeware··on We Need Higher Quality Note-Taking Applications
> Aren't you worried about creating inconsistency? I would be worried about creating notes that would then have to be rewritten to conform to the type of manipulation the program does.

"Noted" is purposefully agnostic to the underlying tools used, and outputs Markdown which is a standard that affords a wide range of available tooling and also can be converted to many other formats with widely-available open-source tools like pandoc.

I share more about the philosophy behind it in a four-part series here:

https://dev.to/scottshipp/an-amazing-note-taking-system-with...

softwarebeware··on Soybean oil affects hypothalamus, causes genetic changes in mice: study (2020)
It's interesting to try and square the multiple conflicting findings about the effect of the modern diet on the brain and other observed phenomena such as The Flynn Effect (https://ourworldindata.org/intelligence) that mean IQ is increasing over time.
softwarebeware··on Soybean oil affects hypothalamus, causes genetic changes in mice: study (2020)
Agreed.

From the post:

> A caveat for readers concerned about their most recent meal is that this study was conducted on mice, and mouse studies do not always translate to the same results in humans.

softwarebeware··on We Need Higher Quality Note-Taking Applications
I have created my own note-taking tool after experimenting with all of the different note-taking apps for many years.

It's a shell script.

If interested: https://github.com/scottashipp/noted/

softwarebeware··on Tech Companies Face a Fresh Crisis: Hiring
> There's nothing difficult or unstable...

Sure there is. There are companies that are going to go out of business if they can't hire.

> ... just offer higher compensation or better working conditions

Not if they are a startup and simply can't. They only have so much funding. And besides that, it's not even a question of offering more. It's a classic low supply and high demand situation. Only those with the most are going to win the bid in the end.

The rest will go out of business for failure to hire. That's the crisis.

softwarebeware··on Tech Companies Face a Fresh Crisis: Hiring
Why not?

> crisis (noun)

> 1. A crucial or decisive point or situation, especially a difficult or unstable situation involving an impending change.

-- American Heritage Dictionary, 5th Ed.

softwarebeware··on Running a private mail server for six years, easy peasy
> personally, it fills me with satisfaction to self-host my own infrastructure, my little internet island where I’m root, especially in times of mega corporations trying (and succeeding) in redefining “the internet” as a portfolio of services only they can offer, with little alternative.

Sounds great! Can't argue with that. My feeling is that the real problem isn't a company or companies offering computing services. That has always happened and will always happen. I think the real problem people aren't grappling with is vendor lock-in. Most of the catastrophic anecdotes I read on here and elsewhere are about people who put all their eggs into one basket and did not have any kind of disaster recovery plan. When their provider service went down or even went away due to a merger or whatever, they were left with nothing. And that's really a different problem.

softwarebeware··on Host Firewalls (2020)
> Really, what we are talking about is this: what if, when Zoom sent telemetry to Facebook without your authorization or knowledge apparently because they used some library and didn't realize it did that, your host firewall told you that this random application was shipping your most personal secrets directly to Mark Zuckerburg and, even better, prevented it doing so until you considered the question?

Yes, please! That would be amazing

softwarebeware··on Misidentifying talent
There is actual peer-reviewed research about what makes a good software engineer which you can find easily with the right tools. This 2015 paper using a sample set of 59 Microsoft engineers across different divisions is one such study: https://faculty.washington.edu/ajko/papers/Li2015GreatEngine...

My experience in the industry is that no one in charge of either hiring or promotion is aware of the research, and have chosen to structure the systems that support them without data and prone to biases. The most bizarre aspect of our industry is that there is a high emphasis on work output, whether that be measured in LOC, number of PRs, number of releases, number of "story points," etc. or another measure, and yet low value of those same metrics in promotion processes.

I don't actually think those are great metrics to base career advancement on, but the contradiction is egregious.

← PreviousPage 7 of 12Next →