It could have been worse
I'm used to these being layoff notices.
3978 publicly visible posts • joined 15 Jun 2007
Once upon a time we built frameworks and code libraries to improve productivity. Solve common difficult problems once and do it right.
Now AI blasts out massive amounts of buggy regurgitated code to solve problems that it has already seen the solution for. It this point, AI is practically an extremely unreliable compiler.
I had to create a specialized proxy cache for extremely fast and dynamic data. Some elements were hierarchical, meaning resources needed consistent children. It also updated rapidly, often faster than clients could finish downloading their consistent snapshot. The obvious solution was copy-on-write for everything. It also needed objects to page in and out of memory since they might total larger than a 32 bit machine's address space. This was anything but easy for C++ at the time. Everything would need robust reference counters that were safe even with high concurrency and frequent errors. There were lots of known threading bugs in standard libraries to avoid. A multi-process design with shared memory was too complex to even consider.
Java 0.9 and 1.0 was, at the time, a crude language that was difficult to use. What it did have is support for threading and automatic garbage collection. A dozen threads could be updating content while 200 threads were sending out content. Paged-out objects could simultaneously page-in and send content to all waiting clients in parallel. COW updates never leaked, never needlessly blocked, never corrupted hierarchical collections, and never had use-after-free bugs. There were some JVM bugs but they were being fixed rapidly. It was pretty amazing how well it worked. A dishonerable mention goes to Metrowerks CodeWarror for their ludicrously unsafe optimizations in their source compiler and JIT.
Then the dot-com bubble burst. My first big Java project no longer had any clients or servers to talk to.
I'm still blocking about 6000 unique IP addresses a day that make out-of-order requests for HTTP resources (child resource before parent resource). The AI bots have an insatiable thirst for ARW and CR2 camera raw files.
Most of the compromised hosts were in Singapore, last time I checked.
The VCs and execs are going to say that they deserve sympathy and government assistance because 90% of their money vanished. Their remaining 10% is still billions of dollars of personal profit that they earned by running a scam. They're still filthy rich while honest workers lose 90% of the little money they made; they're broke.
The scope of the change would definitely get me worrying whether or not that's the right solution.
I wonder if it would have been easier to change how arrays work. That's the root of the problem. An array of objects can only be an array of references today. It's up to the coder to completely avoid objects when dealing with long datasets. Pixels (R G B A), audio (FL C FR SL SR SW), and RF (I Q) samples need a ton of messy code to pack streams and blocks of these without using object allocation. I know GC is fast, but these need to run efficiently at 10+ million samples per second.
I'll give value classes a try when they're out; see how it goes.
I've been to the UK a few times. You've mastered public transportation, conquered urban smog, your cities are clean, your buildings are well maintained, and everything is digital payment. Your cellular, though... On a train out of London, the cell signal indicator dropped from 5G, to LTE, to 3G, to 2G, to EDGE, and then just a grey G. Who is that analog cellular even for?
Murica is devolving into the 1950s but 5G is done and working so well that LTE is being phased out.
The phones in this article do have slightly more storage.
I'm not interested in these Google-free phones with very outdated specifications. You can pull an old phone out of your junk drawer and unlock the bootloader. They usually get cracked after a few years even if it's not officially supported. De-Google it or install a supported AOSP fork.
Now do the rest of the Software industry.
The more common trick is listing trivial skills as mandatory. MS Excel, typing, ability to use a chair, and a ton of minor niche software libraries. Nobody puts that on their resume except for staffing agencies that fabricate a resume for each job. The AI HR bot can say that no citizens had matching mandatory skills.
The DVM input is often a 10M series resistor and a bank of switched shunts for the range selection. If you're measuring in the first range (~ 250mV) there's no shunt and the input impedance can be over 100M Ohm.
You don't have usable power if you can't measure it. Even for intermittent power consumption, something needs a nA or two for performing the wakeup.
For a company with so many exploited web applications. It takes Google 3 to 12 months to fix exploited features so there's always at least one being abused at any moment. Gmail servers are attempting to blast me with spam right now, and that spam is not even tied to Google accounts.
I had to roll back Rust core utils in Ubuntu because I was hitting a known but unfixed data corruption bug in dd. I looked around the project's open bugs and the attitude there just wasn't right.
Rust seems to be following the path of Go. It has its uses but the fanatics are insufferable. Rewrite everything in Rust just so it can be in Rust, then attack anyone who doesn't say it's better.
Apple talks about security but it's all obscurity. They deserved this.
Now Apple should start documenting all the Google web app exploits that lead to a complete and permanent takeover of a Google account and tethered Android hardware.
One vulnerability seems to be browser plug-ins eventually becoming trusted in Google's list. It can then be updated without a Google security review.
I've heard that the permanent part is changing a hijacked account to a child's managed by a parent. Recovery and tech support is now disabled.
I bet Apple can find a lot more. GMail seems to be getting exploited to send invalid SMTP HELO and headers since last year.
This big Linux patch installed in about 6 seconds and didn't cause any interruption. It's an ordinary update of software packages that can be released and applied at any time. No restart, logout, or quitting apps is required for them. A new kernel arrived independently that will take effect on the next restart.
I rarely see a Windows update that doesn't need a few minutes of downtime and a reboot. And then there's MacOS with its epic updating system.
The Trump administration made treating employees and customers like crap fashionable again.
That's why a lot of people are hoping for a good stock market crash. Lots of big public corporations have become, to society, harmful. They're burning out employees and dominating markets with inferior products, all in the goal of pleasing investors.
Email used to be reputation based. Keep your network clean and servers accept your mail. Keep spammers and it's all refused.
Along comes the megacorps with the attitude that they're too important to ever be blocked. At least for the period of time when that's true, it makes filtering a nightmare. Blocklists need manual adjustment. Inbound mail has to be accepted and queued into an unreliable heuristics filter. That later dumps mail into a spam folder or trash. Either way, lots of spam gets through and lots of legitimate mail is silently lost.
So here we are today with email that rarely works. Thank the big corps Yahoo (died), Google (dying), SendGrid (dying), and Microsoft (barely hanging on).