Why did you say six months?
He's coming.
This matters. This is important. Why did you say six months?
Why did you say five minutes?

Tuesday, August 09



root@yuri:~# uwsgi --help



Posted by: Pixy Misa at 09:05 PM | Comments (7) | Add Comment | Trackbacks (Suck)
Post contains 8031 words, total size 84 kb.



I've been using RedHat-based distros of Linux since 5.1.  Not RedHat Enterprise 5.1, which came out around 2007, but the original RedHat 5.1 from a decade earlier.  I use CentOS 6 and 7 - the free distribution of RedHat Enterprise - for production, because I know where everything is, and can go straight to the right config file to fix any issue, rather than crawling through Stack Overflow looking hints.

But I really like Ubuntu 16.04.  I'd tried a couple of earlier versions and they were mostly fairly blah, but this one shows a lot of improvements.  It's fast, the UI is clean, it has good container support and ZFS, and the code repos are comprehensive and up-to-date.

I've ditched Bash on Windows for now, because it's very, very beta, and replaced my old CentOS Virtualbox VMs with a new Ubuntu one.  So far, so good.

Posted by: Pixy Misa at 06:44 PM | Comments (4) | Add Comment | Trackbacks (Suck)
Post contains 147 words, total size 1 kb.

Monday, August 08


That Should Be... Adequate

[web@ruri ~]$ curl localhost:9090
4418484.7 RPC calls per second say "Hello World"

Explanation: I'm testing some of the features of uWSGI (a lightweight web application server) for the next release of software at my day job.  I'd seen promising benchmarks of the RPC feature, but those benchmarks were mostly over TCP.  uWSGI also supports local RPC calls, so I tried it in Python, on a little Xeon E3 1230.  (Workhorse of the web world.)

It takes 224 nanoseconds to call one Python routine from another via uWSGI's RPC stack.

Which made me curious:

4364561.2 RPC calls per second say "Hello World"
13675770.1 local calls per second say "Hello World"

Okay, there is some measurable overhead there; about 150 ns is spent traversing RPC.  I honestly think I can live with that; my fastest function calls are in the 5-10 microsecond range.

What this lets me do is deploy mixed-language apps (PHP, Ruby, Python, and some Lua scripting) with near-zero latency for method calls between languages.  Basically, as fast as we can squash results down to JSON on one side and unsquash them on the other.

Pretty neat.

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

Sunday, August 07


Time Travel Girl


Come on.  Everyone should know by now that you don't use a defibrillator on someone who -

Wait, he's specifically in ventricular fibrillation?  Very well, then.  You may proceed.

Update: "If taking back his opinion would set him free, why doesn't he just do it?"
"I'm sure his pride as a scientist is at stake."

While discussing Giordano Bruno.

Update: Wait a minute! Did they just create a four hundred year stable time loop using only whipped cream, sponge cake, and a magnetised needle stuck through a cork?

Update: And to top it all off, a practical demonstration of the Curie temperature of iron, which I've never seen done before.

Update: "Did they just create a stable time loop with a cake and a compass needle?"  Yes.  Yes they did.  This series is about three things: The electromagnetic force, stable time loops, and cake.  Works better than you might expect.


I love the music in the promo.  I don't know where it's from, or if it was written specifically for this series.  It's not the opening theme, which is below, or the ending, which isn't available on Youtube.  But without spoiling anything, it is used within the show when the situation calls for it.



I know I just said it wasn't on Youtube, but I finally found it by searching for MariWaka rather than Time Travel Girl.  (The full name of the show is Time Travel Girl - Mari, Waka to 8-nin no Kagakusha-tachi.  Mari and Waka are the two girls in the picture above.)

I'm enjoying this more with every episode.  Recommended.  Streaming on Funimation and (in Australia) AnimeLab.

Posted by: Pixy Misa at 05:46 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 276 words, total size 3 kb.

Saturday, August 06


You Got Linux In My Windows!

[bumped with additional notes]

The Windows 10 Anniversary Update is out, and with it.... Linux!

More specifically, Windows Services for Linux and the Ubuntu command-line environment.  It looks like it's based on version 14.04, which isn't the latest release (Ubuntu's version numbers are year.month) but is an LTS release with 5-year support so it's a reasonable choice.

Much tinkering to follow as I build a production environment on my 2lb notebook...

Update 1: If you have a MySQL server running on the Windows side of Windows, you can't start one with default settings on the Linux side, because they will be trying to use the same port on the same IP address.  Obvious once you realise that, and easy to work around.

Update 2: Aha!  Windows drives are available under /mnt, so /mnt/c, /mnt/d, and so on.

Update 3: There are some quirks, which is to be expected.  I tried compiling Redis, and it wouldn't bind a socket.  But the Ubuntu Redis package works fine.  And MongoDB's WiredTiger storage engine doesn't work, but using the Percona version with their TokuFT storage engine does.

Update 4: It requires a little fiddling to get sshd working.  WSL (Windows Services for Linux) doesn't seem to support chroot jails yet, and sshd is configured to use them by default, so it rejects logins even before attempting authentication.  (Not to mention before logging the request - you need to run sshd in the foreground with debugging enabled to even see this.)

You will need to set

UsePrivilegeSeparation no

in /etc/ssh/sshd_config for it to work.  Since that makes it less secure, I also bound it explicitly to localhost ( so that remote logins are impossible.

Also, since when did Windows have its own SSH server?  I was rather surprised to find it running, and turned it off, but it worked and allowed remote logins (with a password) to the Windows command prompt.

Update 5: Elasticsearch doesn't seem to like running in the Windows 10 Bash Shell Environment Thing.  It goes immediately to 200% CPU and stays there, doesn't respond to queries, and might have locked it up and required a reboot.  (I'm not sure of that; I was doing many other things at the same time.)  That's not fatal since Elasticsearch will run fine on Windows itself, but it's the only thing I've found so far that I couldn't quickly work around.

Update 6: Yrrg.  No, sorry, this is all a bit too beta at the moment.  I'm heading back to Virtualbox.  After running for a while, it either inevitably either grinds to a halt or locks up entirely.

Posted by: Pixy Misa at 09:50 PM | Comments (10) | Add Comment | Trackbacks (Suck)
Post contains 435 words, total size 3 kb.


Five Good Things 2016 Update

A little over a year ago, I wrote an item titled Five Good Things about five promising advances or trends in computer technology.

These were:
  1. 3D chips
  2. USB 3.1 / Type-C
  3. NBASE-T
  4. Retina displays
  5. 2.5D chips
  6. Shingled storage
Where are we a year later?

3D chips are taking over the SSD world.  Samsung, Micron, and Toshiba all have 3D flash memory in production, and it performs significantly better than 2D flash while also lasting ten times longer.  What it is not, yet, is any cheaper than 2D, because it takes a lot of extra steps to manufacture the 3D chips.

USB 3.1 and Type-C - and Thunderbolt 3, which is based on USB 3.1 and the Type-C connector - are also taking over.  The only major company that doesn't have products with Thunderbolt 3 yet is Apple - which is a little odd, since they were the champions of Thunderbolt versions 1 and 2.

NBASE-T on the other hand is nowhere to be found in the consumer market.  This makes me a sad bunny, because Gigabit ethernet is about eleventy billion years old now and 10Base-T still isn't affordable.

2.5D chips - that is, the use of silicon interposers, putting individual silicon chips on a larger piece of silicon rather than directly on a circuit board - are still limited to a few graphics cards, but will likely expand in 2017 when HBM2 memory starts shipping in quantity and AMD's new Zen APUs and Vega GPUs start shipping.

And shingled storage, basically, just works.  I have a backup server with a RAID array of 8TB shingled drives that cost me less than one with the same number of regular 4TB drives.  The firmware does a very good job of hiding the quirks of shingledness, so long as your workload is either mostly reads or mostly sequential.  

Shingled drives are alternately great and terrible and random writes - for the first 20GB or so, they are the fastest spinning drives available, and then they fill up their buffer area and become the slowest.  The difference between buffered performance and sustained performance is two orders of magnitude.  I've only run into this once, while doing a Linux update and a RAID array sync at the same, but when it happened I was getting IOPs in the single digits.

Posted by: Pixy Misa at 05:33 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 391 words, total size 3 kb.

Sunday, July 31



I sank over a hundred hours into Terraria back when it was fairly new, before it died its untimely death and then undied again.

Now that Starbound is out (and honestly kind of meh) I was curious as to what was up with Terraria these days.  Here's part of the changelog for the recent release of version 1.3.1:
  • Added Logic Gates (AND, NAND, OR, NOR, XOR, NXOR)
  • Added Logic Gate Lamps (On, Off, Faulty)
  • Added Logic Sensors (Day, Night, Under Player)
  • Added Liquid Sensors (Water, Lava, Honey, Any)
  • Added Conveyor Belts.
  • Added The Grand Design.
  • Added Yellow Wrench.
  • Added Junction Box.
  • Added Mechanical Lens.
  • Added Announcement Box.
  • Added Actuation Rod.
  • Added Team Blocks and Platforms.
  • Added Static Hook.
  • Added Presserator.
  • Added Engineering Helmet.
  • Added Companion Cube.
  • Added Gem Locks.
  • Added Large Amber.
  • Added Weighted Pressure Plates (4 colors).
  • Added Wire Bulb.
  • Added 12 new craftable Critter Statues.
  • Added Portal Gun Station.
  • Added Trapped Chests.
  • Added Projectile Pressure Pad.
  • Added several new monster statues.
  • Added Angler Tackle Bag.
  • Added Geyser Trap.
  • Added Bone Campfire.
  • Added Ultra Bright Campfire.
  • Added Multicolor Wrench.
Might need to fire it up again...

Update: Starbound gets better.  In Terraria, you spend most of your time on a single world, defending it from various menaces.  In Starbound, things don't really get into gear until you get off your starting planet.  Unlike Terraria, where you have to build (or rebuild) everything yourself, there's a functioning civilisation in Starbound.  You just need to find it.

Posted by: Pixy Misa at 03:53 AM | Comments (5) | Add Comment | Trackbacks (Suck)
Post contains 247 words, total size 2 kb.

Tuesday, July 26


Apropos Of Nothing

It takes forever to get from Sydney to Tashkent, and the in-flight wifi is rubbish.

Posted by: Pixy Misa at 07:44 PM | Comments (8) | Add Comment | Trackbacks (Suck)
Post contains 18 words, total size 1 kb.

Monday, July 25



One of the most striking things about new Doctor Who is how often the companions die.  In the old series, the only long-standing companion to die was Adric, though the First Doctor story The Daleks' Master Plan killed off short-timers Katarina and Sara Kingdom.

But they only died once each.

Amy Pond died in The Pandorica Opens; young Amelia died in The Big Bang; fake Amy was disintegrated in The Almost People; older Amy died and had her timeline erased in The Girl Who Waited, and finally, real Amy died not once but twice in The Angels Take Manhattan.

River Song died in Forest of the Dead, as a child in Day of the Moon, and as Melody in Let's Kill Hitler.

Rory died in Amy's Choice, died again and was erased from existence in Cold Blood, drowned in The Curse of the Black Spot, and died no less than three times in The Angels Take Manhattan.

And Clara died in Asylum of the Daleks, again in The Snowmen, again in Journey to the Center of the TARDIS, again in Last Christmas, again in Face the Raven, and from the glimpses we were given, at least sixteen other times in TV-series canon alone, before eventually swanning off with Ashildr, who is also dead.

Of course, this is because where the original series used time travel mostly as a plot hook upon which to hang the story of the week, New Who often involves time travel as a plot device, with every kind of time loop, divergent timeline, parallel universe, and temporal paradox cropping up at some point.

But maybe the next companion could just, you know, leave?

Posted by: Pixy Misa at 03:25 PM | Comments (4) | Add Comment | Trackbacks (Suck)
Post contains 278 words, total size 3 kb.

Saturday, July 23


Let's Go Exploring


Posted by: Pixy Misa at 05:41 PM | Comments (2) | Add Comment | Trackbacks (Suck)
Post contains 3 words, total size 1 kb.

<< Page 2 of 388 >>
85kb generated in CPU 0.06, elapsed 0.1238 seconds.
55 queries taking 0.069 seconds, 305 records returned.
Powered by Minx 1.1.6c-pink.