Many fall in the face of chaos, but not this one, not today

  • 27 Posts
  • 83 Comments
Joined 2 years ago
cake
Cake day: June 13th, 2023

help-circle

  • A wedding can cost almost nothing. I found a very small local poor church and offered them $100 bucks to use the place on a Saturday. I baked a big cake, decorated it plain white. I overnight smoked a brisket, made a pan of Mac and cheese.

    Got a friend to officiate, and told our friends and families a month in advance. We told everyone it was a potluck. We got $100 plain rings. My grandmother ended up buying some cool flowers for decorations. A friend played some music on the church speakers.

    All in, it probably cost us $400 out of pocket, and we got enough cash from attendees to cover that and pay for us to take off work for the week to just hang out and move in together, staycation style. To be fair, I don’t think either of us would have wanted a vacation style honeymoon, we did that kind of thing later. That first week was a lot of figuring out how to live together, so that took time.

    So it’s possible to have a big party with friends and family, but spend very little. Just have everyone bring some food and it’ll work out.

    Studies show that folks are less likely to have a happy long term marriage the more they spend on a wedding. It’s a pretty clear correlation that expensive weddings typically make folks more unhappy and starts the relationship off with more financial stress. So, don’t feel bad about being frugal! As long as you are both happy, it can be very inexpensive.








  • Pencilnoob@lemmy.worldtoProgrammer Humor@programming.devstop
    link
    fedilink
    English
    arrow-up
    17
    ·
    1 month ago

    I’m sure someone will be like “um akchuly” to my explanation. But for me it’s good enough to think if it that way.

    I’ve worked in Haskell and F# for a decade, and added some of the original code to the Unison compiler, so I’m at least passingly familiar with the subject. Enough that I’ve had to explain it to new hires a bunch of times to get them to to speed. I find it easier to learn something when I’m given a practical use for it and how it solves that problem.


  • Pencilnoob@lemmy.worldtoProgrammer Humor@programming.devstop
    link
    fedilink
    English
    arrow-up
    56
    ·
    edit-2
    1 month ago

    In practical terms, it’s most commonly a code pattern where any function that interacts with something outside your code (database, filesystem, external API) is “given permission” so all the external interactions are accounted for. You have to pass around something like a permission to allow a function to interact with anything external. Kind of like dependency injection on steroids.

    This allows the compiler to enhance the code in ways it otherwise couldn’t. It also prevents many kinds of bugs. However, it’s quite a bit of extra hassle, so it’s frustrating if you’re not used to it. The way you pass around the “permission” is unusual, so it gives a lot of people a headache at first.

    This is also used for internal permissions like grabbing the first element of an array. You only get permission if the array has at least one thing inside. If it’s empty, you can’t get permission. As such there’s a lot of code around checking for permission. Languages like Haskell or Unison have a lot of tricks that make it much easier than you’d think, but you still have to account for it. That’s where you see all the weird functions in Haskell like fmap and >>=. It’s helpers to make it easier to pass around those “permissions”.

    What’s the point you ask? There’s all kinds of powerful performance optimizations when you know a certain block of code never touches the outside world. You can split execution between different CPU cores, etc. This is still in it’s infancy, but new languages like Unison are breaking incredible ground here. As this is developed further it will be much easier to build software that uses up multiple cores or even multiple machines in distributed swarms without having to build microservice hell. It’ll all just be one program, but it runs across as many machines as needed. Monads are just one of the first features that needed to exist to allow these later features.

    There’s a whole math background to it, but I’m much more a “get things done” engineer than a “show me the original math that inspired this language feature” engineer, so I think if it more practically. Same way I explain functions as a way to group a bunch of related actions, and not as an implementation of a lambda calculus. I think people who start talking about burritos and endofunctors are just hazing.







  • Pencilnoob@lemmy.worldto196@lemmy.blahaj.zoneSICP rule
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    2 months ago

    Ugh I love that book but also completely accurate.

    It’s an absolute trip that that SICP was used as an introductory text to computer science. What a bunch of absolute legends.

    Fun fact, there’s about 350 homework problems in the book, so if you do one a day you’ll finish the book in a year. Trust me, it’s absolutely worth it! After that year it felt like I truly understood all this programming stuff (and this was after a 4 year degree and working as a software engineer for 4 years). The difference before and after was like turning on a light switch in my brain. I improved 5x in that year alone.

    It’s hard though, don’t be ashamed to look up other answers if you get stuck. There’s dozens of blogs where people explain every single answer in detail. I had to look up at least 25% of them. Still worth it, best learning investment ever for my career. I seriously think if I’d not done that I’d have left the industry long ago.

    Also don’t forget to check out the lectures on YouTube. Although to be honest I’ve not finished them, video lectures bore me too much. They are still really cool to watch.

    I still think back to how it felt doing that book and finishing it. I wish I could go back and do it again for the first time. Just so immensely satisfying and empowering. I’ve tried to find other books like it, nothing quite does the trick. Sigh.


  • p.s. I would humbly request any assistance with the job of moderation on this new community, so if any of you fine souls would do me honor of commenting on my initial post over there I will be able to promote you to this esteemed position. While it is a task both thankless and challenging, it is a critical one for both the growth and sustainment of quality. I beg you noble folk, please join me on this task of moderation