[-] swordsmanluke@programming.dev 72 points 5 months ago

Have you ever been in an old house? Not old, like, on the Historic Register, well-preserved, rich bastard "old house". Just a house that has been around awhile. A place that has seen a lot of living.

You'll find light switches that don't connect to anything; artwork hiding holes in the walls; sometimes walls have been added or removed and the floors no longer match.

Any construction that gets used, must change as needs change. Be it a house or a city or a program, these evolutions of need inevitably introduce complexity and flaws that are large enough to annoy, but small enough to ignore. Over time those issues accumulate until they reach a crisis point. Houses get remodeled or torn down, cities build or remove highways, and programs get refactored or replaced.

You can and should design for change, within reason, because all successful programs will need to change in ways you cannot predict. But the fact that a system eventually becomes complex and flawed is not due to engineering failures - it is inherent in the nature of changing systems.

[-] swordsmanluke@programming.dev 37 points 5 months ago

Oh, for sure. I focused on ML in college. My first job was actually coding self-driving vehicles for open-pit copper mining operations! (I taught gigantic earth tillers to execute 3-point turns.)

I'm not in that space anymore, but I do get how LLMs work. Philosophically, I'm inclined to believe that the statistical model encoded in an LLM does model a sort of intelligence. Certainly not consciousness - LLMs don't have any mechanism I'd accept as agency or any sort of internal "mind" state. But I also think that the common description of "supercharged autocorrect" is overreductive. Useful as rhetorical counter to the hype cycle, but just as misleading in its own way.

I've been playing with chatbots of varying complexity since the 1990s. LLMs are frankly a quantum leap forward. Even GPT-2 was pretty much useless compared to modern models.

All that said... All these models are trained on the best - but mostly worst - data the world has to offer... And if you average a handful of textbooks with an internet-full of self-confident blowhards (like me) - it's not too surprising that today's LLMs are all... kinda mid compared to an actual human.

But if you compare the performance of an LLM to the state of the art in natural language comprehension and response... It's not even close. Going from a suite of single-focus programs, each using keyword recognition and word stem-based parsing to guess what the user wants (Try asking Alexa to "Play 'Records' by Weezer" sometime - it can't because of the keyword collision), to a single program that can respond intelligibly to pretty much any statement, with a limited - but nonzero - chance of getting things right...

This tech is raw and not really production ready, but I'm using a few LLMs in different contexts as assistants... And they work great.

Even though LLMs are not a good replacement for actual human skill - they're fucking awesome. 😅

[-] swordsmanluke@programming.dev 181 points 5 months ago

What I think is amazing about LLMs is that they are smart enough to be tricked. You can't talk your way around a password prompt. You either know the password or you don't.

But LLMs have enough of something intelligence-like that a moderately clever human can talk them into doing pretty much anything.

That's a wild advancement in artificial intelligence. Something that a human can trick, with nothing more than natural language!

Now... Whether you ought to hand control of your platform over to a mathematical average of internet dialog... That's another question.

[-] swordsmanluke@programming.dev 37 points 7 months ago

Compilers are a specialized topic - and syntax design is fiddly - but it really is no harder than any other sort of program. A lot of the hard theoretical work was done back in the sixties and seventies. You don't have to start from scratch. These days it's "only" a matter of implementing the features you want and making sure your syntax doesn't leave itself open to multiple interpretations. (just as arithmetic, e.g. '5 × 4 - 1' requires some rules to make sure there's only one correct interpretation, so do language syntaxes need to be unambiguous to parse. )

Don't get me wrong - writing a language is a lot of work and it's super cool that OP has done this! I just want to stress that language development is 100% doable with an undergrad degree. If you understand recursion and how to parse a string you already have all the theory you need to get started.

[-] swordsmanluke@programming.dev 35 points 8 months ago

I never felt my hand break.

The tip of my opponent's long sword snapped into the back of my right hand, just behind the pinkie. There was no flash of incandescent pain, no stars in my sight - my mind was too focused on the swordfight. My opponent had scored a hit - and it had hurt, even through my glove - but adrenaline, as they say, is a hell of a drug.

After the tournament, it became clear that something was wrong. My hand began to swell and deform, my right pinkie levering itself inward across my palm until it was sitting at nearly 30° off true. Its nail sat jauntily behind the second knuckle of my middle finger. Making a fist was impossible.

Unfortunately, I was nineteen and had neither cash nor insurance for a doctor. So I did the next best thing - ignored it and told people it was probably just a bad sprain. When people suggested I see a doctor i responded, "What's a doctor gonna do? Tell me it's broken and take it easy? I'll save the money."

After a few weeks the swelling had gone down enough that I could finally feel the bones in my hand. Where there had once been a single line from wrist to knuckle, I could now feel an 'x'. An 'x' which had clearly spent the last few weeks knitting together at a now permanent bad angle.

It occurred to me then what a doctor would do - set it properly. But now they'd need to re-break the bone.

Unfortunately I still had neither insurance nor cash.

What I did have was a freezer full of popsicles and a small toolbox. I ate a popsicle. And then put the stick between my teeth as I braced my right hand on the table and raised a hammer in my left.

WHAM ... WHAM!

I hauled on my pinkie to pull the now-separated bones out straight then massaged them into position until things felt roughly aligned properly.

... Many years later I had health insurance and told my doctor this story and asked if he could x-ray it for me. A week later I received a letter in the mail. Inside was a printout of my hand x-ray with the healed break circled in pen. Besides the circle was a note: "Good job with the hammer".

All things considered I did a pretty good job, but it's not quite perfect. My pinkie still leans inward - just a hair. Just enough to remind me.

42

I've interviewed for and been interviewed by companies large and small. We all know software engineer job interviews suck. But it's hard on the other side of the table too.

One of the better places I worked for had a lightweight process of one phone screen and a four hour on-site. The company also prepared offers before the on-site interview round.

When you finished interviewing, you got a same-day yes or no answer, and if it was yes, you had the offer in your inbox within an hour.

What interview practices have you found effective?

... And by what metric?

[-] swordsmanluke@programming.dev 42 points 9 months ago

I'm pretty pragmatic. While I appreciate what Valve has done for PC gaming, I like the idea of them having some legit competition in the space. So when the Epic store started, I bought a bunch of games there to give it a shot. Outer Worlds, Control... And of course I grabbed up a bunch of free games, too!

...and then, over time, I've repurchased all of the games I liked on steam anyway.

Make of that what you will.

[-] swordsmanluke@programming.dev 102 points 11 months ago

I'm a sword guy. I spent over a decade training in historical swordsmanship (mostly European longsword - a mix of Fiore and Lichtenaur; but also a little kenjutsu).

There are so many bad takes about swords out there, but I think my personal "favorites" are about the folded steel technique used to forge katana.

See, to make a good sword, you need good steel which is iron + carbon. More carbon = harder steel. Harder steel is better for holding an edge, but also less flexible and more likely to shatter. All swords, European, Japanese or otherwise had to balance those concerns.

Anyway, in Japan, their katana forging technique used steel with slightly differing carbon amounts wrapped in layers in the blade. This layering had a couple of important metallurgical effects:

  1. It gave the core steel a more consistent quality. Since the method they had of producing steel contained varying levels of carbon, the repeated layering, folding, heating and hammering evened it out.

  2. The layering also increased the strength of the steel. By adding layers of high and low carbon steel, the sword smiths could control the flexibility vs strength of the core.

Ok, so without getting too deep in the weeds, that's (basically speaking) why katana were made of folded steel.

But I have been "informed" by so many people that folded steel:

  • Creates an edge like a thousand razor blades!
  • Makes katana stronger than modern steel!
  • Makes katana stronger than European swords! (steel-wise, it's a wash, though later blade geometry techniques like fullers arguably give European swords the - ha - edge in durability.)

In summary: katana are great - but not magic! The folded steel technique enabled forging swords of high-quality, consistent steel at a time when that was really hard to do. But that's it.

/self looks at rant

Uh... Thank you for coming to my TED Talk.

85

[-] swordsmanluke@programming.dev 35 points 1 year ago

Yup. His movie motivation was dumbed down. The whole resources thing is stupid for exactly this reason.

In the comics, Thanos became infatuated with the Marvel Universe incarnation of Death. ...And naturally he figured that if he killed half the universe at once, he'd get her attention. (cause girls love it when a boy makes a huge amount of work for them...)

Anyway, his plan was still moronic, but "manchild does stupid thing to impress girl" is a classic for a reason.

[-] swordsmanluke@programming.dev 41 points 1 year ago* (last edited 1 year ago)

Rogue: deviant from the norm.

Rouge: a shade of red.

If your pee is rouge when you stand, you need to see your doctor.

[-] swordsmanluke@programming.dev 36 points 1 year ago

I wouldn't say they're a scam! They are submitting your name automatically to everyone at once - or at least everyone who follows the law.

It's just not a long-term solution. Data Brokers are incredibly incestuous. Any data that one owns will find its way back into all the others.

If you want to try to clean up as much as possible, unsubscribe from as much as you can. Close every account that you reasonably can.

Then setup a monthly reminder to ask incogni (or similar) to nuke your data from the web. It'll work, just not forever.

It's going to be an eternal effort against a constant tide.

[-] swordsmanluke@programming.dev 74 points 1 year ago

It is virtually impossible to remove yourself from advertiser's rolls.

Thanks to the new CPRA regulation, you can ask companies to delete everything they know about you. Great!

Except that the way the law is written, that often includes deleting the fact that you asked to have your data removed. So the next time they get your data from a broker, (or the next time a broker gets your data), you're right back at square one.

In theory, if you managed to send simultaneous requests to every company that's holding your data, you could wipe the slate clean...until the next time you used a website.

There are so many data sets out there that we are all a part of. And if your data is in just a single one that didn't get wiped, everyone will end up with it again as a matter of course.

[-] swordsmanluke@programming.dev 38 points 1 year ago

May I introduce you to the Gemini project?

It's a new(ish) protocol for sharing interlinked text documents. It's intended to sit between Gopher and HTML in terms of complexity and is deliberately, aggressively simple (some might even say crippled) with the intention that it will be nearly impossible to extend the protocol for surveillance capitalism. It's not trying to replace ye olde WWW, but to provide a human-focused place for text-first, 90's-style sites to live. ...just without the blink tags.

view more: next ›

swordsmanluke

joined 1 year ago