• 1 Post
  • 73 Comments
Joined 2 years ago
cake
Cake day: July 9th, 2023

help-circle
  • I have both. I do not think the OLED version is twice as nice, though it is noticeably improved.

    If the cost is an issue, but doable, consider getting the LCD deck and putting the extra cash toward a TV dock and Bluetooth controller. The deck is awesome on the go (just took mine on vacation - 10/10) but it’s also a fantastic console in its own right. I play a lot of PC games on my couch, even though my I have a decent desktop PC available.

    Either one you purchase though, the Steam deck is the best gaming device I’ve ever owned. Access to the vast Steam library (even if not all titles are compatible yet), access to install whatever else TF I want - even competing stores, emulation nevermind.

    It’s just… 🤯


  • I used to work summers as an apprentice electrician. The amount of crazy wiring I saw in old houses was (heh) shocking. Sometimes it was just that it was old. Real old houses sometimes just had bare wire wrapped in silk. … And a few decades later that silk was frayed and crumbling in the walls and needed replacing.

    My current house was wired at a time when copper was more precious, so it was wired up and down through the house, with circuits arranged by proximity, not necessarily logic. When a certain circuit in my house blows the breaker, my TV, PC and one wall of the master bedroom all lose power. The TV and PC are not in the same room either.



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




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


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


  • Lots of little quality of life things. For instance, in Kotlin types can be marked nullable or not. When you are passing a potential null into a non-nullable argument, the compiler raises an error.

    But if you had already checked earlier in scope whether or not the value was null, the compiler remembers that the value is guaranteed not to be null and won’t blow up.

    Same for other typechecks. Once you have asserted that a value is a given type, you don’t need to cast it everywhere else. The compiler will remember.






  • How do y’all solve that, out of curiosity?

    I’m a hobbyist game dev and when I was playing with large map generation I ended up breaking the world into a hierarchy of map sections. Tiles in a chunk were locally mapped using floats within comfortable boundaries. But when addressing portions of the map, my global coordinates included the chunk coords as an extra pair.

    So an object’s location in the 2D world map might be ((122, 45), (12.522, 66.992)), where the first elements are the map chunk location and the last two are the precise “offset” coordinates within that chunk.

    It wasn’t the most elegant to work with, but I was still able to generate an essentially limitless map without floating point errors poking holes in my tiling.

    I’ve always been curious how that gets done in real game dev though. if you don’t mind sharing, I’d love to learn!




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




  • I do a surprisingly large amount of my gaming on the steam deck these days. My poor PC lies abandoned. Anyway… here are some great games that I’ve played recently on the deck. Some of them are Yellow - usually to use the keyboard for something minor.

    • Dead Cells: Roguelite action platformer
    • Tekken 8: best entry in years
    • Beneath Oresa: wildly stylish roguelite deck-builder
    • Roguebook: another roguelite deck builder - by Richard Garfield.
    • Talos Principle 2: Puzzles and Philosophy
    • Chants of Sennar: explore a mysterious tower and learn the languages - and lost history - of the inhabitants.
    • Doom & Doom Eternal: you know these
    • Tunic: Zelda Classic - but with deep puzzles
    • Inscryption: deck-building horror puzzler… that is soooo much deeper than what it seems.

    A final, hesitant recommendation for

    • Dome Keeper: Roguelike Mr. Driller meets Paratrooper, with a tight one-more-run game play loop that is insanely satisfying.

    But… the menus don’t work right for me in docked play - the A button is only randomly accepted. … but it works fine in handheld mode. (The controls work fine in-game as well, it’s only menus that have trouble.)