Monday, December 16
Dirty Creature Edition
Tech News
- Lexar has a new PCIe 4.0 M.2 SSD on the way that should be able to hit 7GB per second. (Tom's Hardware)
At least on reads; 4GB per second on writes.
Current PCIe 4.0 SSDs all use the same controller and are limited to only 5GB per second.
- ICANN has put the .org TLD sale on hold until all the fuss dies down. (ICANN)
I mean, they don't explicitly say that, but...
- Full-text search indexes and ACID databases don't mix: Adding a full-text index to your InnoDB table can dramatically slow down transactions.
But if, rather than indexing the raw fields, you have a specific search content field and populate that once a second, you can speed things up by a couple of orders of magnitude.
And because data is only flushed to disk at the end of the transaction, it achieves this performance while also drastically reducing disk I/O - important if you're on a cloud server and don't have direct access to a fast SSD.
Having an explicit search field has a couple of other advantages: You can add computed values, so that if your post is tagged "news" you can search specifically for tag:news without having to fuss about with multiple indexes. (Elasticsearch does this automatically.)
And if you only need to keep the last, say, 90 days of comments searchable you can just null that field after 90 days. The comments work just as before, but disappear from search. (Although MySQL also allows you do do search queries without an index if you really want to.)
The big advantage of having search inside your relational database is that you can use search and relations at the same time - that is, you can search only posts by people or blogs you follow, without needing a huge custom search infrastructure to manage it.
- Speaking of MySQL, if something is unspeakably slow and it's not a full-text index, it's probably a subquery. Got rid of one of those as well today.
- Vim 8.2 has killer sheep. (GitHub)
Someone will now point out that EMACS had killer sheep in 1982.
Video of the Day
Posted by: Pixy Misa at
11:46 PM
| Comments (4)
| Add Comment
| Trackbacks (Suck)
Post contains 419 words, total size 3 kb.
Sunday, December 15
In Before Midnight Edition
Tech News
-
😇😠😲😢😚ðŸ˜ðŸ˜ðŸ˜Œâž–ðŸ™ðŸ¤®ðŸ˜£ðŸ™âž–🥰😑🤡🤥➖ðŸ™ðŸ˜žðŸ˜ðŸ¤¢ðŸ¤¢ðŸ¤¬ðŸ˜‚😒🤢😚😰ðŸ˜
CuteUID is a drop-in replacement for UUID for all your production tasks that you don't care about very much. (GitHub)
It may not be robust or reliable or tested at all, but you can get a heck of a lot of free entropy by replacing hex digits with emojis.
- Just when you thought you'd seen everything along comes an enterprise application deployed as a 500TB Dropbox account. (Reddit)
I mean, I love Dropbox, it saved my bacon when my external drive failed earlier this year, but I wouldn't even consider thinking about doing anything like that.
- How to build your own web search engine. (Cliqz)
Short answer: Apache Cassandra, and Kafka for managing the data streams.
Long answer: Cassandra, Kafka, and 32 separate management tools because with the best will in the world the whole thing is still a horrifying mess.
(I've used Cassandra in the past for something similar, but smaller in scale. I quite liked it.)
- Uber and Lyft are trying to back off fare subsidies before they run out of investors. (Wired)
Uber's lost $5.2 billion in the last quarter, and Lyft $644 million. When even the idiots at Twitter can turn a profit, that's gotta hurt.
- You can't print web pages anymore. (Humane Interface)
This site should print okay, since its 95% pre-rendered with just a sprinkling of JavaScript, and I'll test it next week with the new site.
- Speaking of which, I've been playing with Vue.js.
It is not horrible.
What I like about it is that (like older libraries such as jQuery or MooTools) it is completely agnostic about your back-end system and development process. You don't need to use a build tool - you can if you want, but you don't need to.
Add a link to the single JavaScript file to your page (it's available on a free CDN) and off you go. If you have an existing site and you only want one thing to use Vue, you can change just that one thing. Everything else will work.
The one wrinkle is that it uses Mustache-style interpolation - you can use {{name}} to insert a user's name into your page, so if your existing system does server-side rendering using Mustache or Handlebars that won't work.
But it also has an alternative syntax parameters directly to HTML tags. It's more verbose, but also more specific, and lets it coexist happily with server-side rendering.
The magic thing it does is bind elements on the page to program data. You don't need to write logic to update the elements (as you would with JavaScript), you just say "this element or attribute is bound to this variable":
and when the value of that variable changes, the page updates.<span v-bind:title="message">
Angular does all this too, and is far more popular, but you have to use the Angular tools to build your Angular app. You can't just write code. And those tools are written in Node.js. And Node.js is cancer.
Update: Aha, found the catch. Fortunately it's not major unless you already have a huge amount of client-side JavaScript.
You can't assign directly to array elements, or directly add new object attributes, and expect Vue to see them, because JavaScript doesn't let Vue add a notification hook for those operations. You can do the reverse - add new array elements, or assign directly to object attributes.
For the couple of specific functions that don't work you need to use Vue.set instead of a normal assignment statement.
Posted by: Pixy Misa at
10:57 PM
| No Comments
| Add Comment
| Trackbacks (Suck)
Post contains 598 words, total size 5 kb.
Member Is A Reserved Word Edition
Tech News
- "Member" is a reserved word in MySQL 8.17 and 8.18. Not in any version up to and including 8.16, and not from 8.19 onward. Really. (MySQL)
The new system has a member table, and I just got it set up on a new server with latest Percona release of MySQL, upgrading from 5.7. I ran the test suite today and it failed all over the place.
- Western Digital has some new RISC-V cores. (AnandTech)
The EH2 core has a nine-stage dual-issue in-order pipeline with 2-way multi-threading (because in-order designs are prone to pipeline stalls - the Xbox 360 CPU was also designed this way) and measures 0.067mm2 on TSMC's 16nm process.
That makes it about one hundredth of an inch in a side.
- A pleasant contrast to that terrible story from yesterday. (GameAnalytics)
Sure, they're talking about saving a kilobyte here and there, but they're serving 5 billion requests a day. Saving a kilobyte per request at AWS bandwidth rates is $22,500 per month.
- Slow news day. Might have to make something up if this continues.
Posted by: Pixy Misa at
01:41 AM
| No Comments
| Add Comment
| Trackbacks (Suck)
Post contains 211 words, total size 2 kb.
Saturday, December 14
The Russians Pooped In The Hallway Edition
Tech News
- Russian police raided the offices of Nginx, seized everything in sight, and detained employees for questioning. (ZDNet)
Supposedly over a copyright claim. In reality, with Nginx serving close to 40% of all websites worldwide, this is either a money grab or a political power grab, and probably both.
It's open-source and there's nothing Russia can do to stop anyone outside of Russia from continuing to use it, but this will mean no-one will trust any software from Russia going forwards. So well done, guys.
- Intel vs. AMD in the Microsoft Surface Laptop 3. (AnandTech)
Ice Lake is clearly faster on single-threaded tasks than the Zen+ based Picasso APU. On multi-threaded tasks it's closer, except for some floating point workloads where Ice Lake simply runs away due to having double the AVX2 units. Zen 2 also doubles the AVX2 units, so when the new APUs arrive that should close the gap. But these laptops are shipping now and the Ryzen 4000 APUs are not.
Gaming performance is mixed, with AMD still taking many wins despite the new Intel GPU architecture and much higher memory clock (3733 MHz on the Intel model vs 2400 MHz on the AMD).
It will be interesting to see a new comparison once AMD gets Zen 2 APUs out the door.
- Speaking of Zen 2 APUs Microsoft showed off the Xbox X. (AnandTech)
It's an almost featureless black box about 6" x 6" x 12". No specs announced, just pictures.
- Samsung has sold a million Galaxy Folds. (AnandTech)
For a $2000 device that disintegrated on initial launch, that is not bad at all.
- Unless they didn't. (WCCFTech)
WCCFTech is posting a debunking of a story posted on other sites. How the turns have tabled.
- Navi Jr is here - the Radeon 5500 XT. (PC Perspective)
Performance is similar to the RX 470, 480, 570, 580, and 590 - which are all basically the same card anyway - but it draws 100W less power than the RX 590 to do it. In fact it matches or beats Nvidia's recently released GTX 1650 Super in both performance and power consumption.
Compared to the RX590 it is sometimes slightly slower on average FPS, but is more consistent, scoring higher in every case on the 99th percentile frame rate.
There's also an RX 5500, but it's an OEM-only part with the exact same configuration but slightly lower boost clocks and a 20W lower TDP. Expect it to show up in iMacs pretty quickly.
- The ASRock TRX40 Creator was my pick as the best Thirdripper motherboard based on its specs. Does it stand up under review? (Tom's Hardware)
Mostly, yes. They don't recommend it if you plan to get a 3990X and overclock it, but it's feature-packed and robust for a relatively reasonable price.
- If you have a Ring camera, probably easiest just to burn your house down right now. (TechDirt)
Blame raccoons.
- Fuck. (Plaid)
It's hard to choose a money quote. This is a nightmare.We were running 4,000 Node containers (or "workers") for our bank integration service.
Holy shitbiscuits.The service was originally designed such that each worker would process only a single request at a time.
You idiots.This design lessened the impact of integrations that accidentally blocked the event loop, and allowed us to ignore the variability in resource usage across different integrations.
You complete and utter idiots.But since our total capacity was capped at 4,000 concurrent requests, the system did not gracefully scale.
My God.Most requests were network-bound, so we could improve our capacity and costs if we could just figure out how to increase parallelism safely.
I give up. Just kill me.
- VirtualBox 6.1 is here! (VirtualBox)
It adds support for importing and exporting Oracle Cloud servers. I wonder why.... Oh.
- A 24-port 10Gb Etherenet switch with two 40Gb ports for $475? (Serve the Home)
Catch is, of course, that it's SFP+ and you have to replace all your cables.
They do offer a RJ45 to SFP+ adaptor - but at $65 a piece they'll soon cost more than the switch itself.
- How has the performance of Firefox improved over the last two years? (Phoronix)
Spoiler: It hasn't.
- On the positive side: If you want to create Firefox add-ons your developer account must be using two-factor authentication. (ZDNet)
Simple, obvious, and necessary.
- Anyone want to take a bet on when scooter company Spin files for bankruptcy? (SF Examiner)
Their workers just joined the Teamsters Union.
Video of the Day
Posted by: Pixy Misa at
02:55 AM
| Comments (7)
| Add Comment
| Trackbacks (Suck)
Post contains 753 words, total size 7 kb.
Thursday, December 12
Dammit Calendar, Stop Moving Edition
Tech News
- TSMC's 5nm process is on track for the first half of next year. (AnandTech)
The new process offers 80% higher densities, and 15% better performance or 30% lower power consumption.
TSMC cite yields of 80% with their test chips, but these are small test chips. Yield with something the size of a Ryzen chiplet would be 30% - but on 5nm that could be a 16 core die, so you can fuse off a lot of failed areas before the die is actually unsalvagable.
- LG's Gram 17 weighs more than 17 grams. (AnandTech)
In fact it weighs 1350 grams - just under 3 pounds!
To be fair, it's a 17" notebook with an Ice Lake CPU, up to 24GB RAM (apparently 8GB fixed and one SODIMM slot), two M.2 slots, an 80Wh battery, and a 2560x1600 IPS display.
Ports include Thunderbolt, three USB 3.1 type A, HDMI, microSD, and a headphone jack.
Looks pretty capable though I'm not a huge fan of numeric keypads on laptops.
- DOD to Congress: Stop trying to fuck up encryption, you idiots. (TechDirt)
- YouTube to content creators: I disagree with what you say, but will defend to the death your right to say it - but not in that tone of voice. (Tech Crunch)
Yes, YouTube has discovered that its staggeringly inept forays into speech policing are not doing the trick and is venturing - staggeringly ineptly - into tone policing.
- Where do spammers get fresh IP addresses when all their old ones get blocked? Africa. (Krebs on Security)
Apparently millions of IPv4 addresses assigned to Africa went out the back door at AFRINIC to be sold to off in the more disreputable corners of the internet.
- Crystal 0.32 is out.
Mostly a tidy-up release after the big concurrency update in 0.31.
It still doesn't support Windows due to Windows being positively non-POSIX. (GitHub)
They're working on that but it's a slow process.
I wonder if it would work with Cygwin...
- Tyan's Transport SX TS65A-B8036 is a 2U 28-bay Epyc server. (Serve the Home)
Single socket, 16 DIMM slots, 16 2.5" NVMe drive bays, 12 2.5" SATA bays (conveniently colour coded and with tool-less / screwless caddies). Two M.2 slots, two PCIe x16 slots (x8 electrically) and four PCIe x8 slots, all PCIe 4.0.
That's, let's see, 64 lanes for the NVMe bays, 48 for expansion slots, and 8 for the M.2 drives, all directly connected to the CPU.
And it can compile the Linux kernel in under two minutes.
Posted by: Pixy Misa at
11:40 PM
| Comments (1)
| Add Comment
| Trackbacks (Suck)
Post contains 435 words, total size 4 kb.
Wednesday, December 11
Maybe not.
Encoding is about twelve times slower than JSON for small objects and up to thirty times slower for larger objects - compared to the PyPy built-in JSON module, which is very fast.
Adding sets to the data mix I discovered two things:
- The Ion library can't encode sets.
- The Ion library doesn't support custom encoders.
The Python MessagePack library doesn't support dates yet either, but does support custom types. It's no faster than JSON (though the output is substantially smaller), and it produces binary data rather than safe ASCII text files.
Posted by: Pixy Misa at
11:35 PM
| No Comments
| Add Comment
| Trackbacks (Suck)
Post contains 211 words, total size 1 kb.
Plundervolt And Blightning Edition
Tech News
- Plundervolt is a new Intel security flaw with a dramatic name that you don't need to worry about. (ZDNet)
It works by altering the operating voltage of the embedded secure enclave in your CPU so that it's no longer working properly and then examining the errors it coughs up.
If someone is able to do that to your system, they already have all your data and have retired to Argentina.
- Amazon insists those are they droids they're looking for. (ZDNet)
Having lost the JEDI contract to Microsoft they are now suing the government arguing that the decision was retribution for the incessant lies of their house newspaper The Washington Post.
- Is $52,599 too much for the Mac Pro? Yes. (ZDNet)
Not as much too much as you might expect, based on buying the exact same configuration elsewhere, but only an idiot would buy that exact configuration if they had any choice. A system based on a Threadripper 3970X - let alone the upcoming 3990X - would be far cheaper and run rings around it the Intel-based Mac Pro.
- Western Digital's Blue SN550 is faster than the Intel 660p at about the same price - $100 per TB. (AnandTech)
It's TLC, which means it should have more consistent performance, but it's DRAMless, which will slow things down. The 660p is QLC but has a DRAM cache - but that DRAM cache is only 256MB and can only do so much.
The 1TB 660p launched August last year at $200, so prices have dropped by 50% since then.
One downside of the SN550 is that it maxes out at 1TB, where the 660p (and the new 665p) go up to 2TB.
- Apple has sued its former chief CPU designer after he left to design CPUs of his own. (Tom's Hardware)
I don't think Apple has much of a case here. Non-compete clauses are unenforceable in California.
- Intel is planning to manufacture processors at 1.4nm in 2029. (Tom's Hardware)
Oh, wait, that's a fly speck. Maybe?
They also announced 10nm+++ for 2021.
- ZedRipper is a 16 core 83 MHzZ80 laptop running CP/M.
Because why wouldn't it be?
- Things developers don't care about but users do. (Instadeq)
It's just a bullet list, but it's a good bullet list. I am guilty of ignoring many, probably most of these. Though one Reddit commented accurately described it as "A list of features where the work involved for each is larger than the rest of the entire project."
- Do you want a micro-ATX socket LGA3467 server motherboard? No? here's one anyway. (Serve the Home)
This would make far more sense if it were a low-end CPU with three channel RAM and not a high-end CPU with six channel RAM.
- Chrome 79 is here and.... Meh. (ZDNet)
I need it for testing, but I'm moving back to Firefox.
- Oh look, spam. Bah.
Posted by: Pixy Misa at
08:56 PM
| No Comments
| Add Comment
| Trackbacks (Suck)
Post contains 490 words, total size 5 kb.
Tuesday, December 10
Undiscontinuation Edition
Tech News
- Intel undiscontinued the Pentium G3420 - a 22nm Haswell part with two cores and no hyperthreading. (AnandTech)
Speculation is that this is because they don't have anything to replace it with due to 14nm shortages due to 10nm delays.
- In Soviet Russia, flag poops on you! (TechDirt)
Russia blocked all of Shutterstock due to one picture of a Russian flag.
Also, that joke dates back to 1934.
- YouTube has asked the FTC how its users should comply with COPPA. (Tech Crunch)
This is utterly disingenuous, because YouTube creators are not violating COPPA. It is not possible for them to do so: They do not control the platform.
YouTube is violating COPPA.
- MicroPython is Python but micro. (Real Python)
- MessagePack has implemented timetamps as a standard extension type. (GitHub)
It doesn't handle timezones (this was the reason they rejected date/time types originally) but it can express any point in the history of the Universe to nanosecond precision.
The choice of storage representations is slightly odd. The 32-bit format has the usual limitations, but the 64-bit format still cannot represent dates before 1 January 1970. You have to use the extended 96-bit format for that.
This makes it useful in situations where you don't want to fight with JSON's wretched inability to distinctly represent dates at all.
- On that subject, Amazon Ion looks mostly sensible and one of the better extended JSON varieties. (GitHub)
It has text and binary formats, and supports the usual JSON datatypes plus decimal (variable precision, as opposed to float), timestamps (with optional timezones), symbols, blobs, hexadecimal and binary integers, and, um, S-expressions. No, I don't know why either.
It also supports comments, which is probably a bad idea. And type annotations, which are probably a good idea.
I was looking for a suitable serialisation format for internal caches and queues in Minx 1.2 and had reluctantly settled on JSON despite the loss of type information, but may switch to Ion instead.
I'll have to see how it performs. JSON is pretty damn fast these days.
- Speaking of pretty damn fast AMD's Epyc 7742 is that. (Serve the Home)
Sure it's $7000, but it runs faster than two of anything else.
- MySQL 8.17 supports array indexes. (MySQL)
It doesn't support arrays as a column datatype, though. So what you need to do is use a JSON column and a document path query that casts it to a virtual array field that can then be indexed. Which is flexible but irritating.
What this means is that a decade after I actually needed it I can finally just store a list of topics in the post records in Minx and pull them back out in the right order without a join or a sort.
JSON columns in MySQL are kind of dumb; they are just text that is required to be valid JSON. But I can deal with that at the ORM level, and pretend that the topics and tags arrays really are just arrays.
Posted by: Pixy Misa at
11:23 PM
| Comments (3)
| Add Comment
| Trackbacks (Suck)
Post contains 507 words, total size 5 kb.
Monday, December 09
The O(n2) Is Not Enough Edition
Tech News
- Ugh. Closed my entire browser window by mistake. Fortunately it's a slow news day and I only had two items written.
- Dawson's First Law of Computing. (Random ASCII)
O(n2) is the sweet spot of badly scaling algorithms: fast enough to make it into production, but slow enough to make things fall down once it gets there.
- Verizon has suspended the accounts of volunteer archivists working to preserve Yahoo Groups. (ZDNet)
That's just petty.
- Twenty small VPS providers are coincidentally shutting down all at once. (ZDNet)
This is why I back all our data up to a different server at a different company on a different continent. If you can't do that, choose Amazon. They're not going anywhere, and they have virtual servers starting at $3.50 per month.
- Speaking of O(n2): Donald Knuth has completed work on section one of volume 4B of The Art of Computer Programming. (InformIT)
This section by itself is 400 pages.
- Which group will Twitter ban next? Looks like sex workers have filled in their bingo card for January 1. (The Next Web)
Twitter isn't banning adult content. They're just banning accounts dedicated to adult content - "if the majority of your activity on Twitter is sharing sensitive media".
I can see a simple solution to that.
- Meanwhile free-speech absolutists Gab have gone full Northern Conservative Fundamentalist Baptist Great Lakes Region Council of 1912. It has to be seen to be believed.
Video of the Day
The Egon's grandkids rumour was accurate, it appears.
Bonus Video of the Day
Posted by: Pixy Misa at
10:03 PM
| Comments (2)
| Add Comment
| Trackbacks (Suck)
Post contains 312 words, total size 4 kb.
Sunday, December 08
You Block 175 Web Spiders And What Do You Get Edition
Tech News
- Turns out what you get is lightning fast page loads because the server load is down below 10% again.
- Intel's MKL is a highly-optimised linear algebra library unless you have an AMD CPU in which case it's digital cancer. (Puget Systems)
It's twice as fast as OpenBLAS on Intel CPUs. It's three times slower on AMD CPUs: If it finds an AMD processor it drops all the way back to the SSE2 instruction set introduced twenty years ago.
Which makes me wonder if Intel used MKL in any of their benchmarks against Opteron. There's no way to tell from their slide decks, because they removed all such details.
- Qualcomm's "eight core" Snapdragon 8c and 7c are indeed 4+4 and 2+6 configurations. (AnandTech)
AnandTech didn't pin down the 7c precisely but Android Authority has those details.
AMD got sued for calling Bulldozer an eight core chip. (The Verge)
Given that six of the cores in the 7c run at literally half the speed of the first two, I wouldn't be surprised if Qualcomm found themselves in the firing line as well.
- 6.9GHz all cores. (Tom's Hardware)
With liquid nitrogen and a 1250W power supply (though the system "only" drew 650W).
Or you could skip all that nonsense and just get a Ryzen 3950X. Well, except that Newegg is out of stock even at a 20% markup and Amazon can't even find it to display an out of stock message.
Hey, AMD! Lower the bins by 300MHZ and sell a 3900 non-X for $650. You're welcome.
Also a server edition.
- An updated review of the Intel 660p SSD. (Tom's Hardware)
QLC has been out for a while now, and Tom's Hardware have returned to their original review to look at the 2TB model.
QLC write performance is, well, not great, but the 2TB 660p provides a 24GB SLC cache plus 1/8th the free space of the drive, so up to 280GB of cache on a brand new drive.
In theory that means that the drive should be about as fast as an SLC device - within its limit of a PCIe 3.0 x 2 connection, so up to about 2GB per second - unless you write data fast enough to fill that 280GB cache.
In practice, that's exactly what they found:For over two minutes of writing, Intel’s SSD 660p wrote over 275GB of data at a rate of 1.8 GBps. After that, the SSD’s write performance fell significantly, down to just 175 MBps on average.
Intel have announced the 665p, but it's a relatively minor update. It looks like either model would be just fine for desktop use.
- The PC died a decade ago next month. (ZDNet)
Ouch at this conclusion:Maybe it wasn't the PC that died a decade ago. Maybe it was the Mac.
- Reddit has banned a subreddit and 61 accounts accused of being a Russian disinfo campaign targeting the British election. (Engadget)
A complete list and discussion. (Reddit)
All the usual suspects are hyperventilating over a campaign that seems to have had near zero impact. (Stars and Stripes)
Posted by: Pixy Misa at
08:02 PM
| Comments (6)
| Add Comment
| Trackbacks (Suck)
Post contains 547 words, total size 5 kb.
56 queries taking 0.2663 seconds, 388 records returned.
Powered by Minx 1.1.6c-pink.