HNHacker News
TopNewBestAskShowJobs

blunte

9,064 karma · joined May 15, 2013

To the good HN readers, I wish you well. To the bad ones, and the shadow-banners, fuck off and don't die, but live with the reality you have cultivated.

I leave now, and in the small scheme it is irrelevant. In the grand scheme it is also irrelevant because there are truly deadly scenarios on the near horizon.

---

It seems I am shadow-banned, but not with balls. It's more a passive aggressive thing where I post occasionally and get a response "you are posting too fast, slow down". Not true. Be honest. If you don't like my content, own up to it. And explain how I gained the karma I have if my content is sh*t.

HN is becoming like every other corporate money interest. It is unwilling to pay for human consideration, and instead it exists to promote goals that favor investors of one sort or another.

Before HN I had many years on slashdot, and 186k karma. Either I'm exceptually influential, or sometimes stuff I say has value. I don't get paid to be on HN, and frankly my reputation here is irrelevant. When I say something, it's because I have a thought or opinion or question that I hope to get feedback on from other thinkers. If HN is no longer a place for thinkers, then it can fk off and die like slashdot and digg. Dinoaurs die. They may make bank, but they ultimately die as losers. Don't be a loser. Be a team player, a participant in humanity; be a change that you want to see.

Don't allow spammers to submit 10+ stories per day that favor Russia or US right wing bs. Or maybe do that, and life as we know it lasts 20 or 100 years less than perhaps it could if we tried to correct things. But hey, if you can earn some money and live large and die, who cares right? Just don't have any kids, because they're going to bear the burden of your sh*tty choices.

submissionscomments
blunte··on Ask HN: Where is the programming language ladder of awareness essay?
Yes! Thank you, this is exactly it.

Apparently I indexed this in my mind with the word "ladder", but now I'll just remember "The Blub Paradox".

blunte··on Ask HN: Where is the programming language ladder of awareness essay?
No, but thank you :).
blunte··on Rescuing the Compuserve Collection
In 2021 I was doing work for a client and noticed an email address of @cs.com. Two letter domains are pretty rare, and I wasn't familiar with this one.

To my great surprise, it was an original CompuServe email address. There are still some (original?) CompuServe users with intact email addresses.

blunte··on Today Google is turning on tracking for many users that previously turned it off
People want to disagree, that's fine.

But it's such a common pattern of behavior in less regulated environments. There are many variants, but the common one is this:

1. upstart innovator, filling a need; scrappy, hungry, motivated.

2. reaching the market, making waves, building a base. still same mood as #1.

3. "sudden wealth". ICO, big investment, buyout, f-u money, whatever. some people leave, some stay and lose their hunger, and some people ascend into management and play the long (money) game.

4. quarterly earnings per share concerns top all others; executives know their pay is based on board considerations and appearing to keep shareholders happy. innovation takes a deep sideline as short-term and protectionist approaches prevail.

5. other companies like this one when it was on steps 1-2 appear; threats are real, but board and shareholders are slow to catch on; company is large, and it has lobbyists. monopolistic behaviors are the easiest route to maintaining dominance. stamp out competition before it hits the public radar. keep the quarterly EPS on target. keep the bonuses.

6. predictably this cannot continue, and the company falters. it is embarrassed by a hungrier company. execs leave and upgrade their positions in other similar companies. sharholders "suffer" with stagnant share prices.

7. maybe. company pivots, reinvents itself actually or in appearance. cycle either starts anew-ish, or a publicity campaign convinces the public investors that it has (and new investment should arrive).

This is the state of American capitalist corporate behavior. Downvotes are fine; they simply indicate how ignorant (unfortunately) the latest generation of HN readers are. I'm near the point of not caring. The world can burn, the ignorant masses can be under the boot of corrupt people, and anyone remaining can die with far less than they hoped they would have.

I would like to help prevent that, but celebration of ignorance has become so great that there may be no recovery.

blunte··on Today Google is turning on tracking for many users that previously turned it off
This is the "big laggard capitalist corporation" playbook.
blunte··on Today Google is turning on tracking for many users that previously turned it off
https://en.wikipedia.org/wiki/Framing_(social_sciences)
blunte··on The counterintuitive rise of Python in scientific computing (2020)
Quick list, not organized:

- The OOP features of Ruby are consistent and ubiquitous (everything in Ruby is an object); Python depends on manual patterns to do OOP (self as the required first argument). Python also depends on special decorators to indicate what functions are instance vs static. Ruby does have a difference in definition, but it's simpler and more obvious (and requires one line fewer of code to define)

- Only finally has Python gotten a switch statement, and surprisingly it has adopted some Elixir-ish pattern matching features. Incidentally, some in the Python community are strongly against this new thing. "Why would you need that!?" Prior to 3.10, you would need more complicate if/else if structures in Python to do the same thing you could do in a concise and clear Ruby case (switch).

- Operations on collections: this is often described as functional programming, but it really is just "doing stuff on collections of data". And in that story, Python's list comprehensions are arguably less readable and less logical than Ruby's. Many of the tools you need in Python must be explicitly included from functools module.

- Ternary operator: many languages have `expression ? do_true_path : do_false_path`. It's a very common pattern which is concise and honestly quite clear. "This thing is true? then do this; else do that". But in Python you break that up into "do_true_path if expression else do_false_path".

- Everything in Ruby has a return value, but not so in Python. So in Ruby you can make assignments (or return values) from the result of if/case. For example, assume you want to return a specific value based on some series of conditions, such as handling an error and returning some enriched data based on the error code. In Python you will have to define a local variable and explicitly set that variable equal to some value in each branch of the conditional. Then afterward, you can use the value of the local variable. Or you would have multiple returns, one in each conditional branch. In Ruby you can simply do x = case ..., or because the last statement of a function is the return value, you wouldn't even have to return it. You just have 'case ...', and the value of the branch is what is returned.

There's a lot more. Some of it is subjective, but my belief is that once someone really knows both, they will prefer the Ruby way. And the more languages you know, the more you develop refined tastes. Ruby still holds up well after knowing 10 languages for me.

(added): the whole whitespace as code thing of Python. It does have one common pitfall, and that is when a line of code gets accidentally indented or unindented below a block which was indented. That line changes scope, likely changing the runtime result; but it may be technically valid, so the developer may not notice the mistake. This is just not a problem with languages that have { } or begin/end delimiters.

blunte··on Justice Stevens reads the fine print
Fine print or not, most people (myself included) rarely if ever read the "fine print".

If you did read the fine print, and you were of a problem-solving (pessimist) mentality, then you would never buy anything or do anything. You certainly would never take any medicine, because nothing is scarier than the fine print there.

I wonder what the fine print on a Tesla self-driving purchase looks like...

blunte··on The counterintuitive rise of Python in scientific computing (2020)
Python is more accessible in modern times than C, assembly, and Fortran.

But we are SO far past that now. My argument isn't for what should have happened in 1995, it's for the complacency which has allowed Python to become the top 1 or 2 language in 2022. It's like having proximity detectors on the back of your car, but you still start the vehicle with a crank at the front. We can do better; we have the technology.

blunte··on The counterintuitive rise of Python in scientific computing (2020)
At least it would be more consistent and uniform.

The significant dangers in Ruby lie in the metaprogramming, which probably scientist devs aren't exercising.

blunte··on The counterintuitive rise of Python in scientific computing (2020)
Python has a lot of great libraries. It's the inverse of the chicken-egg problem.

Because there are now some critically important libraries (pandas, numpy), it means that is the obvious starting place if you want to hit the ground with minimal effort. I think that's totally fine for uni. But there should be a capstone level class for data/ai scientists before they can graduate which shows other languages and teaches some general best practices of software development.

There are plenty of other languages which can do the same job. And honestly, the algos which are available can be recreated if they don't exist. Most of it is not "rocket science".

But the greater problem is that Python itself is a poorly designed and warty language. Whether a scientist or not, choosing Python means fighting these warts. No amount of make-up can cover some of these; and plenty of other languages start with clearer foundations.

blunte··on The counterintuitive rise of Python in scientific computing (2020)
At one of my previous companies we hired a really intelligent (generally) and very likeable data scientist who arrived and wrote the worst Python I've seen. Actually it wasn't the worst, because it was all inline copy/paste code rather than convoluted OOPish code.

He could solve very complex problems, but his tooling was horrible. It wasn't his fault. He had solid education from a German STEM uni (with PhD.), but there was a serious lack of programming skill.

It would seem that because Python is "so easy" to get started that people don't feel they have to bother with learning any real programming skills beyond solving their immediate problem.

I don't blame this on the scientists; software is not their domain. The problem is with PHBs who don't know better and who make decisions based on the toolset used by the "special" people.

blunte··on The counterintuitive rise of Python in scientific computing (2020)
> Python is still the easiest to read when you come back to some old code

Lucky you. You must not have seen the "pythonic" monstrosities I've seen.

Python has such a low barrier for entry that one can "get stuff done" with absolutely atrocious and often very overly complicated OOP-ish code.

Ruby is not my favorite language, but I would bet real money that without dependence on libraries, nobody could show me Python code which I could not show more logical, consistent, and readable Ruby code which solves the same problem. I say Ruby because it's of the same "type" and follows similar methodologies.

Python suffers from far too many years under the leadership of one odd person. It has a cult-like following, whereby anyone who disagrees is an outcast. Where else could you hear comments like, "why would you ever need a switch statement? if/if else works fine!" That's just the tip of the iceberg.

Python is great for integration glue code, but only because of the libraries it has. But now it is becoming more Javascript like, and the dependencies are multiplying to the point where you're better off writing your own left-pad instead (or even re-evaluating your approach) instead of taking on new duct tape like django-database-view.

Sometimes the bar needs to be high enough to force the juniors to actually learn something before they start building "MVP" startups. On the other hand, who cares if the MVP is a horror show as long as you get that IPO and take your f-u money and leave.

blunte··on The counterintuitive rise of Python in scientific computing (2020)
Python won because people who knew math/science domains only knew Python (or it was the best they knew). And so they made libraries for Python. And it propogated like many other bad ideas based on ignorance.

Python is a miserably bad language for modern times. If you know any of half a dozen other languages, then you understand.

There was a good essay, from Paul Graham?, about the ladder of awareness of programming languages. Unfortunately I can't find it now.

The point is, Python has won and is frankly terrible. It has inconsistent features, but it has an awkward OOP approach (in a time when OOP is finally being recognized as bad itself), as well as seriously lacking basic language features which are only appearing as of 3.9 and 3.10.

Frameworks like Django and Django Rest Framework expand on these bad ideas, creating monstrosities which make the PHP code of yore look arguably decent.

Sadly, I don't think there's any way to kill this. The only option is to vastly outperform the Python people and produce reliable, readable, performant solutions in half the time and beat them to market. Perhaps someday they will die off.

blunte··on The Welfare Effects of Dynamic Pricing: Evidence from Airline Markets
But is the extra cost you pay (for that risk) fair relative to the risk of revenue loss for the airlines? I highly doubt that.

This is an industry that has a history of ever-increasing executive pay rates with gradual reductions in service quality, gradual increases in incidental fees, frequent bankruptcies, and occasional governmental bail-outs.

blunte··on Vuescan – Software support for 6500 abandoned scanners
I've also been using this for several years. It may have an old look in the UI, but it works very well and is reliable. Honestly, what more could you ask?
blunte··on Tell HN: Did you know you can negotiate price on many things?
There are programs and books on this subject. I'm not an expert, and I need this education also; so here's a quick starting point I just found: https://daringtolivefully.com/how-to-ask-for-what-you-want

This may not be the best starting point, but it's a place.

A friend took some coaching class once where they were given "scary" human interaction challenges, starting with very small simple ones and working up to ones where you would expect to get slapped. Not only did it help condition my friend to be more outgoing, but he got a surprising number of "Ok"s. I'm not sure this is the best approach, but it appeared to be effective.

And it reminds me of this guy: https://www.youtube.com/watch?v=-vZXgApsPCQ

blunte··on Ask HN: Can we just agree on showing HTML without requiring JavaScript?
I think it should not be an all or nothing proposition. A little js for the right reason can be valuable.

If we could instruct our browsers to use some budget constraints, such as max js size, max number of network requests, and max time, it would force site designers to reign in the unnecessary bulk.

blunte··on Show HN: download all your [Liked] videos from TikTok for safekeeping
Ahh, the best content to archive!
blunte··on The undercover special agent who busted a dangerous biker gang
As I was reading this I thought how much it sounded like organized religion. In a way it is, albeit from a few hundred years ago maybe.
blunte··on Light mode, Dark mode, and Gen-Z mode?
MySpace. Not dull at all.
blunte··on International Racquetball Federation Officially Sanctions Racket:Next
> I thought RacquetNext was some new-fangled racquetball racket that was banned because it has carbon fiber plates that…do $SOMETHING, ala the Nike Vaporfly/Alphafly running shoes. You know, “sanctioned”.

This was exactly what I expected as a best guess from the title.

blunte··on International Racquetball Federation Officially Sanctions Racket:Next
Being HN, my first thought was some Nextjs for Racket language :). But the sanction bit didn't fit that.
blunte··on International Racquetball Federation Officially Sanctions Racket:Next
Multiplayer Wii tennis was fun. I've never tried multiplayer VR anything, but I imagine racketball in VR would be fun too.

However, having slammed myself (too) hard against walls playing, I wonder how dangerous it would be to be flailing around blind in a normal room...

blunte··on International Racquetball Federation Officially Sanctions Racket:Next
Their home page: so much information, but so little information. I guess it's one of those situations where you're supposed to know the thing before you go there.

Is it VR? Or confusingly is it virtual instrument racks?

Equally confusing is the English word, "sanction". Sanction is a very bad thing, unless it's the sanction which is a very good thing!

blunte··on Minimal Viable Product is old and busted
Every company/startup will be different in some way, so what MVP means for them -- and the reason they go that route -- will be unique.

At least in some cases, MVP is the minimal product you made which illustrates your solution, your value proposition. You use that to get big investment to build "the real one".

Unfortunately, some (many?) companies want to take that MVP and live with it indefinitely, organically (sloppily) growing it as they go.

MVP can be seen as that thing you do which gives you the opportunity to exist but which gradually drags you to the bottom of the sea with technical debt.

blunte··on Python Design Patterns (2018)
Can you point to any public codebases which illustrate this approach in Python? I would love to see some of these principles in action.
blunte··on Possible Outcomes of the Russo-Ukrainian War and China’s Choice
The article comes right out and says that Putin’s effort is a failure, short and long term. Only direct help from China could possibly change that outcome (and that involvement is presented as the less wise position for China to take regarding its self interest).
blunte··on Possible Outcomes of the Russo-Ukrainian War and China’s Choice
I doubt in modern times leaders of any country think so long term. Most seem concerned with only their current reign (or in the case of more “capitalistic” countries like US, just one or two election cycles.
blunte··on Possible Outcomes of the Russo-Ukrainian War and China’s Choice
My summary of TFA:

Putin made a grave mistake and cannot win without China’s direct assistance.

Putin’s actions have strengthened US stature and position globally, as well as illustrating the importance of NATO. This presumably is exactly the opposite of what Putin desired.

China could gain influence and power by helping Russia, but at the cost of international relations. More importantly, it would still be a gamble.

Without China’s help, Putin will fail one way or another.

China could instead stand with the rest of the world. This would more quickly end the current conflict, and it would make China a more significant international partner. This is the better option.

← PreviousPage 2 of 34Next →