r00tshell.com

Putting r00t in your shell.

FEATURE ARTICLE

DNS Control

DNS Control is a web based dns management tool for BIND 9 name server. You can completely manage a domain from a web interface. It supports adding/modifying/removing A, MX, and CNAME records. All information is stored in a MySQL database.....

Continue Reading…

Why I Love Open Source and Github

A lot of the development work I do requires me to modify DNS entries to temporarly change where something resolves. For a while I just would edit my /etc/hosts file. This was ok for a while, but was kind of a pain. One day while making some changes to Passenger Preference Pane, I came across the OS X command dscl. The manual describes it as:

Directory Service command line utility:

dscl is a general-purpose utility for operating on Directory Service directory nodes. Its commands allow one to create, read, and manage Directory Service data. If invoked without any commands, dscl runs in an interactive mode, reading commands from standard input. Interactive processing is terminated by the quit command. Leading dashes (“-“) are optional for all com- mands.

In other words, it allows you to add DNS entries without the need to modify your /etc/hosts file. The syntax isn’t very straightforward and leaves a lot to be desired. My first instinct was to do a google search for a management utility. That’s when I came across Ghost. Ghost has very simple syntax:

    $ ghost add mydevsite.local
  [Adding] mydevsite.local -> 127.0.0.1

$ ghost add staging-server.local 67.207.136.164
  [Adding] staging-server.local -> 67.207.136.164

$ ghost list
Listing 2 host(s):
  mydevsite.local      -> 127.0.0.1
  staging-server.local -> 67.207.136.164

$ ghost delete mydevsite.local
  [Deleting] mydevsite.local

$ ghost list
Listing 1 host(s):
  staging-server.local -> 67.207.136.164

$ ghost modify staging-server.local 64.233.167.99
  [Modifying] staging-server.local -> 64.233.167.99

$ ghost list
Listing 1 host(s):
  staging-server.local -> 64.233.167.99

$ ghost export > some_file

$ ghost empty
  [Emptying] Done.

$ ghost list
Listing 0 host(s):

$ ghost import some_file
  [Adding] staging-server.local -> 64.233.167.99

$ ghost list
Listing 1 host(s):
  staging-server.local -> 64.233.167.99
  

Perfect! This has been a utility I use at least once a week. The other day, I found myself needing to remove a bunch of DNS entries I added for testing purposes. There was no built in way to remove entries in bulk. Sure, I could just do a bash for loop and call it day, but that seemed selfish. So what did I do? I forked it on github, added the delete_matching method (with tests), and sent a pull request to bjeanes. It was quickly accpeted, merged, and pushed to gemcutter. It was almost too easy!

    $ ghost delete_matching test
  [Deleting] test2.local
  [Deleting] test.local
  

Posted 18 Jan 2010

Random Youtube Videos and Pics

Some of these are NSFW, but they are pretty hilarious

Happy in Paraguay



Cautionary Tales Of Swords



Doritos Beer



Mayo Eating Contest



Who’s the man?

Whos the man?

Posted 08 Jan 2010

Migrated to Jekyll

Most of my week was spent creating a custom layout and migrating to Jekyll. It was actually a lot of fun, and I enjoyed every minute of it. The Wordpress migrator that comes with jekyll got me started, but I ended up having to go in and make quite a few adjustments to the posts. I blame this mostly on Wordpress’s WYSIWYG for claiming certain posts were in Markdown, when they were really stored as HTML in the database. It was interesting going through old posts to apply these fixes. After 6 years, you can find yourself forgetting you even wrote a particular blog post.

The baisc layout of a Jekyll site looks like this:

.
|-- _config.yml
|-- _layouts
|   |-- default.html
|   `-- post.html
|-- _posts
|   |-- 2005-06-22-new-dns-control-out.markdown
|   `-- 2009-12-19-replaced-the-woot-tracker.markdown
|-- _site
`-- index.html

If you’re interested in viewing the source code behind this site, have a peek.

Posted 06 Jan 2010

Site5's Ben Welch-bolen and Joel Brown Interviewed by theWHIR

Ben and Joel took over Site5 a little over a year ago. Two months after that, I came aboard as the Chief of Engineering. It’s been an awesome year and we accomplished a lot, but things are just getting started. If you’re interested in hearing a little bit about what’s been going on, you should check out their video interview by theWHIR.

On a site note, we are still looking for a Ruby On Rails developer to help with some of the new projects we have coming up. Here’s the skinny:

Type: Full-time Job

Location: This is a work from home position. The development team is located in the Philadelphia area, so being local is a big plus!

URL: http://www.site5.com

Site5 is seeking a Mid-Level Ruby on Rails developer. The chosen candidate will be working with a small group of developers to add new and exciting functionality to our control panel and billing system 1. Our ideal candidate is pragmatic, quick thinking, and a great problem solver. Below is a list of requirements needed for this position as well as some additional skills that would be desirable.

Skill Requirements

  • Ruby and object-oriented programming (2-3 years)
  • Rails (2-3 years)
  • Rails database migrations
  • Testing (Test::Unit, Rspec, Shoulda, etc…)
  • MySQL (including database design and performance tuning)
  • Apache
  • Prototype or jQuery - API integration experience
  • Modern HTML & CSS skills
  • Comfortable working with GIT & SVN
  • Able to view solutions from a customer perspective

Additional Skills desired - Cpanel API experience - SOAP

  • Passenger
  • Capistrano
  • Active::Merchant experience
  • Redmine Feature/Bug tracker

To apply Please send an email to philly@site5.com with your resume and salary requirements. It would be helpful to also include a list of past projects you’ve worked on, or a link to your github profile (if you have one.)

Posted 20 Dec 2009

Replaced the woot tracker

I’ve replaced the WootOff Script with a Rails application. It works just fine with the daily sales, but I have to wait for the next WootOff before I can say it’s good to go. The source code is up on github. Let me know if you hit any issues with it.

Posted 19 Dec 2009

RESOURCES

About Me

Ruby and PHP developer. Chief of Engineering at Site5. Father and Husband. Food lover.

Interesting Sites

Older Entries

Archive…

Syndicate

RSS Feed

Search

Copyright © 2009, r00tshell.com. All rights reserved.
This site is powered by Jekyll.