AKR007_900

Smitten with the Mitten – 6 Months in Michigan

Moving here was the culmination of a vacation turned scouting trip. Having spent the past 4 years living abroad in various countries it was time to visit the Vaterland and bring my Wife to meet the family.

That was until I decided I wanted and we needed a change.

Having now spent 6 full months here I wanted to share the things I have learned since moving here. It is by no means an exhaustive list, but they are the things that have struck me as a new Michigander.

  • When you live in the breadbasket you get spoiled by a fresh bounty. I on the other hand have not prior so the food here has amazed me. Everything is fresh, local, and bursting with flavour. My Wife and I have traveled the State and some of the restaurants we have stumbled upon are world-class. Our biggest fear as foodies was that we would be bound to home cook the rest of our days, but that is simply not the case. The food here is excellent.
  • If you turn on one of our German or Dutch playlists and lose track of time, you could mistake your drive across the country for being there versus Michigan. The scenery can be jaw dropping beautiful. It is a relatively flat state, but the way the sky dances against the vastness of fields and forests adds a uniqueness to it all.
  • Much of my life has been spent in the South where the mantra always goes that they are the friendliest people in the US. The North gets a bad rap about being a cold and stoic place, but I think that is undeserved. The several times my Wife and I have left a conversation with a stranger thinking “gosh they were helpful or friendly” are countless.
  • Art is appreciated here. We enjoy the ballet and theatre and there are opportunities to see just about anything within an hours drive. Between Detroit, Midland, and Grand Rapids you options are open to doing something of that type of event. The productions are smaller and less grandiose, but they are well done and the community feels a sense of ownership due to that sizing I believe.
  • The State seems generally conservative, with a liberal leaning. It is hard to be a Union state and vote red. I would consider myself an independent libertarian and had thought I would be socially cast aside here. I am an oddity in the North part of the State, but overall people seem welcoming. In addition, people are just as fine to let you be. I can disappear onto our acreage and no one would think twice about involving themselves in our matters. I like that. Very different from the metropolitan.
  • Family being right up the road is such an amazing thing. This isn’t purely a Michigan thing, but it is something I love. With the months getting cold it seems the State binds together to have many indoor activities. There is always a cousin with some school show/sport/activity to go see. We walk into bars or restaurants and run into people we know. That sounds like Cheers, but in our case it is Cheers with the Schmidt’s.
Now things that I thought I’d love, but haven’t.

  • Sorry guys, but the beers and wines are overrated. As a snob in both arenas, I have yet to be impressed with the available refreshments. Trust me, I have tried EVERYTHING I can get my hands on. My basement fridge is littered with 5-packs after trying a beer from down the road only to be disenchanted. As a big Dutch, Belgian, and German drinker I had hoped the roots of the state would offer some good stuff. Been disappointed, but I will keep trying. I am never one to turn down something new and possibly tasty.
  • The roads…oh god the roads…I take delivery of my Ducati 1299 in a few months and I have started to scope routes, not based on their twisties or straightaways, but rather on if I can ride down them safely. I have lived in other cold places with lots of snow. Michigan doesn’t have some special brand that makes this difficult. For the love of everything beautiful in this place, FIX THE ROADS!
  • If you look at the most recent statistics, young Michiganders are leaving the State in droves. There are not enough opportunities to keep them here and as such the impending baby boomer retirements will mean a shortage in my opinion. We must attract and provide for young talent.
  • Embrace “going green” for the sake of your residents. Driving through the Thumb you see some of this through windmills and solar arrays, but Michigan (and the automotive industry) could stand-out if they truly took hold of this ideology. The great expanses between cities are begging for a series of charging stations or similar. Geothermal and wind power should be blanketing this state as the Dutch and Swedes have with their similar climates. As my Grandfather says “I am a farmer and going green is what I have done my whole life.” Just makes sense for this region.

Pure Michigan is a cheesy marketing campaign, but one I fully understand now. The State is an oddity of sand dunes, skiing resorts, metropolitan cities, and farming land. People remember it for the shape, but I think they are missing out on what is inside the mitten. We are looking forward to exploring more after the winter months thaw out. We can’t wait to see what else this beautiful state has in store.

This slideshow requires JavaScript.

Traffic Control on Linux with FireQOS

In order to make full use of my half-duplex WiMAX link, I started looking for anything and everything I could use to optimize it. Linux has some pretty decent utilities with iproute2 and netem to handle these type of configurations. They don’t compare to OpenBSD’s PF, but they work once you get the setup in place.

Due in part to how ugly TC is out of the box, I really like FireQOS for defining the basic configuration. The developer also makes a great iptables wrapper called FireHOL, but iptables rules are easy enough to write in my opinion.

I wanted to share my FireQOS script for those who may have similar needs. It prioritizes my traffic with the following basics:

  1. VOIP – Commits 30kbit no matter what else is going on. This is sufficient for a single G.729 SIP connection
  2. Interactive protocols such as DNS, SSH, and XMPP receive 20% of the bandwidth
  3. Facetime – Committed 200kbit for video streaming
  4. VPN connections (PPTP/IPSEC/OpenVPN) are given 20% of the bandwidth
  5. Surfing is given majority of bandwidth with 60%
  6. Synacks, Mail, and Usenet bring up the rear with whatever is left. They will consume available bandwidth if nothing else is going on

As I write this my network is function just spiffy with no issues streaming via SONOS and downloads via USENET. I am very happy with the config.

From /etc/firehol/fireqos.conf

DEVICE=enp3s0
INPUT_SPEED=1910kbit
OUTPUT_SPEED=200kbit
interface $DEVICE world-in input rate $INPUT_SPEED $LINKTYPE
 class voip commit 30kbit
 match udp port 5060 
 match udp dports 10000:10100
 match sports 3478,5349
class interactive commit 20%
 match udp port 53
 match tcp port 22
 match tcp port 2222
 match tcp port 8022
 match icmp
 match tcp sports 5222,5228
 match tcp sports 5223
class facetime commit 200kbit
 match udp ports 3478:3497,16384:16387,16393:16402
class vpns commit 20%
 match tcp port 1723
 match gre
 match dport 1195:1198
 match tcp port 1701
 match tcp port 500
 match udp port 500
 match udp port 4500
class surfing commit 60%
 match tcp port 80
 match tcp port 443
class synacks
 match tcp syn
 match tcp ack
class default
class mail
 match tcp port 143
 match tcp port 993
 match tcp port 25
 match tcp port 465
 match tcp port 587
class usenet
 match tcp port 563
interface $DEVICE world-out output rate $OUTPUT_SPEED $LINKTYPE
 class voip commit 30kbit
 match udp port 5060
 match udp sports 10000:10100
 match dports 3478,5349
class interactive commit 20%
 match udp port 53
 match tcp port 22
 match tcp port 2222
 match tcp port 8022
 match icmp
 match tcp dports 5222,5228
 match tcp dports 5223
class facetime commit 200kbit
 match udp ports 3478:3497,16384:16387,16393:16402
class vpns commit 20%
 match tcp port 1723
 match gre
 match sport 1195:1198
 match tcp port 1701
 match tcp port 500
 match udp port 500
 match udp port 4500
class surfing commit 6%
 match tcp port 80
 match tcp port 443
class synacks
 match tcp syn
 match tcp ack
class default
class mail
 match tcp port 143
 match tcp port 993
 match tcp port 25
 match tcp port 465
 match tcp port 587
class usenet
 match tcp port 563

 

The machine is self aware…

I live in the boonies now, but thankfully we have some semblance of broadband with SpeedConnect. It is a WiMax setup with a modem that needs to be reset once a day (sometimes more if I am downloading ISO’s) and only connects at 10Mb Half-Duplex.  Better than nothing I suppose.

Originally I just succom to needing to wake-up, hit the head, and then hit the server room to pull the power. The geek in me couldn’t take it. Enter an extra Wemo Insight I had lying around. Initially I attempted to set up a rule that reset the switch (and thereby the modem) and coincide that with a cron script to bring down and back up the connection.

Luckily the Wemo has a pretty decent SOAP interface as outlined here. Script now runs by itself, with no wemo rules (which suck), and restarts the connection. To do this yourself:

  1. Linux Box. Mine happens to be the Server behind the FW
  2. ouimeaux installed
  3. Cron daemon of sorts
  4. Magic!

It makes me giddy with joy to have the machine watch the other machine. Technology is amazing

unnamed

What do I want to do when I grow up?

Circumstances were such that I could not make a more public notification when it actually occurred, but I am now able. I have sold my portion of Spec Ops Technology and will be moving on to new and exciting things for which I have yet to fully determine.

It is such a bittersweet moment in life to look back on the progress and effects we have done as a company. We had such humble beginnings and desires that were quickly overshadowed by the reality of success. During my tenure as Co-Founder and Managing Partner, we have done amazing things and I have had a fascinating life. The memories formed and the relationships forged through the countless travels will be forever a shining moment.

My decision to do this was made over months of deliberation and introspective review. Some of you closest to me have worried aloud about the identity of I have inherited from this adventure. Fear not as it has enriched, but not been the foundation of my being. With the quiver full of knowledge, understanding, and wisdom from this I hope to venture into something new and different.

Thanks to all of you who supported and assisted myself and the company through the years. In the beginning there were very few who supported an undertaking when the market was so shaky. We succeeded, Spec Ops Technology under Anthony’s guidance will continue to succeed, and I hand over the rest of the reigns knowing those I care about will be taken care of.

Alicia and I are timidly exhilarated at the possibilities. I will miss the life I am leaving, but cherish that which it afforded. Thank you

ADS-B Receiver and Plotter with Arch Linux

I love aviation and love software defined radios so building an ADS-B receiver and plotter was high on the lists of to-do. In Standish Michigan there are not a lot of fly overs so I wanted to be sure to capture those that happened. Haven seen now a few A-10’s on low pass it only fueled that desire :)

I use yaourt for my AUR package management, but whatever tool you use should be capable.

  1. yaourt dump1090-robb
  2. Plugin the RTLSDR Dongle. I use a cheap dongle off Ebay with the following lsusb dump: Bus 003 Device 006: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
  3. As a standard user enter into a terminal dump1090 and make sure that the software can use the RTLSDR device and begin plotting information. If you cannot see this text you will need to troubleshoot your device. You can try running with sudo dump1090 to decide if this is a permissions issue quickly
  4. After verifying you can use the dongle we will now run dump1090 in an interactive and web server mode with the following command. Note that I run dump1090 on port 7070 instead of the default 8080 as I already have something occupying that port: dump1090 –net-http-port 7070 –interactive –net –phase-enhance –aggressive
  5. Open a web browser and enter http://127.0.0.1:7070 and compare the live updates in the terminal with the plotting. You should see ADS-B hits.

I have done all my captures thus far on the included DVB-T antenna and it works pretty well. As I am on the road I am not near the home lab to produce a better antenna.

Selection_007

Binary makes me giggle