A cricket bat!
Twelve years, and four psychiatrists!
I kept biting them!
They said you weren't real.

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.

<< Page 2 of 2 >>
63kb generated in CPU 0.0268, elapsed 0.2076 seconds.
51 queries taking 0.1887 seconds, 347 records returned.
Powered by Minx 1.1.6c-pink.
Using http / http://ai.mee.nu / 345