off by one
notes on research, technology, and more

access to random information is important!:

Ever thought about what happens when an SSL implementation can't get access to random data? Or how fork() complicates the behavior of a pseudo-random number generator (PRNG)? You should. Now there's a proposal for a getrandom() system call in Linux.

Gnumeric File Reference "unknown workbook" Error:

If you have file references in Gnumeric (you refer to different workbooks using a reference like:

=[bookname.gnumeric]Sheet!A1

... the references will not resolve unless the other workbooks are opened *in the same gnumeric instance*. This means, for example, that if you open Nautilus, select all the workbooks, and open them in Gnumeric, that your references will not work. Instead, they will all be quoted; that is, they will look like this:

'=[bookname.gnumeric]Sheet!A1

Don't be alarmed -- your sheets have not been changed. Trying to manually remove the "'" will just throw up an error about a referral to an "unknown workbook."

The issue is that, as I said up top, all the sheets must be opened in the same instance of Gnumeric. It's not obvious in any way that open windows of Gnumeric may not be the same "instance" so this can be confusing. The solution is to open one of the documents, or a "new" Gnumeric instance, and then open the linked documents from within a single application instance.

I never used linked sheets in Excel, so I'm not sure if this is typical spreadsheet behavior or not. I'm frankly surprised that the sheets need to be open to be viewed... I think Gnumeric should be able to open linked sheets as long as the paths are right, but that's just me... anyway, HTH, HS (happy spreadsheeting)!

Super cool idea -- using servers to heat homes:

Why not heat your home and water with a rack of servers?. From clickolinko.

SESE -- Single Entry, Single Exit -- Considered Misunderstood:

I was just wondering about this the other day...

PFNA -- Proposal For New Acronym:

We already have TLA, for Three Letter Acronym, but I've been thinking for a while that the TLA namespace is almost exhausted, which could result in the catastrophic failure of efficient communication. Either that, or everyone is going to have to start using NAT to allow multiple expressions to hide behind one TLA (... but that's a topic for a separate post.) Anyway, having just encountered the acronym SPOF -- Single Point Of Failure -- I propose the acronym AOFL: Acronym Of Four Letters. You can either speak it as "A-O-F-L" or, as I prefer, as "awful."

Acronym creators should transition to the new AOFL protocol as soon as possible.

Update: I'm reminded by Nick Moffitt about ETLA -- Extended Three Letter Acronym. There's also a list there of other four letter acronym acronyms, and even my favorite, which describes the class of acronyms including things like LASER and SCUBA: VLFLA -- Very Long Five Letter Acronym. So I guess that AOFL will just be a forgotten standard -- the Betamax to ETLA's VHS.

cosmic rays!:

Pretty cool story about encountering a random bit flip corruption in RAM, and recovering from it.

when will I ever learn?:

I do a lot of performance testing in the course of my research, and so, like a lot of other people I imagine, I wrote a little test harness to manage running jobs. That harness treats each test as a discrete part of a larger test -- and runs through them individually until complete. The benefit of this is that you can use the model to make sure that your conditions are the same for each test, you can see the progress of the overall tests by looking at the job queue, and you can pick up where you left off if something goes wrong. I've spent a lot of time on that script.

But then, I always forget about it and start a long string of jobs using a nested for loop... and then I lose all those benefits. My tests aren't particularly sensitive to conditions, but since I didn't use a job queue of any kind, I have no idea when the overall tests will end, and if I kill the task, I'll lose all my progress. Gar!

resizing windows in ubuntu:

Like many hackers I'm constantly looking at or moving around tons of different terminal windows, which often need to be resized. Compiz in Ubuntu includes the Grid plugin, which at first I thought was super annoying, what with its automatically resizing my windows for no apparent reason. But then I set some hotkeys that make my life easy. Basically, using the modifier <Ctrl><Alt><Shift> and the keys A,Q,W,E,D,C,X,Z and S, I can stuff a window into various quadrants or halves of the screen. It's REALLY handy for lining up two vertical terminals side by side on today's widescreen monitors.

But the other day, I was using a crufty old P4 with an ancient video card do I had to fall back to GNOME. Boy, did I miss grid. But in googling around, I found out that in addition to ALT-leftbutton_drag to move windows, there's also ALT-middlebutton_drag to resize windows. I thought, "that's dumb"... but then I tried it and it's pretty awesome, especially when moving windows from a bigger monitor to a smaller monitor when grid or maximize gets confused. A little middle-button alt dragging and things are just right.

I actually have a whole set of left-hand chording shortcuts for window management that I'll post about at some point later. It makes window management for multiple terminals and desktops super easy.

Quick instructions for bar plots in R:

Need to make bar plots quickly in R? It's easy!

What kind of object is this R variable, anyway?:

Numerous ideas here, with the first being:

R> typeof(something)

In other news, I've decided to just start posting all the questions I end up looking up, since I often have to find them again, and I believe in "upvoting" them for posterity.

2014 July
MonTueWedThuFriSatSun
 123456
78910111213
141516171821920
21222324252627
28293031   

0 entries this month.

Links
/~pedro/
clickolinko
News You Can Bruise
Zork.net's MOTD
ASCIIweb
robotfindskitten
Tastytronic Industries
Categories Random XML
Password:

Unless otherwise noted, all content licensed by Peter A. H. Peterson
under a Creative Commons License.