Communiqué
Service with a :-)
Last week I ordered a hard drive from them, and it arrived a couple days later, packed in the usual brown cardboard box with the drive suspended in the center in a plastic cradle. No surprise, this is business as usual.
On Monday I needed to order a drive for my wife's MacBook (curse you, iTunes Store!), so I went to OWC again, and ordered a laptop drive, a USB2 enclosure for the old drive, and another full size hard drive for other purposes.
Yesterday, FedEx delivered a flat box with something going thump, thump from end to end inside. I opened it up and found a hard drive "wrapped" in a bubble-wrap envelope, folded over and sealed onto itself, rattling around loose in the box.
This is not how one ships delicate electronics with moving parts.
I took a photo, and sent a ranty email to a couple friends. Then I settled down, contacted OWC via their Customer Service web form to describe the situation and request replacement of the drives, and girded myself for the inevitable battle.
Not an hour later, my phone rang, and OWC apologized for the inappropriate packing ("They should be packed in clamshells"), and offered to replace the drives and cross-ship me replacements at their expense. A few minutes later I received an email with a return merchandise authorization number and a pre-paid UPS shipping label attached as a PDF file.
Early the next morning — that would be today — FedEx delivered a large, stunningly well-packed box with air bags and sheets of large bubble wrap, drives in their individual protective boxes, and a personal note from the shipping supervisor.
Every organization screws up from time to time. When I complained to OWC, they responded quickly and personally; they expedited replacement hardware, including shipping them with a faster shipping method than I had originally paid for; they made it very easy for me to return the other hardware; they didn't make me work for anything.
And as a result, here I am telling everyone I know that OWC did good by me. They made a mistake, they more than made up for it. I'll gladly buy from them again, and recommend them to others.
Because they take care of their customers.
[Thumbs Up!]
postscript viridis: the copious packing materials are being reused to ship a laptop.
Pythagorean Stats for iMarc Wiffle Ball
For example, according to my own MLB Pythagorean stats, the New York Yankees should have won about 50 games so far. However, in reality the Yankees are currently 43 and 43. The Yankees have a .579% Pythagorean winning percentage, but only a .500% winning percentage.
This is bad news for Red Sox fans. The numbers tells us that the Yankees have played well, soring a lot more runs than they've given up and they probably won't end the season at .500. Expect a much better second half from them. Of course, the Red Sox have the best Pythagorean winning percentage as well as the best real winning percentage, so go ahead and make plans for this year's rolling rally.
Unfortunately, the rookies at iMarc don't seem to have such an optimistic future :)
On Friday afternoons, iMarcians play Wiffle ball – Rookies (newer employees) vs. Veterans. In three games this year, the Vets have outscored the rookies considerably.
View Pythagorean Stats for iMarc Wiffle Ball
Does anyone have any pitching, hitting, or base running advice for the rookies?
What Program(s) do You Use for Web Development?
As a developer, I have always found that good development tools can make a huge amount of difference in productivity and general enjoyment while programming. Ideally these tools help you automate the redundant tasks and leave the important decisions to you. Since I spend on average 7+ hours a day writing HTML/CSS & PHP and working with servers, I’m always on the lookout for tools that help me get the job done.
Out of all of the people here at iMarc who touch HTML/CSS or PHP, I think the current tally of program use is:
- Dreamweaver: 6
- TextMate: 3 4
- BBEdit: 2 1
- PHPEd: 1 (That’s me!)
The six people in our production teams who use Macs all use the OSX terminal for server interaction, while the six Windows users tend to fire up Putty.
For the first year here I used Dreamweaver. It is certainly a decent development environment. It has site management (a key feature in my mind), plus a decent text editor, and really poor design mode. It really does leave a bit to be desired in terms of speed and the features of the text editor.
I think spend a six or so month period of trying all sorts of different PHP editors and IDEs. If I were to search Google, I could probably find 20 or more that I tried. Most of them missed the site management features I found essential in Dreamweaver, and others had terrible interfaces. Then I struck gold with PHPEd. No, I’m not getting paid by Nusphere to review their product, it really is just that good.
It is laid out like Visual Studio 2005 (if you have ever used it) and has lots of great features, including:
- Site/project management (similar to Dreamweaver)
- Powerful text editor
- Code insight for built-in PHP functions, etc
- Code insight for YOUR code, via PhpDoc comments
- An integrated terminal/ssh client (it is almost good enough to replace Putty)
- An integrated database browser/client for MySQL, Postgres, MSSQL, Oracle, SQLite and Firebird
- SFTP, FTP and WebDav support
- Windows shell integration (allows you to use programs like TortoiseSVN in the IDE)
- A built in web server running PHP4/5 for local testing
- A crazy PHP debugger and profiler
- Integrated IE and Mozilla browsers
I’ve yet to find a PHP IDE that fits my needs nearly as well as PHPEd. That said, what do you use for development? Let me know what you use, even if you program in a different language.
Wasting Friday Night at the Genius Bar
Recently, a couple keys on my MacBook stopped working. Last Friday I headed to the Apple Store, presuming I could drop it off, have them fix it and mail it back to me.
Here's what I expected would happen.
- I walk into the store, go to the front desk and say: "I purchased this laptop here. Now the keyboard is broken."
- The clerk would scan my original receipt to confirm the warranty and power on the laptop to confirm its brokenness.
- The clerk would then take my address and send my laptop off to be fixed.
Time Spent: 15 minutes.
I expected this entire process would take about 15 minutes. Why? Because that's how every other business works. Within the past two years I've had repairs done on a guitar, my car, and a television set. In each case, I dropped off the broken item and was on my way in minutes.
Apparently this concept does not apply to Apple.
They have "Geniuses" and a "Genius Bar".
Here's what actually happened
- I walk into the store, go to the front desk and say: "I purchased this laptop here. Now the keyboard is broken."
- Clerk: "Do you have an appointment?"
- Me: "No, I just want to drop it off to get fixed."
- Clerk: "You can't just drop it off. There's an appointment in a 1/2 hour"
- An hour and a half later, they called my name.
- I then spent another 45 minutes sitting at the Genius Bar as the Genius confirmed that my keyboard was indeed broken.
- The genius took my address and sent my laptop off to be fixed.
Time Spent: 2 hours, 15 minutes
How does sitting there for 45 minutes watching someone try to fix a computer benefit the customer? It doesn't – but most of the customers didn't seem to mind. Instead of putting a counter at the back of the store called "Service Desk", Apple markets their repair and help desk as a "Genius Bar". Most of the people sitting around wasting their Friday night seemed happy to do so because it's such a happy, friendly place.
Obligatory iPhone Review
Since all websites are now mandated to blog about this new contraption, here's a link to Rob's review:
http://www.macintouch.com/iphone/review.html
Enjoy
Lunchroom Banter (Volume XIV)
The Banter Through Code Edition...
Jeff just sent a link to a recent WorthThanFailure article with a horrible coding example. In the article, a recent grad submits the following example during an interview:
The author of that lovely block of code thought he was solving a factorial problem, but all his function does is return the number 12. A bunch of the iMarc develops suggested alternatives.
Dave
Patrick
Fred
Craig Ruksznis
New guys... all talk, no examples. :)
Code Critiques
About six months ago we started holding code critiques. They've been really positive and educational. Here's what we do...
1. On Monday – sometime before lunch – one or two developers post a single page of their code on our Wiki. Maybe it's a snippet from a class, maybe it's part of a page, maybe it's a complete small class. We try to keep the code posting somewhere under 300 lines.
2. All the other developers download and review the code.
3. On Tuesday afternoon, during our weekly developer meeting, we look at, talk about, and critique the code snippets.
The intent is not for the developer to write of the perfect 300 lines of code or spend 4 hours finding the cleverest ternary condition they've ever written. Instead, they just pick anything that they want to get feedback on.
For those critiquing the code, they offer constructive criticism. If you're the person doing the critique, you also often find yourself thinking, "wow, that's a really neat way of doing that...."
Whether your getting critiqued or doing the critiquing, you tend to learn something with every review.
The idea sprang from design and photo critiques that I had to do in college. These typically included getting an assignment one week, then doing the assignment, hanging it on the wall, and letting the class rip into it the following week.
Our code critiques have been really helpful and constructive. If you work with two or more developers, I highly recommend trying code critiques.
Lunchroom Banter: Volume XI, err, I mean (Volume XIII)
Pronunciation of 'Ruksznis'
Photoshop: Half-Ass Your Way to Another Time of Day!
HEY! So - I'm by no means an expert in day to night photoshopping - but I thought this might be a nice chance to share an attempt at it with others.
Finding The Photo
So I was looking through some of my really old photos and I found some of my dogg, Raggs (shown right). He's a tiny little thing, and is about to celebrate his 18th. He's old, wise, and single. Athletic build, ladies.
OK so I grabbed one of my photos of him because I was looking for an outside photo for this experiment. I think the photo below does him alot of justice - since it's him in his natural, threatening form. I'm pretty sure this shot was taken minutes before he ambushed 12 cats (neighborhood record).
Anyways, lets start!
To begin, i removed any items I thought my distract from the scene. Those items are a basketball hoop, a bright red car, and a vicious man-beast.
Next, I desaturated the whole scene, and boosted the contrast while lowering the brightness.
Next, I airbrushed over the ground-areas that i wanted shadowed. I did it in a dark green and set the layer mode to "Hard Light".
So we have the ground area setup, now lets do some slight tweaking to items above the horizon line. I selected the top half and put it on its own layer. After that, I adjusted the shadow levels (shown below). Once done, I fade this layer into the background layer.
This part gets tricky, but I basically made a new layer, set it to multiply, and brushed in all the bright skylight coming through the trees. After that, I set this layer to 90% opacity so some light was available for adjusting later.
OK, highlights! I pulled out all areas that I wanted affected by some sort of light source - whether it be moon, street light, whatever. I duplicated certain areas, boosted the brightness and contrast, then blended them in. In some instances, I dodged the areas.
Moon! (no, keep your pants up) - the next step was attaching a blue sogtlight layer to simulate a moon glow.
Moon again! I started adding it in by setting a bright blue circle to screen mode. Around it, I airbrushed a blue glow and set it to overlay. From here, we will see details emerge (hopefully!).
OK, now take your brush tool and spot around the areas of tree light surrounding the moon. Set this layer to Overlay.
Now I'm going to go through and highlight some edge areas. I chose, the rooftop, fencing, truck, wires, and trees (see below).
Final Touches!
Check the overall light levels. I merged all layers to a new one (CTRL+ALT+SHFT+E). From here I adjusted the contrast, added some new dodge-lighting, and enhanced some other little details.
In the end, I was left with this!
That's it, hope you liked it!
It certainly could use more work, but it was fun to experiment with...
Also,
PS Quickie: Meteor Invasion!
Create A Freakish Zombie in 11 Steps!
A Quick Tsunami Photoshop Tutorial