swordsmanluke

@swordsmanluke@programming.dev
1 Post – 269 Comments
Joined 12 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.

60 more...

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.

9 more...

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.

4 more...

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.

12 more...

Growing up deep in the dusty heart of the American West, I lived far from the conveniences and attractions of city life. But once in a blue moon, my parents would take my siblings and I to enjoy the rides at the park in The City.

Despite being the region's commercial hub, The City was small - barely 50,000 souls - yet it contained a park with mechanical rides. It was less a theme park and more a clamorous set of decrepit carnival rides that had been once erected and never removed. Naturally, the rides at the park were a favorite birthday treat.

The years passed and I traded the wide open spaces for a major metropolis, but I never forgot that little park and its rides.

...And so it was not until my thirty-third year that I realized the many signs upon our nation's freeways were advertising commuter parking lots - and not a local "Park and Ride".

3 more...

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.

3 more...

Rogue: deviant from the norm.

Rouge: a shade of red.

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

3 more...

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.

1 more...

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. 😅

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.

1 more...

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.

3 more...

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.

1 more...

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.

RSS is an aggregation protocol that is

  • distributed
  • pull-oriented
  • self-curated

This is in contrast to reddit, digg, lemmy, or other aggregator services which are

  • centralized (even if federated)
  • push-oriented
  • public input w/ moderator curation

Each of these decisions has tradeoffs.

I've been at places where the corporate policies were just buzzword doublespeak and they are a waste of time. Everyone knows it's bullshit.

I've also been at exactly one place where the leadership team gave serious thought to what their goals were for the organization. Then they wrote down a set of goals that were

  • simple
  • coherent
  • actionable And that actually made it easier to do our jobs. When we had to make a decision, we could actually refer to these principles and use them.

It was crazy helpful!

...And then they hired a fuckton of Ex-Amazon managers into high-level roles and they promptly drove away all the best people and replaced the helpful principles with Amazon's work-or-die philosophy. So I bailed. 😭

2 more...

I know a guy who grew up occasionally homeless. He has ended up as a well paid tech manager and his approach is that his family can usually just afford the things they want, so instead of buying stress gifts the last month of each year, his family picks a charitable cause to donate time and money to instead.

They've bought goats for third world families; paid for education, transportation and home construction; fed hungry and clothed the naked.

He's a cool guy.

You cannot step into the same river twice - Heraclitus, ~550 BC

We are all a series of continuous evolution, alteration and change. "I" am not the same person who began this sentence. The idea that "I" cease to exist overnight and begin anew in the morning is meaningless. There is no one version of me. I live - and to live is to change!

Though they are often synonyms, simple != easy.

Simple is uncomplicated.

Easy is unchallenging.

Super Mario Bros. is a simple game, but not necessarily an easy one.

My then girlfriend was spending a summer in Portland. Just before she left, she handed me a box of about twenty hardback novels all by the same author, one Sir Terry Pratchett.

A couple days after she'd flown out, I grabbed a random book from the pile and began reading. By the time she returned, I'd read the entire box.

So I married her. 😁

5 more...

Most beasts under 80 lbs. Over 80 lbs, it's gonna be on a case by case basis. 90 lb sloth, no problem. 81 lb wolf, ...problem.

The biggest animal I feel confident in is an 800 lb human. Huge, but that fucker's gonna be exhausted ten seconds into the fight.

3 more...

Argh. I hate that argument.

Yes - "Rewriting history" is a Bad Thing - but o argue that's only on 'main' (or other shared branches). You should (IMHO) absolutely rewrite your local history pre-push for exactly the reasons you state.

If you rewrite main's history and force your changes everybody else is gonna have conflicts. Also - history is important for certain debugging and investigation. Don't be that guy.

Before you push though... rebasing your work to be easily digestible and have a single(ish) focus per commit is so helpful.

  • review is easier since concerns aren't mixed
  • If a commit needs to be reverted it limits the collateral damage
  • history is easier to follow because the commits tell a story

I use a stacked commit tool to help automate rebasing on upstream commits, but you can do it all with git pretty easily.

Anyway. Good on you; Keep the faith; etc etc. :)

I'm the oldest of a big (real big. Crazy big) family.

I don't get along with all of my siblings, but more in a "we don't hang out" kinda way, not a "please die in a fire" way.

Our family reunions are the stuff of legend. Days of hanging out; taking turns cooking meals for an army; hours spent swapping stories and just enjoying hanging out together.

My best friend in the world is one of my brothers. I could spend years just hanging out with him. (I mean, we did, growing up, but I'm still not sick of it.)

My siblings and I don't see eye to eye on everything. We all have gone down different life paths as the years have gone by. Some of us are very liberal and some are very conservative. Some of us live in major cities, others in the heart of the country. Some are atheists and some are devout.

We aren't perfect. There have been cruel words spoken, tears shed. I've broken up fistfights (...and been in a couple myself).

Growing up, my mother taught us how to talk things through. How to start from a fight and finish as friends. She set us an amazing example that I am trying to teach to my own children.

My family is one of the best things in my life. I love my siblings and my parents. I know not everyone gets a happy family. My wife really didn't. I'm not sharing this to brag. I just want to say that... It's out there. A family that loves each other and largely gets along is possible. I don't know if we're a fluke of nature or a miracle of nurture.

But next year is our family reunion. And I can't wait.

Fascinating.

I'm a minor programming language nerd. While I'd never recommend writing an in house language - I can see the appeal for me personally.

What were the languages like? OOP? FP? ...Logic?

Why'd they build 2 languages?

This seems so wild to me - sorry if I'm prying.

1 more...

All things Deus Ex Machina. I get it, endings are hard. Climaxes are hard to write. But the payoff feels cheap as hell when your protagonist just "digs a little deeper" and suddenly finds just enough power to save the day. When it comes out of nowhere, it feels unearned by the hero and is not only unsatisfying, it's also a good way to give you hero power creep until there's nothing on earth that can believably challenge them. See: Superman.

4 more...

Programming success is more closely associated with language skills than math skills.

Yes, if you need to invent a new algorithm you'll need math. Computer Science is definitely mathematics heavy.

But writing a program is all about expressing your intent in a programming language, step by step. It's about "communicating" with the machine (and your users).

All this to say, I got C- and D grades in my math courses in college and still became a successful computer programmer. I'm not pushing the boundaries of computation, but if you need an app for your business, I can build that for you in a reliable, tested, and flexible manner.

Edit: Also! I love Common LISP. It's such an amazing language and I'm so sad that it isn't more popular in the industry.

As others have mentioned, it's not quite that simple.

For starters, you can absolutely remove the word "fuck" from all the training data. Now it's literally impossible for the AI to "know" the word. But what do you do with the training data? Do you replace "fuck" with a different token? "****" perhaps? Or do you just drop the data entirely?

Giving "offense" is much more complex than just a single word. See, if we just replace the token, the AI may still decide that "Go **** yourself" is a perfectly valid response to a query. On the other hand, if you drop all instances of "fuck"from the data, your AI will just learn offensive euphemisms instead: "You can shove your request where the sun don't shine"

Worse, there are plenty of sexual / offensive phrases that are built up from perfectly innocuous tokens. "Prone bone", for instance.

The goal with these (and really almost all) AI models is for them to be "helpful, honest, and harmless". Simply alerting or replacing a single token (or even combination of tokens) doesn't really help, because the AI is modeling concepts, not just individual words.

All of this to say that the problem being solved is not to stop an AI from saying "fuck" - it's to build an AI that doesn't want to.

Fact: Swords are easy - the pointy bit goes in the other guy.

1 more...

So, I was curious and decided to look it up. Turns out most flying insects are dependent on air temperature! As long as the air is above about 50F, they can fly in it.

So... If the top of your screen is high enough that it's less than fifty up there, you're good! 😄

1 more...

To be horribly pedantic... Not necessarily!

It could be Apple users -> Windows users -> Linux users -- with larger numbers of Apple -> Windows conversions than Windows -> Linux conversions...

You know.

Maybe.

AI is a forever-in-the-future technology. When I was in school, fuzzy logic controllers were an active area of "AI" research. Now they are everywhere and you'd be laughed at for calling them AI.

The thing is, as soon as AI researchers solve a problem, that solution no longer counts as AI. Somehow it's suddenly statistics or "just if-then statements", as though using those techniques makes something not artificial intelligence.

For context, I'm of the opinion that my washing machine - which uses sensors and fuzzy logic to determine when to shut off - is a robot containing AI. It contains sensors, makes judgements based on its understanding of "the world" and then takes actions to achieve its goals. Insofar as it can "want" anything, it wants to separate the small masses from the large masses inside itself and does its best to make that happen. As tech goes, it's not sexy, it's very single purpose and I'm not really worried that it's gonna go rogue.

We are surrounded by (boring) robots all day long. Robots that help us control our cars and do our laundry. Not to mention all the intelligent, disembodied agents that do things like organize our email, play games with us, and make trillions of little decisions that affect our lives in ways large and small.

Somehow, though, once the mystery has yielded to math, society doesn't believe these decision-making machines are AI any longer.

So... unlike Stable Diffusion or LLMs, the point of this research isn't actually to generate a direct analog to the input, in this case video games. It's testing to see if a generative model can encode the concepts of an interactive environment.

Games in general have long been used in AI research because they are models of some aspect of reality. In this case, the researchers want to see if a generative AI can learn to predict the environment just by watching things happen. You know, like real brains do.

E.g. can we train something that learns the rules of reality just by watching video combined with "input signals". If so, it opens up whole new methods for training robots to interact with the real world.

That's why this is newsworthy beyond just "AI Buzz" cycle.

Mathollomew

It's a little bit of both.

Iirc, Japanese iron was usually in sand form, gathered, rather than mined. So the raw material was smaller and contained less natural carbon than mined ore.

(Though nobody had near the advantage of Indian steel from the Damasc region - Damascus steel naturally had more carbon in their iron and it made for very high quality steel at the time.)

Anyway, at that time Europe had similar techniques for making iron into steel and normalizing the carbon. They would use more resource-intensive techniques, like stacking rods of wrought iron in a furnace with charcoal, then working the carbon-infused rods to distribute the carbon evenly.

That works great when you have access to millions of square miles of forest (for charcoal) and loads of iron ore.

But it's not really about whose steel was "the best", it's just that the "folding" technique was a metallurgical process and had no impact on the quality of the sword (except insofar as it was turning iron into steel).

I was raised LDS and while I no longer practice any religion I still think the Mormon concept of heaven is an interesting one.

(Imma skip some of the finer details here for clarity - but I'm happy to explain further if anybody has questions.)

Mormons believe that (almost) everyone goes to heaven - eventually. Upon death, evil people go to Hell until they repent their sins. After truly repenting and recanting their hateful ways, their soul ascends to heaven. The LDS concept of Hell isn't one of physical tortures - Hell is simply a perfect understanding of your sins - your own shame and regret, from truly understanding the pain you inflicted upon your spiritual siblings.

So ol' Adolf would be left to stew in a celestial timeout, alone with the weight of his sins - from every petty insult to the pain of every child slaughtered by his command. Damned to remain there until he is truly, utterly sorry. Not the false sorrow seeking to relieve the pain of a guilty conscience, but the harrowing sorrow that comes only with the true recognition of one's own responsibility and the willingness to do anything required to make amends and never sin again.

Any Hitler who emerged from Mormon Hell would be a very different person from the one who went in.

[Digression: regarding "almost" everyone going to heaven - if you want to be truly eternally damned in Mormon theology you have to follow a simple, two step process.

  1. Have a "perfect knowledge" of God - e.g. meet Him face-to-face.
  2. Act against Him anyway.

Mostly it's Lucifer and his minions that qualify. Maybe Judas Iscariot too. Such souls are damned to "Outer Darkness" from which there is no release. Still not a place of fire and brimstone though.]

2 more...

Man, I don't know why a random Rick Astley song replaced goatse, but I am so glad it did.

I loved the original back in the 90s. But hooboy, playing it now feels rough. Mouse look hadn't been invented yet (or at least, not popularized) and UI experimentation was still a thing. Remember, the OG System Shock released only a year after Doom (in which moving the mouse "up" moved your character forward.)

I love this reboot. It keeps so much of what made the original great and sands off a lot of the rough edges. I wish they'd made inventory management a little less clunky (it's a little too true to the original there), but that's really my only complaint.

If you like immersive sim games like Deus Ex or Dishonored, I highly recommend it.

As far as we're concerned, yes. It literally would travel at the speed of light. But since the light from the momentarily-ago-normal universe would be traveling just ahead of it... Everything would look normal until it collapsed

Oh man, story time!

I like to stab people competitively. One of the risks you run is that they stab you back.

About 20 years ago now I was sparring with a pal of mine. We were using shinai - a Japanese sparring sword made of four slats of bamboo lashed together with leather. My pal drew back for a pull thrust and I deflected it with a move where I stepped back and lifted my blade to direct the thrust above my head.

... Only I forgot to step back. Instead of redirecting the thrust harmlessly above myself, I brought the tip of his shinai directly into my right eye. (Stupidly, I wasn't wearing any protective gear.) The inch-wide tip smashed my eye down and collided with the back of my eye socket.

I hit the ground, blind, weeping blood and in the most pain I've ever experienced.

Fortunately, I kept the eye.... but I was seeing triple due to the swelling in my socket. So I bought an eye patch and wore it until I healed.

During my convalescence I happened to have a really shitty day. It was a cold winter day and I was running late to work. My car ran out of gas a mile short. I had to run the last mile in the cold and wet, already late and getting more frustrated every moment.

By the time I reached the parking lot for my shitty retail job, I was in a foul mood.

... Now at this point in my life I wore a frankly excessive amount of black leather. Black leather boots. Black leather jacket. Black leather gloves. My pants were black too, but they were at least denim.

So imagine if you will - a six foot tall man, wearing all black leather and an eyepatch, stalking angrily across the parking lot with a baleful expression.

People were getting the fuck outta my way. Gazes averted, people turned their heads and just dipped.

... Until The Boy. A pale haired kid of about five or six was being towed out of my path by his mushroom- haired mother - but he was rooted to the spot. Staring at me with unabashed excitement, he slipped free of his mother's grasp and shouted, "Look Mom! A Pirate!"

I started guffawing, bad mood instantly gone. Mushroom-Mom grabbed her kid and started dragging him away. I called after them "It's okay!" But with a mumbled "No, it's not", she dragged the boy into their car and fled.

... And I went to work, Pirate King of the K-Mart.

1 more...

No Man's Sky.

After the mildly stressful intro (which isn't bad, just uses more sticks than carrots in the tutorial section), you basically just pick a direction and go.

If you wanna quest, there are quests available in (almost) every system.

If you wanna farm, pick a nice planet and get to building.

If you wanna fight, go find a planet with hostile Sentinel presence.

There's always something interesting to do, but you can also just find a nice view on some planet, build a couch and just watch the iridescent grass blow in the wind for a bit.

2 more...

Net removal of 1500 LoC...

I'm gonna make you break this up into multiple PRs before reviewing, but honestly, if your refactoring reduced the surface area by 20% I'm a happy man.

1 more...