This accidentally fell out of her pocket when I bumped into her. Took me four goes.

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.

Posted by: Pixy Misa at 11:35 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 179 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.


Daily News Stuff 7 December 2019

Undefined Reference Edition

Tech News

  • uWSGI won't install under PyPy 3.6-v7.2.0.  This came as a surprise because I spent last week setting up a whole bunch of production servers at my day job running PyPy 2.7-v7.2.0 for our legacy apps, and that worked just fine.

    Fortunately I don't absolutely need it right now; all the PyPy 3.6 code I have running is either low-volume and works fine with a single process, or can be configured as multiple standalone processes behind a Caddy proxy.

  • Turns out that MongoDB 4.2 doesn't support Lucene search.  This was a big feature announcement, but if you read closely it only applies to MongoDB Atlas, their database-as-a-service.  There are improvements to MongoDB search in 4.2 (wildcard indexes), but not Lucene.

  • Speaking of search, I searched this blog for atlas just now - well, an hour ago, because then I found that the server was overloaded and dropped everything to fix that - and it found my previous post on MongoDB search even though I didn't mention Atlas in the text, because I didn't realise at the time that it was an Atlas-only feature.

    The link to the MongoDB blog post about the new search functionality had atlas in it.  The search was able to find that.

  • So, news...

  • The next iPhone won't have any ports at all unless it does.  (Macworld)

    Apple would love that.

  • France has proposed terrible new draft laws to implement the EU's terrible new copyright directive.  (Julia Reda)

    There will never be a social media company in France.  China is more open than this.

  • China has deployed the Great Cannon again.  (AT&T)

    This is the offense part of the Great Firewall, injecting malicious code into subversive sites the Chinese government doesn't want its people to see, like, for example, GitHub.

  • Systemd opened a potential security hole in Linux-based VPNs.  (Linux Reviews)

    I'm a confirmed systemd hater, but have to point out that this is a potential security hole; there's no certainty that it could be practically exploited, much less that it has been already.

Disclaimer: I am reminded at this juncture that there is a Twitter bot called Fuck Every Word 2.0, that has been slowly but steadily working through the English dictionary posting tweets that consist simply of "fuck" and the word of the hour.  

(It's 2.0 because, a little past the middle of the alphabet, 1.0 suddenly got banned.)

Posted by: Pixy Misa at 01:32 AM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 405 words, total size 4 kb.

Saturday, December 07


Dealing With Assholes Running Web Spiders On The Internet

Your site can deal with 20 simultaneous threads crawling the entire history of all your content right?  Right.  I mean, if your server crashes it's not our problem.  Also, fuck sending a clear identifier, we're just a Mac running Safari that just happens to be downloading the contents of 70,000 blogs.

Update: We were - and indeed, still are - getting hit by a torrent of garbage requests coming through a group of proxy servers run by an SEO company.  I don't know why, but they are now all getting 404.

Update 2: I killed that, and then I discovered we were also getting scanned by a total of 175 different servers at various hosting companies.  Those are all blocked at the firewall now, and don't even get the courtesy of a 404.

If you have a problem reaching the site - say it works on mobile but not at home, or vice versa - please let me know.  I will double-check the list of blocked IPs tomorrow and convert it to a smaller number of IP ranges.

Posted by: Pixy Misa at 08:38 AM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 187 words, total size 1 kb.


Daily News Stuff 6 December 2019

MavXISTeR_CZwXBuNY5-hw Edition

Tech News

  • The Motorola One Hyper checks all the boxes.  (Ars Technica)

    No notch - it uses a popup thingy for the 32MP front camera, 2340x1080 6.5" screen, which looks to be the standard size for 2020, Snapdragon 675 (two A76 and six A55 cores), 64MP main camera, headphone jack, and microSD.  4GB RAM and 128GB storage.

    It costs US$400, but they'll throw in a free Moto G6.

  • Qualcomm announced a bunch of new chips.

    The Snapdragon 865 and 765 for phones are based on the A77 and A76 cores respectively.  (AnandTech)

    The 865 has four large and four small (A55) cores; the mid-range 765 has a two/six split.

    The Snapdragon 8c and 7c are aimed at actively and passively cooled laptops respectively.  (Tom's Hardware)

    These chips are listed as 8 core devices, but they're almost certainly the same 4+4 and 2+6 core layouts as the mobile parts.  Qualcomm will say "eight Kryo 490 cores", but the trick is that the Kryo 490 Gold is an A76, while the Kryo 490 Silver is only an A55.

  • Amazon also has a new Arm CPU.  (Tom's Hardware)

    The 64-core Graviton2 is based on Arm's Ares architecture, which is a server-optimised variant of the A76.

    The performance is not terribly exciting, so why does Amazon bother?  Because they're spending billions of dollars a year on Intel CPUs.  At that scale, a semi-custom design where Arm does the heavy lifting on the core itself makes sense.

  • Testing USB 3.2 Gen 2x2.  (Legit Reviews)

    The device tested is a pre-release Asus external M.2 enclosure, which is expected to sell for around $40.  It delivers 1.9 GB/s on both reads and writes, so it looks like USB 20 is delivering as promised.

  • Dealing with assholes on the internet.  (Coffee and Dreams)
    That makes life easier, huh? Just block that and we’re good. And good we were. I apologised to any users that might be using an amiga with an 11-year old Gecko build and got on with my day.
  • That problem with the iPhone 11 scanning your location no matter what?  It's for ultra wideband support.  (Tech Crunch)

    So all you need to do is turn off ultra wideband, which is easily achieved by returning you iPhone 11 for a refund and buying literally any other device.

  • Intel had a terrible week.  (ZDNet)

    Given that Intel would have recorded a net profit of around half a billion dollars in that week, we should all have such weeks.

Disclaimer: I'd settle for a terrible twenty minutes.

Posted by: Pixy Misa at 12:30 AM | Comments (2) | Add Comment | Trackbacks (Suck)
Post contains 426 words, total size 4 kb.

Friday, December 06


Daily News Stuff 5 December 2019

What A Dump Edition

Tech News

Disclaimer: Your mom's an Epic exclusive.

Posted by: Pixy Misa at 01:02 AM | Comments (2) | Add Comment | Trackbacks (Suck)
Post contains 286 words, total size 3 kb.

Thursday, December 05


Daily News Stuff 4 December 2019

Blargh Edition

Tech News

Disclaimer: No, seriously.

Posted by: Pixy Misa at 02:56 AM | Comments (3) | Add Comment | Trackbacks (Suck)
Post contains 284 words, total size 3 kb.

<< Page 1 of 468 >>
89kb generated in CPU 0.07, elapsed 0.4814 seconds.
56 queries taking 0.4378 seconds, 322 records returned.
Powered by Minx 1.1.6c-pink.
Using https / / 320