My employer gives my credentials to LinkedIn, Github, Microsoft, Google, Slack, Amazon, AuthIAM, SuperSecure, TrustMe, Cisco, Oracle, SAP, Peoplesoft, Shopify, Salesforce, and a dozen others. Then they gripe because my coworker gave their credentials to login.ad.azure.microsft.com.
Corporate practices are the primary form of cybersecurity training. I have seen too many corporations (including critical infrastructure corps) that force employees to login to foreign domains with corporate credentials. This includes email services, two factor authentication, team chat, LMS, dashboards, surveys, web meetings, code forges, ticket tracking, VPN, etc.
Corporations outsource almost every single tool used by their employees and train them to cough up their corporate credentials no matter what url the browser identifies. In essence, they phish their employees 100 times a day. Then they force employees to sit through training twice a year to identify phishing attacks. Every legitimate training will create cognitive dissonance with employees' every day work experiences.
Some years back when bluepills ran $2, Arduinos seemed to have no point. Today, you can buy an ESP32 dev board with wifi for $6. Or an Arduino Uno Wifi for $55.
Note that both Bluepill and ESP32 can be programmed in the Arduino IDE, using the Arduino library, and the vast library of Arduino sketches and 3rd party libraries (as long as they don't use AVR assembly language.
So can the Pi Pico, the Milk-V Duo (one 64 bit Linux core, one 64 bit microcontroller core), and many others.
While that is true, both Espressif and the Pico have their own SDKs, and they're really well written too.
The Arduino SDK is the simplest to use, sure, but the Pico framework (I don't have experience with the Espressif one) is extremely good, and the Pico's PIO is a godsend. I used it to implement 3 wire SPI (data bidirectional on the same wire) at almost 'real-time', which is to say, at half the speed of the hardware SPI controller (half the speed because the interface clock is put up one cycle and down the next; this also gives enough time for data shuffling).
Why does the Arduino SDK necessitate a huge markup on Arduino boards, when $0 of every computer I buy to run Linux on goes to GCC?
Just because most of the free software ecosystem relies on unpaid volunteer work does not mean it is a desirable state of affairs, especially with billion dollar companies building on top of said work while hardly contributing anything back.
Both Espressif and Raspberry pi (pico) target OEMs who will buy millions of their chips. They've both embraced the hobbyist market as well, but it's not how they've recouped their investment.
Arduino targets the hobyist market where customers will buy one (or at best a handful) of their boards. Arduino simply has no other way of recouping their investment than selling expensive hardware.
So I don't think it's fair to say that Arduino is being greedy. Also FWIW, Espressif's official dev boards are also pretty expensive. Not Arduino expensive, but several times the price of identical "clones" based on the same reference design and using the same official esp32 module.
If you think the price is unreasonable, don't buy. You have listed what you seem to think are better options. I agree that there are better options. If somebody else wants to spend their money in different ways than I do, let them. If Arduino thinks they can make money this way, let them try. If it works, good for them, I guess. If it fails, I guess the joke will be on Qualcomm. Honestly, Arduino could slash their price to be $1 less than a Milk-V Duo and I'd still by the Duo. If the Arduino was $1 less than an ESP32, I'd still by the ESP32. So I'm not sure lowering prices wouldn't just hurt them.
I have never bought an Arduino. I have bought a few Picos, a few ESP32s, and a couple Picos. And a clone of an Arduino Nano integrated in a system with a Pico for 5V logic, specifically, to implement a PS/2 controller. I don't see any advantage an Arduino has over an ESP32, aside from 5V logic support.
> Precisely why brand drugs continue to make money over fist for pharmaceutical companies even after patents expire.
Generics may have the same active ingredient but (vastly) different pharmacokinetics - i.e. different absorption rates/retention in the body. For basic stuff such as painkillers that's one thing, but for more sensitive medication such as insulin, antidepressants or anything related to the cardiovascular system (heart rate, blood pressure and clotting) one has to be very careful when switching between brands.
Its relevant, however, that the Bluepill and ESP8266 cores for Arduino were originally independent reimplementations by third party hobbyists, not made by Arduino. And Espressif themselves have always developed the ESP32 Arduino library implementation. They weren't completely freeloading off Arduino's work, and Arduino (the company and the ecosystem) heavily benefit from contributors of all sorts. Particularly in the case of Arduino and Espressif, they have been successful together.
> Some years back when bluepills ran $2, Arduinos seemed to have no point.
But you still used the Arduino SDK with the bluepill, so clearly Arduino had a point. Unless you were one of the few masochist who dealt with the STM32 toolchain directly for fun?
The Pi Pico is such a breath of fresh air in that regard. Finally a decent-enough toolchain for a decent-enough performing ARM MCU!
Clearly,a million people have tried to find an answer for this question. I've tried. At least one of my attempts was an XY problem. I was converting generated HTML that would never see a browser. It was never intended to see a browser. The people generating it were very good at HTML/CSS/JS, but didn't know how to produce the same content outside HTML.
It depends on what you think she is attempting. If you consider that she is attempting to maintain a certain standard of living, then yes, it is working. There is a strange reality where you can get other people to pay you millions of dollars a year because somebody else previously paid you millions of dollars a year. You might have to keep shuffling who pays you, though.
According to the article it’s largely self paid. I’d also be surprised anyone for a pre-product startup is being paid millions a year to run it… even her.
Do I understand that you want these to be sorted like this?
1
2
9
10
11
So I guess you also want things sorted like
1.1
1.2
2
9
9.9
And also
1
1.1
1.10
1.2
1.10.1
So when you're done defining whatever crazy rules you think up, how do I pause whatever and edit the filenames to get them back into lexicographical order?
You can massage lexicographical to meet your needs. I can't massage your arbitrary rules to meet my needs.
Your examples don’t need any extra rules to be sorted correctly. The basic idea is that any sequence of digits is treated for sorting as if it were a single character. On my iPhone, your examples are sorted as expected.
I would not know how an OS treats those if we do not assume mindreading vs proper lexicographic order. Why would we need to substitute precision with vagueness for something that simply taking care of proper naming would suffice?
Ah yes sorry, 1.10 comes after 1.2 because 10 is bigger than 2 (so in fact different from your example). But assuming your original list is a list of versions (which seems reasonable given the presence of multiple decimal points for some cases), then that’s the order you’d want.
If you have non-integer numbers in your filenames then it won’t give the order you want, but there isn’t going to be a rule that works for all cases.
I was with you until this point, but 1.2 is bigger than 1.10, because 1.2 is a shortened version of writing 1.20 _unless_ you explicitely want these to be version numbers or something like that. The normal expectation would be to treat numbers as, well, mathematical numbers, and not SemVer, especially if we only have one decimal point, don't you think?
As I said, the sorting rule won’t always give pleasing results, but it seems to me like a simple and reasonable modification of lexicographic ordering.
1.10, the number, is equivalent to 1.1. It is less than 1.2. You say you want numbers to sort as numbers, but you want 1.10 to be greater than 1.2.
Do you consider '1/4' to be a number? Should it come before or after '1/3'?
I'm guessing that you don't want to sort one character at a time if you encounter one of [0-9]. Instead, you want to group all consecutive [0-9] as a single sortable number. But aren't characters '.', ',', '/', '-' also part of numbers?
It doesn’t work for decimals. It also doesn’t work for pi, or most dates. That’s okay. Supporting those cases would require “reading your mind” / trying to guess what the user wants by applying opaque rules. I certainly don’t want that.
Treating consecutive digits as numbers is a simple modification (I still think it’s quite simple) that is easy to understand and supports 99% of real-world use cases.
> But assuming your original list is a list of versions (which seems reasonable given the presence of multiple decimal points for some cases), then that’s the order you’d want.
What level of assumption is here expected from the sorting-system, would it have to process ALL entries of the list to find multiple decimal-points and then assume that they are ALL versions and not numbers?
How to treat this on different locales, where the decimal point is a comma and thousands-separator is a dot. Should the locale then also be considered by that system? Also when listing the folder of a remote-system with a different locale?
What about dates, should that system attempt to sort entries with multiple date-formats (yyyy-mm-dd, dd-mm-yyyy, dd-MMM-yyyy,...)?
The topic is far more complex than this narrow example. If we expect such a system to alter its sorting based on some data format interpretation, there is a risk of misinterpretation which might make the whole list unusable...
It has nothing to do with decimal points. It just looks at any contiguous sequence of digits and treats it as a single character for the purposes of sorting. The decimal point could be any other character and the behavior would be the same.
Decimal numbers are treated as strings and will have a completely different order, with digits after the decimal point sorted differently to whole numbers without fractions?
Or you mean every set of continuous digits within the same string are considered as individual whole number?
Depending on the decision, either lists of decimal numbers or lists of version numbers will be sorted wrong.
--> This could be covered by adjusting the logic based on the amount of decimal points.
And the logic complexity keeps increasing, up to an arbitrary point of "no, this will not be considered", resulting in an unpredictable user-experience of sorting...
I understand that you found your perfect trade-off for sorting based on longer considerations. But it will be difficult to communicate such a concept to a user.
Applying partial rules to improve sorting in one direction is not a lossless activity, it makes the UX actually worse in other scenarios as the user is first guided to assume a certain behavior, but then learns that his expectation is broken in adjacent scenarios (Which is more or less the bottom-line of that article to begin with).
In the end it'll be just "another standard" for sorting [0]
> But it will be difficult to communicate such a concept to a user.
This isn't a prerequisite, since the existing naive character sort approach is not communicated either. In fact, it's almost universally unexpected by any user who hasn't written a naive string sort. Apple doesn't do this, and I very much did not need it communicated to me why 10 was coming after 2, because that's what everyone, who's not a programmer, expects.
As a litmus test, go ask some people, who are not programmers, without loading the question beyond "here are some files, how would you expect for them to be displayed in a list?". Show the lists side by side. It should not surprise you.
We just discussed a situation where lexicographical sorting doesn’t work. Adding in a rule to treat consecutive digits as one number doesn’t significantly complicate the logic and makes sorting work for a major additional use case. It doesn’t magically fix every case but it fixes a common one with minimal downsides.
Your excerpts don't divulge whether one of the bus manufacturers is required by law to pay health insurance, social security, and other labor costs. Are they required by law to treat the water from their cooling towers before they dump it in the river? Do they have to pay a 50% tariff on imported parts?
I'm sure there is a lot of slop in different purchasing departments. They can probably all tighten things up. But there are legitimate reasons for one product to cost more than its twin. The U.S. should not allow twin products to be sold on the same shelf if one was not manufactured under the same rules as the domestic product. If all three of these products played under the same rules, then we can point fingers. Without that you are just ridiculing the company who knowingly takes a hit for purchasing from responsible vendors. If that is what you are doing, shame on you.
The 2 bus contracts were with the same manufacturer, which is
headquartered in California.
The wikipedia entry for SORTA claims that in 2024 they took delivery of 19 buses: 7 diesel-electric hybrid and 12 diesel. They also list four more hybrid coaches on order. Presumably some or all of these are the 2023 order.
RTD's web site shows far more than 10 buses delivered in 2023 and nothing beyond that. They talk a bit about diesel hybrids but from what I can tell RTD does not operate any 40 ft hybrids.
Unsure what to say about the Bloomberg article but it smells like bullshit to me. Regardless, hybrid drivetrains will increase the unit cost significantly.
And?
reply