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 internet didn’t kill counterculture – you just won’t find it on Instagram
Right, crowdsourced moderation works for badly done spam, poorly coded bots, etc. It does nothing for pseudo-science, "self-interested proselytizers" or PR teams. I think there's a mentality that if we just "crowdsource" something, somehow the work just goes away. It's a little like hand-waiving "the cloud" or "serverless" -- just because it's not your problem doesn't mean it disappears. It's still work that still needs to be done by somebody

On top of that, moderation of anything sufficiently popular isn't easy -- e.g., dealing with trolls or PR teams targeting a forum can get extremely complicated sussing out who is who and figuring out where to draw the line -- and like many things is inherently subjective, which means it's the last thing you'll want to hand-waive, but is instead integral to whatever is being built.

michaelpb··on Experiment shows why ticket sellers hit you with last-second fees
I mean it's just a tax the business has to pay to the government, calculated based on products sold. Any business could conceivably do something similar with any tax if they wanted, e.g. add a "XYZ fee" that's added at the register to compensate for XYZ tax. (And in fact many businesses in the US do exactly this, listing each tax as an excuse to tack on arbitrary extra hidden fees at check-out!)

I think this also doubles as a political statement. Basically a subtle way to shift "blame" and make consumers feel upset about a tax, and more likely to put pressure on governments to reduce said taxes. Ultimately it's all anti-consumer.

michaelpb··on Launch HN: MindsDB (YC W20) – Machine Learning Inside Your Database
Gotcha, yeah not who were replying too, but I read/skimmed most of your post first thinking was a new DBMS specifically for machine learning (especially given the name), which is a lot less interesting to me and I was about to close the tab. I much prefer the phrasing you used on the GitHub, I think it's more clear: "Predictive AI layer for existing databases"

Anyway, I'm seriously going to look into using this on a product for work, thanks for sharing & your work on this! We are in the process of triaging a few different features for a product in education (can chat more about it if your curious!), including some fairly bog-standard predictive text features. We are also trying to avoid strictly depending on any one proprietary PaaS, so this might just fit the bill!

michaelpb··on Calvin and Hobbes Search Engine
I took this as more as poking fun at Calvin's common theme of superficially imitating "high art", opaque writing styles, and so on, in a very self-aware or cynical way, as a grift, since that's just what Calvin always does -- E.g. in the comics where Calvin sets up a lemonade stand, it superficially imitates a business, but is really just a scam.

An alternative or additional interpretation of his "curmudgeonliness" would be these are intended to tie into his bigger theme of critiquing those who gate-keep "high art". It's been a long time since I read any of these, but I do remember his biggest bone to pick wasn't with abstract art or anything in particular, but with the perception that comics / "graphic novels" could never be considered "high art". So, having his kid scribble some nonsense and call it "high art" is a bit of a middle-finger to art critics who relegate his work to the "funny papers"

As bizarre as this sounds, I actually do think there are legitimate criticisms of the mid-century abstract art movement -- notably, the CIA's involvement. However, that is pretty off-topic here and I highly doubt that Watterson has ever made a reference to this!

Edit: I'm not necessarily even disagreeing you, I think all of this can be true at once

michaelpb··on Svgrepo: Browse SVG vectors and icons
Gotcha! Well, I might feel okay then using these for placeholder, but not for anything serious... while I wait for an Inkscape-integrated clipart revival :)
michaelpb··on Svgrepo: Browse SVG vectors and icons
I was hoping this was a resuscitation of Open Clip Art. I used to use it so much with Inkscape -- rarely I'd use anything as is, but it was great to have a bunch of different shapes at my finger-tips for tracing, rapid prototyping of graphics, etc. Everything was public domain which made licensing a non-issue.

But on the front page: "Most icons and vectors useable for your commercial projects without any royalties" -- This worries me, as it makes it sound like some of these ARE NOT under free licenses, and I'll have to check each one. Is there a "PD only" view?

michaelpb··on Hello system, a FreeBSD-based OS designed to resemble Mac
See, preferring BSD userland would be a rationale I would at least understand, but I didn't find that motivation in the documentation -- at least what I read of it. Instead I just saw a lot of criticisms of user experience and development experience of unrelated graphical (userland) software that are common to all the free desktop OS's.
michaelpb··on Hello system, a FreeBSD-based OS designed to resemble Mac
Sincere question: Why FreeBSD?

I'm not against the choice, and I can imagine some valid reasons to choose it, but in the helloSystem docs I read so far I only found some common criticisms of desktop Linux UI (bloated, unfriendly, disorganized etc). Whether true or not, I really don't see how the kernel choice impacts the graphical experience they are imitating. This seems more of a criticism of distros, poorly followed or non-existent HIG for DEs, or even just the general ad-hoc nature of FOSS projects. That's why I don't see how basing a new free software project on FreeBSD would solve any of that -- it seems completely orthogonal.

I mean, either way it seems they are basing it on KDE, which they could have also built on top of a Linux kernel: https://hellosystem.github.io/docs/developer/architecture.ht...

Also, I get a lot of their criticisms of existing DEs, but it seems they are tossing a lot of work out without a viable replacement with buy-in, e.g. "XDG specifications are considered overly complex but insufficient and should be avoided, but may be acceptable as legacy technology for compatibility reasons". There's plenty of valid criticism of XDG, but until there is any support behind helloSystem, it reminds me a bit of this classic xkcd: https://xkcd.com/927/

All in all I'm actually excited about the project, since regardless of the kernel, I'm sure the DE they are developing will get ports elsewhere (e.g. to mature desktop Linuxes and BSDs), and any effort that helps macOS users jump to FOSS-world is also super appreciated!

michaelpb··on Topology 101: How Mathematicians Study Holes
Judging from the replies you're getting I think "field of research" was an important qualifier hahah
michaelpb··on The unreasonable effectiveness of simple HTML
Agreed, it definitely is limited. Also the admin panel is limited too, and although it's very extendable, the admin extension API is kind of clunky and inconsistent at times. Yeah FastAPI looks great! I've used Sanic in the past and FastAPI seems cool for some of the same reasons. I'm also following closely Django Hotwire - https://hotwire.dev/

I only brought up Django in a narrow context to challenge an assumption made by the post I was replying to, that seemed to imply that JavaScript ecosystem is indisputably the fastest for rapid prototyping. Hence my providing of a counter-example. I think this is especially true for new coders, as having certain things out of the way is super vital to keep motivated when building MVPs -- I've seen many students give up on ideas simply because implementing authentication with a Node.js-based stack was too challenging, when they would have been happily coding away had we been teaching a batteries-included framework (django / rails / etc).

michaelpb··on The unreasonable effectiveness of simple HTML
Maybe I wasn't clear -- What I meant to say is that the curriculum barely covered <a> tags, but instead started just with JS DOM manipulation, which meant students were using document.location on click events since they weren't taught anything else. This isn't a criticism of JS best practices, instead it's a criticism of how it's taught, specifically in this curriculum that's sold as a white-label curriculum and used by MANY bootcamps across the US. It might even be the most popular coding bootcamp curriculum in the country. It's possible they've improved it since I was teaching it, but definitely it was not the case a few years ago!
michaelpb··on Show HN: My multiplayer custom-engine game that loads in less than a second
Looks like a fun io game, congrats! One day i'll have the time to finish one of my games hahah

Also congrats on the fast load time! Slow JS is my biggest peeve about the modern web. My "daily drivers" are all under-powered hardware -- I have not spent more than ~$250 on a computer in like a decade -- which 1) forces me to develop lightweight & quick frontends, and 2) reveals just how awful so many websites are for anyone who isn't using the maxed-out MacBook Pro that the original developer used.

michaelpb··on The unreasonable effectiveness of simple HTML
This is just a personal preference. I would say the same about Python / Django: You get extensible login/signup/password-reset/etc authentication & user-permissions management, and even an admin interface with user groups, right out of the box. I can put together a web app in "60 seconds" that would take weeks to assemble using the JavaScript ecosystem. Having taught classes on both, I'd also say it's also easier for beginners. Again, might be my own bias or other factors, but it seemed to me that the Python/Django student's final projects have on average "out-shown" the JavaScript SPA student's final projects in terms of features that they had time to complete.

This isn't to hate on JS, this is just to acknowledge that other languages and frameworks have substantial advantages in many use-cases.

michaelpb··on The unreasonable effectiveness of simple HTML
A few years ago when teaching at a previous coding bootcamp that started with FE JavaScript, I remember my surprise when well-performing students got through 3 months or so of it and were confused and very impressed when I showed them how an <a> tag worked, since they had only been aware of (jQuery) JavaScript powered pages. When you are stuck just doing JS powered SPAs, an <a> tag seems like advanced technology!

I ended up at a new school creating a new curriculum. This approach is where we "recapitulate the evolution of the web", so we start with SSGs & server-side programming (Python/Django), then only at the end cover SPAs and React.JS -- since, as you mentioned, that's still the main skillset that companies are new devs for.

michaelpb··on Amazon permanently shuts down Prime Pantry
Yup, and often those tempting bulk discounts, if calculated, only end up saving a few cents or a dollar or something, so the trade off becomes -- Do you want to be payed 50 cents to store extra supplies at your house? Sometimes that's a good trade-off, but often it isn't.

Bulk-buying mentality is so prevalent in the US, it can sometimes be hard to avoid, and I think US urban planning has a lot to do with it as well - e.g. in many cities I've lived in the US, it would take longer to walk to my car than to walk to a grocery store when I was living outside the US, so you get trained to focus on economizing trips.

michaelpb··on Amazon permanently shuts down Prime Pantry
Ahahah, well for at least a year now they had dropped the whole box filling aspects, which made it more or less identical to shopping for anything else. Honestly the only difference then is how it was shipped and what items were available.

That said, I do miss the "Buy 6 items in this category for $6 off" discounts, especially the few times that there were items for less than a dollar in that category. A couple years back I scored absurd amount of Spaghetti Os this way, paying effectively negative money. The only downside is I ended up with a lot of Spaghetti Os :'(

michaelpb··on I made Deskreen, open source app to make any device a second screen for computer
I guess it truly does come down to preference and perception, as looking over that link you provided I actually had the opposite reaction!

I prefer the DOM API in each example, save for examples that are clearly out of date to support old versions of IE without a polyfill (e.g. all the AJAX examples at the top can use fetch, other can use Object.assign, no use of the iterator interface anywhere, etc)

michaelpb··on I made Deskreen, open source app to make any device a second screen for computer
Personally, I find it miles behind the modern native DOM API, which is what I prefer now, but I guess to each their own!

(And I'm not even against jQuery, I used it extensively mid-2000s-2010s, including on fairly large SPAs, and even taught a class with it for a little under 2 years, but again, to each their own)

michaelpb··on I made Deskreen, open source app to make any device a second screen for computer
Gotcha! Thanks for the reply, and thanks again for the project.

> So for each os there should be a separate module, basically 3 different projects that then can be used as native modules for Deskreen.

I hope more folks contribute to improving each of the different modules. I personally would dive in to work on improving Linux support if I had time, but I'm already very stretched thin, so that will have to wait.

michaelpb··on I made Deskreen, open source app to make any device a second screen for computer
Yes, and the main historical reasons people used jQuery was for smoothing over browser discrepancies and using CSS selectors in JS, but with IE9 we have `querySelectorAll` which made what was jQuery's biggest selling point for many, standard to vanilla JS.

I also find it more confusing to teach to beginners than equivalent vanilla JS, and easier to make performance-hurting mistakes.

michaelpb··on MuseScore 3.6
I'm actually a little foggy on this -- is this completely unrelated to the free software MusE DAW (https://github.com/muse-sequencer/muse), that also includes a sheet music editor as well?

I'm happy to see that the MusE DAW seems also to have resumed development after a very long hiatus / dry-spell. While not as feature-filled in most respects as bigger free software DAWs like Ardour, it has a more conventional piano roll interface with a few QoL features, which is why I preferred it for some time before switching to Ardour and getting over Ardour's sub-standard piano-roll.

michaelpb··on I made Deskreen, open source app to make any device a second screen for computer
Is there no way to do this without a physical plug? I think there's a way to make dummy X.org display devices without any extra physical hardware -- I've definitely done similar stuff when setting up headless automated E2E testing, before tools for this were widely available. Is the hard part connecting it to an existing session as a display? Or is it that cross-platform compatibility is what's holding it back, since perhaps there is no equivalent for people running a macOS or Windows based OS?

All that said, this looks super cool! Congrats and thanks for sharing! I'm tempted to give it a shot. My current set-up is similar except I use Barrier to share my mouse and keyboard across 4 cheap (<$200) laptops I've accumulated over the last few years.

michaelpb··on 'Rent-a-person who does nothing' in Tokyo receives endless requests, gratitude
I don't know if there exists a cafe with a "sibling theme", but café con piernas is pretty similar in the other respects. There are a variety of different establishments where clientele are served coffee and pastries by women in revealing outfits, ranging from traditional outfits in short-skirts, to much more revealing costumes (often with partial nudity). All I was saying is that businesses that follow the model of "cafe, but also sex work" are world-wide, not just Japan and the US.
michaelpb··on Show HN: Forgo.js – a 4kb React alternative based on plain JS and DOM APIs
Yeah, even with large-ish projects, just by refactoring some of your state manipulation into separate libraries that you manually hook into your top-level components, you can get by quite fine without a whiff of Redux.

That said, this is a cool framework, congrats on completing it! I'm also working on a minimalist React-ish framework though in a very different approach.

michaelpb··on 'Rent-a-person who does nothing' in Tokyo receives endless requests, gratitude
That's not true. Cafes that cater to lonely straight men or misogynistic businessmen exist worldwide.

Just one example: All the different "café con piernas" cafes in Chile, which are very similar to Japanese maid cafes.

michaelpb··on Who Invented the Alphabet?
Huh, not sure what podcasts you listen to, as I only know him in the context of podcasts by historians that debunk pseudo-history.

He's definitely in the "crackpot" camp. Being generous, I'd say he carefully walks a tightrope between "ancient aliens" and real history. My impression is he does the former for $$$ (e.g. he's a co-author of "Lost Secrets of the Gods: [..] Ancient Astronauts" that makes extremely absurd claims to put it mildly), and as soon as he is critiqued by actual experts, he starts wildly walking back his claims or insist that he was misinterpreted or whatever to save face.

michaelpb··on Using GNU Stow to manage your dotfiles (2012)
That's what I do too. I even made a little Stow-inspired tool to help me, called "stowage", if you are curious: https://github.com/michaelpb/stowage
michaelpb··on Show HN: Pop.com – Video Calls, in 3D
And pop.com would be in the high end of that would be my guess, given it's better that most 3 letter domains as it spells a very marketing-friendly word
michaelpb··on Show HN: Pop.com – Video Calls, in 3D
Yeah, I'm incredibly curious as well! I think it's a very cool project, but ball-parking development costs, my guess is the domain probably cost more than the product itself, assuming they didn't go down NIH-type rabbit holes.

Edit: And to be clear, I'm not even necessarily knocking that decision. Maybe an expensive TLD could make life easier for a project like this, since it could promote trust / buy-in, increasing usage at an early stage. ¯\_(ツ)_/¯

michaelpb··on Neverware is now part of Google
Reminds me of 15 years ago, when I used Slax in a similar way. Glad to see the project still exists: https://www.slax.org/
← PreviousPage 4 of 5Next →