Monday, December 16


Daily News Stuff 16 December 2019

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

Got up this morning to find that my air conditioner had had enough of the 100% humidity and had flooded my kitchen.  Not with nice clean water either, oh no.  Had this running through my head all day as a result. 

Disclaimer: Your kitchen floor should probably not be a big black lake.

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


Daily News Stuff 15 December 2019

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":
    <span v-bind:title="message">
    and when the value of that variable changes, the page updates.

    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.

Disclaimer: Except that cancer is not usually contagious.

Posted by: Pixy Misa at 10:57 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 598 words, total size 5 kb.


Daily News Stuff 14 December 2019

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.

Disclaimer: Of all the gin joints in all the towns in all the worlds in the galaxy, she levitates into mine.

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


Daily News Stuff 13 December 2019

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


Disclaimer: KITTENS.

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


Daily News Stuff 12 December 2019

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.

Disclaimer: There is no Dana, only Spoon.

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


Ion Engines?

Maybe not.

I tried out the Python library for Amazon Ion (their enhanced version of JSON).

It works fine; the code is clean and well-commented and documented.

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.

By the time I added custom JSON encoders to handle dates and times, decimals, and tuples, the difference was down to eight times, and the JSON was 50% larger than the Ion encoding.

Adding sets to the data mix I discovered two things:
  1. The Ion library can't encode sets.
  2. The Ion library doesn't support custom encoders.

So it's very handy if you need the JSON datatypes plus dates, decimals, and tuples, but if you need more than that you're out of luck.

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.

Update: Something I missed - Ion is a strict superset of JSON.  So is YAML, but Ion knew when to stop, or at least, knew that it should stop at some point.

Posted by: Pixy Misa at 11:35 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 211 words, total size 1 kb.


Daily News Stuff 11 December 2019

Plundervolt And Blightning Edition

Tech News

Disclaimer: Bah, I say.

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


Daily News Stuff 10 December 2019

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.

Disclaimer: Cabbage.

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


Daily News Stuff 9 December 2019

The O(n2) Is Not Enough Edition

Tech News

Video of the Day

The Egon's grandkids rumour was accurate, it appears.

Bonus Video of the Day

(Hat tip Brickmuppet.)

Disclaimer: Doggone-it, Roy Gene! How many times do I have to 'splain it to you? When I tell you to put a rock under the wheel, I mean a rock! Now look at that, what you have there is no bigger'n a grapefruit.

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


Daily News Stuff 8 December 2019

You Block 175 Web Spiders And What Do You Get Edition

Tech News

Disclaimer: Anyone who attempts to generate random numbers by deterministic means is, of course, living in a state of sin.

Posted by: Pixy Misa at 08:02 PM | Comments (6) | Add Comment | Trackbacks (Suck)
Post contains 547 words, total size 5 kb.

<< Page 3 of 4 >>
102kb generated in CPU 0.0303, elapsed 0.8171 seconds.
56 queries taking 0.7984 seconds, 380 records returned.
Powered by Minx 1.1.6c-pink.
Using http / / 378