Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)J
Posts
11
Comments
78
Joined
2 yr. ago

  • Despite my love of yaml. I actually think he has a small point with unquoted strings. I teach students and see their struggles. Bash also does unquoted strings and basically all students go years and years without realizing

     sh
        
    cat --help
    cat "--help"
    # ^ same thing
    
    cat *
    cat "*"
    # ^ not same thing
    
    cat $thing
    cat "$thing"
    # ^ similar but not the same 
    
      

    To know the difference between special and normal-but-no-quotes you have to know literally every special symbol. And, for example, its rare to realize the -- in --help, isn't special at a language level, its only special at a convention level.

    Same thing can happen in yaml files, but actually a little worse I'd say. In bash all the "special" things are at least symbols. But in yaml there are more special cases. Imagine editing this kind of a list:

     yml
        
    js_keywords:
    - if
    - else
    - while
    - break
    - continue
    - import
    - from
    - default
    - class
    - const
    - var
    - let
    - new
    - async
    - function
    - undefined
    - null
    - true
    - false
    - Nan
    - Infinity
    
      

    Three of those are not strings. Syntax highlighting can help (which is why I don't think its a real issue). But still "why are three not strings? Well ... just because". AKA there isn't a syntax pattern, there's just a hardcoded list of names that need to be memorized. What is actually challeging is, unless students start with a proper yaml tutorial, or see examples of quotes in the config, its not obvious that quotes will solve the problem (students think "true" behaves like "\"true\""). So even when they see true is highlighted funny, they don't really know what to do about it. I've seem some try stuff like \true.

    Still doesn't mean yaml is bad, every language has edge cases.

  • Its easy for me to say "just start writing JSON in the yaml. It doesn't get more simple than JSON", but actually I do think there's a small point with the unquoted strings.

    Back before I knew programming, I was trying to change grammar settings sublime 2, which uses yaml. I had no idea what yaml was. The default setting values used unquoted strings fot regex. I knew PCRE regex and escapes, but suddenly they didnt work, and when I tried to match a single quote inside of regex that also didn't work. I didn't know I was editing yaml file (it had a .tmLanguage extension). Even worse, if I remeber correctly, unparsable settings just silently fail. Not only did I have no errors to google, I didn't have any reason to believe the escapes were the cause of the problem (they worked in the command line). Sometimes I edited the regex and it was fine, and other times it just seemed to break. I didn't learn about quoting in YAML until years later.

    For me that was an unfortuate combination, which was exacerbated by yaml unquoted weirdness. But when you're talking about "did you read the spec" that's a whole other story. .nan for nan, tabs vs spaces, unquted string weirdness, etc should just be one error message+google away. I think they're a small hiccups with what is overall a great format.

  • I have read the 1.2 spec (I'm trying to make a round trip parser for JS, and I do maintainance on a fork of the rumel yaml python package). I actually think its very well thought out, with things I hadn't considered like future extensibility, streaming applications, and data-corruption detection.

    The diagrams, color coding, and less-formailty of the spec was much appreciated. Especially compared to something like the ECMA Script spec, which reads like a math textbook had a child with a legal document.

    I'm not saying YAML is perfect; round trip (the thing I'm working on) is nearly impossible because it wasn't a design goal. It has a few too many features (I've never seen a declaration in the wild), but it does a good job at accomplishing the creators goals, and the additional features basically only slow down parser-implementers like me. I often pick it because of the tag support, which I've struggled to find an equivalent for in other serialization languages. I use anchors in recursive data structures, and complex keys for serializing complex data structures (not human readable). The "document end" marker has been nice when I'm worried about detecting partial-writes. And the merge key is nice for config files.

    The application/perspective matters. Yaml might be bad for you but its not bad for everyone.

  • It gets worse :/

    I looked up the brand (Invenda). Their PDF includes "using AI", "measuring foot traffic", and gathering "gender/age/etc" e.g. facial recognition to estimate a persons age and gender

    And in terms of "stored locally" this is straight from their website

    The machine comes with a “brain” – Invenda OS – and is connected to the Invenda Cloud, which allows you to manage it remotely and gather valuable environmental, consumer and transactional data. The device can be branded according to your requirements to further enhance your brand presence.

    The marketing also so fricken backwards that it reads like satire:

    For a consumer, there’s no greater comfort than shopping pressure-free. Invenda Wallet allows consumers to browse, select and pay for products leisurely and privately 🤦‍♂️

  • 16% said "should not" to a grocery store? What?

    I feel like there should be a separate question for the "I don't want anything near me" rural choice, since those might be making the rest of the responses misleading.

  • Wow, most of these were new to me. I'm testing them for a few minutes and so far they're working great. I've been avoiding Google's voice to text for a while, and hadn't found a good maps app either.

  • In certain states in the US they require a drug test to make sure you are infact taking the medication yourself. Its almost like a reverse drug test; you get in trouble if you're not taking drugs.

    So I guess also don't forget and/or try to get off the medication otherwise you'll fail the drug test and also loose access.

  • Also don't forget your mandatory call to the doc each month for every refilland don't forget to call a day early when it lands on a weekendand don't forget to setup the mandatory appointment every 6 monthsand don't forget to actually go to the appointmentand don't forget to schedule a drug test once every whatever-amount-of-time it is for your stateand don't forget to not eat or drink or take the medication the morning of the drug test

    Cause if you forget just 1 of those they'll obviously have no choice but to deny you the medication you've been taking every day for 10 years. But you understand because punishing disabled people for mistakes/crimes of able-minded people (who don't find those things challeging), is clearly the only option they have.

  • I still use Prezi, although I'd really like an open source alternaitve.

  • If you're asking about specific names of features, its just the ones seen in that video clip. It seems like a pattern of very not-modular-ness.

    If you're asking why that pattern is concerning as an end user: Zed claims to be "a lightweight text editor". But hardcoded support for a particular javascript library, as well as hardcoded support for a particular formatter, feels a lot more like a opinionated IDE packed with features designed for the specific workflows of the creators. Even if there's no runtime cost, there is a technical cost for open source contributors. These little not-modular things can really bloat the codebase and make it hard to contribute.

    More importantly, if Zed does add plugin support in the future, its going to require a major code refactor. Which makes forks and outside contributions especially hard.

    From a lock-in perspetive: if something better than tailwind comes out, and we were daily driving Sublime 3 with no extensions, its no big deal to switch to the new thing. There wasn't any hidden favoritism to begin with. But in Zed, not only will it feel bad to use the unsupported new thing, but also the team behind the-new-thing can't realistically fork and add support either. They just have to hope the Zed devs decide to support it.

    If their website said it was a fast low-overhead opinionated IDE I'd be fine because I'd know the kind of lock-in I was getting into.

  • Lapse is going the extensions-for-features route, cross platform from the start, is more buggy atm, slower progress (doesn't have 3 dedicated experienced devs) but is more accepting of community support.

    Zed, similar goals and rust backend, probably has some monetization goals (eventual offering of live sharing code service), and Zed isn't afraid to hardcode features. Like... very hard hardcoded features, to the point that I'm kinda concerned about it. This 5min clip of Theo looking over the source code shows it pretty well https://www.youtube.com/watch?v=ZOYp6-k9HhE&t=1533

    The Atom/Zed devs write the most well-documented code I've ever read. Clear variable names, perfect comment-explainations when needed, etc. I wish they would join up with Lapse.

  • no

  • Most problems in the modern age aren’t complicated engineering problems, they’re the same problem: coordination failure

    I'm in the 3rd year of my engineering PhD, because my whole life I thought society needed an engineering solution. I mean I didn't blindly accept what people told me, but still it wasn't until last year that I realized/agree with basically what this quote is saying; society isn't bad because of an engineering problem. We're pretty good at making water, food, shelter, and transporting stuff around but pretty bad at having a good life (ex: the loneliness epidemic). That gradual realization is part of why I'm in the solarpunk community.

    Spending almost 20 years in education learning to solve the wrong problem is a real shame to say the least, which is why I think articles like this are incredibly important.

    IMO, we need to change our attitude when we talk to kids of the next generation. No more "politican = bad don't do it. Be good; be an engineer". Instead we should be saying "our politicans are bad, you should be good, study, and run for office"

    • I made this countdown website You know that meme of "The event starts at 2pm, and its 10:30am--which is practially 11am--which is practically noon, and its an hour drive so i basically need to leave now!" Well this website solves that problem for me. On desktop it turns the top of the browser tab into a countdown (it can work on mobile too but its rough atm since I only made it for me). Type "Mon,Wed,Fri 10:00am Class" into the text box and it'll count down the seconds. Type "8:00am thing" and it'll assume it happens everyday. Type 12/25/2020 8:00am and it'll know its a one time event. The text will stick around even if you refresh the page, so you can bookmark it and enter everything once. One card can have multiple times, just make a new line and put another time on it. I usually have something like 8:40am leave, 9:00am class starts, 10:00am end of class all in one card. Then I have a separate card for the next event.
    • Using a sunlight alarm clock and a space heater to kickstart (and HEAVILY enforce) a morning routine
      • (Use a timer socket with the space heater to have it auto turn on)
      • It is incredible how effective this the combination is. You can go to bed at 1am and get up at 5a and still wake up in a decent mood, never pressing snoose, never dealing with a noise-maker. When it's hot and bright, your whole body just tries to be awake instead of trying to keep you asleep.
      • Do the exact opposite at night to break hyperfocus (use the thermostat clock to make it cold and have lights auto-turn off using timer sockets) it's difficult to keep working when it's really cold.
      • If you really need to be awake, add a gradually-increasing-volume music alarm
    • For subscriptions, use Privacy.com to create virtual credit cards. I have 1 card for each subscription. If I'm doing a free trial, I limit the card to $1 so if I forget it's not a big deal. When I want to stop a normal subscription, I don't even bother with the website. I just one-click cancel the card.
    • An Alarm hack; to set an alarm that goes off in 5 days (without downloading a better app) use the weekly-repeat feature and just select the only one day of the week. Then cancel the repeat when it goes off (or be like me and sooze it for 3 weeks then delete it). Everything on my calendar becomes an alarm once it gets close enough.
    • Have a "gradient" of food. E.g. some food you really like, some that's okay, and some that you won't eat unless you have to. During finals/crunch-time when you forget to go to the grocery store, there will still be food available when you really need it.
    • I've used many different task systems. I agree you've gotta have one, but its gotta work for you. My tip is; be ready to evolve it, and dont be afraid to be simple. I had a conplex auto sorting spreadsheet that was perfect for 3 years, but, at a separate time, I had a little black notebook that was awesome. One day the spreadsheet just stopped being useful, same with the notebook. Life changes, and it doesnt mean your system is a failure, or that you are "falling off". If anything it can mean you're growing. So always be looking at other people's systems to see if you can imagine adapting it to your own life. Also, be wary of the glamorous well-marketed overly-high-tech solution.

    Finally, there's a general thing I call "their L, your W"

    • There are weird things, like keeping your shoes on, that can keep you in a working mood (different for each person). The tip is, even if others say "tracking mud all over the house is unnecessary and a definite L", don't merely ignore them; make it clear you're intentionally taking their L--you'll will deal with the dirty floor later. Then enjoy/relish your win of staying in a working mood. DONT think "well taking my shoes off shouldn't™ matter". If it matters to your brain, it matters for you. If people complain "that doesn't make any sense", well the placebo effect doesn't make sense either, but its real. We're not being petty or lazy, we are being pratical.
    • A funny one of these that works for me is having 1 plate, 1 bowl, 1 fork, 1 knife, and 1 spoon in the kitchen (extras are in the attic and intentionally hard to get). My sink is never full of dirty dishes, and I never put off cleaning them.
    • A really extreme example is; I got rid of my car. Best decision of my life. I never "try" to work out, I don't need to; I bike everywhere. I get benefits of working out for free (no mental cost). I get so much more done after being active, and when I'm late I can actually just try harder and get there on time. Takes a lot of planning, picking living location, etc to be able to, but it's worth it.
  • The best part of this is the subtle implication that you can tell a million completely different stories with the same data.

  • If you think that's good, then you're gonna love this "simplified" real code posted as a real issue on one of my Github repos.

    Edit: updated link to address the stack-trace comment

  • A (nice) coworker once asked me if I had a system for managing tasks.

    I thought they were asking to learn, so I enthusiastically told them about the ~30 different systems I use; the inbox of all incoming tasks, a flowchart for task allocation, urgency VS importance whiteboards, etc, etc. I mentioned each of the books and methodologies those systems came from. (I highly recommend this 5min vid and listening to Order from Chaos (written by and for people with ADHD))

    "Oh... cool" was their response, and in that moment I realized they were actually asking because they thought I didn't have any system at all...

  • I get the sentiment. Do you have an alternative way to pay people across the world anonymously?