Roughing it 101.

| No Comments | No TrackBacks
Been a while since I posted.  I was hired in late April for a position with Cybersource in their newly created Managed Hosting division.  The work is standard Sysadmin stuff,with a lot of PCI and security compliance issues.  Right up my alley, basically.  Only two months without a job is pretty fortunate compared to a lot of other people in the current economic climate.  We have a major go live in a few days, and I'm having to learn JBoss and Java on the fly.  It is keeping me pretty busy.

Sean installed a ceiling fan today, which involved a lot of struggling in the attic to replace the junction box with one rated to carry the weight of the fan.  It got me thinking about all of the things "I would have done differently," so I wrote them down in a "Rough in for Geeks" article.  The fan itself is a Windward III from Hampton Bay.  We have Windward II in a few other rooms of the house and have been very pleased with them so far.  They feature a simple white design, and a really nice integrated compact fluorescent lamp.  The III appears to add another lamp on the top side of the fan, which should be very nice.  The cost is higher than average at $150 from Home Depot, but the quality of the unit makes it well worth the price.

CANbus timings on Microchip 18F processors

| No Comments | No TrackBacks
We've been using Microchip's 18F2580 and 18F4580 processors for most of our CAN projects.  They are readily available and have the CAN protocol module already on board.  Connect the processor to an Automotive CAN transceiver like the NXP PCA82C251 and you have a quick solution.    I was forced into using CAN when we built a replacement PCM for REVOLT's Mazda 3 project and have become a convert.  CAN is pretty easy to use, and seems to work quite well even in very noisy environments. 

The biggest challenge of using CAN is getting all of the timings right for the bus speed you are using.  There are a couple registers that have to be set just right.  In Microchip this is the BRP (Baud Rate Prescaler), SYNC, PHSEG1 and PHSEG2, and PROPSEG.  The latter values are summed to find out how many (scaled) clock cycles makes one bit.  For some reason Microchip likes giving all of its equations backwards.  The equations explain how to calculate the bus speed based on the register values.  Most designers want the other way, they know the bus speed they want, and need to solve for the register values.  Its a pain.

The good news is other people have suffered the same pain, and some of them wrote tools to help with the calculations.  The best I've found for CAN so far is from Intrepid Control Systems.  Their Microchip Controller Area Network (CAN) Bit Timing Calculator makes it easy. Give it the clock speed and CANbus speed and it will show you all of the possible BRP values.  Then it will show you what values to fill in for the remaining registers for each possible BRP value. 

Another Disaster Recovery Plan Tip

| No Comments | No TrackBacks
Here's one that should be in everyone's Disaster Recovery Plan/Operations Manual:  What to do and whom to call when the government shows up with a search and seizure warrant.

Because of the confiscation of computers at Core IP Networks, a number of legitimate businesses have been affected.

From the downtown office building in the 2300 block of Bryan Street, FBI agents seized what one source described as millions of dollars in computer equipment.

Matthew Simpson, the owner of Core IP Networks, said in a letter posted online that FBI agents raided two floors and 'pulled the plug' on his clients' web servers starting at 6 o'clock Thursday morning. Agents also raided Simpson's house in Ovilla.
Link

If you are a co-location or managed services customer and uptime is important to you, don't put all your eggs in one datacenter, and have a good plan on how to fail over.  No matter how redundant or what Tier your datacenter provider offers, outages at the datacenter level still happen.

My advice (INAL, and I know nothing about the legal issues)... If you are providing a shared resource to customers, either datacenter space, bandwidth services or shared hosting have a plan for dealing with search warrents.  It seems most will be polite requests during business hours but some may not.  You don't want your on-site tech trying to decide if he should allow the police in the door.  Make sure Operations has on call access to Legal, or knows someone high enough who can reach legal services in time.   

On another note...I do hope Simpson is not the focus of the investigation solely because his name is on the IP allocation.

Cookies a' rising

| No Comments | No TrackBacks
Looking back at my posts so far, it doesn't seem like I've settled on any particular topic for my blog.  So I'll stick to telling what I learned yesterday.

Try using Baking Powder instead of Baking Soda in the standard Toll House cookie recipe.  The cookies end up puffier and don't seem to spread out as much.  Don't try substituting white sugar for some or all of the brown sugar.  The brown sugar helps the flavor a lot. 

My wife took some pictures and video of my son trying to help.

[HR is] Just dreaming of that special someone?

| No Comments | No TrackBacks
A few years back I remember reading a number of articles about how poorly written many job ads were.  They went on about how HR people tended to focus on existing skillsets without considering that most programming jobs involved constantly learning new tools and techniques.  The most common example was job ads looking for 10+ years of Java programming experience.

It doesn't look like the situation has changed much, I found this posting on Dice.com today.
Ruby on Rails Developer
5+ years Ruby on Rails programming experience
3-30-2009
* At least 5 years Ruby on Rail programming experience
* Good understanding of HTML, CSS, JavaScript, XML, XSD, XSLT and AJAX preferred
* Hands experience with Linux & MySQL a plus
* Python / Java Swing a plus
According to Wikipedia, the creator of Ruby on Rails, "[David] Heinemeier Hansson first released Rails as open source in July 2004".  If I'm doing my math right, David should be eligible to apply for this position this summer.  I first used Ruby on Rails in October of 2004 and will just have to wait.

Mark

CBS Cares Colonoscopy Sweepstakes

| No Comments | No TrackBacks
I highly recommend watching "The Big Bang Theory" on CBS.  The show's portrayal of geeks and nerds is a bit excessively stereotypical but amusing.  The first season is a little weak toward the end because of the writer strike but its worth starting from the beginning.  First season is available on DVD or from Netflix.  Thinkgeek seems to have provided about half of the props for the show.

Anyhow... that is not actually what this post is about.  While watching an episode I saw this advertised during a Public Service Announcement.   CBS is having a "CBS Cares Colonoscopy Sweepstakes."

This is an actual sweepstakes and, if you are the grand prize winner, we will fly you and a companion to New York where you will receive a free colonoscopy. You will also be given three nights' accommodation in a suite at the luxurious Loews Regency Hotel, which will include the night before you are "awarded" the colonoscopy.

I wish it was a hoax.

Packaging electronics projects

| No Comments | No TrackBacks
I am a partner in an Electric Vehicle Conversion and Parts company, REVOLT Custom Electric Vehicles.  So far that has involved designing custom electronics to interface standard components to the vehicle systems. 

Our first project was to reverse engineer all of the CAN communications in a Mazda 3.  Certain communications from the engine computer (PCM) are required to make the dashboard and power steering system operate correctly.  On the Mazda (and most Ford products I've seen) the PCM is part of the engine wiring harness which connects to the car in only one place.  This probably makes it very easy to offer different engines in the same vehicle.   In our case it made it easy to connect our electric drive system to that one connect.  I designed a small PCM around the Microchip PIC 18F2580 processor with integral CAN controller.  The PCM listened for certain messages on the bus (like speed, Air conditioning on, and anti-theft), and gathered data from the electric drive system.  It then sent messages that updated the odometer, speedometer, tachometer, radiator fan and many other systems.  The net effect for the driver is that the vehicle behaves exactly as it did from the factory.  For us very little modification of the dash area was required, it is largely a "plug in and go" conversion.

Laying out circuit boards, and designing software is fairly straightforward.. I've been doing hobbyist electronics work since I was about 12.  I like to think I'm not half bad despite my lack of a Electrical Engineering degree (I graduated with a Computer Science degree instead).  Oddly the biggest problem I face is connectors.

In the hobbyist EV world elevator screw terminals, or faston connectors are the norm.  They are both inexpensive, but neither is really vibration resistant enough to trust in an automotive environment.   Both also involve having holes in the enclosure where water could potentially enter.  I've been looking instead for a connector that is PC Board mount, but can penetrate the enclosure shell in a water resistant fashion.  Ideally the mating (wire side) connector should be easy to assemble, since I expect my customers will have to do that part.

As it turns out, there are only a few options.. most water resistant connectors are wire to wire, not wire to board.  The best I've seen so far are the Molex MX-150 line.  Its rapidly turning out to be a "designing the circuit is easy, designing a complete package with connectors and enclosure is hard".  No wonder most EV parts suppliers don't sell electronics in enclosures.

Release from reality

| No Comments | No TrackBacks
One position I interviewed for yesterday wanted a resume, a completed application with personal (not business references) and the following release form filled out for each of my previous employers.

Applicant's Authorization
I consent to and authorize the above named former employer, and its agents and employees, to furnish any reference information concerning me, including achievement, wage history, performance, attendance, personal history, disciplinary information and reason for separation of employment, relating to my employment with the former employer. It is expressly understood that any information given is to be used for the purpose of determining my acceptability for employment. I also hereby release the above named former employer, and its agents and employees, from all liability for damages or claims, including but not limited to defamation, interference with contract, or prospective economic advantage and negligence, I have or may have which arise or result from any reference information provided pursuant to this authorization or any attempts to comply with this information.

The rest of the form was a questionnaire asking detailed questions about my job performance.   Now I am not a lawyer, but I read the above as releasing my previous employer from legal responsibility for any statements EVEN ones that are false or libelous.  The HR person said that this was a standard clause.  Seems a bit questionable, I've never seen it before. 

Anyhow, I felt it was a poor way of starting a relationship with an employee, especially prior to the interview.  As it turns out they already sent me a rejection letter. 

Mark

Resume

| No Comments | No TrackBacks
Last week I had the misfortune of being laid off, joining the millions of other American's without work.  I've spent the last week searching with mixed results.  It appears companies are hiring, but they are being quiet about it.  Postings to job sites like Dice.com, Craigslist and others seems to be way down, but plenty of positions are being listed on individual company websites.  I've applied for about a dozen positions so far, receiving two callbacks and an interview already.  That's not great, but not as bad as I thought it might be. 

Requirements are definitely on the way up.  I haven't seen any of the famous 10 years of Java experience ads, but I am seeing a lot of companies that want to hire System Administrators who are experts in both Windows and Linux support.  To me that is stretching a bit.  Becoming an expert on either platform takes years of experience.  I think a skilled Administrator should be capable on both, but asking for expert level knowledge seems to be inviting resume padding.

Anyhow, if you or anyone you know needs a highly skilled Linux System Administrator take a look at my resume.