Archive for Technology

Modifying a Dell 3020m micro PC for dual gigabit ethernet; adventures in Dremeling.

[ music | Lady Gaga – I Like It Rough ]

I’m lucky enough to have AT&T Fiber for gigabit internet, and while the rest of my network stack in the house is Cisco Meraki, I can’t afford an MX250 to use the whole pipe, or even an MX100 for 75%.

Used to use a 2011 Mac Mini as a pfSense-based router here. I had the thunderbolt to gigabit ethernet adapter, and it worked fine, but I wanted something else. No real reason, no good excuse, but I lied to myself and said a second gen Core i5 (2415M, doal core at 2.3GHz, Sandy Bridge) wasn’t “enough”. And I wanted something “less hacky” than a thunderbolt ethernet adapter. Also, it ran warm, I really did want something to run cooler.

Dell 3020m open case

Enter a Dell 3020M micro form factor PC. It had an i5-4950T, quad core, ran at 3.3GHz, Haswell, and had a gigE port and internally an m.2 slot for a wifi card. It was A/E keyed, not M keyed (I’ll complain about m.2 keys later) so trying to find an ethernet card to fit in that slot was a trip. And also, the card slot is only really compatible with 30mm length cards.

After several months of searching for an A/E keyed card, I finally found a reasonably priced card! However, it’s 60mm long, and the slot has absolutely no room past 30mm due to the audio ports and the front of the case/chassis.

So I eventually thought I’d found a solution, an A/E keyed m.2 extender! I didn’t look closely enough, and missed that it actually goes from A/E key on the slot side to M key on the card. Useless for this use case.

Enter the Dremel.

This is nothing a little soldering (well, desoldering) can’t cure! I had to remove the audio out and mic in jacks, so I desoldered them and mounted the card. The removed audio jacks allow the 60mm card to extend past the 30mm slot, and the 30mm screw hole keeps the card in place. Then I took a 6 inch CAT6 cable, cut off one of the jacks, fished it through a hole in the back of the chassis, and snapped on an EZ-SnapJack. I actually really like these as there’s no punchdown tool needed. I also removed the casing from the SSD, as it’s entirely useless, it doesn’t even make contact with the tiny card for heat dissipation. Also, losing the case and the drive caddy that it mounts into makes the interior a lot roomier. The cable comfortably goes over the SSD and out the back where the EZ-SnapJack is, and after these photos a little hot glue secured it to the rear of the case.

However, the card is too long to fit in the case, now. This is nothing a Dremel can’t cure! It ruins the stock exterior aesthetic I wanted, but a gaping hole in the front does improve airflow. The hole in the case also allows the 60mm card to extend past the boundaries of the 30mm slot.

It ain’t as pretty as I wanted, but I got everything else. Dual PCIe gigabit ethernet cards in a tiny form factor, and a faster machine for pfSense.

Post Script. On M.2 keying. IT’S STUPID AND UNNECESSARILY COMPLICATES THINGS. Look at this chart at Wikipedia, it’s insane. This is the same BS we have gone through in the IT world for decades. We needlessly add complexities to things that we think we need to “differentiate” when the differentiation serves no purpose. Serial ports were a mess, with 9 pin and 25 ports doing the exact same thing with the only difference being the physical connector. And different devices could have a male or female version of that connector, with no one real standard being followed. It was common to need a couple of different adapters on your cable to hook up two pieces of equipment. USB started with the A and B connector, which exploded into A and a whole world of B side connectors, finally coming to sense in the USB-C connector. Why does it matter which side of the cable goes where? It doesn’t. Whoever designed VGA cables understood that.

All you need in an M.2 slot is a single key to prevent M.2 SATA drives from being plugged in. That’s it. Everything else is PCIe and it doesn’t matter if wifi cards have a different notch from a USB card or a serial card, etc. “But what if it uses four lanes, or two?” Then it uses the lanes that are there, or it doesn’t. the connector doesn’t care, and the user doesn’t care. Keying should only be used to differentiate between electrically incompatible ports. Can you imagine if USB had notches for flash drives and ethernet adapters?

Comments off

VMWare, BSODs, and video drivers

I had a customer who upgraded to an SSD in his MacBook Pro, and had heard about VMware Fusion. Not by name, but by feature, from a friend. “He can run his Windows right along side his Mac.” He had a Boot Camp installation and VMware Fusion helpfully can import that. However, after VMware Tools were installed, the VM would BSOD on boot with a SYSTEM_SERVICE_EXCEPTION, error code 0x0000003b. Oh joy.

Much testing later revealed that it seemed to be the VMware SVGA driver that was causing these issues, which made little sense as its one of the most tested parts of the VMware tools, being so critical. It turns out the client had a specific external video device that clearly VMware never tested with. In this case it was the Tritton SEE2 Xtreme USB to DVI adapter unit. While the unit wasn’t attached and hadn’t been used in ages, the drivers were still installed, and when these two drivers were initialized, we’d see that BSOD exception.

The solution was clearly to find and remove the driver for that video unit. Once that was done everything was aces. The moral is search very closely in the driver set of your guest OS if you’re having errors like this. I let VMware support know the details of this particular driver so they can test against it, and presumably devices like it.

Comments off

My views on Firefox OS

[ music | Styx – Fooling Yourself ]

Initially I blew off the Boot 2 Gecko initiative (now Firefox OS or something close to that) as unnecessary and pointless. I freely admit I was wrong. It’s actually a good idea, I like the idea, and I hope it works well. that said, I still think some of the goals are pipe dreams and pointless. I’m specifically replying to some of the things written in this blog post by Rob Hawkes (no relation to Guy), There is something magical about Firefox OS.

Feature phones. What? This is nearly 2013. Yes, there are probably literally a billion feature phones out there. There are reasons for that. They’re cheap, much more rugged than smartphones, last a week on a charge, and fulfill a basic need for communication via text and voice. They have very small screens with low resolution monochrome LCD displays. These are cheap in financial terms, power requirements,  and processing needs. There’s nothing Firefox can bring to this market that the cheap, small embedded OS can’t do, and no new benefits. To do anything smartphone related, you’ll need at least a better screen. Instantly you double the cost and reduce the disposability. Double? When you’re looking at hardware that costs $6 to $10 to produce and can be sold for under $20, yes, double.

Cheap smartphones. There are already cheap Android phones. A Firefox OS based phone MIGHT yield better web performance than Android on an underpowered phone, but screen space and computing power is getting so cheap that a 1GHz ARM powered phone will be under a hundred dollars by the time B2G hits 1.0. Now, if you make that type of phone perform better, that’s great, but let’s not pretend that’s really the goal here.

The goal of Firefox OS isn’t to compete with high-end devices, but to offer entry- to mid-level smartphones at feature phone prices. – Bonnie Cha

No it’s not. It’s to create an even more open competitor to Android. You can’t make a cheaper OS than android, because there’s no licensing cost to undercut. You can’t make the phones cheaper with software. Maybe Firefox OS makes underpowered hardware more usable, that doesn’t make the phone cheaper, just less crappy. Hardware is getting cheaper every six months, the problem is that they’re so cheap that it’s not worth the dev time to put Android on “feature” phone segment handsets.

The truth is Firefox OS might succeed where WebOS failed, and that is the exciting part. That’s why I did a 180 and began to like what FireFox OS could be. It’s more open than Android, has more dedicated backers than WebOS in both software and hardware partners, and based on proved tech rather than new tech. But give up on the hippie mantra of cheat smartphones for the masses. The masses will use yesterday’s tech. Yesterday’s hardware starts out as tomorrow’s, which Firefox OS might just make awesome for entirely different reasons.

Comments (9)

Kill the Meebo bar

[ music | Styx – Show Me The Way ]

I heard about the Meebo bar via this Gizmodo article about it, and how killed it within 48 hours. Well, the AJC here in Atlanta has begun using it now too. It’s crap, but I use Firefox which makes getting rid of it easy. Here are some simple steps to kill it on the AJC’s website.

  1. Find your Firefox Profile directory
  2. Open the folder labeled “Chrome”
  3. Create a new file named UserContent.css or edit the one already there if it exists. this file is just text, so use Notepad or another text editor
  4. Paste the following into the file:
    div#meebo.meebo-00 { display: none ! important; }
  5. Save the file, and restart Firefox.

That’s it. Now, other sites that use the Meebo bar can be cured just as easily, you’ll just need to know the proper identifier for the Meebo bar on that page. If you’re not technically inclined, find a technically inclined friend to do the following:

  1. Right click in a blank area of the toolbar, select “Inspect Element”
  2. Examine the DOM nodes in the breadcrumb bar at the bottom to find the parent element of the Meebo bar. Do this on and look for the identifier I used for that as listed above for an example.
  3. Copy the above code onto a new line, and edit the line in the above directions with the identifier for the site you’re concerned with.
  4. Save and restart Firefox.

Thanks to Gavin Sharp for pointing out the incredible usefulness of the new inspection tools, and everyone who contributed to the ifantastic new devtools in Firefox.

Comments (1)

Apple’s Rusty Cage

[ music | Soundgarden – Rusty Cage ]

I see Joe Hewitt has quit iPhone development thanks to Apple’s “chickenshit approval process“. I’m easing my way into iPhone development despite my reservations about Apple’s incredibly arbitrary and selectively enforced rules, and find it incredibly telling that as time goes on more and more people are chafing under Apple’s leash. They appear to have responded to customer demand with changes like mature app categories, but reversing course on NIN’s app and the Google Voice fiasco show how incredibly schizophrenic and unfair the system really is. I don’t blame Joe at all.

Someone mentioned to me Mozilla’s Addons site, but there’s a fundamental difference between that and Apple’s App Store. You can choose to develop for Firefox without ever looking at AMO, and you can distribute your addon independently as well. With Apple, you either go through the App Store, or you restrict yourself to EULA-violating methods like Cydia and other jailbreak-only solutions. I have nothing against those solutions, but it severely restricts discoverability and freedom of both developers and users.

What I find so unbelievable is that is that, at least from my perspective, Apple’s policies seemed doomed to failure eventually, and yet they’re still trying to stand by them. I see a redux of IBM of the 1980s. The PC took off thanks to IBM’s wide open policies on clones. IBM felt if they could maintain more control over the platform, there was a lot of profit to be made, and used the genuinely advanced MCA bus to help further those business goals. The consequence in the end was the complete eclipsing of IBM in the PC market. Android may not be on the same level as the iPhone OS yet, but the market seems to have demonstrated time after time that lower cost and greater freedom wins. If Apple keeps strangling their very promising platform, they very well may wind up the next Betamax.

Comments off

Another reason I love Dreamhost, and cheap goodies for you.

[ music | Goldfrapp – Ooh La La ]

If you’re just here for the cheap goodies, you’ll want to skip to this part.

So, sometimes people wonder why I like Dreamhost so much. It’s pretty simple, aside from the great price and excellent features, I like them for their honesty and customer service. Some people look at Dreamhost Status as a list of failure. I look at it as extreme honesty. I’ve used many other hosts over the years, and experienced many with more issues than with Dreamhost, and are never explained, and half the time they lie and tell me there was no issue at all. But, here’s an example of why I love their support.

Subject: bad_httpd_conf makes me a sad tree.
From: Grey Hodge
Date: Mon, 9 Jun 2008 17:44:53 -0700 (PDT)
To: DreamHost Support

I went to access part of my site and got a 404. Afraid that the underpants gnomes had moved onto more profitable things like stealing pages, I hit the root of my site. For this I was rewarded with the dreaded “bad_httpd_conf” error of legend. I consulted the Holy Runes, which instructed me to sacrifice a chicken in the ways of my ancestors (that is, with lemon garnish and a side of rice pilaf). Sadly, this did not remedy my problem.

Knowing that is occasionally relevant, I went there and saw nothing relating to me. Upon seeing this, I immediately started to type out a comment there, since at the top of the page it clearly says “posting in the comments here IS NOT an official way to contact DreamHost” it seemed the most logical thing to do. After misspelling several words and complaining about how every host in the universe is better and that I’m going to move to a host my friend runs out of his mom’s basement, I recalled you had this “support ticket” feature, and decided to give it a whirl.

So, my sites give me that error, and I’d like them not to. I would much prefer to see my carefully crafted yet half completed sites welcome me with open arms. As I took the time to type out all of this text, I’m obviously in a great hurry, and would appreciate if everyone stopped for neither food nor sleep in the coming days as you labor to deliver my sites to all the internets.

Yours Truly,
Grey Hodge
Gentleman of Great Influence and Stature

It wasn’t as though the world was ending, so I thought a little humor would be appreciated. I then proceeded to stare at the clock in agony as the seconds ticked by. An inexorable 12 minutes later I got a reply. 12 minutes! I’ve had days go by with other hosts.

Subject: Re: bad_httpd_conf makes me a sad tree.
From: DreamHost Customer Support Team
Date: Mon, 9 Jun 2008 17:56:51 -0700 (PDT)
To: Grey Hodge

Sir, I am dreadfully sorry that your beautiful sites have suffered this most humiliating indignation, and I have taken it upon my humble self to address the matter in the most expeditious manner possible. Not having a hammer close to hand, and with no negative reflection intended upon your previously attempted sacrifice, I employed my most powerful magic and mumbled assorted arcane incantations over the spilled entrails of a plethora of small beasts I found lurking in, and about, our offices.

The internet Gods must been pleased with my actions, as all of your sites are now back in operation and are displaying in glorious fashion.

Of course, it is also possible that running a quick re-configuration of your apache server did the trick. Sometimes, I must admit, it is hard to discern the truth of these things. I sincerely apologize for the inconvenience this has caused, and will make every effort to prevent it from happening again.

Your humble servant!
Robert The Junior

Now, in the past they’ve always been courteous and prompt, well humored, and even laughed at some of my past requests’ jokes, but this gent decided he’d take it so far as to join in. I loved it and he did an excellent job. I love it when folks can take jokes well.

I promised cheap goodies. I will now deliver. The previous day I got the following email from Dreamhost.

From: The Happy DreamHost Forever Team
To: Grey Hodge
Date: Sun, Jun 8, 2008 at 9:25 AM
Subject: You just got five DreamHost Invitations!

Hey Grey!

This email is to let you know that you, yes you, have just been given five (5) oh so special DreamHost Invitations you can use to invite your friends and colleagues to DreamHost!

Of course, they don’t NEED an official invitation to sign up, but if you email them and tell them to use one of these five invitation codes:

[email me if you want one]

… they will get all these super special advantages not available any other way:

  • They will get four (4) times the normal disk and bandwidth! [that’s 2TB of disk space and 20TB of transfer]
  • If they choose our five-year plan, they’ll get $150 off!
  • If they choose our ten-year plan, they’ll get $200 off!

(Each code is good for only ONE sweet DreamHostering referral!)

But.. these invitations are too awesome to exist forever! In fact, they expire in just two weeks, so you should probably get to telling ASAP!

Tell your invitees to use the 12-digit code you give them in the “PromoCode” field when they sign up at:

So enter one of those codes and you’ll get 4 times the bandwidth, and potentially save up to $200 on long term plans (which I expect no one will make use of that part). Each code is one time use only, so once they’re gone they’re gone. If you order and it says invalid code or whatnot, sorry.

* Update: Someone already used one, so that means there are only 4 left!

* Update 2: I wound up getting 6, not 5, and 4 are gone. 2 left, act now, operators are standing by!

Comments (1)


[ music | 4 Non Blondes – What’s Going On ]

So, I got an email from Dreamhost on thursday.

“Dear DreamHost customer, We have found evidence indicating that your ‘XXX’ web server account may have been subject to intrusion by a malicious 3rd party. As a precautionary measure, we have reset your password and ask that you change it…”

Ok, WHAT? My first thought was “who could possibly have gotten my password?” I don’t use IE, I don’t use the same PW everywhere, I use secure PWs, I don’t enter my information into forms from random email links, etc. I’m a security conscious user. My last computer virus was in 1993. Well, I asked what this was about, why they felt my account was at risk, and it seems it’s probably just a consequence of this incident from last year.

“We received a tip linking to a file of usernames and passwords including a small handful of DreamHost FTP accounts; your username was on this list. This does not necessarily mean that any illegal activity has occurred under your account (as we’ve not observed such) but it does mean that someone cracked, phished, snooped, or otherwise obtained the password for this user.”

It’s probably the old password from last year’s breach, but I took no chances. I’ve asked them what password was leaked, we’ll see.

UPDATE: No, it wasn’t my password from last year, it was my latest DH password. I am distressed…

Comments off

And we let them breed…

[ music | Sheryl Crow – My Favorite Mistake ]

I had a call a few weeks ago. So far my absolute favorite call. A customer calls, and I’m walking them through various things, and I have to tell them to type in a specific string of letters and numbers. One of the characters was a zero, so as not to confuse it with the letter O I said “zero”. The customer then replied, “Is that the number zero or the letter zero?” I kid you not.

Comments (1)

For Sale – Underwood or Smith Corona Manual Typewriter/Keyboard

[ music | Morningwood – Easy ]

Want an old manual typewriter that you can hook up to a PC and be both retro-mod and cyberpunk at the same time? Let me know. I happen to have access to an old Underwood manual and a Smith Corona manual, both in excellent shape with their cases too. And my hardware hacker roots would love to convert one to a keyboard for you (for a fee, of course). Hit me up if you’re interested.

Comments (4)

New Dreamhost promotion

[ music | Franz Ferdinand – You Could Have It So Much Better ]

DreamHostIt’s spring, and time to cause panic! But rather than postulate about igniting the atmosphere with those new fangled atomic weapons, I’m just going to make my Dreamhost promocode doubly sweet. The discount is now twice what it was, $50 off any yearly plan, or $25, $30, or $40 off levels 1, 2, or 3 (respectively) for monthly plans. So if your current web host sucks (and if it’s not Dreamhost, it sucks) then this is the time to change over. I need to update the Webhost Shootout but it’s still valid. For the record, I’m currently paid up through November of 2007 and really have no plans on switching, if that is any kind of endoresement for you.

Previously, and more.

Comments off