HNHacker News
TopNewBestAskShowJobs

michaelpb

454 karma · joined January 16, 2012

I'm a software engineer and educator living in the San Francisco Bay Area. I teach people to code in a "custom-paced" 1:1 private lessons, and video courses on Python, Django, JavaScript, React (hooks!) and many other topics at Kickstart Coding, a "custom paced" online coding school.
submissionscomments
michaelpb··on The May 18 Gwangju Uprising
Definitely.

For me, at least from what I remember from school in the 90s/00s in the US, this stuff wasn't taught at all. We just learned a bunch of left-over cold war rhetoric about being "leader of the free world", and little discussion of what actually went on in the "free world" that was being "lead".

Events like this one -- or the Bodo League mass killings [1], or the institution of slavery in Korea [2], etc -- were not covered at all. Even more shocking is how violent and unimaginably cruel so many governments have been, and yet to this day they manage to be fondly remembered by many conservative citizens. For example, President Park Geunhye, daughter and "successor" to the dictator President Park Chung-hee, became president in a (questionable) election in 2012, with mass support from conservative voters. So even if a given dictatorship is gone, it's supporters are still here, and will be voting in as many similar policy as they can.

History in high school used to be my least favorite subject, but as an adult, reading history books is like all I do, and I will use any excuse to go on and on about it (as evidenced by this now very long post lol)

Edit: Not sure why I got so many downvotes so quickly, but just to be clear I'm not trying to pick on Korea or single out Korean conservatives --- this applies to many, many countries [3] --- I'm only using South Korea as what I thought was an interesting example, due to the original post being about Gwangju.

---

[1] https://en.wikipedia.org/wiki/Bodo_League_massacre

[2] Slavery is now illegal, but for a modern horrific example in 2014: https://en.wikipedia.org/wiki/Slavery_on_salt_farms_in_Sinan...

[3] Brazil is one I know well, but for a European example, the Mussolini Family continues to be elected by Italy's conservatives: https://en.wikipedia.org/wiki/Benito_Mussolini#Legacy

michaelpb··on Launch HN: Fig (YC S20) – Autocomplete for the Terminal
Right: Assuming good faith, this project seems completely backwards.

But if their real product is the telemetry that also ships with it, and they've identified that many newbie developers have a hard time seeing through marketing pages directed at developers (eg like "webscale" stuff from mongodb circa 2010), then it, unfortunately, makes more sense.

michaelpb··on Elk OS – Audio Operating System
Yeah, JACK / ALSA / PulseAudio is probably the harder thing to straighten out, and if you are using the computer in normal usage as well switching back and forth is a perpetual head-ache filled with edge cases and incompatibilities.

A turn-key audio-only OS like what KXStudio 14.04 was truly perfect for pro audio, since it had Ardour + 100s of plug-ins and tools all pre-installed and configured.

michaelpb··on Launch HN: Fig (YC S20) – Autocomplete for the Terminal
Yeah this project totally completely baffled me. "Autocomplete for the Terminal". What?? Bash has had fully programmable auto-completion for over 20 years [1] -- and that's just one comparitively bare-bones shell, out of dozens that are all free forever and not spyware.

Watching their demo didn't help either. At most the behavior seems an incremental improvement over what Bash ships with in most distros, and it's not even clearly better than that (IMO worse, I prefer the trailing slash or color-coding that Bash uses to distinguish file/dir properties vs icons). Joke: Is the "perceived need" really just because macOS's default Bash distro has these features disabled?

[1] https://en.wikipedia.org/wiki/Bash_(Unix_shell)#cite_note-60

michaelpb··on Elk OS – Audio Operating System
Looks like it uses a "Yocto" script - https://github.com/elk-audio/elkpi-sdk - https://www.yoctoproject.org/

I thought of Ubuntu Studio as well, but it looks like Elk is intended to be more lower-level / for appliances. I'm not totally sure though, but I'm guessing it doesn't come with the full suite of Ardour etc.

I do wish there was something like Ubuntu Studio, except focused on audio-only (and more polished / supported). Mostly just because JACK + low-latency kernels are an ordeal to set-up and maintain on a normal desktop, so it's much easier to just install a pre-configured distro on a studio computer and be ready to jam whenever inspiration strikes. Unfortunately KXStudio as a separate distro isn't around any more. I still use a KXStudio 14.04 install on an old (airgapped) DAW computer.

michaelpb··on Framework Laptop pre-orders are open, starting at $999
Exactly. I know this may give grumpy-old-man vibes, but I find it ridiculous that with a Pentium III with ~0.1GB of RAM we could do similar day-to-day tasks with IRC or AIM or whatever (group chatting, sharing media, etc), but running Slack on a computer that's 10-100x as powerful can get such terrible performance I'm sometimes forced to type in a text editor and copy over.
michaelpb··on Framework Laptop pre-orders are open, starting at $999
Re. your last point, I generally agree with the idea that performance testing should be automated, not on an ad-hoc local machine basis.

But I also do think developers live in bit of a "CPU bubble", and we need to break out of it. Most people don't have pricey hardware, and no matter what your reasoning (environmental / e-waste, user experience, simple love of the craft, etc), it is important to write performant software. In using old hardware I've discovered many, many apps are so incredibly frustrating to use for average users --- borderline unusable --- and I suspect their developers aren't even aware.

So, I don't know what the issue is, if it's tech management trends (eg "sales-driven" development), or it's a lack of automated performance testing, or beefy dev boxes, or what. But IMO it's downright embarrassing to the entire industry how bad software has gotten on average.

michaelpb··on On incels, dead bedrooms and the hard problems of loneliness
On Amazon it's described by Jacobin (a leftwing magazine in the US popular with Bernie supporters etc): “A searing critique… a necessary contribution to the effort to push contemporary social justice movements further to the left and to weave an understanding of class politics into modern identity-based movements in order to build a radical politics of solidarity.”

All the other summaries on Amazon are similar, i.e. the very top description (New Yorker): "The point of 'Why I Am Not a Feminist' isn’t really that Crispin is not a feminist; it’s that she has no interest in being a part of a club that has opened its doors and lost sight of its politics—a club that would, if she weren’t so busy disavowing it, invite Kellyanne Conway in"

Having never read the book or even heard of the author until you introduced it to me I don't care one way or the other, but it's clear from a reading of these descriptions that her book is a critique from the left.

michaelpb··on On incels, dead bedrooms and the hard problems of loneliness
I've have had the opposite observation, probably has a lot to do with whoever is in the particular thread
michaelpb··on On incels, dead bedrooms and the hard problems of loneliness
Oh, so for an incognito search with clear cookies in my locale (bay area), all you get for 1-5 pages or so with the search term you provided is the book and reviews and articles discussing it (with and without quotes): https://google.com/search?q=%22why+i+am+not+a+feminist%22

Perhaps when you search with your normal Google account it's skewing to different results. This particular book and the articles discussing it are critiquing modern feminist movements as too conservative, from what you perhaps would call a "radical left" perspective. I find it interesting that this is the exact opposite of "the general criticism at the moment seems to centre on the radical lefts takeover"!

I personally feel my incognito Google search captures the current zeitgeist better than your search, that people are fed up with conservatives and want a "radical, fearless call for revolution" as Google's auto-summary of my search put it. That said, ultimately it's all "bubbles" all the way down, as there's no such thing as a so-called "algorithm" (ranking formula, etc) free from ideology, so ¯\_(ツ)_/¯

michaelpb··on On incels, dead bedrooms and the hard problems of loneliness
Not OP, but Answer 1: Yes, it's anecdotal but you definitely see the trend.

Answer 2: So I did the Google search as you requested, and read about the book [1]. I hadn't heard of it but it looks interesting, thanks for recommending. From what I can tell, it's central claim is that feminism has an image problem due to it being co-opted by the US right-wing which she calls "choice feminism", and the remedy is a need to return to a leftist concept of what she calls "radical feminism". Is that what you're saying?

[1] https://www.amazon.com/Why-Am-Not-Feminist-Manifesto/dp/1612...

michaelpb··on On incels, dead bedrooms and the hard problems of loneliness
Yeah, exactly!

It's also simply not a useful type of statement even when made in good faith. It assumes all issues fit on scales. For example, there are people today who call themselves feminists, and have extremely different views about LGBTQ+ rights compared to others who call themselves feminist (notably around the BTQ+ part). I really don't know who is the more "extreme", since that implies that I am referencing an agreed upon "center" which these positions differ from, and that simply doesn't exist. There is no agreed upon "center" for anything. Both claim to be feminists, and claim the other side is wrong, and neither would consider the other either more "extreme" or more "centrist".

This is just one example, but I would argue that this holds true in nearly every case: Reducing something to a scale with "extremes" on each side mostly just shows how the speaker perceives other positions and is otherwise not very useful.

CS stuff: IMO a better mental model would be non-Cartesian. Perhaps a weighted graph, where the vertices are ideologies (or, to be more granular, people), and the edge-weights represent some fuzzy metric of overlap of beliefs.

michaelpb··on On incels, dead bedrooms and the hard problems of loneliness
The problem with this line of thought is that some of the "crazies at the edge" in the past are the sensible, moderate ideas that you no doubt hold right now. For example, viewing slavery as an evil institution was considered the "crazies at the edge" opinion in the early-mid 1800s in the US, as opposed to the dominant opinion among "sensible" abolitionists that slavery was personal sin that requires a redemption process (like drinking). In some cases, this change of sentiment can take only a couple decades: See opinion polling on gay marriage or weed legalization.

This is why both-sides-ing or argument to moderation is not really a useful or convincing rhetorical device.

michaelpb··on RotaJakiro: A long live secret backdoor with 0 VT detection
I know I'm not at all the first to say this, but those "curl into sh" installers are just such terrible ideas in general, and typically inconvenient and brittle as well. I hate the idea of any arbitrary, unknown side-effects happening to my system. Providing an archive `.deb`, `.rpm`, etc is at least more convenient and predictable so it can be installed like a normal package by your package manager (although it doesn't truly help in terms of security or side-effects as it can still run scripts, so although ultimately the issue is still running binaries not vetted by your distro's maintainers)
michaelpb··on Latino Programming Language
Hahah yeap we're basically back to skull-size measuring. And what you write is exactly correct: It's a definitely form of "othering", arbitrarily separating people.

I've lived in both countries (US and Brazil) and another comparison I've heard made is between internal immigrants in Brazil such as from the Northeast, and Hispanic immigrants in the US (some internal, some external). A lot of it is economic. As an example, very similar economic & climate pressures that caused Northeasterners of Brazil to journey to SP, RJ, etc, caused many farmers in the dry lands of northern Mexico to move north (and seek jobs in the US as nannies & housekeepers, construction, large farms with horrible labor practices, etc).

One huge difference is language. I know many Brazilians I've chatted with were surprised to learn that ~15% of the US speaks Spanish. The US is very much a linguistically-segregated country, as much of it was once ruled by the Spanish Empire or successor states, and thus regions of it have never traditionally spoken English (and still don't). Puerto Rico of course is entirely Spanish-speaking and always has been, and areas of different states are majority Spanish-speaking, and most cities in the US have at least one or two neighborhoods that are primarily Spanish.

michaelpb··on Latino Programming Language
Yeap, it's a very inconsistent mess up here. In the media, "Latino" and "Hispanic" are often treated interchangeably, and both as though they were a race. It's very common to see statistics broken down like "White, Black, Hispanic". This confusion reaches even the highest levels, including people who really should know better, e.g. see this "apology" which somehow still doesn't seem to understand that "Latino" is not a race: https://www.npr.org/2020/08/07/900147716/

> Albeit is even wrong to use in the sense of a continent giving America is just one continent, with north and south.

To make matters even worse, we're taught in school is that North America is a distinct continent by itself, as is South America, and that there is no continent named "America". This leads some North American "patriots" to get upset at the idea of a single continent, hence the insistence that the word "America" and "Americans" only refer to the USA.

michaelpb··on Why you should NOT use NativeScript
IMHO the most important thing that a framework can have is complete documentation and SLOW, deliberate release cycles, while this sounds like it's the opposite on both counts. Anyone can make a framework, the real value is in the documentation and release cycle.

That said, I got the exact same impression from his paraphrased statements. His paraphrases did seem revealing, like he had approached this with a bad and demanding attitude, and it went about as well as you'd expect. So, maybe room for improvement on all sides lol

michaelpb··on Legalizing gay marriage in Crusader Kings III with Ghidra
Gay marriage was more common than you might think during that time period as well, even in Europe! I found a few interesting accounts, from this summary of an older book on the topic: https://www.irishtimes.com/culture/when-marriage-between-gay...
michaelpb··on Django 3.2 – News on compressed fixtures and fixtures compression
I use Django test fixtures in one way!

I have a series of E2E tests with Splinter [0] that go through setting up a variety of things from scratch and testing core features. Instead of having really long, complicated test that goes through the steps, I instead wrote a little helper function that "freezes" the DB after each step as a JSON fixture (which is then loaded by the next test), to allow me to break it down into many smaller tests that "start" from various reasonable database states. Works pretty well!

I don't use them however for unit tests or any non-E2E tests. I just use helper factory functions with hardcoded test data.

[0] https://splinter.readthedocs.io/en/latest/

michaelpb··on Legalizing gay marriage in Crusader Kings III with Ghidra
Yep, many! Today's era is quit unusual in how few open gay and bisexual relationships are had by public officials (which are the unions that are typically best recorded). In many other historical periods across different regions, today's standards would be considered unusually heterosexual. https://en.wikipedia.org/wiki/History_of_same-sex_unions
michaelpb··on How to Manage a Dark Ages Estate
"The Roman Empire never fell, DEBATE ME"

Though seriously, thanks for writing this up. This is a great explanation of how periodization says more about the "periodizer" than it represents some sort of objective truth about history, magically divorced from the political reality of successive historical writers. Debunking bad history is important... in this field (CS) I've definitely met my share of so-called "STEMacists" whose mental model of history sometimes seems to be derived from Deus Vult memes... ¯\_(ツ)_/¯

michaelpb··on Show HN: An open-source, self-hostable Heroku and Netlify alternative
Huh, then that's confusing that the README mentions it. It could just be a planned feature and that wasn't properly clarified.
michaelpb··on Show HN: An open-source, self-hostable Heroku and Netlify alternative
Also a Dokku fan. I don't think this project is related or uses it under the hood ( https://github.com/coollabsio/coolify/search?q=dokku ), although it's clearly similar. The marketing page only mentions Node.js support, but the Readme mentions using Buildpacks (https://github.com/coollabsio/coolify ) although it still isn't clear if it supports languages other than Node JavaScript. I would assume though if the goal is to support buildpacks and be a true Heroku replacement it will soon support everything just like Dokku.

Definitely very cool and something to keep an eye on as it develops!

michaelpb··on Comparing Svelte and React
To clarify, I guess what I'm saying is it's often mistaken that this complexity is somehow intrinsic or unavoidable to the craft, when in fact it's completely avoidable.

Bad (but popular) tooling isn't new --- I remember learning PHP4 was like an encyclopedia of gotchas and defensive programming --- but I feel that even a disaster like PHP4 was a lot more approachable for new coders than the state of the art now, and that the skills learned overcoming these things were more portable outside of the framework / language. All of this definitely makes my job more secure, but, I dunno, still feels like a real shame.

michaelpb··on Comparing Svelte and React
Very true, while I appreciated React Hooks for making React easier for beginners by avoiding the giant can of worms that is OOP mechanics in JavaScript, they are also very magical and even more framework-specific.

That said, vanilla JS can be hard like this as well, especially as "solved" legacy issues still regularly crop up in tutorials and code-bases. Many times I remember helping newer folks with challenges they found online that seemed to them like they were testing hard computer science problems, but were more just trivia to navigate some bad design decisions of JS (eg gotcha problems on "this" / binding, IFFE, hoisting, async/promises/callbacks, to name a few)

michaelpb··on Comparing Svelte and React
Not to mention terms that do come from a general programming paradigm, but have a very narrow practical / framework-specific use within frontend dev that makes it even harder for beginners (e.g. "thunk" might be a general term, but I bet most people googling it are just trying to get some Redux tutorial to work, and will end up going down dozens of rabbit holes trying to understand the general concept)

I really hate to think how many collective hours have been wasted on new coders who learn JavaScript as their first language --- especially when starting with React and Redux, as it's often taught --- and end up spending most of their time spinning their wheels on these domain-specific complexities, when they haven't even gotten to "while loops" yet. This may even be harder for beginners than understanding, say, one of the classic CS sorting algorithms. New coders don't realize though that whatever degree this stuff is harder, it's a sign of bad tooling or documentation, not that it's somehow intrinsically a harder problem in math / CS, since if you're new you don't know what to expect

michaelpb··on Super Resolution
Out of curiosity, do you think forensic science methods in general are likely to randomly incriminate people?
michaelpb··on Super Resolution
Yeah, so much of forensic "science" is notoriously flawed, that this seems like a likely addition the usual junk-science pantheon of "gunshot analysis, footprint analysis, hair comparison and bite mark comparison" - https://innocenceproject.org/forensic-science-problems-and-s...

Personally, I think one reason we still do this has a lot to do with detective shows being so ridiculously popular that people think that it's some sort of scientific process, when it's not. As a thought experiment, we'd probably have flat-earther-ism be the dominant belief if was like 15/20 broadcast TV shows are dedicated to glorifying flat-earther-ism. This means the most dangerous thing about "Super Resolution" is the public has already been "primed" with cop shows having the "enhance" feature.

michaelpb··on Outrun: Execute local command using processing power of another Linux machine
Nice! This is a little like a one-off High Throughput Computing. Could be useful for both media processing, and also I imagine some stuff with large data sets as well.

A long time ago I contributed to HTCondor, which permits long-running processes to be automatically shuffled between N computers: https://research.cs.wisc.edu/htcondor/

michaelpb··on Launch HN: Navattic (YC W21) – Shareable demos for selling your SaaS product
Awesome! Very cool approach -- I've written a few little scripts that do something similar in fact in terms of serializing the DOM. Feedback:

We are actually working on a SaaS launch right now of a pretty bog-standard app. I was actually sold and ready to use Navattic from the landing page, but I was expecting a pricing model like Cypress.io, so I got some serious sticker shock. I feel your product is 80% of what we need, but we can get to 70% of what we need by just saving a few HTML pages and then using an off-the-shelf open source tour JS script (which is what we did in one case last week, and it took all of like 10 minutes). If we want a 100% interactive experience, it would again be just slightly more dev effort to create a new tenant in our demo database and sending the prospect an onboarding link, then just watching our existing analytics for usage. I guess this is all to say, I'd be okay with paying "pocket change" for a convenient platform with analytics for the same reason I like Cypress -- sure, I can set up an E2E dashboard with off-the-shelf FOSS libraries, but Cypress is more convenient at a reasonable cost -- but not $8k per year.

That said, I could see products with very broken multi-tenancy AND no automated provisioning finding this useful (and with deep pockets). I just wonder if are enough of these to be sustainable, since not only would they have to be broken in this way, but also the "fix" to multi-tenancy or automated provisioning would have to be a worse ROI, since these are typically already on "product roadmaps" anyway. Just my two cents, and I understand you might still be iterating on pricing. Regardless, a really cool product, congrats on the launch!

← PreviousPage 3 of 5Next →