Indulgence

This is not a technical post. Nor anything of any consequential substance. I just felt like telling a story.

As mentioned before, I run a little project called Earnoms, which was started to find a place for people to share music, but (if I had to blurb it) in ways that are more social than the “social” music sites. Tonight was a mellow music night. Ended up with over 100 new URLs in the LinkDB just between a couple of people. Not bad, all things considered.

There’s an Afrikaans song called Lisa Se Klavier. I’m not sure if it was Koos Kombuis or Laurika Rauch who wrote it, and I’m sure a quick trip over via Google could answer the question, but I don’t actually care all that much right now. The best online version that I know of is this one. I should note that the statement is somewhat subjective, since I don’t like it when people go full-on drumkit with songs. Almost always it spoils the feeling. If that’s your thing, there’s another version on grooveshark that’ll suit you. There were a couple of other ones mentioned too, such as this track by aKING, and the version of Hallelujah by Karen Zoid which I discovered tonight.

But my story is more of history. Of a couple of years ago when I used to be in choir, at a time when choir was one of the few things of my life that I don’t want to rewrite (or at least, don’t consider wasted, unlike much else of the time then). Of a time when I knew three girls, all whose names started with L. All who could play piano (to varying extents), all who were in choir with me. All who were friends with each other, and loved to song. And I mean loved to sing. I don’t think I ever saw any of them sing without a smile on their faces. It was them who introduced me to some of my first tastes of slightly-specific musical appreciation, even way back then, entirely unintentionally. Unintentionally, because they were just singing to sing. But all things considered, it’s their version of Lisa Se Klavier that is my all-time favourite. Because between the three of them they covered soprano, alto, and contralto. Their version had them picking up the rises and falls from each other, toying with the sound, making it all the more playful (which, if you look at the lyrics, are oddly fitting in some ways). All the while still following on perfectly with each other, all the while smiling. That’s probably one of the memories I’ll carry with me for a very long time. Because it stands out brightly, lightly, and oh so very pleasantly.

All that waffled, I’ll leave you with this: Ella Fitzgerald and Louis Armstrong singing Summertime.

My IRC setup

Potentially a somewhat bland topic, but I find myself referring to this often enough that I wanted to write it up; saves me the effort of explaining it in future.

First off, a couple of requirements:

  • low latency on the user input side
  • deal with my somewhat ridiculous volume of IRC usage
  • accessible from any reasonable platform (which I roughly classify as “anything with a keyboard for input, and has internet”)

So when I say “somewhat ridiculous”, that means:

  • 12 IRC networks
  • 65 channels (of varying volume)
  • varying numbers of query windows, usually about 30+ open

I flatten my jabber/gtalk to IRC as well, by using bitlbee. It counts among the 12.

Historically, I had this set up as irssi with irssi-proxy in the USA, then another irssi+irssi-proxy at my home (to join a network only accessible via the WUG at that point), and then I would connect my machine-local client to that server (which was on dyndns). A couple of pain points with this included the fact that dyndns sucks donkey balls, and syncing of logs (which I did with rsync at the time) was crappy. At the time I also had less IRC volume than I do now.

Aside from those pain points, and the occasional power outage at home (which just made me link up to my parent client), this worked well. Quassel’s backlog fetching is shiny, though. Very shiny. I wanted it. So I redid my IRC setup. Now there’s only one master server (currently in Germany), with a quassel core connecting to it. The irssi proxy config looks like so:

20:08:39 -!- Irssi: Module proxy/proxy already loaded
20:08:44 [irssiproxy]
20:08:44 irssiproxy_bind = 127.0.0.1
20:08:44 irssiproxy_password = passwordhere
20:08:44 irssiproxy_ports = freenode=6001 shadowfire=6002 oftc=6003 bitlbee=6004 ...

So basically:

  • /load proxy
  • /set irssiproxy_bind ip
  • /set irssiproxy_password ircpassword
  • /set irssiproxy_ports network=port network2=port2

Connect the quassel core up to the proxy, and that’s it. Infinite scrollback for any of my devices with quassel, and I can just ssh from some random server and connect up to screen as well (which has saved my bacon in DCs a few times).

And yes, I know this is (a bit) crazy.

Vodacom supply chain management adventure

Or “two week’s later and I still don’t know when I’m getting my new phone”.

On the 8th of this month (May 2013), Vodacom announced they had the HTC One up for order, which I’ve been awaiting fairly eagerly. So I go through the order one, have the upgrade process initiated, and ….. well, I’d like to tell you what’s happening next, but apparently I’m in customer support limbo:

Time to wait some more, I guess.

USB port orientation usability idea

I’m not a designer by trade, so this is purely a quick image mockup. But imagine how much quantum turning could’ve been spared if this was in the standard from the getgo:

So what I’m thinking is that on the machine it could get indicated which side is which. And yeah, I finally got to post this thing, after meaning to do so (and continually forgetting) for a couple of months now.

Update: source for image original is Wikipedia

Something I really need to add to my system-prov script

root@likho:~# echo “blacklist pcspkr” > /etc/modprobe.d/diaf.conf
root@likho:~#

Poking at xkcd 1190

I’m probably not the only one doing this, but… let’s poke around at the innards of xkcd 1190. I’ll update this as I find things. I’m not particularly clued at JS yet (browsers are not my main playground), so I’m hitting this as it comes ;)

So far, useful things found:

  • there’s a minified script for making all of this happen, run it through a beautifier of your choice to be able to read it
  • append #verbose to the end of the URL for JS console logging messages
  • there appears to be an event listener thing going on, with what appear to be UUIDs attached to the events. I suspect they’re only format-similar though, because they must be time-dependent. Update: looks like it’s just kept in memory
  • the json passed to the xkcd servers looks like so:
s {type: "comic/time", data: "{"spread":5,"image":"a901246fd70dcd0054429bf55ced123ecead832300d73dedd78857d91eaff2df.png"}", lastEventId: "c0ddcdf0-9547-11e2-8001-1c6f659cb250"}

More as I find it

P.S.: Randall Munroe you are a hell of a nerdsniper.

A Lament

This post will not mention anything new. It will not say anything someone else hasn’t before. It serves only as a landmark, a waypoint, a memory.

This post is about weev. In recent months he’s been found guilty on a bunch of bullshit charges, and today he’s been sentenced. I won’t go into the details. Other people already have (here’s the transcript, here’s the Wired search results for his name. Check around on twitter for #freeweev. Here’s another site about it. Have fun.)

I came to know him online/on IRC very briefly, but from the first supported his side of things. weev has often been described as unpleasant (to put it very mildly). I don’t much care for that. weev’s cool, and anyone who’s spent even a bit of time talking to him will tell you that. He’s also effectively the fallguy in this whole story. He went ahead and pissed on the shoes of AT&T, and now he’s being put away for 41 months (along with restitution). For making it known that people’s information (to whatever extent) was available on a public webserver, and all you needed to do was be able to look at/modify a URL, and do math (add 1 to the identifier at the end of it). There’s a number of things that work this way. Hell, twitter status updates are posted in numerical order. A few years ago they used to have the global firehose of all content available. Viewing that without permission could’ve been equated to breaking the law (under this ruling).

This probably sets quite a fucked precedent. There’s a lot to be said about it. But I say only this: it fucking sucks. Tons. And I hope that this situation can change. :(

P.S. for anyone who wants an idea of weev’s character, this is it: “No matter what the outcome, I will not be broken. I am antifragile.” — @rabite

“Quality of service”

Alternative title: what happens when you buy things that are licensed/run per TCP connection it can maintain.

hageshii% date; elegua; date
Fri Feb 15 22:08:41 SAST 2013
Linux elegua 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
No mail.
Last login: Fri Feb 15 20:44:49 2013 from 41.10.98.194
elegua% Write failed: Broken pipe
Shared connection to elegua.za.net closed.
Fri Feb 15 22:18:47 SAST 2013

10 minutes almost to the dot and my connection is forcefully severed, presumably for inactivity. I wonder how many inadvertent breakages this can cause. It’s certainly annoying. Thanks, Vodacom.

(Yes, I know I can VPN around this, or use mosh, or or or. Unfortunately none of those were quick to do because I hadn’t booted this box in quite a while, and Expensive-with-expiring-bytes-G connection is better used on other things than this)

And this is what the trace looks like:

 Host                                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.43.1                                      0.0%   131    1.5   9.4   1.1 211.2  27.6
 2. 10.17.7.11                                        0.0%   131   54.6 327.0  38.5 5456. 844.4
 3. 10.242.249.2                                      0.8%   131   47.9 314.3  42.1 5400. 823.9
 4. 10.113.228.1                                      5.4%   131   48.8 309.2  42.4 5346. 832.0
 5. 41.192.248.18                                    12.3%   131   55.7 247.6  39.4 5290. 790.0
 6. vc-196-207-44-134.3g.vodacom.co.za                7.7%   131   52.8 294.0  39.4 5234. 815.3
 7. 41.0.4.1                                         10.0%   131   49.7 249.9  36.6 5178. 764.8
 8. 10.118.46.10                                      7.8%   130  423.0 474.4 210.7 5155. 851.3
 9. te-9-2.car5.London1.Level3.net                   34.1%   130  483.0 461.4 204.0 4123. 762.5
10. ae-52-52.csw2.London1.Level3.net                 24.0%   130  239.5 502.6 216.1 5009. 882.5
11. ae-57-222.ebr2.London1.Level3.net                24.0%   130  231.0 409.9 216.0 4010. 614.4
12. ae-22-22.ebr2.Frankfurt1.Level3.net              22.5%   130  237.8 473.7 216.9 5906. 897.6
13. ae-72-72.csw2.Frankfurt1.Level3.net              22.5%   130  250.2 445.7 219.9 5851. 793.7
    ae-92-92.csw4.Frankfurt1.Level3.net
14. ???
15. 195.16.162.254                                   32.6%   130  247.4 406.6 223.9 4726. 723.5
16. hos-bb2.juniper1.rz1.hetzner.de                  74.4%   130  233.1 740.9 225.0 5682. 1218.
17. hos-tr2.ex3k9.rz1.hetzner.de                     18.6%   130  339.2 491.0 221.3 5626. 841.9
18. elegua.za.net                                     1.6%   130  343.7 508.1 226.2 5571. 829.2

Hi-kwality packets.

Cellular data extortion(?)

With my DSL and everything (switch, RB750, DSL modem, HP Microserver) being struck by lightning this week, I’m presently using my 3G for a bit of access. Just to ensure I don’t trigger any massive out-of-bundle charges, I checked my remaining cap quickly so that I can then run a rough mental allocation of it all for the next while. Then I saw this:

“Hang on a minute,” I thought as I read the first block’s data values, “that should be closer to 1.7GB remaining.”

Then I scrolled down, saw the ‘forfeited’ counter, and began wondering whether these companies could be forced to stop making forfeiting part of their contracts. It’s truly not like this is a technical problem. This is a business decision they’ve made to let bandwidth you’ve bought artificially expire.

A quick bit of math: assuming I use ~300MB a month (this appears to be the general level of data I use, based on a quick checking of my phone’s stats), and that I’ve had this contract for 22 months now, and at the R268.99 I’ve been paying for the bundle each month:

  • (268.99/800)*500*22 = 3698.61

So that’s R3700 of “forfeit”, for no reason other than someone decided it’d be a good way to make money. And, as far as I know, all the operators in this country do this. For the less technical readers: as I mentioned before, there’s no technical reason this happens. It’s just an entry in some database, and can be updated. If anything, maintaining an expiry time on data probably leads to more technical issues than they’d otherwise have.

To compare, this would be like anyone buying up a bunch of things (toilet paper, toothpaste, whatever), and the storekeeper then removing it from your home if you haven’t used in soon enough.

How MakingView works

Found out about this (via a local news site) earlier, a product called MakingView. Their tagline:

Explore our unique and Award Winning 360° technologies, and the opportunities we offer in visual excellence.

Their pitch is that you can get the “real” experience. Pretty cool idea, so I thought I’d quickly take a look at how it works. First up, fire up a browser, grab the URLs.

Video: http://360content.redbull.com/2012/lofoten/medium.f4v
Player: http://360content.redbull.com/2012/lofoten/makingviewer.swf

Fire up VLC, and see the following (edit: apologies, it seems something somewhere is a bit screwed with the width of the content blocks, just open the pics in a new tab):

In the boat

In the boat

 

Boardwalk

Boardwalk

 

Next step: become disappointed that there isn’t really anything cool going on. Video is just a very long series of (admittedly probably well-tweaked) panoramic pictures, and the player maps that to a globe and points shows you wherever you’re watching. Sadpant.

Edit: to anyone wondering why I wrote this, I was really hoping there were some cool multi-stream video hax going on, but ended up not. And yup, first time I saw a thing like this.