Dear Santa, thank you for the dolls and pencils and the fish. It's Easter now, so I hope I didn't wake you but... honest, it is an emergency. There's a crack in my wall. Aunt Sharon says it's just an ordinary crack, but I know its not cause at night there's voices so... please please can you send someone to fix it? Or a policeman, or...
Back in a moment.
Thank you Santa.

Tuesday, August 30


Smoothmouse + BetterSnapTool

I got myself a very nice iMac late last year - Core i7, 32GB RAM, Radeon 395MX, 1TB SSD, and the 5k Retina HDR display.  It's just about the best desktop PC you can get.

However...  The mouse and keyboard handling in MacOS sucks compared to Windows.   MacOS only has mouse acceleration control; the base tracking speed is fixed and very slow.  

That means that you have to keep picking up and moving your mouse because the speed at which it tracks is variable.  And since the menu is always at the top left of the screen, you tend to move your mouse more than on Windows, which just exacerbates the problem.

Also, my workflow 99% of the time involves two windows side-by-side.  On Windows, setting that up is just a keystroke; on the Mac it's just a complete mess.  You can do it, but it's unnecessarily complicated and hides the menu bar and the dock, so the moment you set it up you end up hiding the tools you normally use all the time.

After trying a couple of other options (Steermouse and MagicPrefs) I gave Smoothmouse a try.  It has an option that says "make my mouse work like Windows" which...  Makes your mouse work like Windows.

There's another couple of apps called BetterTouchTool and BetterSnapTool.  BetterTouchTool does a whole bunch of stuff for mouse and keyboard management; BetterSnapTool only handles snapping windows based on mouse or keyboard commands (which are completely configurable).

BetterSnapTool is on the Mac App store, costs just a few bucks, and works perfectly.  It's eleventy billion times better than the idiot crap that Apple came up with.

I've been tending to use Kei, my (older, slower) Windows machine instead of Taiga, my (shiny, new) iMac because of these niggling UI issues.  And now they're fixed.

The only remaining issue is that I'm running VMWare Fusion on Taiga with Windows 10 and Ubunutu 16.04 instances.  Each VM has 8GB of RAM allocated, meaning that half my memory is gone the moment I boot up.

The 2015 iMac supports up to 64GB of RAM - but because Apple idiotically used DDR3 rather than DDR4 (even though DDR4 is supported by the CPU), upgrading beyond 32GB costs about three times as much as it should, so I've been putting that upgrade off.

But apart from that, it's pretty good.  I just hit Ctrl-left-arrow or Ctrl-right-arrow and it goes Zip! Full-screen Windows 10.  Zip! Full-screen Ubuntu.  Zip! Back to MacOS.

Meanwhile, Smoothmouse and BetterSnapTool both get the coveted Does Not Suck award.

Update: Can't get VMWare Fusion to use both monitors.  Or, well, it does, but the guest OS is mirrored across them at a resolution selected by throwing chickens at a bingo card.

Posted by: Pixy Misa at 01:14 PM | Comments (8) | Add Comment | Trackbacks (Suck)
Post contains 460 words, total size 3 kb.

Tuesday, August 23


Hot Chips 28

The annual Hot Chips conference is on right now, where chip designers and manufacturers highlight new and upcoming produces, like Arm's new 2048-bit vector supercomputer CPU, Samsung's DDR5, GDDR6, and HBM3 memory (the latter will deliver 16GB of memory and half a terabyte per second of bandwidth in a single package), IBM's Power 9 architecture, AMD's Zen, and Intel's...  Skylake.  Which came out a year ago, but whatever.

I went looking for more details on some of the presentations, and now I'm hungry.

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

Sunday, August 14


Kabaneri Of The Iron Fortress

Completely implausible.  These people are so dumb the zombies would starve to death.

It moves right along, and the production qualities are great, but dumb as a box of rocks.

Update: And every time you think it couldn't get any more stupid, it does.  I went to see what other people thought of it, and this was the first review I found:
Watching Kabaneri is like watching a 5-car pile-up on a busy intersection. It's devastating, but hard to look away from. With each plume of smoke breathes a new fiery furnace of stupor; divulging deeper into new unforeseen territories of shit writing. Where other shows simply crash and burn, Kabaneri decides to push forward with a broken axle and the power of irrationality to combust its engine. It's a wondrous, smoldering pile of fecal matter on wheels. A beautiful travesty captured in frame by uninspired creators, seeing just how close they could pass their hand over the surface of unoriginality without being scorched by the heat. And trust me when I say that Wit Studio got their hands pretty fucking close. Had they gotten any closer, we'd be naming this 'Shingeki no Kabaneri: Schlock Edition'. To say they're cashing in on an existing fanbase would be an understatement. These motherfuckers took the cash-cow home, milked it dry, then butchered it for any remaining morsels that they could scrape together. Kabaneri isn't just below average, it's the residual excrement that resides at the bottom of the barrel.
The author goes on at some length, but I suspect you get the idea.

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

Saturday, August 13


Oboontoo 2

So, I've done six Ubuntu installs so far this week.  Two on Virtualbox on Windows (desktop and laptop), one on VMWare Fusion on Mac (my shiny Retina iMac), one on OpenVZ on our development server, one on AWS EC2, and one on KVM*, upgrading from 14.04.  None yet on bare metal, but that's coming soon.

And...  Basically, all of them just worked.  Ubuntu 16.04.1 gets the coveted Doesn't Suck award.

* I'm moving / to virtualised dedicated servers - basically, small servers running just one virtual machine each.  The virtualisation makes administration much easier, which means that the servers are much cheaper.  I can get a full quad-core server with 32GB of RAM and a 1TB SSD for the price of a 4GB low-end instance in Amazon AWS.  About 20% slower than a bare metal server (or OpenVZ on bare metal, which has near zero overhead), but about 50% cheaper, so I can just get twice as many.

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


Bluescreenbird Of Unhappiness

Windows 10 has a new and much more cheerful blue screen of death.

You're still dead, though.  That hasn't changed.

Update: Usual story:

C:\> bootrec /RebuildBcd
C:\> bootrec /fixMbr
C:\> bootrec /fixboot

Though why it should be necessary for me to do this is another question entirely.

Posted by: Pixy Misa at 02:17 PM | Comments (1) | Add Comment | Trackbacks (Suck)
Post contains 50 words, total size 1 kb.

Wednesday, August 10




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

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.

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.

<< Page 1 of 2 >>
84kb generated in CPU 0.0285, elapsed 0.9438 seconds.
56 queries taking 0.9272 seconds, 385 records returned.
Powered by Minx 1.1.6c-pink.
Using http / / 383