Skip Navigation
demesisx

Plutus, Haskell, Nix, Purescript, Swift/Kotlin. laser-focused on FP: formality, purity, and totality; repulsed by pragmatic, unsafe, "move fast and break things" approaches


AC24 1DE5 AE92 3B37 E584 02BA AAF9 795E 393B 4DA0

Posts
345
Comments
1,200
Joined
2 yr. ago
HailCorporate @infosec.pub
demesisx @infosec.pub

An Ad for the Slate Truck is a $20,000 American-made electric pickup with no paint, no stereo, and no touchscreen

cross-posted from: https://beehaw.org/post/19641665

Slate Truck is a $20,000 American-made electric pickup with no paint, no stereo, and no touchscreen

Ask just about anybody, and they'll tell you that new cars are too expensive. In the wake of tariffs shaking the auto industry and with the Trump administration pledging to kill the federal EV incentive, that situation isn't looking to get better soon, especially for anyone wanting something battery-powered. Changing that overly spendy status quo is going to take something radical, and it's hard to get more radical than what Slate Auto has planned.

Meet the Slate Truck, a sub-$20,000 (after federal incentives) electric vehicle that enters production next year. It only seats two yet has a bed big enough to hold a sheet of plywood. It only does 150 miles on a charge, only comes in gray, and the only way to listen to music while driving is if you bring along your phone and a Bluetooth speaker. It is the bare minimum of wha

HailCorporate @infosec.pub
demesisx @infosec.pub

A blatant ad: Google Fi is launching a $35 / month unlimited plan

cross-posted from: https://lemmy.world/post/28625297

Google Fi is launching a $35 / month unlimited plan

  • Get this fucking Google ad out of here.

  • Machinists @infosec.pub
    demesisx @infosec.pub

    Unusual Shop Tips

    Collection of little-known machine shop tips by master Dan Gelbart.

    Cardano @infosec.pub
    demesisx @infosec.pub

    Surprise AMA 04/23/2025

    cross-posted from: https://infosec.pub/post/27144642

    IOG's Hoskinson on Blockchain Voting during his recent AMA

    Charles seemed in a pretty good place in this AMA after his recent spiritual journey in the Amazon with bullet ants. He talks about blockchain voting at this timestamp.

    Blockchain Voting @infosec.pub
    demesisx @infosec.pub

    IOG's Hoskinson on Blockchain Voting during his recent AMA

    Charles seemed in a pretty good place in this AMA after his recent spiritual journey in the Amazon with bullet ants. He talks about blockchain voting at this timestamp.

  • Not to be confused with absolute eunuchs:

  • This is really cool.

    It reminds me of the Edinburgh Decentralisation Index: an academically rigorous decentralization index that the university of Glasgow school of informatics devised to quanitfy the decentralization of cryptocurrencies:

    The Edinburgh Decentralisation Index (EDI) studies blockchain decentralisation from first principles, archives relevant datasets, develops metrics, and offers a dashboard to track decentralisation trends over time and across systems.

    https://informatics.ed.ac.uk/blockchain/edi

    You should give it a serious look. IMO, it would offer some insight into academically peer-reviewed ways of quantifying this kind of thing.

  • You sound insecure. I wasn’t trying to bring you down. Be confident. Own your opinions.

    Have a nice day.

  • Do you get though that I said “in my humble opinion” and posted a smile? Do you get, though, that other people may like Metallica and have different songs they like and would have the urge to reply to your comment as if it were the Metallica thread? Do you get that, though? Do you?

  • Yup. Very few bad songs too. They’re consistently great. Zionsville is my current high water mark for them. Just gorgeous. I never saw the appeal of the pedal steel guitar until that song.

  • Wow. I’m so relieved he didn’t go to space. This is way cooler.

  • Don’t be. I’m just sharing an alternate opinion.

  • Orion and To Live Is To Die are better, IMHO. :)

  • Do people in China pay rent? I heard that rent is based on income so if you lose your job, you pay no rent.

    I’m genuinely curious about exactly how communist China is and what differences there are between US and Chinese society. Seems like a hybrid of capitalist and communist.

  • I think you need a lesson on recognizing cynical sarcasm.

  • IMO, it’s a Red Herring, pushed by corrupt DNC operatives that seek to misdirect voter rage in order to perpetuate the closed two party system that enriches them.

    The real culprit is #FPTP.

    Honestly, I’d suggest that you convince your friend to stop misdirecting their energy toward something that won’t solve the two party issue for their paper and instead writing their paper with a focus on:

    1. eliminating FPTP
    2. Switching to ranked-choice voting
    3. Dismantling the DNC and GOP and forcing parties to adhere to election laws EVEN IN THEIR PRIMARIES.

    This electoral college outrage feels like it comes from the same people that hang their hat on empty corporatist identity politics..and that should tell you everything you need to know. If Nancy Pelosi supports something, you know it’s corrupt.

  • Permanently Deleted

  • No hard feelings! :)

    Yes. But it was pretty tough to use gvolpe’s config as he had all kinds of git-crypt stuff I needed to unravel. but I eventually got there and now I have a fleet of machines with configs based off of it with all kinds of idiosyncrasies depending on the machine. It’s quite elegant once you tame it to your will. I had a super smart German bud of mine almost give up but I kept helping him until it worked.

    Haskell has a pretty tough dev experience if you don’t get Nix involved, IMO. I got involved in all of this because of Cardano, so I was instantly a flakes, Haskell, and NixOS advocate right away. It has the capability to tame incredibly complex stacks. If you revisit Haskell, do yourself a favor and do it from within a custom IOG Nix Devshell. Life is SO much more locked in there. Ps. Ghcup simply doesn’t work in NixOS because it flies counter to the NixOS way, though I’m pretty sure you could get it to work using fhs derivations or whatever. There’s a lot to relearn in the world of NixOS but, IMO, I’m just learning the RIGHT way and trying to drag the Docker fanboys along for the ride with me. :)

  • Permanently Deleted

  • Fair enough. Fangs retracted. 🙏


    Because, as you alluded to, it simply cannot break.

    It is formally verified. In fact, it’s the only window manager (tiling or otherwise) that can claim that. Formally verified means there are virtually no flaws in the code and it will continue humming along as long as you present it with a valid config.

    If my config compiles, it will work in XMonad. Only NixOS and GUIX offer the same compilation-tied-to-validity of a config..and I like that a LOT. I actually started learning Haskell by building out my own config (which was forked from this absolutely incredible master class in NixOS configs by gvolpe). I even built a DSL in Haskell in two hours that flawlessly controls my smart appliances with hot keys I programmed.

    Also, I have it wired into my NixOS config so it is plug & play for me. I could switch to Hyprland in a heartbeat but honestly…I dislike it. Config files should be in a format that DOESN’T suck ass, IMO.

    Perhaps if they’d switch to using Haskell for config files, I might consider it but those GPU intensive animations aren’t worth it also. Work continues to replace XMonad with a worthy Haskell successor and I’m honestly in no rush to switch until it’s done.

    tldr: In a phrase: Xmonad just works.

    Ps. When I compare the Xmonad part of my config with the Polybar part of my config, the difference is stark. In XMonad, I feel free to sculpt the experience in any way I want. In Polybar, those FUGLY .ino files are a curse upon mankind that needs to be eradicated by elegant software like XMonad. (though XMobar didn’t impress me, weirdly enough)

  • Permanently Deleted

  • Nothing else compares. I’m begging for an explanation on why you’d go out of your way to shame another person for what software they prefer. I’m terrified it’s related to being unable to think for yourself.

  • Permanently Deleted

  • Wake me up when Waymonad is released.

    XMonad for life.

  • Free and Open Source Lemmy Apps @infosec.pub
    demesisx @infosec.pub

    Voyager’s new promo site & app update

    I absolutely adore Voyager. I wnat to extend a very special thank you to the Voyager team.

    cross-posted from: https://discuss.tchncs.de/post/33030734

    cross-posted from: https://vger.social/post/15192818

    Voyager’s new promo site!

    Hey there!

    I just published Voyager's new promo site at https://getvoyager.app/. This site is intended to be an easy way to share the app with your friends and family. Let me know what you think! I'm hoping to roll out a couple more improvements to user onboarding soon™️, so stay tuned.

    In other news, I hope you like the latest app update! ICYMI: the video player was significantly revamped, you can now upload videos (assuming lemmy instance support: keep reading...), and Android users can now long press links to preview the url, as well as for share/copy/open options.

    https://github.com/aeharding/voyager/releases/tag/2.26.0

    Speaking of videos: If you've ever wondered why videos sometimes fail to play in i

    Free and Open Source Lemmy Apps @infosec.pub
    demesisx @infosec.pub

    Summit for Lemmy is Open Source

    cross-posted from: https://lemmy.world/post/27215397

    cross-posted from: https://lemmy.world/post/27182708

    At the time of writing Summit for Lemmy should be completely open source.

    After a lot of contemplation I've decided to open source the app. There are still some changes that probably need to happen before it can be considered "FOSS" but this is a huge step I think.

    As I'm voiced my opinions on this previously, the main repository for Summit will not be to the public for PRs. If you encounter bugs or have any feature requests please continue to send them through the proper channels (ideally to this community).

    Enjoy~~

    Free and Open Source Lemmy Apps @infosec.pub
    demesisx @infosec.pub

    FOSS App of the Week: MLEM for iOS

    I want to personally thank the MLEM devs for opting to go with the GNU General Public License v3.0

    Here is the app store link: https://apps.apple.com/us/app/mlem-for-lemmy/id6450543782

    If anyone here can afford to, please help them out by donating some cash here.

    Lemmy Apps @lemmy.world
    demesisx @infosec.pub

    A Sister Community dedicated to FOSS Lemmy Apps

    It is long past time for us to build a movement where we shower recognition, rewards, and donations on the devs that were selfless and wise enough to share their source code with the community.

    !fosslemmyapps@infosec.pub

    Since the recent rash of devs looking to capitalize on a FOSS platform by spamming their closed source apps here, I decided to build a community dedicated solely to Free and Open Source lemmy apps and software.

    Please join us. Help fight #enshittification before it takes over Lemmy too.

    Artisan Videos @infosec.pub
    demesisx @infosec.pub

    This Box Deserves a Medal

    Machinists @infosec.pub
    demesisx @infosec.pub

    Metal Spray REPAIR Caterpillar Engine Crank Pulley | Thermal Spray Welding

    Spray welding is what got me into this whole trade in the first place. Abom79 had the first demo I ever saw of it.

    Guitar Amps @infosec.pub
    demesisx @infosec.pub

    No Spaghetti | '73 Deluxe Reverb Pt 3

    This man is a world class artisan.

    Free OpenSource Software @infosec.pub
    demesisx @infosec.pub

    What's your most beloved open source project?

    For me, it’s obviously Linux.

    But after that, it has to be Haskell.

    NixOS @infosec.pub
    demesisx @infosec.pub

    We present a real-world use-case of NixOS to manage an highly distributed fleet of servers & VMs in low-resource settings used for mission critical applications. After a brief overview of who MSF is and what we do, we'll dive into the technical details of how we manage our fleet with NixOS and the unique strengths that NixOS brings to the table.

    Ambitious Builds @infosec.pub
    demesisx @infosec.pub

    X-FBAPE - The DIY FPGA-based card for the Behringer X32

    Everything this guy does would be considered ambitious to anyone else. This guy is a genius.

    XMonad @infosec.pub
    demesisx @infosec.pub

    Current Progress on Wayland Haskell bindings

    discourse.haskell.org Tiny-wlhs, a hybrid haskell and C Wayland compositor

    Hi twiclo, I appreciate your appreciation 😀 . With the multiple monitors this is something I also want, my plan was to do it after adding Copy & Paste support. I opened an issue on it on the repo, along with the other planned work. With the Mod+1 I agree, can you please open an issue on the repo ...

    Tiny-wlhs, a hybrid haskell and C Wayland compositor
    Cardano Developers @infosec.pub
    demesisx @infosec.pub

    Breaking the Monolith: A Journey to Microservices Architecture

    Guitar Amps @infosec.pub
    demesisx @infosec.pub

    Get It Right & Dial It In | Not Earl '65 Twin Reverb

    Purescript @infosec.pub
    demesisx @infosec.pub

    UUID in Purescript

    I ran into a situation the other day where UUID was needed. Sadly, the UUID module in pursuit depends on an npm package. So, I rolled my own.

    I’d be happy to hear of any holes in my implementation and any other critiques anyone has to offer.

    Here’s the code:

     undefined
        
    module UUID where
    
    import Prelude
    import Data.Either (Either(..))
    import Data.Int.Bits ((.|.))
    import Data.Maybe (Maybe(..))
    import Data.String (joinWith, length)
    import Data.String.Regex (regex, test)
    import Data.String.Regex.Flags (noFlags)
    import Effect (Effect)
    import Data.Int (floor, hexadecimal, toNumber, toStringAs)
    import Effect.Random (random)
    import Data.Array (replicate)
    
    newtype UUID = UUID String
    
    instance showUUID :: Show UUID where
      show (UUID uuid) = uuid
    derive instance eqUUID :: Eq UUID
    derive instance ordUUID :: Ord UUID
    
    randomInt :: Int -> Int -> Effect Int
    randomInt min max = do
      r <- random
      pure $ floor $ r * toNumber (max - min + 1) + toNumber min
    
    padStart :: Int -> String -> String
    padStart ta
      
    Guitar Virtuoso @infosec.pub
    demesisx @infosec.pub

    John McGlaughlin - Joy - Shakti