Blog | Admin | Archives | Random | Recent | Thanks
    • A grand entrance. Ready for a fantastic night! #albakchan
    • #albakchan the main event
    • Commute
    • Meat, bread, and succotash.

A Glorious Hack

Today, a buddy mentioned that his blog wasn’t loading. His blog was hosted on one of the servers behind silverfir.net, minimus. It’s the one with the really interesting setup: Windows Server running Ubuntu Linux in a VM.

I luckily remembers how to log into the Windows server via remote desktop and poking around I discovered that something had gone wonky with the VM image. A reboot + disk scan didn’t fix the issue, so I created a new VM image and mounted the same disk images and things seems to start working reasonably well again.

Except that the port forwarding wasn’t working. Minimus is NAT’ed behind a very high-speed residential line, and the dd-wrt router it’s behind forwards a few relevant ports to the right place: 22 and 80 come to mind. Somehow, perhaps because of a new (virtual) MAC address, the forwarding wasn’t working any more.

I wanted to get the sites back online, but I didn’t have access to the router’s admin interface, so I came up with a glorious hack. Here’s what I did:

(1) ssh with port forwarding from minimus to nexus to forward port 5050 on nexus to port 80 on minimus: ssh -R 5050:localhost:80 nexus.silverfir.net
(2) on nexus, create an nginx config that forwards all the relevant sites to port 5050
(3) point the dns entries for all the relevant sites to nexus instead of minimus

It is working surprisingly well, but of course this is a super fragile state where one connection dropping will mean all the sites become unavailable again. If you care much about content hosted on minimus, you should probably take this chance to back it up.

End of an Era

College football’s BCS system was fraught with issues and I’m excited that a playoff is around the corner. Nevertheless, what a way to end! That was an amazing, exciting fourth quarter with just about everything that college football offers on display.

For all its problems, the BCS games did have a good number of amazing games. Today’s BCS Title Game was one of them, but none will ever stand out more than Boise State’s victory over Oklahoma in the 2007 Fiesta Bowl.

Edgar Martinez for Hall of Fame

Really, it seems pretty obvious to me. Edgar Martinez should be inducted into the Baseball Hall of Fame. He was in my opinion the best designated hitter of all time — and many statisticians agree . Furthermore, he was total class act on and off the field, a player with good talent and greater discipline, and the kind of person that you want your kids playing little league to grow up to be like, whether they end up playing baseball after little league or not. This is the kind of person and baseball player who should be in the Hall of Fame uncontroversially.

It’s just a shame that the Hall of Fame voters have not yet figured this out.

Ten Years of Silverfir.net

More than ten years ago, I registered the silverfir.net domain name. From its humble beginnings as debian server at my parents house, to several stints at various friends’ houses, to the multi-state distributed network it is now (WA, CA, VA), it has served me and my friends well — and will continue to, long into the future.

In this time, silverfir has been the home of my blog and many friends’ blogs and personal website projects. Its various servers have served as file servers, a development platforms, web hosts, and learning devices. It has been hacked once, but there wasn’t much interesting to see, I’m glad to say.

From the whois records:

Domain Name: SILVERFIR.NET
Created On: 20-Mar-2003 00:01:37 UTC
Last Updated On: 25-Dec-2011 01:27:54 UTC
Expiration Date: 19-Mar-2015 23:01:37 UTC
Sponsoring Registrar: Vitalwerks Internet Solutions, LLC / No-IP.com
Registrant Name: McElroy, Ryan

Four Years at Facebook

Today marks the completion of my 4th year of employment at Facebook. From eager anticipation and the first week, though my graduation from bootcamp and my first faceversary, to two years of management experience and now a chance to go back to engineering, it has truly been a roller-coaster ride in every sense of the metaphor — fears and thrills, ups and downs, highs and lows.

I celebrated the day by helping my Ultimate Frisbee team, the Feral Cowsbreak seed, even if only for a day. I think tomorrow will  be a somewhat less restrained celebration.

Though I don’t know what the future holds, for now I’m sticking with Facebook. To many more highs and not too many lows!

Conurr: It’s alive!

Today, I played a game on Concurr for the first time in a long time.

I have learned so much through this process, and there’s still a lot more to build, but it’s good to have the basics back in place.

Stuff that works really well:

  • Chat
  • Move submission and cancellation
  • Clicking on map
  • Manual Tics

Short-term TODO list:

  • Lots of bugfixes
  • Get countdown clock setup again
  • Spawn tic daemon from main

Medium-term goals include:

  • Generalize the chat server long polling to send any type of game update
  • Following from above, more client-side rendering in general
  • Don’t assign home planets until game starts (instead of game join)
  • Stabilize colors by game join order (or selection process?)
  • List players in the game

Long-term goals:

  • Chat in lobby
  • Change all planets to have orbits instead of the current fixed map setup
  • Game fast-forward (if all players agree)
  • Game ending win condition

Given the limitations noted above, is anyone interested in a game? Let me know and we can set something up.

Free Alex Rodriguez

We really need to get over ourselves and this stupid war on performance-enhancing drugs.