No boom today. Boom tomorrow. There's always a boom tomorrow.

Sunday, May 19

Geek

It's Like A Suspension Bridge

It has high points at either end, but sags a bit in the middle.

Season 7.2 of Doctor Who, that is.  I really wish that the 2012 Olympics had gone to Ulan Bator or some place like that, so we'd got two full seasons of Doctor Who instead of two half seasons (five episodes in 2012, and eight now in 2013).*

But The Bells of Saint John and The Name of the Doctor do at least serve as very capable bookends to a somewhat wobbly second half of the season.**

It would have been a dynamite season ending if but there was more than enough to hold fans' attention as it was.

All in all, it's the best kind of ending, one that retroactively improves everything that came before.  We get all too much of the other kind, so Steven Moffat should be applauded for pulling this trick off here.

As a side note: The BBC accidentally shipped out a couple of hundred copies of the season box set on Blu-Ray a week before the finale was set to air.  And still there were no leaks of the surprises in store.

* Doctor Who was cut, apparently, because so much of the BBC was tied up in the Olympics.  Meh, I say.  Meh!  There's another Olympics every four years; there's only one Doctor Who.

** Neil Gaiman's The Doctor's Wife was brilliant; his Nightmare in Silver this season...  Less so.

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

Geek

/etc/cron.weekly/raid-check

WFT?

Linux now rescans all your (software) RAID arrays every week.  I thought it was a hardware problem.

This is possibly a good thing, maybe.

It is proceeding at an aggregate of 700MB/s, which is nice to see.

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

Thursday, May 16

Geek

No Nexus 7+ / 7.2 / 8 / Whatever

Nothing.  Absolutely nothing.

But HP have announced their SlateBook10 x2, a 10.1" Android convertible with a Tegra 4 CPU and a 1920x1200 display.

/images/hero-slatebook-x2_tcm_245_1410169.jpg


It's similar to the Asus Transformer Infinity, but significantly faster, and a good bit cheaper at $480 including the dock.  2GB RAM and 64GB of flash storage plus a full-size SD slot in the keyboard dock, and maybe a microSD slot in the tablet itself.  (HP's site doesn't list one, but the various blurbs on the tech news sites do.)

Specs aren't perfect - it's not quite "retina class" - but definitely interesting.

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

Geek

Blah

Well, I'm still up, might as well watch the Google I/O keynote.  Just need to occupy myself for a few minutes 'til it starts...


Okay, now it's started.  Blah blah blah...

Blah blah blah...

Oh yeah, that's why I never watch these things, much less go to them.

Blah blah blah...

The music video at the start wasn't bad, but this is better:


Blah blah Android blah blah Chrome blah.

Okay, yeah, they're okay-ish.  Android is Linux, Chrome is KHTML.

Blah blah blah...

Blah 900 million activations blah...  

Blah 48 billion app installs blah...

Using Play as an end-run around manufacturers and carriers who are slack about updating devices. i.e. all of them.  Good thinking.

Location.  Well, people who actually get a chance to leave the house might care about that, so okay.

Cross-platform single-sign on.  Sounds good, until you realise that it leads to cross-platform single irrevocable account suspension, like my situation with Youtube.

Their messaging platform now allows you to send as well as receive.  Well, there's a huge breakthrough. roll eyes

I hate live broadcasts.  You can't fast-forward through the crap.

Okay, here's something good: A new Android IDE called Android Studio, based on JetBrains IntelliJ Idea.  I don't use IntelliJ, because Java sucks, but it's the basis for PyCharm, which I use every day.  It's a nice IDE.  And Android Studio looks really good.

Red boots.  Makes a change from the blah outfits the rest of the presenters are wearing.

Better developer metrics.  Fine.  Not exciting for me, but fine.

Blah blah...

The Play Store on the Nexus 10, huh?  Have you fixed the insane flickering during app downloads yet?  Didn't think so.

"Do you guys want to hear about music?"  <crickets>  "Well, I'm going to talk about it anyway."

Wow, this is stupefying.  They have a music service, just like the other ninety-odd music services that already exist.

Blardly blardly bleep...

Google Samsung Galaxy Nexus S4 $649 unlocked.  Hardly a new device, and they're only selling the 16GB version.  But it's the only Android device sold by Google with expandable storage.  Does this signify anything?  Who knows.

Oh gawd, now they're going to talk about Chrome.  I'm outta here.

Chromebooks.  They've sold dozens of them!  You can just feel the lack of enthusiasm when the presenter pauses at applause moments.

They're porting Chrome to Android.  "Let's dive in deeper."  Let's not.  Next!

WebP and VP9.  Okay, good, get this stuff out there.  Support is pretty much absent outside Chrome right now.

Blah blah....

They're giving away Chromebook Pixels to all attendees, instantly tripling the install base.  That got some applause, because no-one in their right mind would actually buy one.

Gah.  Google Apps.  Bletch.  I mean, fine, if you don't actually care about functionality or productivity.

Oh great, it's the music guy again.

Google get-em-while-they're-young Play for Education.

Something about Malaysia.  Okay, getting 4G internet access in every school in the country and giving the students Chromebooks (though not Pixels).  That's good stuff.

Google+, Search, Maps.  Bleen.  Polite applause.  No-one cares about Google+.  It's not that it's bad, it's just that it's bleh.  Now they've Pinterested it.  Yeah, that's an improvement.

Like Apple moving developers off MacOS to try to get iOS 7 out the door, it's a reminder that you can be one of the biggest, most technologically advanced corporations in history and still flounder helplessly in the face of not having any idea what you are supposed to be doing.

I work for a little startup.  My problems all stem from lack of resources.  The vision part is easy.  But when you have all the resources you could ask for (and Apple could hire another ten thousand developers tomorrow if that would help) you still have to somehow focus those resources on executing your vision.  That's hard.  In fact, it's basically insoluble, which is why we see an unending cycle of boom and bust in hi-tech companies.

Has he stopped talking about Google+ yet?

No.

Oh, now he's talking about photos.  I'm not actually watching the stream any more; it escalated from stupefying to stultifying.  Next year, Google, your keynote is 30 minutes.  Anything that doesn't fit in that 30 minutes isn't worth having in the keynote.  This is ridiculous.

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

Tuesday, May 14

Geek

Pudding

It's never that simple.

I downloaded and installed Julia Studio and started tinkering, and things were going pretty smoothly, and I ran some simple benchmarks, and the best case was nearly as fast as Python.

Wait, what?

Hrm.

Python has a remarkably efficient core of functions, but its code execution is rather sluggish.  That is, Python itself is fast, but code written in Python is slow.  So, for example, splitting sentences into words in Python runs about five times faster than in Julia, according to my little benchmark.  But the more complicated your code gets, the more that should tilt in Julia's favour.

Indeed, Julia's standard library is written mostly in Julia, so the performance you get for built-in functions is the same as for your own code, where with Python there can be orders of magnitude between the two.

Still, /5 performance on early tests when you're seeking *20 is not encouraging.

Next week: Pixy investigates Numba.

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

Sunday, May 12

Geek

Why Does Julia Use * For String Concatenation?

I quote:
I think the main reason is that algebras over fields are commutative with respect to + but not necessarily for *. String concatenation is definitely not commutative. I can't remember whether this was part of the original motivation, but I also tend to think of this in the terms that string concatenation is a lot like taking the outer product, you're getting an object with the combined dimensionality of both factors.
This is difficult to argue with, but the answer is still not what I'd prefer.

I was writing a longer post on Julia last night, but the editor ate it.

Julia is an interesting new programming language (it first appeared last year) that attempts to provide the mathematical power and sheer computational efficiency of Fortran while offering programmers the expressiveness, flexibility, and clarity of Ruby. The result is 70% awesome, 10% odd, and 20% not there yet (since it's so new).

Here's a snippet:

cd("data") do
    open("outfile", "w") do f 
        write(f, data)
    end 
end

In these five short lines we already see two important things:
  1. Readable code. Neither curly brackets and semicolons, those codependent blights on programmer productivity, nor bizarre unfamiliar syntax like Smalltalk.

  2. Something like Ruby's blocks or Python's with - the cd function creates a context, as does the open function, and those contexts apply to the enclosed statements and are automatically cleaned up at the end. So the program changes its working directory to the data only for the code within the do...end block, without the programmer needing to worry about any details.
While Julia's syntax closely resembles sane, healthy, modern languages like Ruby and Python, it veers off in some details because it was designed by mathematicians rather than computer scientists. Thus you get the self-consistent if somewhat weird decision to use * for string concatenation.

More significantly, while Julia is object-oriented, it is not class-based (as most object-oriented languages are). It uses multiple dispatch based on the arguments to a function rather than binding functions to an object.

That is, where in Python you might define an image object and a resize method, and call it like this:

im = image("kitty-ears.jpg")
im.resize(x=500)

In Julia you'd define the data structure of the object, and then define a set of functions that act upon that object. There might already be a resize function that acts on arrays or vectors or memory-mapped files (or a hundred other things), but when you call

resize(im; x=500)

Julia knows that you mean the image resize function, because it knows that the variable im is an image. Values cannot change their type, so the Julia compiler can bind to the right version of the function at compile time, unlike Python or Ruby, where dispatch is always dynamic.

And that matters because it means that Julia is about 20x faster than Python.*

What Julia doesn't (currently) provide is multi-threaded programming. It's supports coroutines, called tasks, that allow you to write your code in a logically multi-threaded way. And it supports message-passing multi-processing, so you can spin up multiple instances of your application on different CPUs and easily dispatch tasks to other workers and receive the results when they're done. But you can't have multiple processes sharing a common native data structure.

But then, neither (really) can Python or Ruby. Both support threading, but both have global interpreter locks - the infamous GIL in Python - that means that only one thread is working on native code or data structures at a time. Threads get unlocked when they are doing I/O, and in some C libraries, so you do get a speedup in real-world applications. So if all three languages are effectively still single-threaded, with threads largely a programming convenience, you'd go with the one that's 20x faster, yes?

Yes, except that Python has a huge and wonderful standard library and an even huger and wonderfuller ecosystem of third-party packages.

Except except:
  1. You can embed Python in Julia, with two-way transfer of data and functions, using PyCall. You can just plain import your Python modules into a Julia program and use them:

    @pyimport pylab
    x = linspace(0,2*pi,1000); y = sin(3*x + 4*cos(2*x));
    pylab.plot(x, y; color="red", linewidth=2.0, linestyle="--")
    pylab.show()

    It's almost-but-not-quite Python on the Julia side (see the ; between the positional and named arguments in the pylab.plot call) but calling existing Python code from Julia is almost perfectly transparent.

  2. You can access MongoDB from Julia. MongoDB isn't perfect** but it's the swiss-army chainsaw*** of NoSQL, at least since they fixed it so that it doesn't crash and destroy all your data every time a gnat sneezes.****

  3. You can pretend it's Ruby and slap together web apps like there's no tomorrow using Morsel:

    using Morsel

    app = Morsel.app()

    route(app, GET | POST | PUT, "/") do req, res
        "This is the root"
    end

    get(app, "/about") do req, res
        "This app is running on Morsel"
    end

    start(app, 8000)

  4. There's support for ZeroMQ, the lightweight queueing... Thing.

  5. Also, Curl.

That's important, because those five items cover everything I need for both my day job and my off hour programming. If I can still use all my existing code and write new code that runs 10-20x faster (I use Psyco, the precursor to PyPy, here at mee.nu, which delivers a real-world speedup of very close to 2x, so only 10x there) in a language that doesn't make me want to shoot myself, that makes me a happy bunny.

Full support for multi-threaded programming would make it even better, but since I don't really have that now, it's not a show-stopper. For mee.nu, I run five instances of Minx behind a load-balancing proxy, though we rarely need the performance. Julia provides plenty of ways to use multi-processor machines, just not that particular way.

And if it really delivers 10x the performance in practice, that's like getting 10-way multi-threading with zero software overheads and zero extra hardware.

So a cautious thumbs up so far from me.

* Or about 4x faster than PyPy, the Python JIT compiler. But since you can easily embed Python code in Julia (the PyCall package provides this) and PyPy still has a number of incompatibilities with common Python packages, there's an argument that Julia is a better way to go even for Python programmers.

** Indeed, while it supports atomic updates, it doesn't support transactions across multiple records, so some would argue that it's not a database at all. My definition of a database is that it lets you find what you want in better than linear time even if you don't know what you're looking for - i.e. it provides some sort of secondary index. By that definition, MongoDB is a database. And Redis and RethinkDB and Aerospike aren't. Which doesn't mean they're not useful - Redis is bleedin' wonderful! - it just means they're not databases. They're datathingies.

*** Joke stolen shamelessly.

**** Which to their credit they fixed four major releases ago. These day's it's pretty robust.

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

Friday, May 10

Cool

Oh My Stars, There's Another One

Amid all the random craziness and angst that makes up my life these days, there's a steady drip of light in the form of brick-based role-playing-strategy-gamey-things.


The aptly named Cube World.  No idea when it's coming out.

Fifteen months ago, I was looking forward to only two games - Mass Effect 3 (which EA managed to fuck up, though not irredeemably), and Torchlight II, which was pretty good, though I remember the first more fondly.

Since then, we've had a new XCOM game, EA has announced, launched, and irrevocably ruined SimCity - to the point where the major feature announced for The Sims 4 is that it will be single player - I've discovered KairoSoft, and Kickstarter has exploded onto the indie gaming landscape like a big bomb made of money.  Starbound is on its way, and Terraria has been revivified.  Kerbal Space Program is amazing, but requires more time than I have (which is zero) to really get anywhere.  We've got four major new isometric party-based single-player role-playing games on the way, with the first (Shadowrun) due next month.

And now we have these voxel-based games like Stonehearth and Cube World which take a fascinating tack, using the absurd amounts of graphics power that we have at our disposal today (you can get 1.8 TFLOPS for less than $150) to make games that manage to look endearingly retro and fluid and engaging at the same time.  I can't wait for them to come out so that I can not have time to play them either.

Oh, and here's the gameplay trailer for Stonehearth, without the talky bits.


Bunny!

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

Tuesday, May 07

Rant

Intercourse The Penguin: A Critique Of Artificial Scarcity In A Post-Scarcity Economy

If you subscribe to a magazine electronically on Amazon, they will delete your back issues after six months "for your convenience".

Yes, they actually say that.  They delete your property for your convenience.  If you go searching for why your back issues - THAT YOU HAVE PAID FOR - seem to be missing, you find that in the fine print on "How magazine subscriptions work".  A shorter and more accurate explanation would have been "They don't."

And if you think that smacks of doublespeak, don't forget that this is the company that made news by deleting unauthorised copies of 1984 off customer's devices. 

I've sent a complaint to Amazon; it's hard enough to even find how to do that these days.  I was very good and didn't swear...  Much at all.

But, frankly, FUCK DRM in all its forms.

I may expand on this subject once I have calmed down a little.

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

Sunday, May 05

Geek

Voxeloid

Reading the comments on the Stonehearth Kickstarter, I learned that the developers are using a product called Qubicle for the graphics.  It's a voxel-based design and rendering system built on Unity.

Unity itself is quite impressive: It's a comprehensive game engine (covering rendering, animation, graphics effects, sound, UI, AI, networking, mapping, and more) that runs on Windows, Mac, Linux, iOS, Android, Xbox, Playstation, Wii, and even most browsers, and costs $1500 for the professional desktop development kit - and the basic edition is free.  Most of the games I've been backing on Kickstarter are using it, which is how they're able to offer Mac and Linux ports on a shoestring budget.

Not that I have time to play any of these games, of course; the last game I spent any time with was Kairosoft's Pocket Stables.  Well, and BvS.  But that's a responsibility - I have a ninja village to look after!

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

Friday, May 03

Cool

Wombat!

4:09



The game is apparently in a very early state (despite appearances); the developers estimate there's a good 16 months of work before release.  With any luck the millions of dollars they raise over the next few days will help speed things along.

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

Wednesday, May 01

Cool

Meelions And Meelions

Good news, everyone!
  • The Starbound pre-order has passed the meelion-dollar mark and bagged all three stretch goals set so far (a new alien race, alien fossils, and alien starter pets).  No telling yet what else may be in store, but the development team - some of whom had taken second jobs in order to keep things going - are apparently still slightly dizzy from their unexpected success.

  • The Torment2: Tidy Numerology Kickstarter Drive Bonus Paypal Round hasn't quite tipped the project over the $4.5 meelion dollar mark for the final stretch goal - an in-game Fortress of Tormentitude player stronghold.  But it got pretty darn close, and with (apparently, significantly) lower than average payment failure rates, inXile have deemed their fundedness sufficient to add that particular fig to the pudding anyway.
Since these are two of the games I'm most looking forward to, this news is most welcome.

Oh, and Futurama got cancelled again.  But it had a decent run in the end.

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

Saturday, April 27

Geek

XCOM Thingy

You remember how there was that XCOM shooter under development, and how relieved we all were when that faded into the background and we got a new real XCOM strategy game instead?  (Even if I haven't had a chance to play it yet, I was as relieved as anyone.)

Well, it seems the shooter didn't go away, it quietly soldiered on towards a launch this year, and - here's the thing - judging by the trailer, there's a chance, just a chance, that it might not suck.

more...

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

Thursday, April 25

Rant

Just My Opinion

Web and app designers who employ grey text on a grey background for copy should be shot.*

Right now, looking at you, new Google Play app.

It keeps happening because it looks great. It's a miserable experience to actually read, but it looks stylish and elegant.

* For grey-on-grey headings, they should merely be slapped with a dead sturgeon.

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

Life

Honi Soit Qui Salle Blanche

Just dropped a jar of honey-soy sauce on the kitchen floor.

Observations:
  1. Honey-soy sauce is as sticky as honey and as apt to stain everything within 20 feet as soy sauce.
  2. Cutting your foot on a stray shard of glass and bleeding all over the place doesn't help.
  3. Bleach does.

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

Wednesday, April 24

Geek

Start8

Start8 from Stardock turns Windows 8 into a fairly sensible (if artistically inept) update to Windows 7.  It makes the start screen, charms bar, and hot corners go away.  If that's what you want - each item is independently configurable.

And it gives you back a nice, clean, functional - and very configurable - start menu.

For just $4.99 it turns Windows 8 back from a screaming heap of garbage into a practical, useful operating system.  Highly recommended if you find yourself in a situation where that might apply.

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

<< Page 1 of 233 >>
98kb generated in 0.1112 seconds; 59 queries returned 280 records.
Powered by Minx 1.1.4-pink.