• 0 Posts
  • 98 Comments
Joined 2 years ago
cake
Cake day: July 14th, 2023

help-circle
  • I’ll have to check out both OpenSCAD and Code Comic. Some completely non-CAD DSLs that you might be interested in, since you mentioned GraphViz:

    Mermaid.js does something very similar to Graphviz. There are a couple other similar tools like that out there, but Mermaid is supported in a lot of places natively or as an easy to use plugin, like GitHub Markdown (and other git forges like Forgejo), Hedgedoc, Obsidian, SilverBullet, etc…

    I’d also argue that LaTeX counts, and to a lesser extent, Markdown - compare using them to using Word.

    And reveal.js is an equivalent for slide deck creation that would normally be done with PowerPoint.


  • If you’re a size 4-24, the Gloria Vanderbilt “Amanda” line has a variety of jeans with almost bo embellishments. They come in multiple shades of blue, black, mint, khaki, white, off white, etc… The colors other than blue are a bit stiffer and less stretchy, but they fit very similarly. They also have “Ponte pants,” basically business casual dress pants (though basically only in black), which I also recommend. I’ve worn the black jeans to the office mid-week and could probably get away with wearing the khaki ones, too.

    I get them at Kohl’s, but from a quick web search I see they’re also available at Amazon, Walmart, JC Penny, Macy’s, and Costco. MSRP is around $50, but I don’t think I’ve ever paid more than $30 for a pair. I see some listed at $20 or so right now and I think I’ve gotten some (maybe on clearance?) for as cheap as $15.

    Do NOT buy the “Pull-On” versions! Those either lack pockets entirely or have inadequate pockets. I could fit my phone in, sideways, but it dug into my side (my hipbone, I think, though it’s been a while since I wore those and tried to use the pockets).

    Sizing is split between products (at Kohl’s at least): 4-18 and 16W-24W, with 16W being one size above 18 as opposed to overlapping. There are also Short (or Petite in the Ponte Pants) and T/L variants.

    For reference, I have a standard sized iPhone - specifically the 15 Pro - in a case, with a MagSafe wallet. I often carry a similarly sized work phone in the same pocket, also in a case, so my pockets need to be able to handle both. The top of my phone is basically flush with / right below the opening of the pocket, which I prefer. A taller phone, like a Pro Max iPhone, would fit, but would need angled a bit to not have the top poking out.

    Some other info on these:

    • The fit, for me at least, is comfortably snug, but not tight. The cut is flattering, but not lewd.
    • Durability is better than expected for fairly stretchy jeans. I ended up with a hole in the first pair I bought after a year or so, just from walking around (inner thigh friction basically) - but to be fair at that point I was wearing them twice a week, so that’s like 100 wears, 50 or so washes… I think that’s reasonable. However I don’t think they’d hold up as well if I wore them while doing yard work or something similarly stressful.
    • Sizing down - I can fit into up to two sizes down, but even one size down: the fit wasn’t flattering, they were less comfortable, and they were so tight that my phone barely fit into my pocket (and wouldn’t have fit if I were sitting).
    • Sizing up - one size up is great. I haven’t tried two sizes up. The fit isn’t as flattering, but it’s still fine. I generally wear a belt when wearing a sized up pair, since the waistband ends up a bit loose otherwise, but they’re still snug around my hips, so they stay up well enough without a belt.

    If you’re a size 0 or a size 2 and don’t want to size up, they sadly aren’t an option (I may be wrong - their size chart goes down to 2, but I didn’t see any offered in a 2). If so I can keep an eye open for decent jeans in that size range, but I won’t be able to speak to fit, of course, as I’m nowhere near a size 2 myself.


  • To be clear, I’m not saying most women’s pants have pockets. I’m saying that there are options, and I’m of the opinion that if you care about something enough to complain about it, you should also care about it enough to do something about it.

    I own dozens of pairs of women’s pants and shorts with pockets large enough to comfortably fit my cell phone. Several pairs where I can not-so-comfortably. Probably a dozen each of dresses and skirts with decent pockets, too.

    Would you like some recommendations?


  • This is basically an “I can’t have my cake and eat it, too” complaint. If none of your pants have good enough pockets, it’s either because someone else is buying your clothes or because you didn’t prioritize having pockets when you bought them.

    When buying women’s pants or shorts (and even dresses and skirts), you have the choice between a pair that has decent pockets and a pair that doesn’t, generally because the designer chose to prioritize aesthetics over pockets. If you buy the cuter pair, despite their lack of suitable pockets, you’re reinforcing the designer’s decision.

    Even leggings / yoga pants and short running shorts / leggings have versions with pockets. Not every brand, sure, but enough.

    With men’s pants and shorts, there’s much less variety. You have to go out of your way to find pants without decent pockets, but at the same time:

    • Your pants and shorts are all bulkier and thicker than the equivalent women’s style
    • Your shorts all come down to the knee, if not a bit further
    • You don’t have the option of skirts, dresses, capris, leggings, etc…
    • You don’t get the same options within a given style, i.e., far fewer embellishments, less stretch (in, e.g., jeans), often fewer colors, and most cuts are looser

    Now, maybe the store you’re shopping at or the brand you love doesn’t sell women’s pants with pockets. I’m sure there are many like this. If it bothers you, find another store that does. Buy from a different brand.


  • I’m a professional software engineer and I’ve been in the industry since before Kubernetes was first released, and I still found it overwhelming when I had to use it professionally.

    I also can’t think of an instance when someone self-hosting would need it. Why did you end up looking into it?

    I use Docker Compose for dozens of applications that range in complexity from “just run this service, expose it via my reverse proxy, and add my authentication middleware” to “in this stack, run this service with my custom configuration, a custom service I wrote myself or forked, and another service that I wrote a Dockerfile for; make this service accessible to this other service, but not to the reverse proxy; expose these endpoints to the auth middleware and for these endpoints, allow bypassing of the auth middleware if an API key is supplied.” And I could do much more complicated things with Docker if I needed to, so even for self-hosters with more complex use cases than mine, I question whether Kubernetes is the right fit.


  • Ah, gotcha. Nothing had been using them yet because I’d only just gotten the API key configured the day prior. But I already had Traefik running several dozen self hosted services that I use all the time, so the only “new” piece was adding API key support to Traefik.

    One of my planned projects is an all-in-one, self-hostable, FOSS, AI augmented novel-planning, novel-writing, ebook and audiobook studio. I’m envisioning being able to replace Scrivener, Sudowrite, Vellum, and then also have an integrated audiobook studio, but making it so that at every step you could easily import or export artifacts to / from other tools.

    Since I also run a tabletop RPG, and there’s a lot of overlap in terms of desirable functionality with novel planning and ttrpg planning, I plan to build it to be capable in that regard, too.

    In both cases, the critical AI functionality that I want to implement (that afaik hasn’t been done well), is how to elegantly handle concepts from the world building section. For example:

    • Automatic State tracking, where a scene following the outline is written or generated, and the changes to state are calculated based off the text.
      • Example: the MC started with $100 and spends $5 buying a magazine. Now MC has a magazine and $95
      • Example: a character leaves the scene, heading to another location
      • Example: a minor character overhears a secret conversation about the villain’s plan
      • Example: a character is killed
    • Manual State tracking
      • Example: MC left the Macguffin with their mentor, but off page the mentor was killed and the Macguffin was stolen by the villain
      • Example: MC thinks something happened, but they misinterpreted it, so the user edits the automatically calculated state with a clarification: this is what MC thinks; this is what actually happened
    • Syncing state changes with timelines.
      • Example: a scene in chapter 8 is a flashback to before the start of the book, so nothing that’s happened since then has happened yet
      • Example: after having written the first draft, you realize you should have introduced the Macguffin much earlier, so you edit a scene in chapter 3 to include a mention of it. The timeline is updated to incorporate that information.
      • Example: you move a scene from chapter 7 to chapter 4 for the sake of pacing. This causes the state at the start of scene to be analyzed and the changes in the scene to be propagated and for any conflicts to be noted, both in this scene and any following ones, e.g., MC had $95 in chapter 4 and $60 in chapter 7, and lost their wallet in this scene, so now MC should have lost a wallet containing $95 and won’t be able to make the purchases they made between this scene and chapter 7
      • Example: You add a new scene in chapter 5 after having already written chapters 6-20. The changes in state due to this scene are propagated out and any resulting conflicts are noted
    • Information concealing
      • Example: MC doesn’t know that the Macguffin has been stolen, and neither does the reader. But if you tell the LLM that it’s been stolen at this point, the generated text will often immediately give this away

    Another critical feature is to have versioning, both automated and manual, such that a user can roll back to a previous version, tag points in time as Rough Draft, Second Draft, etc…

    I’d also like to build an alpha / beta reader function - share a link and allow readers to give feedback (like comments in particular sections, highlights, emoji reactions, as well as reporting on things like reading behavior - they reread this section or went back after reading this section - that could be indicative of confusing writing), and also enable soliciting the same sort of feedback from AIs, and building tools to combine and analyze the feedback.

    I could go on about the things I’d love to build in that app, but then I’d be here all day.

    I don’t have that tool built yet, obviously, but it has a need to integrate with everything I’ve worked on - LLMs, embeddings, image generation, audio generation - heck, even video generation could be useful, but that’s a whole different story on its own.

    That app will need to be able to connect to such services from the browser or the backend directly, depending on the user’s preferences and how the services are configured.

    In the meantime, having API key support means I can use my self hosted services with other tools.

    • the FOSS NotebookLM clone supports that.
    • I still haven’t touched N8N, but I’d been (and still am) planning to.
    • I’d been toying with subbing to Novelcrafter, which allows you to connect to an ollama instance.
    • I learned about PlotBunni around the time of this comment and spun up my own instance, then forked the project and added support for API keys and made some other bug fixes… I started adding support for storing data on the server and synchronizing it but never fully got that working before having to set the project aside to focus on my day job.
    • I can now use the Comfy UI Remote app outside of my own network (I think I was already able to do this before by configuring a service user in my auth provider and enabling basic authentication with a base64 encoded username/password as the Bearer token) which is nice because Comfy is a pain to use on a phone
    • Likewise with Kokoro - there is (or was - unsure if it’s been fixed) a bug in the web client that means only Chrome browsers can use it, but because I added API key support to the server, I can expose the service and access it from outside my network with a different client running on my phone

    I’ve been pretty busy and haven’t really touched any of this in over a month now, but it’s certainly not for lack of use cases.



  • Certainly the latter.

    I have pretty decent insurance through work, but if I’m picking up a prescription, it’s cheaper for me to say I don’t have insurance and use a free discount card (like GoodRx) than to use my insurance. We’re talking $150-$200 for one prescription (a one month supply) with insurance vs $30 without.

    To be fair, I have an HDHP with an HSA so my insurance is only supposed to negotiate a discount until I hit the deductible, rather than paying for it. Full price is $200-$250, I think? (I get generics and each generic variant has a slightly different price.) So technically they’re providing a discount, just not a very good one.

    Insurance also likes to require a “prior authorization,” which was always a fun surprise after making it through the pharmacy line. That normally takes a couple days to resolve, at minimum, and sometimes longer. If you’re not familiar with prior auths, it’s basically when the insurance company says “Hey doc, can you justify why you’re prescribing this and answer these eight questions?” and then they have someone without a medical degree review the answer and see if it’s good enough.

    The only downside to paying out of pocket with a discount card is that the $30 doesn’t go toward my deductible. But since my deductible is multiple thousands of dollars, unless something else happens during the year, I won’t hit my deductible off the $150-$200 prescriptions + regular doctor visits alone. But that’s at most $360 out of pocket that wouldn’t have gone toward the deductible, assuming I had a health crisis in December, vs $1440-$2040 saved if I don’t.

    X-rays are even worse, because you’re not told the price ahead of time.


  • hedgehog@ttrpg.networktoComic Strips@lemmy.worldProtest vote
    link
    fedilink
    arrow-up
    11
    arrow-down
    3
    ·
    2 months ago

    Illegal vote suppression elected Trump, but even if it hadn’t, you should blame Democrats before blaming people who voted for third party candidates. Now, if you’re talking about people who “protest voted” by voting for Trump (in both the primaries and the election), then sure. Those people did, in fact, play an instrumental part in electing him.

    Why blame Democrats? Well, beyond just kinda being Republican-lites:

    • for opposing ranked choice voting (and alternatives)
    • for not rallying around progressive candidates
    • for not choosing Kamala via primary elections in 2024

    Democrats are the bare minimum “harm reduction” party, and I don’t bare any ill will toward people who voted for them rather than a party that would actually try to effect change, but the opposite mindset - blaming third party voters for not voting for Democrats - is very shortsighted. And as third party voters have never had the power to enact RCV or STAR voting or otherwise improve the system, blaming them instead of the Democrats who have had that power is inane.

    I’ve voted for a Democrat every single presidential election that I’ve been able to, but I honestly wish I hadn’t. I’d much rather there be more visibility for third parties, and for more people to feel empowered to vote for third party candidates.




  • hedgehog@ttrpg.networktoComic Strips@lemmy.worldAss Ads
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    2 months ago

    Glaring doesn’t imply a negative meaning. In this case it’s used to mean “obvious”.

    Unless you’re suggesting that “glaring” means “obviously staring” (it doesn’t - that would be “glaringly staring”) this doesn’t make any sense.

    “[He’s] glaring at [direct object]” is an example of a sentence that uses the present participle form of the verb “glare,” which explicitly communicates anger or fierceness.

    If you’re not convinced, read on.

    —————

    The verb form that takes an object is:

    Glare (verb with object): to express with a glare. They glared their anger at each other

    The noun form the above definition references is:

    Glare (noun): a fiercely or angrily piercing stare.

    “Glaring” can be an adjective and one of those definitions does mean “obvious” or “conspicuous,” but the use of that form of the word doesn’t make sense in her sentence. Think about a comparable sentence like “The undercover operative is conspicuous at the bar,” where the bar is the location. (Even then, most people wouldn’t use “glaring” in that sentence, as “conspicuous” or “obvious” are much less ambiguous; the operative could be staring piercingly or angrily at the bar rather than being glaring while being at the bar.) Another example that makes a bit more sense is “The effect of the invasive plants is glaring at the park.”

    But for that interpretation to be valid here, you’d have to:

    • believe that the dude is trying to hide/blend in, or otherwise explain how he - not what he’s doing, but the dude himself - is conspicuous
    • believe that the woman’s referring to her own ass as a location
    • assume that she isn’t commenting on how the guy is looking at her ass, even though the joke depends on giving him something different to look at

    That’s a bit of a stretch.


  • This is what I would try first. It looks like 1337 is the exposed port, per https://github.com/nightscout/cgm-remote-monitor/blob/master/Dockerfile

    x-logging:
      &default-logging
      options:
        max-size: '10m'
        max-file: '5'
      driver: json-file
    
    services:
      mongo:
        image: mongo:4.4
        volumes:
          - ${NS_MONGO_DATA_DIR:-./mongo-data}:/data/db:cached
        logging: *default-logging
    
      nightscout:
        image: nightscout/cgm-remote-monitor:latest
        container_name: nightscout
        restart: always
        depends_on:
          - mongo
        logging: *default-logging
        ports:
          - 1337:1337
        environment:
          ### Variables for the container
          NODE_ENV: production
          TZ: [removed]
    
          ### Overridden variables for Docker Compose setup
          # The `nightscout` service can use HTTP, because we use `nginx` to serve the HTTPS
          # and manage TLS certificates
          INSECURE_USE_HTTP: 'true'
    
          # For all other settings, please refer to the Environment section of the README
          ### Required variables
          # MONGO_CONNECTION - The connection string for your Mongo database.
          # Something like mongodb://sally:sallypass@ds099999.mongolab.com:99999/nightscout
          # The default connects to the `mongo` included in this docker-compose file.
          # If you change it, you probably also want to comment out the entire `mongo` service block
          # and `depends_on` block above.
          MONGO_CONNECTION: mongodb://mongo:27017/nightscout
    
          # API_SECRET - A secret passphrase that must be at least 12 characters long.
          API_SECRET: [removed]
    
          ### Features
          # ENABLE - Used to enable optional features, expects a space delimited list, such as: careportal rawbg iob
          # See https://github.com/nightscout/cgm-remote-monitor#plugins for details
          ENABLE: careportal rawbg iob
    
          # AUTH_DEFAULT_ROLES (readable) - possible values readable, denied, or any valid role name.
          # When readable, anyone can view Nightscout without a token. Setting it to denied will require
          # a token from every visit, using status-only will enable api-secret based login.
          AUTH_DEFAULT_ROLES: denied
    
          # For all other settings, please refer to the Environment section of the README
          # https://github.com/nightscout/cgm-remote-monitor#environment
    
    

  • To run it with Nginx instead of Traefik, you need to figure out what port Nightscout’s web server runs on, then expose that port, e.g.,

    services:
      nightscout:
        ports:
          - 3000:3000
    

    You can remove the labels as those are used by Traefik, as well as the Traefik service itself.

    Then just point Nginx to that port (e.g., 3000) on your local machine.

    —-

    Traefik has to know the port, too, but it will auto detect the port that a local Docker service is running on. It looks like your config is relying on that feature as I don’t see the label that explicitly specifies the port.


  • There’s a whole history of people, both inside and outside the field, shifting the definition of AI to exclude any problem that had been the focus of AI research as soon as it’s solved.

    Bertram Raphael said “AI is a collective name for problems which we do not yet know how to solve properly by computer.”

    Pamela McCorduck wrote “it’s part of the history of the field of artificial intelligence that every time somebody figured out how to make a computer do something—play good checkers, solve simple but relatively informal problems—there was a chorus of critics to say, but that’s not thinking” (Page 204 in Machines Who Think).

    In Gödel, Escher, Bach: An Eternal Golden Braid, Douglas Hofstadter named “AI is whatever hasn’t been done yet” Tesler’s Theorem (crediting Larry Tesler).

    https://praxtime.com/2016/06/09/agi-means-talking-computers/ reiterates the “AI is anything we don’t yet understand” point, but also touches on one reason why LLMs are still considered AI - because in fiction, talking computers were AI.

    The author also quotes Jeff Hawkins’ book On Intelligence:

    Now we can see the entire picture. Nature first created animals such as reptiles with sophisticated senses and sophisticated but relatively rigid behaviors. It then discovered that by adding a memory system and feeding the sensory stream into it, the animal could remember past experiences. When the animal found itself in the same or a similar situation, the memory would be recalled, leading to a prediction of what was likely to happen next. Thus, intelligence and understanding started as a memory system that fed predictions into the sensory stream. These predictions are the essence of understanding. To know something means that you can make predictions about it. …

    The human cortex is particularly large and therefore has a massive memory capacity. It is constantly predicting what you will see, hear, and feel, mostly in ways you are unconscious of. These predictions are our thoughts, and, when combined with sensory input, they are our perceptions. I call this view of the brain the memory-prediction framework of intelligence.

    If Searle’s Chinese Room contained a similar memory system that could make predictions about what Chinese characters would appear next and what would happen next in the story, we could say with confidence that the room understood Chinese and understood the story. We can now see where Alan Turing went wrong. Prediction, not behavior, is the proof of intelligence.

    Another reason why LLMs are still considered AI, in my opinion, is that we still don’t understand how they work - and by that, I of course mean that LLMs have emergent capabilities that we don’t understand, not that we don’t understand how the technology itself works.