Need A Cheap, Great Wireless Router?
Posted in Advice, Tech
Afternoon watch, 4 bells (2:15 pm)

I work in IT, and I use two of these at home. Buy yourself a TP-Link WR-841N for $19.99 and flash the DD-WRT firmware on it. You'll need to do some serious reading through their documentation, but once you are done you have a router with features from hardware ten times the price. I personally set up WDS (wireless roaming) and it's incredibly cool to have for $40 and some of my precious time.

Leave a Comment »
Dell AppAssure Errors
Posted in Tech
Afternoon watch, 8 bells (4:26 pm)

I've been using AppAssure from Dell for a while now at work, and for the most part I have to say I'm really happy with it. Lately, though, I've been seeing errors on three of my servers that stop the backup process, saying "The scheduled transfer of 'incremental' … was ignored because the relevant transfer is running".

So I did what every sysadmin does, I googled the error message. It took me to this page that clearly states the error and three solutions: make sure the client is up to date, allow antivirus exceptions, and don't have an unreasonable backup schedule. Well, I checked all of those and confirmed they were not a problem, yet I still wasn't getting a backup.

So I did what every sysadmin does next, when things aren't making sense: I rebooted the client. That didn't work either. I then thought perhaps the server is the part that thinks the transfer is running. After rebooting the server (causing all the jobs to go on hold for about 15 minutes!), everything started transferring correctly.

Leave a Comment »
No More Room
Posted in Tech
First dog watch, 2 bells (5:24 pm)

I've been fighting a free-space issue with a Microsoft HyperV client (a virtual machine) that was out of space on its System Reserved partition. The machine was running Windows 7, which may have been upgraded from an earlier version of Windows, since I think by default Windows 7 will reserve more than the 100Mb of space that was originally allocated.

In Disk Management, I was able to shrink the C: partition down, but could not expand the System Reserved partition. After a little poking around, I found a utility called MiniTool Partition Wizard Home Edition that allowed me to resize it. I rebooted the machine, it ran through some resizing stuff for about 10 minutes, then I was in business. Now the machine has enough space to allow me to run my backups against it, which is why I had to bother with it in the first place.

Leave a Comment »
Slime Warner Cable
First watch, 4 bells (10:12 pm)

I've been fighting a Time Warner Internet connection issue all evening. This was my connection speed and latency. I'm supposed to get about 2Mb up (that seems to be normal), but my download should be 15-20Mb (I pay about $80/month for that. Non-US readers rejoice in your superior connection). I had to break down and call them, then go through all the asinine stuff they talk you through ("unplug the cable feed and touch the center connector to discharge any static electricity" like it's not lightning-grounded at the demarc.). In the end, they wanted to schedule a tech to come out on Thursday to take a look at it. Thursday!

We had an extended power outage this afternoon (about an hour) thanks to someone's tent. Routers, switches, etc don't do well when they don't have power. Or when it's interrupted.

I could almost hear the tech sigh when I told him I work in IT and troubleshot all my equipment. They probably hear that all the time from people that don't know much about networking. Still, I was polite and did everything they asked. I told them out of most of the area customers I would be one of the first to notice an issue like this. They still never believe me. It took them over a year to fix a reverse DNS issue they had in my area, I never could get to the right person to tell them what was going on.

I would have plugged my own spare cable modem in to try it, but their network won't allow traffic until someone programs the new device's MAC address into their system. (Why??)

Anyway, at the end of the phone call, nearly an hour later, the connection starts improving. All of a sudden My latency is down into the 20ms range and down-band is up to about 10Mb.

So I told the tech (who heartily agreed) that there was no point scheduling someone to come out 2 1/2 days from now to look at a connection problem that someone is probably working on right now (although their system showed no issues anywhere in my area!). I would monitor the connection and call back tomorrow if the speed was still slow. I have an open case now, which in theory should speed up the troubleshooting process.

Still, there are much more entertaining ways I could have spent my evening.

Leave a Comment »
The Future is Here!
Posted in Tech
Afternoon watch, 6 bells (3:15 pm)

My blogging software auto-updated itself last night. I've been blogging since 2003 and this is the first fully automatic, hands-off upgrade I've ever had. It's amazing.

I wouldn't be surprised if this was a service on some site that someone else ran, but it's my site, on my hardware.

Leave a Comment »
Nice Job, Amazon!
Posted in Tech
Afternoon watch, 5 bells (2:59 pm)

The new Amazon Cloud Player application works really well on the Mac platform. It even honors the keyboard play/pause/forward/back buttons, a gripe I've had with all non-iTunes software since I started using a Mac.

3 Comments »
MSSQL One-to-Many Aggregation
Posted in Tech
Afternoon watch, 5 bells (2:57 pm)

This post really saved me a lot of time trying to figure out how to aggregate a one-to-many text field in a query on MS SQL server.

set nocount on;
declare @YourTable table (RowID int, HeaderValue int, ChildValue varchar(5))
insert into @YourTable VALUES (1,1,'CCC')
insert into @YourTable VALUES (2,2,'B<&>B')
insert into @YourTable VALUES (3,2,'AAA')
insert into @YourTable VALUES (4,3,'<br>')
insert into @YourTable VALUES (5,3,'A & Z')
set nocount off
SELECT
    t1.HeaderValue
        ,STUFF(
                   (SELECT
                        ', ' + t2.ChildValue
                        FROM @YourTable t2
                        WHERE t1.HeaderValue=t2.HeaderValue
                        ORDER BY t2.ChildValue
                        FOR XML PATH(''), TYPE
                   ).value('.','varchar(max)')
                   ,1,2, ''
              ) AS ChildValues
    FROM @YourTable t1
    GROUP BY t1.HeaderValue

OUTPUT:

HeaderValue ChildValues
----------- -------------------
1           CCC
2           AAA, B<&>B
3           <br>, A & Z

(3 row(s) affected)
Leave a Comment »
Arduino Ingress Hack Timer
Posted in Code, Hobbies, Tech
Forenoon watch, 7 bells (11:58 am)

I've been enjoying playing Ingress lately, but found myself in need of a 5-minute cool-down timer whilst hacking portals. Not wanting to exit the app and launch a separate timer on my Nexus 4, I went to my Arduino for an answer and came up with this solution: a 5-minute timer with a bare Arduino.

That's it, no extra parts necessary.

Using the Arduino's built-in LED on pin 13, After 3 minutes I start turning the LED off and on about once per second. At 4 minutes the blinking speeds up. At 4:30 it speeds up again. At 5 minutes the LED is on steady. Hit the reset button when you hack the portal and start over!

Plug the Arduino in and compile/upload the following code:

const int ledPin = 13;
int ledState = LOW;

unsigned long lastBlink = 0;

void toggleLEDState() {
  if(ledState == LOW) {
    ledState = HIGH;
  } else {
    ledState = LOW;
  }
}

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  unsigned long nowMillis = millis();
  
  if(nowMillis > 300000) {
    ledState = HIGH;
  } else if(nowMillis > 270000) {
    if(nowMillis - lastBlink > 200) {
      toggleLEDState();
      lastBlink = nowMillis;
    }
  } else if(nowMillis > 240000) {
    if(nowMillis - lastBlink > 500) {
      toggleLEDState();
      lastBlink = nowMillis;
    }
  } else if(nowMillis > 180000) {
    if(nowMillis - lastBlink > 1000) {
      toggleLEDState();
      lastBlink = nowMillis;
    }
  }
  
  digitalWrite(ledPin, ledState);
}
Leave a Comment »
Google Glass
Forenoon watch, 8 bells (12:13 pm)

Holy cow Google Glass is cool. There are few things I wouldn't do to get my hands on one of these many months before everyone else. And now you can with Google's early user contest. Hurry, the #ifihadglass contest ends next week. Or better yet, don't enter, it decreases my chances of getting in.

Leave a Comment »
Broadsides to the Script Kiddies
Posted in Tech
Afternoon watch, 4 bells (2:05 pm)

Today I fired off a broadside blast against some annoying script kiddies that have been defacing a vBulletin site I have the unfortunate misery to manage. I finally tracked their crack down to a PHP file that was uploaded under a previously vulnerable version. I had no idea it was there, but these evil files kept showing up despite my keeping the software updated.

These people are not hackers, but tiny-minded people trying to up search engine results and send out spam. If you want to know what a real hacker is, read 2600 Magazine.

Anyway, I deleted their exploit, then realized I was missing an opportunity, and replaced the page with this:
Middle finger cat

Now if they ever come from an un-banned IP address (yeah, I shut them out, and the rest of their ISP's network, too!), that's all they're going to get…

3 Comments »
Netgear ProSafe GS108
Posted in Advice, Reviews, Tech
Forenoon watch, 3 bells (9:47 am)

My boss bought a Netgear ProSafe GS108 gigabit network switch to use around the house, but had a lot of trouble with it. As it turns out, the device has a firmware bug that does not allow DHCP packets! I'm not sure about other broadcast protocols, but if you need DHCP, don't use this switch.

Update: Well it seems like this was a bit premature. It appeared that there was a DHCP issue, but the real problem turned out to be a Cisco 2960 switch behind the GS108 that had the specific port configured to "Desktop" mode. A change to "Switch" mode fixed the problem, so if you have an issue like this, check your other hardware!

Leave a Comment »
Blogtarded
First watch, 4 bells (10:12 pm)

I've been blogtarded lately and haven't written anything for quite a while. I guess Twitter has filled what little output needs I've had lately.

Work has been busy—very busy. I'm behind on projects because other things come up. My backup system at the office died and I've got a lot of new equipment in to replace the old system. Having chosen to upgrade instead of replace hardware (it was five years old), I had several other peripheral systems that needed upgrading as well. Because my new LTO-5 tape drive has a SAS connection, I had to get a new server that supported SAS. And because I needed a new server, I had to move all the data storage to the new server, but the old storage was Ultra320 SCSI. So I had to buy a new storage vault. It uses iSCSI, which is some very cool tech: it's a network block protocol, and connects to my server via gigabit CAT5e. And since I was replacing just about everything, it was time to upgrade my backup software, too.

I've only today got things working and have high confidence that I will have a full, clean backup tonight.

Hopefully this means I can concentrate on getting my other work finished now.

On a side note, Lorien and I have memberships at the Cd'A Kroc Center and I'm committing myself to work out there every weeknight. You can catch me there starting around 8pm. It's a really nice place, and we're excited to have a plan to get fit together.

Leave a Comment »
The Long Delay at Time Warner
Posted in Tech
Afternoon watch, 6 bells (3:16 pm)

For the past few weeks I've been working on a strange issue from my Time Warner cable connection at home. There were two symptoms: a long delay of roughly 30 seconds when trying to open a web page on my company's webserver, and a similar delay when connecting to my office via secure shell (ssh).

I soon found out that some of my coworkers see the same problem, but only those that have Time Warner cable at home—but not all of those that have Time Warner see the long delay.

Many theories were thrown out about what was happening: a DNS issue, a firewall, some kind of faulty caching proxy server, etc., most of which were ruled out because we didn't see the same problem from all locations and that I could reproduce the problem on two separate servers. Watching the webserver's logfile showed no entries for the 30 seconds I waited and then all of a sudden the log was populated and my page loaded quickly.

Examining the differences between the clients with and without the problem, I noticed that those that behaved as expected had working reverse-DNS entries, while those that had trouble returned an error when I queried for their reverse DNS address.

So as a test, I disabled reverse-DNS on my SSH server at my office and BAM—the delay was gone!

Continuing the experiment, I added a record for my home IP address on my server's /etc/hosts file. Just like that, I was loading pages at full speed with no delays.

When I query for a reverse-DNS resolution of my home IP address, Time Warner's server returns an error. Contacting them to have them fix their broken DNS server has been an awful experience, starting with "Let's reboot your router first."

Since I expect this to never be resolved, and since I run my own DNS servers anyway, I started adding in-addr.arpa zones for the broken ranges of DHCP addresses. While this will work for me, it's a hack at best and I would rather get the issue fixed. Unfortunately it's out of my hands.

So Time Warner, surprise me. Fix it up, or un-configure the range of addresses even! Don't just leave it broken.

Leave a Comment »
Making the Switch
Posted in Tech
Forenoon watch, 5 bells (10:43 am)

If you follow me on Twitter, you know that I've been learning the Dvorak keyboard layout over the last couple of weeks. Yesterday I switched my main work computer over to use Dvorak and although I'm typing slow now, I'm getting better. I also have some empathy for people that can't type, as my typing speed is now quite slow.

2 Comments »
Configuring a Cisco 881W with DHCP
Posted in Tech
Morning watch, 8 bells (8:22 am)

I just wrote up a long page about how I configured a Cisco 881W router to fetch an external DHCP address from my Internet provider, serve internal DHCP to my clients, and set up a wireless network with WPA encryption.

I have seen nothing else like this guide on the Internet, probably because Cisco consultants jealously guard their secrets to justify their extremely high hourly rates. Time for a change…

5 Comments »