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/)AB
Posts
0
Comments
1,096
Joined
2 yr. ago

  • It’s a mind-numbing boring task. How does one stay alert when most of the stimulus is gone? It’s like a real-life version of Desert Bus, the worst video game ever.

    Agreed. I don't see any chance humans will be continuously supervising trucks except as some sort of quality assurance system. And there's no reason for the driver to be in the truck for that - let them watch via a video feed so you can have multiple people supervising and give them regular breaks/etc.

    Human skills will deteriorate with lack of practice. Drivers won’t have an intuitive sense for how the truck behaves, and when called upon to intervene, they will probably respond late or overreact. Even worse, the AI will call on the human to intervene only for the most complex and dangerous situations. That was a major contributing factor to the crash of Air France 447: the junior pilots were so used to pushing buttons, they had no stick-handling skills for when the automation shut off, and no intuition to help them diagnose why they were losing altitude. We would like to have Captain Sullys everywhere, but AI will lead to the opposite.

    I don't see that happening at all. An passenger jet is a special case of nasty where if you slow down or stop, you die. With a truck in the rare occasion you encounter something unexpected, just have the human go slow. Also seriously it's just not that difficult. Right pedal to go forward, left pedal to go backward, steering wheel to turn and if you screw up, well maybe you'll damage some panels.

    The AI will shut off before an impending accident just to transfer the blame onto the human. The human is there to serve as the “moral crumple zone” to absolve the AI of liability. That sounds like a terrible thing for society.

    So you're thinking a truck sees that it's about to run a red light, and transfers control to a human who wasn't paying attention? Yeah I don't see that happening. The truck will just slam on the brakes. And it will do it with a faster reaction time than any human driver.

    With a fleet of inexperienced drivers, if an event such as a snowstorm deactivates AI on a lot of trucks, the chaos would be worse than it is today.

    Hard disagree. A snowstorm is a lot less problematic when there's no human in the truck who needs to get home somehow. An AI truck will just park until the road is safe. If that means two days stuck in the breakdown lane of a freeway, who cares.

  • Here in Australia it's standard practice to use "how much profit did you make" as the basis for a fine against a corporation.

    Except we normally multiply that number by 3x or 5x in order to make it properly punitive.

    The upside is companies tend to obey the law. The downside is every now and then an honest mistake ends in bankruptcy. And in fact, most people fined are making a mistake, because why would any corporation take on that much risk intentionally?

    I'm OK with all the fines being a bit unfair. If you're incompetent then GTFO of the market and allow someone who does a better job to replace you.

  • the world once again fell for google’s propaganda

    Not really — since so far nobody else has adopted RCS. And not many people use the Google one either.

    The Signal protocol is a defacto standard and on the path to becoming an actual standard. It's already the most widely used messaging protocol today except for perhaps Email... but email would only be larger if you include messages that were sent by bots. For human sent messages, Signal is the most widely used protocol in the world.

    And as part of the DMA in Europe, Meta (which makes up most Signal users) is opening up their infrastructure so that any other messaging app can send/receive messages to their users. Which would essentially make it a perfect replacement for SMS and definitely better than RCS. You won't have to use WhatsApp or Facebook Messenger yourself, to be able to securely contact anyone who does.

  • But on the flip side, you also have to consider how much cheaper, well, literally everything, will be when it doesn't cost $30 an hour to move a product from one place to another?

    Everything will cost so much less that Universal Basic Income wouldn't need to be anywhere near as high as it is right now to be "living wage".

    Like it or not - self driving trucks are coming. We need to find a way to adjust to that. The timeline for when is probably not "when will the tech be ready" but rather "when will society be ready". I'm pretty sure if you deployed self driving trucks today, pitchforks would come out and those trucks would be blocked by civil disobedience.

    Slow it down too much though, and you'll put your whole economy at a global disadvantage. A first would country could easily become a third world one by refusing to allow autonomous trucks. Autonomous trucks already exist and not just on pristine highways — for example they're used on mine sites with no roads at all — https://thewest.com.au/business/mining/bhp-autonomous-trucks-collide-at-jimblebar-iron-ore-mine-in-pilbara-ng-b881139676z

  • Have you heard of "pedestrian controlled" trucks? They're increasingly common. Here's one being used to move an airplane cargo container:

    They're usually small but these days some carry 15 tons and you just grab them by a handle and start walking. Often there's a lifting function (to load cargo onto/off of tall shelves/etc).

    You're not always limited to walking speed, some of them have a platform the operator can stand on to increase the speed.

    I could totally see those increasing in size, to the size of a full size shipping container maybe, and having a wireless control system instead of needing to stand right next to it (which could be dangerous). It'd have sensors prevent the operator from running into anything and the control would just be a pair of joysticks. Outside of the loading dock of a building, they'd be able to drive autonomously.

    The job of "driver" would be replaced by just a team of people who load / unload the cargo and plan/supervise the truck. And I don't think it's far away at all - we're already seeing it with smaller cargo loads (is 15 ton all that small?).

  • The name means "very bad camping ground" in the local Wiradjuri language. I don't speak the language, but from what little I know of first nations languages I'm guessing a singular "grong" would be "bad camping ground" and duplicating it as "grong grong" makes it "very bad".

    So yeah, intentionally displeasing. It has reliable water where two creeks join and become one larger creek, which meant it was a place you could camp if you were on your way to somewhere else and needed to stop, but otherwise it's not somewhere you wanted to be.

    White people established a town there because it was a good place to access water for steam trains - which needed to stop every 10 to 50km to fill up their water tanks.

  • ...

    Jump
  • PowerShell is heads and shoulders over bash

    Sure... but that's a low bar. Bash is basically the worst shell of them all (if you exclude the ones that are so bad nobody uses them).

    I'm a fan of fish personally. It's both concise and feature rich. The fish language isn't something I'd want to write a complex shell script in, but it's a thousand times better than bash and if you're writing something complex then I'd argue any scripting language is the wrong tool for the job. Including Power Shell. You should be using a proper programming language (such as C#).

    PowerShell is innovative, for sure. But string output/input shells scripting wasn't broken (unless you use bash) and I'm convinced trying to fix it by replacing simple string input/output with objects was a mistake.

    I love OOP. However I also love using existing tools that work well, and none of those tools are designed to be OOP.

  • ...

    Jump
  • Swift is a relatively young language and ~3 years ago a lot of things were brand new or had relatively recently been refactored.

    For example async/await was added around when you looked into it and that obviously made a lot of documentation relating to threads out of date (from memory they pretty much deleted all of it and started the long process of rewriting it, beginning with very basic docs to get broad coverage before having detailed coverage).

    And before that the unicode integration wasn't quite right yet — they did the tough work to make this work (most of these characters are multiple bytes long):

     
        
    let greeting = "Hello, 🌍! こんにちは! 🇮🇳"
    
    for character in greeting {
        print(character)
    }
    
      

    And this evaluates to true even though the raw data of the two strings are totally different:

     
        
    let eAcute: Character = "\u{E9}" // é
    let combinedEAcute: Character = "\u{65}\u{301}" // e followed by ́
    
    if eAcute == combinedEAcute {
        print("Both characters are considered equal.")
    }
    
      

    I hated how strings were handled in the original Swift, but it's great now. Really hard to write documentation when fundamentals like that are changing. These days though, swift is very stable and all the recent changes have been new features that don't affect existing code (or already written documentation). For example in 2023 they added Macros - essentially an inline function (your function won't be compiled as an actual function - the macro code will be embedded wherever you call it).

  • ...

    Jump
  • What? That's not what happened at all.

    JavaScript was built entirely by Netscape from the ground up with no external involvement, and that was totally their "initial plan". It shipped in testing (under the name "LiveScript") within months of Netscape 1.0.

    And then Sun Microsystems paid Netscape a lot of money to rename it to JavaScript and pretend it was related to Java, even though it had nothing at all to do with Java.

  • In less than two years, the rechargeable lithium-ion battery found in your AirPods is due to die an untimely death.

    Bullshit. I got four years out of each of my pairs and I used them several hours a day. Also replacing the battery when it does wear out is is something like 50 bucks. Sure, you can't do it yourself but Apple will give you a refurbished pair, and they will recycle your old battery.

    And they provide free recycling for all their products — you're basically paying for it to be recycled when you buy AirPods and any that go into landfill that's entirely the customer's fault.

    No wired headphones I've ever owned lasted even close to that long - the cable eventually fails with several hours per day of swinging around and being packed tightly into your pocket.

    That said, I've switched to bone conduction headphones now, and will probably never own another pair of airpods unless they go down the same path.

  • ...

    Jump
  • Swift. It's an amazing language with clear but concise syntax that has every language feature you could ever want including some really nice ones that are quite rare (not unique, but certainly rare especially all in one place).

    The most unique and meaningful features are the memory manager and thread manager.

    Write a tight loop in Swift vs almost any other language, there's a good chance Swift will use orders of magnitude less memory - because it's better at figuring out when you're done with a variable and don't need that five megapixel image anymore. And it's fast too — memory management isn't something we rarely need to worry about in most languages but in Swift it's more like "almost never" instead of just "rarely".

    The threading system is so efficient that calling something on another thread is almost as fast as an ordinary function call, and the code to do it is also almost as clean as a function call, as well as all the tools you need to allow efficient (and reliable) data transfer between threads. The few mistakes you can make are usually caught by the compiler. Swift programmers use threads all the time even if they don't really need to. It's nothing like other languages where threads introduce unnecessary complexity/bugs or performance bottlenecks.

    Seriously look at this comparison of DispatchQueue and OperationQueue of a thread locked operation (setting a shared variable). A million operations in a bit over zero seconds vs nearly 30 seconds and the kicker is the 30 second one isn't "slow" — a lot of thread safety management tools would be minutes if you tried to do that (these two comparisons are both done in Swift, which has several different ways you can deal with thread safety):

    Swift is fully open source and cross platform. But unfortunately it hasn't taken off outside of Apple platforms, and therefore it lacks comprehensive libraries for a lot of commonplace tasks particularly when it comes to server side development or interacting with the Window Manager on Windows/Linux/Android.

  • Phones are remarkably durable now

    Even if you look after them perfectly the oleophobic coating starts to wear off with normal use after about six months.

    iPhone 15 Pro Max is about 5 or 6 on a mohs scale. Beach sand is much harder than that and often very sharp, so if you ever go to the beach (I'm lucky enough to do that almost every day), you're probably going to have sand in your pocket/bag and that will scratch the screen. My current screen protector is about 12 months old and has tens of thousands of micro scratches (only visible in certain lighting) and five or six deep gouges (visible whenever the screen is off). Time to replace the protector.

  • They all take away from the display. Even if nothing else, the simple fact you have one more layer is adding a surface for light to bounce off. Glass is not transparent. Something like 16% of light bounces off most glass, depending on the chemical makeup and also how the layer is bonded to the display (there are ways to bond it that reduce the issue and Apple uses those for all the internal layers on the display).

    Having said that — I still think screen protectors are worth it, because i use my phone for a long time and am pretty rough with it, so my glass is going to get scratched and the ability to replace the outer layer periodically (and cheaply) is worth the tradeoff to me.

    The best ones don't cover the screen - they cover pretty much the entire front of the device. Unfortunately with some iPhones those are not available (e.g. if the phone has curved edges). And they have an oleophobic coating — because holy shit fingerprints are bad without that. This is another reason to use a screen protector. That coating wears off over time and eventually your factory iPhone screen protector will be covered in smudges (unless you buy a new one regularly).

    You also need one with very good installation instructions and maybe also some kind of alignment jig built into the packaging. Wether or not that's necessary depends on what model phone you have, since some iPhones are more difficult than others.

    I'm a big fan of D-Brand screen protectors — they're well made and the installation instructions are the best. Even if you buy someone else's protector it's worth watching the D-Brand instructions for tips. This one doesn't have an alignment jig, because one isn't really needed. For some phones or protectors it really is needed. https://youtu.be/OJW89JK3zZk

  • That knowledge is mostly trivial. 7/10 repairs a regular Joe could do. Or worse comes to worse you can take it to a mechanic of your choosing.

    That's not true anymore. Modern cars have really complex problems that even mechanics struggle to fix. Especially when it's a software problem... usually those problems just never get fixed.

    As a software developer (not an automotive one) my take is the fix is to have everyone be running the same software, so that fifty thousand dollars diagnosing and fixing a problem for one car will result in it being fixed for all cars. Spread the cost out like that and it's affordable. Otherwise it just won't get fixed at all.

    Should we go back to basic cars? I think so yes... but then I ride a motorcycle that doesn't even have water cooling or a battery. But most people aren't like me. They want lane keeping cruise control/etc.

  • As someone with a three year old kid in Australia, I think the government does a pretty good job at all of those things.

    For example we've only ever paid medical bills for things that were totally optional, and the free services were extensive (including repeated 1:1 home visits by a professional midwife - for free, and for the actual birth there was more staff attending that mum than anyone else in the hospital gets - even Intensive Care Unit patients get a lower level of care).

    Education will be free starting next year, and the optional education he's enrolled in this year and in the last couple years have been extensively subsidised (and would be subsidised even more if our income was lower).

    Money and time are and always will be in direct opposition to each other and every parent has to make a tradeoff between the two, and not really anything the government can control. But it's worth noting basic living expenses (like staple foods) are largely exempt from taxes, and the recent high cost of electricity, due to the ukraine war, has triggered government assistance packages to help people out (everyone, but low income people have been get even more help — we actually haven't paid an electricity bill at all the last 8 months or so - from memory we're about $100 in credit due to various subsidies).

    Could it be better? Sure - for example I think free education should start younger and include things like swimming lessons (enough to not drown). But I don't really have any complaints.

  • Nobody should be surprised by this, and I don't see how it's "fake" at all.

    Systems like this are extremely error prone. There's no way you can get an acceptable level of accuracy without extensive human review. Doesn't mean there's no AI — there is. It's just the AI is merely to help those humans do their job.

  • For anyone who wants to go down that path — I recommend reading (or listening to) "Build" Tony Fadell:

    https://www.buildc.com/the-book

    Fadell worked at companies you may have heard of such as Apple, Google Sony, Philips, Motorola, Toshiba... as well as others you likely haven't heard of (because they were moonshots that explode mid flight).

    He's now basically retired and spends his time advising the next generation, but that book covers all the basics. It really is a gift to the billions of people who can't ask an experienced product developer for advice.

    1. Write down who your customers are.
    2. Write down what problem your customers have, which can be solved with your product.
    3. Write down how your product can solves the problem.
    4. Figure out how you can achieve that goal (this needs to be separate to step 3 - you're essentially tackling the same thing from a different perspective... helping you see things that might not be visible from the other one).
    5. Anything that does not bring your product closer to the goal(s), remove it from your product.
    6. Anything that would bring you closer, but isn't achievable (not enough resources, going to take too long, etc), remove those as well.

    Those are not singular items. You have multiple customers (hopefully thousands). Your customers have multiple problems your product can solve. Actually solving all of those problems will require multiple things.

    If that list sounds functional, that's because good design is functional. Aesthetics matter. Why do you choose a black shirt over an orange shirt with rainbow unicorns? Take the same approach for the colours on your app icon. Why do you choose jeans that are a specific length? Take that same approach for deciding how many pixels should separate two buttons on the screen.


    You said you struggle with looking at a blank page. Everyone does. If you follow the steps I outlined above, then you won't be working with a blank page.