March 2014 Archives

Fri Mar 28 01:07:35 CET 2014

Pimping the Olinuxino-A20 board

alexis.marshlab.gaertner.de got quite a upgrades, acquired in the the past days and assembled today: a sub-15 VGA adapter, an enclosure and, last not least, an SSD:

root@alexis:~# fdisk -l /dev/sda

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

The entire kit now looks like this:

alexis enclosured

The RIPE Atlas probe had to be relocated for this operation. Netwise, it's now hanging off an old 10 Mbit/s hub (sic!), good enough for that little amount of traffic the probe receives/generates. Power comes from fred, which is usually not running itself:

RIPE Atlas probe

Well, it's not that little traffic. It's actually a steady flow of small packets, as a recent look using the SPAN (Switched Port Analyser) on the Cisco switch showed. The ATLAS project has really been taking off during the last two years.


Posted by neitzel | Permanent link | File under: done, marshlabs

Fri Mar 28 00:37:40 CET 2014

Getting more familiar with ZFS

Lots of reading about ZFS today. And a few experiments, too, doing snaphots, diffs, and scrubbings.

I really like ZFS, particularly that one is free to redesign filesystems long after they have been in use. ("Hey -- let's finally mirror this fs!"). There's so much more freedom compared to Linux-LVM.

(BTW, if you like ZFS, you'll like DragonFlyBSD's Hammer FS, too. That one even does nightly snapshots out of the box.)


Posted by neitzel | Permanent link | File under: learned, done, bsd

Thu Mar 6 15:19:59 CET 2014

Martin groks the ;: Sequential Machine

Almost exactly 10 years ago, on 2004-03-19, J introduced the ;: dyad "Sequential Machine" (aka: "Finite State Machine (FSM)" or "Deterministic Finite Automaton (DFA)".) Time to finally learn it, not just by roughly looking at the definition (as done back then) but by actually trying it out.

This turned out much more difficult than expected. All in all, I needed three days/attempts (>1h each) tackling this DoJ entry before I was greeted with a result instead of just errors.

The Sequential Machine definition itself is quite long and also a bit convoluted. (There are quite a lot of forward/backward references within this definition. The text would also be more fluid to read for me if the explanation of an ijrd list would be in this order, not irjd.) The definition comes with a real-life but mildly complex complex example automaton, a tokenizer for J phrases.

I prefer to learn new things with minimalistally simple examples. This is what I started out with (around day 2):

   m =. (a. {~ 97 + i. 26) ; ,'.'
   s =. ,:  _2 ]\  0 0   0 6    0 6

   (5;s;m) ;: 'foo.bar.baz.'
|domain error
|   (5;s;m)    ;:'foo.bar.baz.'

Recognizing what I had done incorrectly took me unbelievable two or three hours. If you never used ;: before yourself:

Can you spot my error more quickly than I did?


Posted by neitzel | Permanent link | File under: learned, j

Tue Mar 4 01:02:48 CET 2014

RIPE Probe Relocation

My RIPE Atlas probe atlas.marshlabs.gaertner.de aka p2781.probes.atlas.ripe.net got re-homed last week.

Until then, it was plugged into my DSL router which provided both power on from its USB port and network connectivity via one of its scarce, four switch ports.

Now it dangles from port fa0/7 of the c2940 switch roll (there are two other c2940s called shake and rattle) and gets powered via USB from the Olinuxino-A20 board alexis (which itselfs dangles from fa0/8).

roll, atlas, and alexis


Posted by neitzel | Permanent link | File under: done, marshlabs