It was a bad day. A lot of bad stuff happened. And I'd love to forget it all. But I don't. Not ever. Because this is what I do. Every time, every day, every second, this: On five, we're bringing down the government.

Monday, December 30


Long Live The Queen

LLQ is a game in the Princess Maker mold, except that you have to not only study hard for your eventual (or at least potential) queenery, in this game you have to administer and defend the queendom.

Maker should be sued for false and misleading advertising.  I haven't survived six months yet.  At least the deaths are varied - and cute.

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

Sunday, December 22


The Power Of Cool Vs. The Speed Of Lite

Long time readers of this blog will be familiar with the fact that Moore's Law is dying - and in some respects has been dead for a decade already.

This is of concern to everyone as the ever-increasing availability of computing power has been a key driver of economic growth for decades.  It's of more immediate concern to some of us because it means we're no longer to be tempted by shiny new video cards every Christmas.


Video card makers have been enjoying a free ride from chip fabs for twenty years, rolling out new, improved cards on new, improved chip processes roughly every two years.  But this is the third year in a row where Nvidia and AMD (the two remaining video card makers) have been stuck at 28nm.  This makes it difficult to make any significant advances; whatever you do, if you make a card significantly faster, it will be significantly more expensive and use significantly more power.

Nvidia had some headroom available because they'd already released their high-end professional Tesla GPU in a consumer model.  At $999 it wasn't ever going to find many customers, but as a flagship for the benchmark charts it was very useful.

So, recently AMD announced their R9 280 and R9 290 families.  The 280 is simply a rebadged Radeon 7970; 2048 shaders running at 1GHz, with a 384-bit memory bus.  

The 290 is a new chip, though.  The full chip, labelled the 290X, has 2816 shaders (768 / 37.5% more than the 7970), running at "up to 1GHz".  Its smaller sibling, the 290, has 2560 shaders (512 / 25% more than the 7970) running at "up to" 947MHz.  That's a fairly significant increase for a chip based on the same fabrication process, and the new chip is 25% larger and has nearly 50% more transistors than the 7970.  (Which is pretty interesting in itself, as they've achieved 20% better density without a change in the underlying technology.)

The cards rolled out to reviewers, and they found three things:
  1. They're fast.
  2. They're really good value for money.
  3. They're noisy as hell.
With a larger, denser chip, AMD needed to step up the cooling capacity of the new cards.  For the reference design, they went for a blower fan - that is, one that blows the hot air out through a vent at the back of your PC - and it's just not very good.  The fan problems reduced a potential home run for AMD to a single, and the recommendation from reviewers was to wait for AMD's partners to release cards with custom coolers.

In fact, Tom's Hardware tested the possibilities themselves by prying loose the reference cooler and installing their own, and the results were dramatic.  But that's not something the average user would want to do, and the rest of us were left to wait.

And wait.

But the custom cards are now showing up in reviews, and the results are everything you could ask for: The redesigned cards run 20C cooler, 20% faster, 6dB quieter, and just $20 more than the original, while consuming no more (even a little less) power. 

So, time to buy a new video card?

Not so fast.

There's another wrinkle here.  AMD's cards are generally better than Nvidia's consumer cards for computation.  Nvidia has an edge on some applications thanks to their Cuda compute library, and the difference doesn't necessarily hold for the respective professional cards, but for some applications the difference is huge.  A $549 AMD R9 290X outruns a $999 Nvidia Titan for Litecoin mining by 2:1.

With the recent meteoric rise of Bitcoin (ignoring the even more recent partial crash) and growing interest in cryptocurrencies in general (of which Litecoin is one), cheap compute power has gained a whole new market.  And if you happen to want a new graphics card for some more prosaic task - let us say, graphics - you may find yourself seriously outbid, if you can find a card at all.  Newegg are showing AMD's R9 280 and 290 cards at 30-50% above MSRP, or simply out of stock entirely.

There's also another reason I'll be sticking with my Radeon 7950 for a little while longer.  Apart from the fact that having just switched over from my old 4850 I'm not feeling any need to upgrade.

Dell have recently announced affordable 4K monitors.  Their 32" model is the same panel sold by Sharp and Asus, at the same price, $3500.  But the 24" model is $1399, and the 28" semi-pro model under $1000. 

Meanwhile, LG have announced a new lineup of ultra-wide 21:9 displays.  Their existing 21:9 monitors have a resolution of 2560x1080, which is not that interesting when 2560x1440 monitors are readily available.  The new models bump the resolution up to 3440x1440, making for a clear upgrade.  This is great for tasks where you would otherwise use multiple monitors, such as programming.  

I commonly find myself switching back and forth between my IDE, a terminal session, a web browser showing the app, and another web browser showing documentation pages of whatever library I'm working with at that moment.  Never mind the windows for the app documentation in Microsoft Word, the database monitoring utilities, scratch areas in Notepad++ and so on.  I need all the screen area I can get, but monitor boundaries are a pain, so the fewer of those I have, the better.


The only display interface currently capable of driving those new hi-resolution monitors at full speed is DisplayPort.  The reference R9 290 cards, all the custom R9 290 cards announced so far, and all of Nvidia's consumer cards have exactly one DisplayPort output.  My Sapphire 7950, despite being 18 months old, has two.  

So whichever of those fancy new monitors I end up with, I can run two of them on my existing hardware, but only one if I upgrade.  Asus offer an overclocked R9 280X with four DisplayPort outputs, but it offers none of the advances of the R9 290 family, is a huge 3-slot card, and as far as I can tell, is completely out of stock everywhere.

Posted by: Pixy Misa at 04:43 PM | Comments (5) | Add Comment | Trackbacks (Suck)
Post contains 1029 words, total size 7 kb.

Thursday, December 19


Why Little Bobby Tables Can't Count

The Huffington Post* has an interesting article on why counting operations are slower on good databases than bad ones.  It's by one of the engineers at Tokutek, who develop TokuMX - and yes, count() requests are slower in TokuMX than MongoDB.

It doesn't sound like there's any fundamental problem with implementing counted trees to improve count performance, just that the finer the lock grain and the higher the throughput of your database, the higher the overhead per operation of maintaining those counts - because you'd be maintaining multiple overlapping versions of the counts simultaneously.

Which is not insoluble, just icky.

* Of all places.

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

Tuesday, December 17


This Is Why We Can't Have Nice Things Unless We Run Virtual Servers

I have a neat real-time data analysis system that I built over a couple of days using TokuMX, Redis, RabbitMQ, and Python.  There's one little problem:
  • Redis tends to wedge itself when working on very large (>10GB) datasets unless you turn on transparent huge pages.

  • TokuMX doesn't work with transparent huge pages turned on.  I mean, it seriously doesn't work.  When you try to start it, it prints out a sad face and dies.

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

Friday, December 13


Fallen Out

Fallout 1, 2, and Tactics are free on GOG through tomorrow.  They might not be available at all after the end of the year, so grab them now!

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

Wednesday, December 11


The 50/80 Rule

When a modern server shows that it is running at 50% capacity, it is actually running at 80% or more, and is effectively if not absolutely saturated.

The reason for this is recent* changes in server CPU architecture from both Intel and AMD.  Current Intel CPUs are almost all hyper-threaded (each core provides two hardware threads); current AMD CPUs are mostly based on a module architecture, where each module contains two cores with some shared resources.**  While to software, a chip will appear to have 2N available cores, the available performance is only about 1.2N.

Chips from both companies also feature turbo modes, so that if only one or two cores on a multi-core chip are busy, it will accelerate, often by 25% or more.  As more cores become busy and power and thermal load rises, clock speeds scale back automatically toward a baseline.

Unfortunately, operating system schedulers are currently smarter than our monitoring tools.  Both Linux and Windows know that programs will perform better if you assign each new task to its own hardware core/module rather than just to a logical thread, and the operating system does its best to do so.  But monitoring tools are still at the level of logical threads.  At 50%, all your independent cores/modules have been allocated by the scheduler, and all you have is the extra 20% or so you can squeeze from the chip by allocating the additional shared-resource threads.

The result of which is that if you look at a server, and it is running at around 10% load, then the maximum that server can handle is less than 5x that (even before we take queueing theory and response times into account; sustainable average load is probably only 2x).  And a server running at 50% is flat out and the engines cannae take any more.

Cf. the 80/20 Rule (a.k.a. the Pareto principle): 20% of X accounts for 80% of Y.  For example, 20% of your customers will account for 80% of your revenue, and 20% of your customers will account for 80% of your work - and it's not the same 20%.

Also cf. the 80/80 Rule: The first 80% of a project will take the first 80% of the time, and the last 20% will take the other 80% of the time.

* Recent meaning the last few years.

** While this doesn't inherently contain the same limitations as hyper-threading, in the Bulldozer and Piledriver implementations, it effectively does; the bottleneck seems to be the shared instruction decoder.  The performance boost going from one busy core in each module to two is of the same order as the boost from Intel's hyper-threading.

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

Tuesday, December 10


Quote Mine

Peebs is a mother lode.

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

Monday, December 09


At My Day Job

Needed to set up some virtual machines under OpenVZ.


root@s1:~# vzlist
100 36 running akane.x1.pb
101 17 running akari.x1.pb
102 17 running akemi.x1.pb
103 17 running akiko.x1.pb
104 17 running arale.x1.pb
105 17 running arisu.x1.pb
106 17 running asuka.x1.pb
107 17 running ayane.x1.pb
108 17 running ayumi.x1.pb
109 17 running azusa.x1.pb
110 17 running kasumi.x1.pb
111 17 running kemeko.x1.pb
112 17 running kimiko.x1.pb
113 17 running kiyoko.x1.pb
114 17 running kotone.x1.pb
115 17 running madoka.x1.pb
116 17 running makoto.x1.pb
117 17 running mariko.x1.pb
118 17 running megumi.x1.pb
119 17 running miyuki.x1.pb

Posted by: Pixy Misa at 08:31 PM | Comments (7) | Add Comment | Trackbacks (Suck)
Post contains 121 words, total size 3 kb.

Wednesday, December 04


All I Want For Christmas Is A TERABYTE OF SSD!!!

So I bought one.  Went for the 960GB Crucial m500 over the similarly-priced 1TB Samsung 840 EVO because the EVO is all about speed, where the m500 is all about not losing your data.  

The m500 offers internal redundancy (it can survive a entire flash die going bad) and power loss protection (the 1GB of internal RAM is backed up by capacitors long enough to flush the cache to flash).  The EVO offers a high-performance mode where writes are cached in system memory - brilliant right up until you have a crash or power outage.

They're both great products (though I really wouldn't suggest turning on "rapid mode" on the EVO); I just went with the more conservative offering.

Posted by: Pixy Misa at 09:24 AM | Comments (3) | Add Comment | Trackbacks (Suck)
Post contains 129 words, total size 1 kb.

Monday, December 02



Dell have announced three 4K a.k.a Ultra HD monitors - that is, 3840x2160 - the UP2414Q at 24", the P2815Q at 28", and the UP3214Q at 32".  Pricing is $3499 for the 32", shipping now, $1399 for the 24", due before Christmas, and "less than $1000" for the 28", which will ship early next year.

The 24" and 32" models are professional-quality colour-calibrated displays, while the 28" appears to be a semi-pro model, though still probably an IPS or similarly high-quality panel.

I was going to replace my Dell 2711 this year but never got around to it, which has turned out to be fortuitous.  And the upgrade would have been minor; my Nexus 10 has more pixels on its 10" screen than any affordable desktop monitor - until now.  I will pounce on the P2815Q the moment it lands.

Legit Reviews have the press release, but it doesn't show on Dell's site yet.  The 32" monitor is listed, but the 24" model has fled to Belize.

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

<< Page 1 of 2 >>
83kb generated in CPU 0.1133, elapsed 0.3273 seconds.
59 queries taking 0.2964 seconds, 379 records returned.
Powered by Minx 1.1.6c-pink.
Using http / / 377