asciipip's recent activity

  1. Comment on For those involved / interested in Web3, what do you make of the near and long term future for it? in ~tech

    asciipip
    Link Parent
    I often think things like this, looking at things from a technical perspective. Blockchains, in theory, solve a problem of reaching a consensus among a group of actors who don't trust each other....

    Block chain, as a concept, has some potential in financial systems, where you could essentially outsource verifying the transactions.

    I often think things like this, looking at things from a technical perspective. Blockchains, in theory, solve a problem of reaching a consensus among a group of actors who don't trust each other.

    But I'm also mindful of an article I read some time ago that includes this bit:

    In 1950 Immanuel Velikovsky published Worlds in Collision, a controversial best-selling book that claimed that 3500 years ago Venus and Mars swooped near the earth, causing catastrophes that were passed down in religions and mythologies.

    The astronomer was talking to an anthropologist at a party, and the book came up.

    "The astronomy is nonsense," said the astronomer, "but the anthropology is really interesting."

    "Funny," replied the anthropologist, "I was going to say almost the same thing."

    The financial world has centuries of developed systems to address all sorts of issues with financial transactions. Blockchains maybe offer an alternative to one set of issues, but many blockchain proponents seem to think they only need blockchains and then they promptly run into problems the traditional banking system solved decades ago.

    I appreciate the concepts behind blockchains, but I have yet to encounter a real world problem they solve better than existing, less wasteful, approaches.

    16 votes
  2. Comment on Day 18: Lavaduct Lagoon in ~comp.advent_of_code

    asciipip
    Link Parent
    Spoiler If you calculate the area of the perimeter line by `end - start`, you're going from the center of one cell to the center of the other cell, which doesn't account for the half a cell before...
    Spoiler If you calculate the area of the perimeter line by `end - start`, you're going from the center of one cell to the center of the other cell, which doesn't account for the half a cell before the center of the first cell or the half a cell after the center of the second cell. Since you're dividing the area in half (to only count the outside), you're missing the very first quarter cell and the last quarter cell.

    To illustrate this a bit, consider the following square area:

    +-----+-----+-----+
    |??eee|eeeee|eee??|
    |ee*-----------*ee|
    |ee|..|.....|..|ee|
    +--|--+-----+--|--+
    |ee|..|.....|..|ee|
    |ee|..|.....|..|ee|
    |ee|..|.....|..|ee|
    +--|--+-----+--|--+
    |ee|..|.....|..|ee|
    |ee*-----------*ee|
    |??eee|eeeee|eee??|
    +-----+-----+-----+
    

    The dots are the interior of the polygon, and are what you calculate with the shoelace algorithm. The parts marked with “e” are what you get by taking the half the length of the perimeter. The question marks are what's left over. The leftover part will always be a unit square, because the perimeter makes a complete circuit. (If there are other points, you'll get a mixture of concave corners, where the perimeter area double-counts the corner, and convex corners, where the perimeter area misses a corner. There will always be exactly four corners more that are missed than were double-counted, because the sum of the exterior angles of a polygon is always 360 degrees.)

    4 votes
  3. Comment on Day 6: Wait For It in ~comp.advent_of_code

    asciipip
    Link
    My solution in Common Lisp. I almost had a sub-five-minute turnaround from part one to part two. But I implemented the closed form of the problem using sqrt and the single-float it was returning...

    My solution in Common Lisp.

    I almost had a sub-five-minute turnaround from part one to part two. But I implemented the closed form of the problem using sqrt and the single-float it was returning wasn't precise enough to get the right answer for part two. I spent a couple minutes double-checking the syntax to force it to return a double. (Solution: Pass it a double-float and it'll return one, too. To force its argument to a double, replace the 4 in one part of the inner calculation with 4d0 and let contagion do the rest.)

    2 votes
  4. Comment on Day 5: If You Give A Seed A Fertilizer in ~comp.advent_of_code

    asciipip
    Link
    My solution in Common Lisp. One of the reasons I like Common Lisp is that it easily facilitates recursion, and one of the reason I like working recursively is that it lets you break problems apart...

    My solution in Common Lisp.

    One of the reasons I like Common Lisp is that it easily facilitates recursion, and one of the reason I like working recursively is that it lets you break problems apart into small pieces and work on the pieces individually. Here's the function that does the mapping seed (or whatever) ranges for part 2:

    map-range-on-range
    (defun map-range-on-range (ranges category-ranges &optional accumulated-ranges)
      (if (or (endp ranges)
              (endp category-ranges))
          (sort (append category-ranges accumulated-ranges) #'< :key #'first)
          (destructuring-bind (range-start range-end range-offset) (car ranges)
            (destructuring-bind (category-start category-end) (car category-ranges)
              (cond
                ((<= range-end category-start)
                 ;; No overlap with current range; go to the next one
                 (map-range-on-range (cdr ranges)
                                     category-ranges
                                     accumulated-ranges))
                ((<= category-end range-start)
                 ;; No overlap with current category; go to the next one
                 (map-range-on-range ranges
                                     (cdr category-ranges)
                                     (cons (car category-ranges) accumulated-ranges)))
                ((<= range-start category-start category-end range-end)
                 ;; Category fully within range; map and continue with next one
                 (map-range-on-range ranges
                                     (cdr category-ranges)
                                     (cons (list (+ category-start range-offset) (+ category-end range-offset))
                                           accumulated-ranges)))
                ((< category-start range-start)
                 ;; Some of category is before range; keep that bit and map the remainder
                 (map-range-on-range ranges
                                     (cons (list range-start category-end)
                                           (cdr category-ranges))
                                     (cons (list category-start range-start)
                                           accumulated-ranges)))
                ((< range-end category-end)
                 ;; Some of category is after range; map the in-range stuff and process the rest next time.
                 (map-range-on-range (cdr ranges)
                                     (cons (list range-end category-end)
                                           (cdr category-ranges))
                                     (cons (list (+ category-start range-offset) (+ range-end range-offset))
                                           accumulated-ranges)))
                (t
                 (assert nil nil "Missing test case")))))))
    

    In the function parameters, ranges is a list of three-element tuples, where the elements are the start and end of a “x-to-y map” range and the offset from the source to the destination numbers. (This is slightly different from the format presented in the problem, but I find this structure easier to work with.) category-ranges is a list of two-element tuples, giving the starts and ends of ranges of seed numbers (or other numbers mapped from seeds). For the example, the initial list of seed ranges is “(55, 68), (79, 93)”

    Notes: All ranges are half-open; they include the start number but exclude the end number. I keep ranges sorted by increasing start numbers for ease of processing. accumulated-ranges are the remapped ranges the function has gotten through already. Building that list as a function parameter (1) lets me easily sort it when I get to the end of the source data, and (2) lets the compiler employ tail-call elimination for all the recursive calls so it doesn't build up a long set of stack frames.

    So the function is mostly a big if-then statement that figures out which case applies, handles that specific case, and then calls itself recursively with new parameters to figure out and handle the next case.

    1 vote
  5. Comment on Day 2: Cube Conundrum in ~comp.advent_of_code

    asciipip
    Link
    My solution in Common Lisp. FSet made this fairly straightforward. I represented each game round as a bag (aka a multiset). Allowed games for part 1 were games where every round was a subset of a...

    My solution in Common Lisp.

    FSet made this fairly straightforward. I represented each game round as a bag (aka a multiset). Allowed games for part 1 were games where every round was a subset of a conjectured bag. Minimum cube quantities were just the union of all of the rounds for a game.

    The one thing that tripped me up for a bit was that when I calculated the “power” of a set of cubes. I didn't see a way to map across just a bag's multiplicities, so I converted the bag to a set, used fset:image to map across that set, calling fset:multiplicity for each cube color. Well, that puts the results into a set, too, so it was collapsing duplicate multiplicities (e.g. “1 red, 2 blue, 2 green” turned into a set of just 1 and 2). I dealt with that by turning the set back into a bag and everything came out right.

    1 vote
  6. Comment on Day 1: Trebuchet?! in ~comp.advent_of_code

    asciipip
    Link
    As usual for me, I do my solutions in Common Lisp. Here's my code for today. I started the problem at midnight EST and did more from the REPL than from writing and running functions. I...

    As usual for me, I do my solutions in Common Lisp. Here's my code for today.

    I started the problem at midnight EST and did more from the REPL than from writing and running functions. I accidentally submitted the wrong answer for part one twice in a row, so I ended up getting a recorded solution at 00:14 or so. The code linked above is a more formalized version of what I was typing by hand in the REPL.

    My solution, as with many other peoples', involved regexes. So part two bit me, as with many others, by having overlapping digit names. My quick and dirty solution was to reverse all of the regex string except the \d, match against the reversed string, and then re-reverse the match for parsing.

    3 votes
  7. Comment on Join the Tildes Advent of Code leaderboard! in ~comp.advent_of_code

    asciipip
    Link
    Joined! I did today's a few minutes after it opened, but I usually wait until morning EST to do problems. I probably won't get many points on this leaderboard going forward.

    Joined!

    I did today's a few minutes after it opened, but I usually wait until morning EST to do problems. I probably won't get many points on this leaderboard going forward.

    3 votes
  8. Comment on Can someone please recommend me a no BS printer I can use like half a dozen times a year in ~tech

    asciipip
    Link
    The Verge has the best printer recommendation: just buy this Brother laser printer everyone has, it’s fine If you want a more in-depth review, check out The Wirecutter's laser printer guide. But...

    The Verge has the best printer recommendation: just buy this Brother laser printer everyone has, it’s fine

    If you want a more in-depth review, check out The Wirecutter's laser printer guide. But IMHO, The Verge is right. Just buy whatever Brother laser printer is on sale and never think about it again.

    I have a Brother something-or-other in my home office I got from some business that threw it out. I've had it for years—long enough that I've actually bought replacement toner for it a couple of times. It just sits there and prints black and white documents when I need it to and never causes any problems.

    2 votes
  9. Comment on Do you have or know of fun domain names? Do you think it's worth having them? in ~tech

    asciipip
    Link
    A friend of mine has an "a" in their name. Let's say their name is David. They registered a domain just so their email address could be d@vid.org (but for their actual name).

    A friend of mine has an "a" in their name. Let's say their name is David. They registered a domain just so their email address could be d@vid.org (but for their actual name).

    2 votes
  10. Comment on What games have you been playing, and what's your opinion on them? in ~games

    asciipip
    Link
    I'm playing Fallout 4. I'd heard so many good things about Fallout over the years, so I'd been meaning to give one or more of them a try. Earlier this year I tried out the original Fallout, but...

    I'm playing Fallout 4.

    I'd heard so many good things about Fallout over the years, so I'd been meaning to give one or more of them a try. Earlier this year I tried out the original Fallout, but the controls were just too clunky. I couldn't get into it. I probably would have liked it more if I'd played it contemporaneously with its release.

    Anyway, I expect I'll be playing Fallout 4 for quite a while. It should be fun.

    Then earlier this month Steam had a 75% off sale, so I got Fallout 4 and the DLC for about $10. I've been playing it ever since.

    This game is enormous. I've put about 22 hours into it and I've explored just a small sliver of the corner of the map. The base building aspects seem like they could be an enormous time sink all on their own. I keep comparing it to the last game I finished. It took me about 35 hours of gameplay to finish The Talos Principle after getting all of the stars. (I'm planning another playthrough at some point to get all the achievements.) Fallout 4 looks like it'll take many times that to finish.

    I'm really enjoying the open world exploration. The base building is decent. I haven't really run into much plot yet, but what I've read online is that the plot is pretty thin. I'm okay with that tradeoff for the rest of the gameplay.

    I kind of like the semi-turn-based combat, now that I've gotten used to it. You can just point and shoot like in most FPSes, but you can also hit a key and go into this interface where time slows down drastically, you can see percentage odds of hitting each enemy (and each part of them, e.g. torso or head or arms), and you can plan out your shots before hitting “go” to do it. Each shot takes a certain number of Action Points, so you have a limited number of planned actions before you have to go back to normal time and let your AP regenerate. At first it seemed like a gimmick, but now that I've used it a bit, it adds an interesting dimension to combat. It looks like the RPG character development options would let you do a build that did well with the more traditional FPS approach, but it feels like the game generally expects you to heavily use the pseudo-turn-based combat.

    The controls have their own challenges. I'm left-handed and I have my computer set up with the mouse on the left side. Consequently, I'm used to remapping games' controls to focus keyboard actions around the numeric keypad. Fallout 4 mostly lets me do that, but there are quite a few hardcoded things that assume you're using the default WASD controls. So some things have awkward reaches across the keyboard to hit the right keys. I think there's a mod that fixes this, but I haven't yet gotten around to mucking with mods.

    2 votes
  11. Comment on <deleted topic> in ~games

    asciipip
    Link Parent
    I've played a fair bit of American Truck Simulator (and a bit of Euro Truck Simulator 2 before that). They're definitely a niche genre. In general, I think the various —— Simulator games appeal to...

    I've played a fair bit of American Truck Simulator (and a bit of Euro Truck Simulator 2 before that). They're definitely a niche genre.

    In general, I think the various —— Simulator games appeal to people who want to experience some different sort of environment without the downsides of doing it in real life (life/health risk, time invested, etc.) For some people, the relaxed environment is a benefit. There are plenty of people who play the truck simulators with podcasts or music going while they zone out a little, paying just enough attention to keep their truck going.

    For me, I like the exploration and road trip aspects of the game. I took an IRL road trip across the US a year or so back. It took two weeks and was pretty short on non-driving time to fit into that window. On the other hand, I can open American Truck Simulator at any time, pull up a list of available delivery jobs, decide that I want to drive from Las Vegas to Denver today, and then spend an hour or so doing a drive that would take all day (or more) in real life.

    These sorts of games are definitely not things that would appeal to many people, but they have their (genuine, non-ironic) fans. There's the meme that runs around periodically with people for whom their absolute-power superhero fantasy is helping as many other as possible. Similarly, while some people's driving fantasy is GTA's reckless endangerment, others' is carefully delivering cargo from producer to consumer.

    2 votes
  12. Comment on Monaspace in ~design

    asciipip
    Link Parent
    There's still some room for innovation, though. I like some of the new things this font family brings. Having several fonts with the same metrics is nice. I like their examples where different...

    There's still some room for innovation, though.

    I like some of the new things this font family brings. Having several fonts with the same metrics is nice. I like their examples where different parts of code might get different fonts, not just different colors. Their use of contextual alternates for "texture healing" seems really nice.

    I still use a bitmapped font because I work at small text sizes on lower-DPI screens. But I think this one is going on the short list for a replacement whenever I finally switch to something high-DPI.

    1 vote
  13. Comment on <deleted topic> in ~tildes

    asciipip
    Link
    Emoji, emoticons, and the like are textual replacements for the gestures and body language present in casual in-person conversations. For me, the emphasis there is on “casual”. The less casual a...

    Emoji, emoticons, and the like are textual replacements for the gestures and body language present in casual in-person conversations. For me, the emphasis there is on “casual”.

    The less casual a conversation is, the less likely I am to use emoji. I routinely use them in text messages and chat environments (Matrix, Discord, Slack, etc.) The more formally I view an environment, the less likely I am to use them. On top of that, I have a slightly-more-formal-than-necessary persona in many online spaces. I'm not sure why, but it's been part of my communication practices since I first went online in the 1990s.

    I view Tildes as a platform for semi-casual conversations, on par, perhaps, with Usenet or the listserves of a couple decades ago. The casual aspect means that emoji are acceptable as a means of conveying information. On the other hand, the non-immediate dialog brings a bit more formality into it. Since I have time to compose my responses, I'm more inclined to try to write in a way that expresses my emotions without emoji, drawing more on conventions and practices of more formal writing.

    It's likely that many other people here are in a similar situation. The greater the degree to which Tildes is seen as a place for formal writing, the less of an inclination people will have to use markers of casual conversation like emoji.

    (Side note: there's a fascinating book about online writing habits called Because Internet by Gretchen McCulloch. There's an entire chapter about emoji, which, among other things, links emoji to in-person gestures.)

    4 votes
  14. Comment on What service are you using for domain names? in ~comp

    asciipip
    Link Parent
    I'm still on Joker, too, for much the same reason. I've been using them for literal decades and they just work. The web UI is pretty horrendous, but I rarely need to use it. I appreciate these...

    I'm still on Joker, too, for much the same reason. I've been using them for literal decades and they just work. The web UI is pretty horrendous, but I rarely need to use it.

    I appreciate these threads to see what else is out there, but they also highlight that some of the newer offerings can be a bit flavor-of-the-week. It wasn't that long ago that Namecheap seemed to be everyone's first choice, but there's now a fair bit of "Don't use Namecheap; use Porkbun."

    As long as Joker works for me, I'll probably just stick with them.

  15. Comment on Meet Dot, an AI companion designed by an Apple alum, here to help you live your best life in ~tech

    asciipip
    Link Parent
    If you want an hour-long exploration of just that, check out Sarah Z's “The Rise and Fall of Replika”.⁰ She discusses—at length—the way the platform works/worked, how people got emotionally...

    If you want an hour-long exploration of just that, check out Sarah Z's “The Rise and Fall of Replika”.⁰ She discusses—at length—the way the platform works/worked, how people got emotionally invested in their chatbot companions, and how they felt betrayed when the company locked some previously-free features behind a subscription. Ultimately, she has sympathy for the people who ended up with large chunks of their emotional state tied up in a for-profit company's offerings.


    Also on Nebula, in case you have a subscription.

    15 votes
  16. Comment on Intuit is shutting down the personal finance service Mint and shifting users to Credit Karma in ~finance

    asciipip
    Link Parent
    That really depended on the bank. Back when I used Mint for a bit in the 2010s, I definitely had to give them my account name and password for some of my financial institutions. I think they used...

    That really depended on the bank. Back when I used Mint for a bit in the 2010s, I definitely had to give them my account name and password for some of my financial institutions. I think they used tokenization when possible—I had some of those “Authorize Mint to see your data” banks, too—but they'd fall back to a shared password when not.

    One of the reasons I gave up on using Mint after a few months.

    11 votes
  17. Comment on Lets talk kitchen dishes in ~life.home_improvement

    asciipip
    Link Parent
    Reasonable will probably depend on how many people live in your household and how many people you typically have over (however often that happens). I'd say that four settings of one dinner plate...

    Reasonable will probably depend on how many people live in your household and how many people you typically have over (however often that happens). I'd say that four settings of one dinner plate and bowl (and drinking glass, plus utensils) would probably be a minimum threshold for a single person or couple without kids. Six settings, with dinner plate, small plate (for dessert or salad), soup bowl, utensils, drinking glass, and optional coffee mug or tea cup, would probably work well for a lot of people.

    1 vote
  18. Comment on Lets talk kitchen dishes in ~life.home_improvement

    asciipip
    Link Parent
    Local pottery places are great, and the handmade nature makes mismatched items less of an aesthetic issue. But this is generally an expensive route, because handmade stuff is pricey. If you don't...

    Local pottery places are great, and the handmade nature makes mismatched items less of an aesthetic issue. But this is generally an expensive route, because handmade stuff is pricey. If you don't have a bunch of money to dump all at once, you can visit places regularly and pick items up piecemeal from sales or seconds, but it'll take years to accumulate a reasonable number of place settings that way.

    It's not a bad long-term plan—having handmade pottery is great for both entertaining and everyday use—but for most people, it's a long-term plan at best.

  19. Comment on What games have you been playing, and what's your opinion on them? in ~games

    asciipip
    Link
    A few things. I've been playing The Talos Principle on my desktop. It's challenging and engaging and also a bit depressing. You play an android that has to run around a number of different,...

    A few things.

    I've been playing The Talos Principle on my desktop. It's challenging and engaging and also a bit depressing. You play an android that has to run around a number of different, smallish worlds, solving puzzles. You do this to collect "sigils", which are basically Tetris blocks, because a booming voice from the heavens tells you that's your purpose. As the game goes on, you learn that there was some sort of calamity that probably killed off all the humans, there's a tower that god doesn't want you to go into, all the worlds you go to are probably computer simulations, and there have been many puzzle-solving androids before you, some of whom died along the way. I'm expecting to have to make a decision at some point about whether to join oppose Elohim, the supposed god, possibly with only incomplete information about what's going on.

    The puzzles are engaging and challenging, and generally come in three layers. First, each world has standalone puzzles that you solve to get sigils. Second, each world has a number of stars, which are generally collected by taking pieces of one or more puzzles and connecting them together. (For example, you might have to put a laser relay device in one particular spot in one puzzle, then smuggle another relay device out of a different puzzle to link them up and power a hidden door in the world to get access to where the star is.) Finally, there are tons of Easter eggs, which are very challenging or just very obscure; they don't have any bearing, as far as I can tell, on the plot or the rest of the gameplay, but you get a reference to another game or some joke when you find them.

    The storyline is both interesting and depressing. The unfolding of what's going on, as well as the somewhat-philosophical concepts woven in, is interesting. There are also records of people going through whatever calamity happened, and it's depressing watching the world fall down around them.

    Overall, I'm really enjoying it and I'm looking forward to finishing the game. Based one some of the achievement descriptions, I suspect I might need to do a few playthroughs to get all the possible endings.

    11 votes
  20. Comment on Have you ever compiled a custom Linux kernel? in ~comp

    asciipip
    Link Parent
    I used to go through all the kernel configuration menus to look at each option and decide whether I wanted it in my kernel or not. But I haven't done that in a couple decades now; as long as my...

    I used to go through all the kernel configuration menus to look at each option and decide whether I wanted it in my kernel or not. But I haven't done that in a couple decades now; as long as my distro's packaged kernel works for me, I feel like it'd be wasting my time to keep chasing that level of granularity. And with DKMS now, I don't even need to worry about hand-compiling out-of-kernel modules when I need them.

    2 votes