@isntitvacant@hachyderm.io
@isntitvacant@hachyderm.io avatar

isntitvacant

@isntitvacant@hachyderm.io

current principal eng at dylibso; former Node.js TSC & NPM registry eng / systems eng (❤️ rust, bash, js, tf) / sometimes illustrator / pets cats; pronouns he/him

This profile is from a federated server and may be incomplete. Browse more on the original instance.

zkat, to random

Thanks to @isntitvacant, now has a logo! and it's really cool! Thanks everyone for voting on it, and thanks to everyone who made submissions with their ideas!

I've added this logo to the site/favicon/readme/etc. I'm really stoked about it, I love it sm.

isntitvacant,
@isntitvacant@hachyderm.io avatar

@zkat yay! I'm really glad you like it! 🎉

fasterthanlime, to random
@fasterthanlime@hachyderm.io avatar

Let’s make a bingo card: one space has « still using the billing system first written by the CEO in Perl »

isntitvacant,
@isntitvacant@hachyderm.io avatar

@janl @fasterthanlime I have fond memories of refactoring the PHP billing system at my first startup job in ~'07-08 (where we did custom printing on promotional products)

it turns out that – eveeeery so often, but with increasing frequency – we'd charge customers less than the product cost us to make

(and so, when the financial crisis hit...)

isntitvacant, to random
@isntitvacant@hachyderm.io avatar

WHEW so this took a while to write.

I went to go explain why WASM might succeed at JVM's goal of "write once, run anywhere" and found that I ... really needed to define my terms better.

So, here's the first part of a series on understanding : virtualization.

https://www.neversaw.us/2023/05/10/understanding-wasm/part1/virtualization/

(Get excited for the part where I find a paper from 1978 that validates my mental framework!)

isntitvacant, to random
@isntitvacant@hachyderm.io avatar

re last RT about TypeScript:

https://kolektiva.social/@alan/110338699969997581

is a fantastic analogy: if I’m in an all-JS env with multiple programmers, yeah, I’d eventually bake the JS clay into TS bricks. But when I’m starting out in the problem space, I want to work with clay and find the edges first, before committing to types & compilation.

(though honestly? if I had my druthers, I’d bake the clay into rust or golang once I had the shape of the thing. this isn’t always a viable solution, though!)

isntitvacant,
@isntitvacant@hachyderm.io avatar

@thisismissem I think my gripe stems from an experience I had on a platform team, where a separate team adopted TypeScript. The platform tools – which did a lot of scaffolding – all assumed JS, & some of the patterns were hard-or-impossible to capture in TS type defs.

This required a rapid rewrite of the tools to TS so they could generate both JS and TS. While it was worth it to support the team, I wasn't super impressed with the quality of TS's type checks or configuration.

isntitvacant,
@isntitvacant@hachyderm.io avatar

@thisismissem Yeah, that's the thing – TS makes a value decision up front about whether existing code is good or not. I'd argue that, in this case, the varargs were warranted (for middleware & route configuration), but TS took a position on an API that was a fixed point that I was not in a position to change.

That, combined with adding a compilation step (& which surfaced which variant of JS to lower to, yikes), and the kinds of type errors it was okay with just kind of soured me on the tool.

janl, to random
@janl@narrativ.es avatar

Hate to be agreeing with dh-h, but JS is fun and TS is a chore. Sure you can build more reliable software with TS, but few languages beat JS at that most enjoyable malleable exploratory stage where you mostly just write down what’s in your head, then find patterns of abstraction and reshuffle things until you have a proper software. Then you can sprinkle types on top.

isntitvacant,
@isntitvacant@hachyderm.io avatar

@janl this, this, this. JS has always made the most sense for me as the “loosey-goosey help-me-model-a-problem-area” language in my tool belt; increasing the formalism tends to move it into “bad typed language” territory for me

(that is: it adds all of the work of dealing with types and compilation, for much less actual safety or speed than a typed, compiled language)

isntitvacant, to random
@isntitvacant@hachyderm.io avatar

wow, apparently "unsigned" was added to C as part of the UNIX portability effort

before "unsigned" existed, folks would just type-pun "char*" pointers to get unsigned int behavior, because the two things had the same properties on the pdp-11

isntitvacant, to random
@isntitvacant@hachyderm.io avatar

TBH, I'm not sold on the Mastodon approach.

Moderation is, as you know, the actual hard part about social networks, not the technology. Initially, Mastodon seemed like a throwback to BBSes/forums – intentionally-run communities. So on the face of it, saying "subscribe to the instance whose moderation values align with your own!" made some sense (nevermind how difficult those values are to evaluate up-front; esp "stated" vs "lived" values.)

But. It's way more porous than that.

bitprophet, to random
@bitprophet@social.coop avatar

Experimenting with 'overnight oats'. It kinda works, even with just water (which is also how I cook it normally - do people really put milk in regular oatmeal?).

Using my normal oat, ”quick cook steel cut”, which seems like it's basically just finely-cut steel-cut, no steaming/rolling like rolled oats; so should still be about as healthy as you can get from oats.

Could be a nice way to keep eating healthy even on rushed mornings when I'd otherwise reach for bread or breakfast bars.

isntitvacant,
@isntitvacant@hachyderm.io avatar

@bitprophet I’ve usually done overnight oats in oat milk. That said, I also find oatmeal with milk, half and half, or heavy cream delicious! (I tend to stir it in towards the very end of cooking it in water, though.)

isntitvacant, to random
@isntitvacant@hachyderm.io avatar

Yanno, I begin to suspect "virtual machine" might have a bit of polysemy

like, how I could point at a mallard in a lake and say "duck" while you throw a pie at my face, yelling "yeah, duck"

isntitvacant,
@isntitvacant@hachyderm.io avatar

that is, there's sort of a platonic virtual machine – wasm's virtual isa, the jvm spec, llvm's ir

and then there's concrete virtual machines – which might be split into system vms (hypervisors, "real fake hardware") and process vms (qemu, v8, spidermonkey, the oracle jvm, interpreters, et al)

and process vms might be split into those which virtualize one or more isa/abi/os tuples (qemu, virtualbox, "real fake hardware" as a process), or another machine (python, java, js, wasm)

isntitvacant, to random
@isntitvacant@hachyderm.io avatar

But, rest assured, this is the sixth time I have rewritten this blog post, and I have become exceedingly inefficient at it.

isntitvacant,
@isntitvacant@hachyderm.io avatar

OK. I have the outline for the 7th draft. The good news is I think I have the concepts straight in my head enough to explain them succinctly to others now.

isntitvacant,
@isntitvacant@hachyderm.io avatar

I have my final draft but now I’m staring at it and thinking “either everyone knows this already / maybe I’m way off the mark”.

so of course it’s time to put it down for the evening and think about illustrating it tomorrow, lol

isntitvacant,
@isntitvacant@hachyderm.io avatar

@est not yet — I’m in a cycle of “oh, I’ll clean it up before handing it to someone” and then I go find something new out in the midst of reworking a paragraph 😅

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines