Category Archives: Programming

Are you ready to be a System Admin at Oxygen Cloud?

As you know I joined Oxygen Cloud a few months back as Senior System Admin and now as we grow we need more in the Operations team as we get ready to launch our new secret project.

If you have a passion to work at a fast moving company, understand the unique demand of supporting a fully automated scalable backend then you are the person for this job!

Go ahead and submit your resume to me zuhaib.siddique oxygencloud.com . You can read the full description of the job here: http://www.oxygencloud.com/careers

A Systems Administrator position here at Oxygen encompasses much, much more than just maintaining some Linux servers. You will be given the the opportunity to work with the latest technologies and tools in order to overcome the real-world challenges that accompany the ambitious goal of bringing Oxygen to the masses. We are looking for very smart, very dedicated individuals that like nothing more than to get their hands dirty addressing scaling, performance, and availability challenges across a vast cloud infrastructure. Passion, skill, and a whole lot of Geek Cred are the attributes we are looking for here. Does 90% of your home electric bill come from powering dozens of gadgets and several Linux boxes? Does your idea of a “fun night” involve opening your wireless access up to your bandwidth stealing neighbors, so that you can invert all of their web content? Do you find that your most common thought on a daily basis is “I’ll just write a script for that”? If so, then we want to talk to you. Role/Responsibilities: Manage the day-to-day operations of Oxygen’s infrastructure to ensure smooth 24×7 operation Work closely with Engineering to ensure proper and timely deployment of software to staging and production environments. Use cutting edge methods and technology to identify and solve problems related to performance, scalability, reliability, and availability Develop, implement, and continually improve upon best practice processes and procedures Skills/Experience: 2-4 years of hard core system administration or technical operations experience Very strong knowledge of Linux system administration practices and troubleshooting. Strong passion for Cloud storage and Cloud computing technologies Experience with Apache, Tomcat, MySQL, and cloud services infrastructures Ability to troubleshoot errors and proactively identify issues Demonstrated ability to generate and maintain technical documentation Bonus Skills: Understanding of MySQL performance characteristics and scaling options Knowledge of systems architecture design and implementation Knowledge of configuration management and automation (Chef, Puppet, etc.) Experience with the following tech: Nginx, Ruby, Python, LDAP/AD, DNS/BIND, SSO, SMTP, NFS, Beanstalk, Memcached, SSL Requirements for applying: Tell us what interests you about this position Tell us about a project that you have significantly contributed to and are very proud of E-mail the above and your resume in PDF format to jobs@oxygencloud.com

Using diff (or rsync) to compare folders over SSH on two different servers

So I wanted to find a quick code that will allow me to a diff over two folders as I want to be sure all files get transfered as we are using Plesk migrator to move domains from one server to another. Found a Serverfault post titled How do diff over ssh? but most of the suggestions are for files and not folders and none that work recursively. Well using this answer from Server Fault and some man pages I have the following

diff <(ssh server1 'sudo ls -1aR /var/www/vhosts/domain.com') <(ssh server2 'sudo ls -1aR /var/www/vhosts/domain.com')

Update: So a lot of people in the ServerFault page I linked to mentioned rync with the –dry-run flag. I did not look in to this much but just as I posted this blog the first @reply i got on twitter was from @EvanHoffman asking if I had looked at using rsync. Ok so I thought I should revisited the problem and using rsync and I got the follow:

rsync --dry-run -rvce "ssh -p port#" user@server1:/var/www/vhosts/ /var/www/vhosts/domain.com/
(I have not tested the rsync solution with a live box but from testing on my local system I assume this would work) One of the limitation of this you need to be on one of the two servers vs the solutions using diff is something you do on your computer that can SSH to both systems.

ZEKR iPHONE PROJECT!

So finally I am getting off my lazy butt and trying my hand at a new project, that at porting Zekr to the iPhone/iPod touch and first step is making a SourceForge project, Zekr4iPhone.  Ok the name is a bit raw, and we could use something nicer but its just a working title.
Its going to need a lot of work, we need to first find a nice way to implement Unicode Arabic in Objective-C/Cocoa because a lot of time it produces characters that are not connected.  If you know Arabic that can be a problem. 

A short list of things needed right now are

  • People with Java/Objective-C Coding experience (plus if they have done a Java to Objective-C Port)
  • Unicode experts on the OS X/iPhone
  • iPhone/iPod touch UI gurus, I suck at UI

This will be a learning experience for me in doing an iPhone App and I hope for others they can learn something else as well as we help port over what I think is a great Application.