Fork me on GitHub

Drew's World

Rants, News, Etc on my Life and Projects

SublimeText2 Guard Plugin Updates

by Andrew De Ponte (@cyphactor)

Hey all,

My Sublime Text 2 Guard plugin has been out for a couple weeks now and it has definitely gotten some more usage under its belt. Thanks to everyone for your usage and feedback. As a result of the feedback and user generated issues I have released a new version to tighten it up a bit both from a user experience stand point as well as a stability standpoint. This release includes the following:

  • Now installable via Package Control
  • Fixed Guard won’t start when installled via Package Control (issue #11)
  • Added auto show output feature (issue #12)
  • Replaced #!/bin/sh with #!/bin/bash in internal scripts

For info on how to get the latest version or how to report bugs, feature requsts, etc. Please check out the GitHub page for the sublime_guard project.

SublimeText2 Guard Plugin Updates

by Andrew De Ponte (@cyphactor)

Hey all,

I was having some difficulties with a couple bugs in the Sublime Text 2 Guard plugin I have been working on. So, I decided I would drop Jon Skinner, developer of Sublime Text 2, an e-mail and see if he knew about the issues I was having and hopefully of solutions/work arounds for them. Jon, was very helpful in terms of better understanding the issues as well as suggesting some work arounds.

Anyways, given the input from Jon I took another look at the bugs/features of the Guard plugin and decided to tackle them tonight. The following items show the progress that I made tonight with respect to the Sublime Text 2 Guard plugin:

  • Enabled native Sublime Text 2 word wrap in the Guard output view.
  • Guard now exits properly when Sublime Text 2 exits/dies.
  • Added default key bindings to show Guard output view (super+shift+c)
  • Submitted a pull request to get the Guard plugin added to the Package Control repository list.

As usual I am looking for feedback issues (feature requests, bug fixes, etc.) You can find the project as sublime_guard on GitHub. As of tonight I am down to two feature requests. So, please create bugs in the issues if you run into any so that I can work on fixing them sooner rather than later.

SublimeText2 Guard Plugin Updates

by Andrew De Ponte (@cyphactor)

Just dropping a quick note to all that follow my blog. Last night I made a numeber updates to the Guard Plugin for Sublime Text 2. Most of these were in direct response to feedback that I got from users after making the initial release on my blog, I think, two days ago. The modifications I made are enumarted below:

  • The biggest addition is RVM detection and integration. The plugin is now intelligent enough to detect if you have RVM installed and detect if you are using a Project specific .rvmrc and of course respond by calling Guard appropriately depending on the case.
  • Another relatively small fix is a vertical only auto-scroll. Before, if Guard output went to the right past the width of the pane it was auto-scrolling to the right and then bouncing back to the left at the next line. Now, it always scrolls down the left most column of the output basically making it auto-scroll vertically.
  • Third I added some output preprocessing that strips out the Terminal Color Codes so that the output is a bit cleaner.
  • I also added a lot of descriptive output and error handling and output to let the user better know what is failing so they might be able to debug the situation a bit better.

As always if you have any feedback (feature requests, bug reports, etc.) you can simply create an issue for the project at the projects GitHub Issues Page.

If you are new to the Guard Plugin for Sublime Text 2 you can find installation instructions and document on the GitHub Page.

For instructions on upgrading please checkout the GitHub Page.

SublimeText2 Guard Plugin Debut

by Andrew De Ponte (@cyphactor)

Hi all. I know it has been a while. Please forgive me. My life has been a little crazy. I am still in the process of buliding my house. I also recently became engaged so I am trying to deal with wedding planning. Beyond that I am still trying to get all my development work done for RealPractice, my side company, and all of my open source projects.

Anyways, I needed a break from serious projects and decided it was time for a small fun project that would potentially help me develop the more serious projects more efficiently. A while back I started using a new text editor called Sublime Text 2. Basically it is what TextMate 2 promised (and failed) to be and more.

So, since I have been using this for a while and I have been developing Ruby and Rails apps lately using BDD and TDD I decided it was time to remove the annoyance of having to switch to the terminal after each little development iteration to check Guard’s output to see why my tests are failing. Wow that was a run on sentence. Oh, well it is 2 am and I just finished the plugin so bare with me. Anyways. Therefore, I decided it was the perfect opportunity to build a Sublime Text 2 plugin that integrates Guard into it.

It is available with its documentation on GitHub at http://github.com/cyphactor/sublime_guard. Please don’t hesitate to go grab it, use it, extend it, contribute back, report bugs, or throw me new feature requests.

Finding a Job my Way

by Andrew De Ponte (@cyphactor)

Hey all, I figured I would write this blog because as of late a number of people have asked me how I have gone about finding jobs. So, I figured I would write a blog post on this topic and explain my perspective, the various entities involved, and the process that I generally use for finding a job.

First let me begin by saying I truly believe that the first thing you have to do is mentally prepare yourself for the experience. You might be thinking “What the hell does that mean?” Well, simply it means that you need to set your expectations of results in a realistic fashion. This means taking into consideration the economy, your work experience in the industry you are attempting to enter and coming to the realization that the number of resumes you have to put out for you to get a valid hit back is a very very large number. I will explain why further down in this post. The point is don’t be disappointed if you feel like you aren’t getting enough response and just keep plugging away.

Once you have mentally prepared yourself the second thing you have to do is understand the system. Long ago I came to the realization that just about everything in life can be thought of as a system. There are various components that build up that system and they all work in very specific manners to produce the system. In this case the system is composed of the following components:

  • Potential Employee’s - Anyone that is looking for employment. Keep in mind these are not just unemployed people but also employed people that are looking to potentially move up in their career or simply make a lateral move to get out of a position they aren’t happy in.

  • Potential Employers - Companies that are in the market for talent (Potential Employee’s). In the IT and Software environments (my area of expertise) there are a number of different types of employment that various employers are looking for. You need to keep your eye out for them so that you can find the type of job that you like. Below I provide a brief list of the most common and give my thoughts on each.

    • Contract Positions - These are positions that are usually set to a fixed duration often 3 - 6 months. Sometimes they go for a couple years. The negative thing about contract positions from an employee perspective is that you aren’t really an employee. You are treated as an independent contract in most cases. Hence, you have to pay taxes as an independent contractor, meaning you pay all the taxes and the company doesn’t pay any taxes for you. In California this means you have to pay estimated taxes every few months if I remember correctly (consult a tax professional for details). Since you are paying taxes as an independent contractor you also need to manage your money in a much tighter fashion as the company is not paying any taxes to the government for you out of each paycheck. Instead you get all the money and you are the one responsible for setting aside money to pay your own taxes every required estimated tax iteration (consult a tax professional). Anyways, this is an awesome deal for the company in that they don’t pay any taxes on you and you may think it is a good deal because you are making more than you normally would but you are generally wrong because the taxes are different when you are an independent contractor (please consult a tax professional for further details). Also think about the fact that there are no health benefits, dental, etc so you will have to pay for that all out of pocket.
    • Contract To Hire Positions - These positions are similar to the straight up contract positions except they are at least positioned such that the company is saying they want to contract you for a short period of time and then if they like you then they will hire you. I have had friends who join as a contractor in a contract to hire position and the company simply keep renewing the contract. This is to the companies benefit because they don’t pay taxes on you as employee. However, that is not how the company represented themselves to you when they were looking for you as an employee in the first place. Hence, they should pull you in as a full-time employee. So, be careful. I know it is hard to judge companies but do your best and if you end up in a situation like this, don’t let them walk all over you.
    • Full Time Positions - These are positions where the company is looking to actually make you a full-time employee right off the bat. These positions often come with health benefits, dental coverage, etc (not guaranteed in todays economy but something to shoot for). In these positions you are treated as an employee of the company and therefore the company pays taxes on you as an employee. Beyond that you have a W-4 which is used to identify how much should come out of your paycheck and be paid to the government out of each paycheck towards your taxes (consult a tax professional on identifying what this should be).
  • Head Hunters - Head Hunters are basically people that Potential Employees can hire to help find them Potential Employers. These are somewhat rare now days as it seems to have gone toward the Recruiter side of things which you can read about in the next bullet. The key thing to know is that the Potential Employee is the one who pays the Head Hunters. Hence, this is generally not a route you want to go as a Potential Employee.

  • Recruiters - Recruiters are companies that are hired by the Potential Employers to find good talent. Generally, these recruiters don’t know shit about the technologies other than the buzz words. That fact should tell you something. What you may ask does it tell you. Well, it tells you that it is all a numbers game. This is something you should very much remember. IT IS A NUMBERS GAME. If you are confused by what I mean you can read about it below. The key things to note here is that the Potential Employers are the ones who pay the Recruiters, and that this is all a numbers game (at first at least).

Now, that you have an idea of what all the components in the system are and what their rolls are it is time to discuss my process. The process consists of the following steps:

  1. Searching - The first step in the process is what I refer to as the searching step. This is something that I did initially and then used a very powerful tool called RSS/Atom Feeds to my advantage in combination with a feed reader. On Mac OS X (my platform of choice) I used a free application called News Fire. News Fire is simply an RSS/Atom Feed reader application. If you are on Windows don’t fret, just do some googling and you are sure to find a free RSS/Atom Feed reader. In fact google even provides a free RSS/Atom Feed reader service called google reader. The general idea here is that you can go to all the different job search sites Dice.com, CraigsList, Yahoo! HotJobs, Monster Jobs, Lycos Classifieds, Jobspring, jobs.joelonsoftware.com, Jobs.net, etc. At each of these sites you can specify your search criteria (location in which you are looking and keywords for position title). Once, you have provided the search criteria you can find the RSS/Atom feed link on the page to get your customized RSS/Atom Feed. Once, you have the link you can add it as an entry into your RSS/Atom Feed reader. After obtaining a large number of links of customized searches on the various job search sites and have populated your RSS/Atom Feed reader you are ready to move onto the next step in the process.

  2. Distribution - The Distribution step is where my very important phrase IT’S ALL A NUMBERS GAME comes into play. The entire goal of this step is simply to distribute your resume and cover letter to as many job postings as possible while still keeping your sanity. My recommendation is to spend somewhere in between 1 - 3 hours a day going through the job postings that appear in your RSS/Atom Feed Reader and submit your resume to the ones that fit you. Once you reach the end of the 3rd hour you should simply mark all entries as read and move onto doing something you find productive. It is very important that you limit this effort to a maximum of 3 hours a day and mark them all read at the end so you have a fresh start tomorrow. The reason say IT’S ALL A NUMBERS GAME is because you need to saturate these job posting sites as much as possible with your resume for posting that fit you. The reason being that more than 50% of the job postings listed aren’t valid job postings. Instead they are generic postings made by Recruiters. This doesn’t change anything though, and in fact it helps you because Recruiters spend their day trying to match resumes up with actual job posting lists that they maintain. You continue this process day in and day out for as long as necessary until you find the job that you like and you finish with the hiring process. The primary objective of doing this is to get your resume and cover letter out to all these job postings, some of which are real, some of which are recruiters. Either way the goal is to get a phone interview or an in person Recruiter Interview which I will discuss next.

  3. Recruiter Interviews - Recruiter Interviews are simply when a recruiting firm thinks you have potential to fill a position that they manage either now or in the future. This doesn’t make you special so don’t think it does. The key to remember when dealing with recruiters either on the phone or during recruiter interviews is that they are looking for very outgoing and ambitious people that are excited to be in the industry that they are trying to get into and willing to learn. The reason being that people of this nature are much easier for them to sell to the companies that are looking to hire good talent. I can’t recommend strongly enough that you take every interview you can because the more you do, the more comfortable you get during them. I suggest this even if they are simply recruiter interviews because the more recruiters you have looking for jobs for you the better off you are.

  4. Employer Phone Interviews - Generally after you go through, either enough recruiter interviews or get lucky enough that one of your submitted resumes hits an actual company you get a phone interview. Depending on the company and how much they like you and your knowledge base, you may go through 1 to 5 phone interviews. The goal of the Potential Employer’s during these interviews is to get a better idea if you are one of a small number of Potential Employees that they will then have come in for one or more In Person Interviews. The key to remember with respect to Employer Phone Interviews is to relax, stay confident, and don’t pretend to know shit you don’t, oh and stay positive and ambitious. Companies, want people working for them that can grow. So, if they ask you a question that you don’t know the answer to ask them intelligent questions about it showing them that you are interested in learning and that you can critically think.

  5. Employer In Person Interview - Eventually after doing enough phone interviews with employers you will hit a point where one employer will want you to come in for an In Person Interview. The employer’s job during these is to test you and see if you are really a good fit for the position. In the software and IT industry this usually consists of them talking to you for some number of hours about various technologies and quizing you either verbally with a white board or via written test. Often times if they have a number of candidates for the position they may ask you to come in a for a few different In Person Interviews to try and spend more time with you to assess your personality and how you would fit with the existing team, etc. The key to remember when doing this is to be interested, ambitious, willing to learn, and honest.

  6. You Win! (a.k.a. Got a Job) - Eventually after going through the above steps a large number of you times you will get an offer for a position at one of the companies. Please read all the paper work and contracts you have to sign for any position you decide to go forward with. I will not go into negotiations and reading company positions at this point as it is an entire other article.

Anyways, the beauty of this process is that the RSS/Atom Feed Reader does the hard work for you and you only have to setup it up once and reconfigure it when you are decide you are looking for a new job title or in a new area. Also, keep in mind that it is time consuming process and you do have to focus and commit to following this process in order to accomplish your end goal of getting a job.