The Great IPv6 Experiment
So during the last week I decided it was about time I rebuilt my firewall, if for no other reason than to upgrade to the latest version of m0n0wall, as the version I was running dated back to 2006. Of course, naturally enough, during the course of my initial experimentation, my old firewall hardware kicked the bucket (it was an old 150Mhz P-II… I’m surprised it hadn’t died sooner), so I suddenly found myself in need of a new firewall PC. “Lucky for my, I ditched my old MythTV motherboard”, I thought to myself… what a fool I was.
As a bit of background, I’ve been running an open wireless access point for years and years now, and to achieve reasonable security, the network topology was something like the following:
Where both the WiFirewall and Firewall perform network address translation. Unfortunately, this means:
- The wireless network is double-NATed, which makes forwarding ports back from the firewall to the wireless network a heck of a lot more cumbersome.
- I have to maintain two separate sets of firewall rules.
Plus, the WAP I have doesn’t support IPv6, so if I wanted to deploy IPv6 internally, I couldn’t do so for the wireless pool.
Well, this screamed for a solution, hence me building a new firewall. My vision was the following:
In this sort of arrangement, the firewall acts as a single NAT for both subnets, and also allows me to control access from the wireless pool to the LAN and vice versa all in one place. Plus, because both subnets are directly connected to the firewall, which supports IPv6, I can deploy v6 across my network.
Of course, this scenario requires three NICs in the firewall, one for the WAN, one for the wireless subnet, and one for the LAN subnet. So I took my spare machine, threw three NICs in it, fired up the newest version of m0n0wall, and got… “watchdog timeout: dc0”, followed by hard locks.
sigh
Many hours later, after running up and down the stairs a couple dozen times, my conclusion was IRQ conflicts between one of the NICs and the USB controller on the board. Yes, that’s right, in 2010, I was fighting with IRQ conflicts. Seriously, what the heck?
The next day, I relented and decided to try out another motherboard I had lying around (yes, that’s right, I had two spare motherboards just lying around. Go figure.) Luckily, this one seems to work beautifully, and I now have a brand new firewall set up as described above. I even configured m0n0wall’s traffic shaping such that bittorrent traffic is de-prioritized versus other traffic, so I no longer need to perform upstream throttling in rtorrent, as the firewall takes care of everything (and it works beautifully… rtorrent can now saturate my upstream, while web browsing, etc, continue to work flawlessly).
Furthermore, I figured, hey, why not deploy IPv6 for kicks? So I went and allocated a tunnel from Hurricane Electric. They provide free IPv6 tunnels plus a free routable /48 if you want it (yes, that’s right, an 80-bit address space for nothing). You just need a router/firewall that supports it. Well, as you might imagine, m0n0wall does. Additionally, Hurricane Electric has a deal with Google such that, if you use HE’s nameservers, then all of Google’s services will be accessible over IPv6. So now anyone connected to my WAP will be able to browse the IPv6 internet, and access Google’s services over v6. Neat!
And, as if that weren’t enough, I registered a new domain name: “b-ark.ca”. I then plan to use afraid.org, which is a free DNS hosting service which provides support for IPv4, both static and dynamic, and IPv6, both forward and reverse. Of course, I’ll need to find a way to cleanly migrate away from “frodo.dyn.gno.org”, but once I do, that address will be disappearing, and this place will be reachable at “b-ark.ca”.
Nethack == Gambling
So, it’s winter here in the northern hemisphere (although, given the weather we’ve been having lately, you wouldn’t know it), and I now have a renewed passion for two of my favorite hobbies: knitting and Nethack.
Mmmm… juxtaposition.
Anyway, since the start of my “season” I’ve created and killed off a whole host of characters, during which time I’ve often felt the nearly irresistible urge to throw my DS against the wall. And this fact begs an interesting question (to use that phrase colloquially): Why on earth do I do this to myself??
Now, for those not in the know, Nethack is part of a family of games known as Rogue-likes, named after their original progenitor, Dungeon Crawler. Err, I mean, Rogue. Anyway, this family of games all have a few things in common (which is why they’re a family, duh):
First, they’re almost invariably centered around a character the user controls, who is then responsible for exploring a world, encountering bad guys, and eventually progressing to the endgoal, whatever that may be. In the case of Nethack, it’s a dungeon, and the player’s goal is to descend to the bottom of that dungeon, retrieve the Amulet of Yendor, and return it to his god, whilst not dying along the way.
Second, most roguelikes involves lots of items, armour, weapons, scrolls, wands, spellbooks, and so forth, that the player can acquire along the way, either by finding them randomly, looting from corpses, or buying or stealing from shops.
Third, those items? They’re unidentified at the outset. For example, in Nethack, you may come across a scroll with a name like “NR 9”, but you’ll have no idea what it actually does. So a large part of the game is focused on various tricks to identify those items. Oh, and of course, items can be good or bad, so that scroll may have been a scroll of enchant armour, or it may have been a scroll of destroy armour. So you can’t just go randomly reading scrolls, zapping wands, and trying things on (unless you plan to die quickly).
Fourth, when you die, you’re dead. No take-backsies. No save points. Nadda. You can, of course, save your current game and pick it up later, but if you die, that save state is gone. Toast. Kaput. You’re boned. So you have to be very careful. And avoid stupidity (the YASD, or Yet Another Stupid Death, is a common experience amongst Nethackers).
Fourth, and most importantly, the level layout, the positions of the items and their identities, the enemies, they’re all random. So each game is completely different.
So, back to the question. Why do I do this? YASD after YASD, I still come back for more, and I like it. And it’s that fourth item that, I think, is the key.
You see, gambling works by a pretty simple reward system, combined with the thrill of risk taking. Of course, anyone who’s spent any time in a casino understands what I’m talking about, here. Notice any similarities? Like any other form of gambling, Nethack provides randomized rewards to the players in exchange for risk, and as one progresses in the game, the risk only gets more pronounced (since the player has more and more invested in their character). One game, they may find a wand of wishing on the second level. The next, they might hit a poly trap in the Gnomish Mines, blow out their armour, and get killed by a cockatrice. That kind of randomized reward system plays with the brain in the exact same way that, say, Blackjack does.
So you really have to wonder, are there problem Nethack players out there? Was Rogue really the first Evercrack? I’m betting the answer is ‘yes’… the only difference is, unlike WoW, the Rogue-like family has maintained a relatively low profile, and so you don’t see the kind of widespread addiction we now see in modern MMORPGs.
- (https://b-ark.ca/_gO604)
Yet another crack at this cable scarf pattern, it knits up thick and chunky and really shows off the shine of this yarn.
- (https://b-ark.ca/6EuYye)
Yet another early sock attempt, this is one of those early pairs that taught me never to use straight merino for socks…
- (https://b-ark.ca/ueAGMm)
This is a bit of an experiment, altering a traditional toe-up toe to create a separate space for the big toe. And it worked out alright!
- (https://b-ark.ca/MQg0UW)
Another crack at this pattern and one of my earlier sock attempts as I got the hang of things.
- (https://b-ark.ca/aQ4__K)
Using Thuja with some gifted Raven Frog yarn, this time Alder Bark, to knit up another pair of warm, comfy, and very fragile socks…
- (https://b-ark.ca/4egkaI)
It’s been a while, but I assume this is my first pair of socks after previously trying and failing to make socks…
- (https://b-ark.ca/EqQiie)
Another cabled scarf using Here and There Cables, this time for my mom!
- (https://b-ark.ca/S_0g0k)
Here and There again, this time for Michelle in a nice creamy yellow!
- (https://b-ark.ca/4QsEuE)
A fairly traditional pattern on this afghan, the yarn lends itself well to this simple cable-and-scallop design.
Intarsia in the Round
Yeah, another knitting post, and so soon, too! Okay, so this is a post all about Intarsia-style colour knitting in the round, as the title might suggest. See, when I was working on my pacman cap, I had this problem: when you knit Intarsia-style, you basically have colour strands for each “section” of the piece. So, if you’re knitting flat and you’re making a black field with a big yellow section, you’d knit with black, switch to yellow, knit across, then switch to a new strand of black and knit to the end of the row. Going back, you’d do the same thing, and each time you change colours, you do a little yarn wrapping trick to make sure there’s no gaps. The result is, on the back, there is no black carried across the yellow section, which is very nice as it means you have to worry less about puckering and tension, etc.
Problem is, suppose you’re knitting in the round. So you knit in black, switch to yellow, knit across, switch back to black, knit around… and then you’re back to the yellow section. Problem: you now have two black strands, and the yellow is way over on the other side of the yellow section. What do you do? What do you do??
Well, in my pacman hat, I basically cheated. When I got to the section of colour, I switched from round knitting to back-and-forth, and when the coloured rows were done, I switched back to knitting in the round. Then, during the finishing stage, I just sewed up the little seam. Pretty simple, really, but it left a bulky little seam there, and a) I hate bulky little seams, and b) I just hate seams.
So, what’s the real answer? Well, I could explain it, but instead, why don’t I leave it to Sara to answer that question? In an explanation that’s much better than anything I could compose, she outlines three different methods for dealing with the issue, one involving carrying strands around the piece, one using gapless short rows, and a third, far more ingenious technique that I really must try some time…
A Long Overdue Knitting Post
Here I am, part of the Men Who Knit webring, and I honestly can’t remember the last time I posted about knitting. “Who cares, no one reads this anyway,” you say? Okay, yeah, you’re right. But who isn’t up for a little linguistic masturbation from time to time, eh? If anything, at least it keeps my writing (read: rambling) skills bright and shiny. And, hey, at least Lenore probably reads this thing occasionally. Right?
Anyway, where was I? Oh, right, knitting. So, yeah, I haven’t posted about knitting in a while, but I figured I’d share a little project I whipped up recently. It’s a hat. Yeah, fine big deal, a hat. But it’s a special hat. Wanna see it? Of course you do! You wouldn’t be reading this if you didn’t, right? Okay, here it is:
Pretty cool, eh? Cooler yet, I actually designed this thing myself! Though, admittedly, I didn’t actually go through the effort of grabbing the graphics out of the game… a little search for “pacman ghosts” turned up this link, and voila! I was off to the races (oddly, that link is to a website called Sprite Stitch, a, quote, “Video game inspired craft weblog”… apparently I’m not the only one who had this idea). Once I had the graphics, it was a simple matter of charting out the pattern on graph paper, finding some yarn with the colours I needed, and then whipping the thing up.
Of course, charting the pattern did take a bit of effort. The trickiest thing when translating an image into a knitting pattern is altering the images to match your row/stitch gauge. You see, my knit stitches aren’t perfectly square. In fact, they’re a little wider than they are tall. But the images in your average video game are designed to be presented on a display with square pixels. The result is that, if you convert the images directly to a pattern, they come out distorted. So you have to either alter the images to stretch/squish them as necessary, or alter your row/stitch gauge. I opted to alter the images, squishing them horizontally, which was actually a bit challenging, as they’re already very low resolution. But I think the result is pretty nice.
But the question now, is, what next? I’m thinking another classic video game of some kind. One of the Mario Bros. characters, maybe? Or maybe something a little more obscure… Opa Opa, anyone?