Joel on software ship it
->>>> Click Here to Download <<<<<<<-
The shipping data itself lives in SQL Server. A typical packing slip is shown at right. Why Microsoft Access? I was skeptical myself. Well, it turns out that Access reports are perfect for generating packing slips.
This is what they were born to do. Since the data is already in SQL Server, it took no more than a couple of hours to layout and design the report exactly the way I wanted it. This has two big advantages. This really makes a difference when you have a lot of shipping to do. Other barcode systems want you to add a checksum at the end of the barcode and that means you have to write a little bit of code to calculate the checksum. But Code 39 embeds the the error correction protocol in each letter, which means that you can get a Code 39 font that works just like a font without writing any software.
I did find out that the kind of scanner I wanted was a USB keyboard wedge scanner. That means that it has a USB port, which makes connection simple, and it behaves exactly like a keyboard as far as your computer is concerned. I also found out that I wanted a laser scanner, not a CCD scanner, because it works at a distance.
I ended up buying a Wasp WLS along with the stand which you can see in the picture. Setting up the barcode reader was the easiest thing in the world. It comes with a whole book of barcodes that you can scan to configure it to behave in many interesting ways, which you can throw away. Without any setup, when you scan a barcode, your scanner will type the letters that barcode represents on the keyboard and press Enter. First, it marks the order as shipped in our online database, so the customer gets an email to let them know their order is on the way.
Technically speaking, it would be more accurate to tell them their order shipped when the post office actually came by and picked up their order, but that enhancement will take more programming and will have to wait.
The second thing that happens when you scan the barcode is that it displays the information from the packing slip on a second large screen in a giant font. This was a lesson learned from the first round of shipping, where we had to keep the packing slip outside the envelope until the last minute so that we would know what to pack and what the shipping method was; keeping the packing slip out until the last minute was just one more annoying thing that made the whole process less fluid.
He was the glue that held his team together. Another friend was incredibly insightful strategically; his conversations with other people about how things should be done allowed everyone else to do much better work. He tended to spend more time than average trying out new technologies; in this area he was invaluable to the rest of the team. But in terms of lines of code, he wrote less than average, and his manager was too stupid to notice all his other contributions, so he always got negative reviews, too.
Negative reviews, obviously, have a devastating effect on morale. In fact, giving somebody a review that is positive, but not as positive as that person expected, also has a negative effect on morale. The effect of reviews on morale is lopsided: while negative reviews hurt morale a lot, positive reviews have no effect on morale or productivity.
The people who get them are already working productively. For them, a positive review makes them feel like they are doing good work in order to get the positive review… as if they were Pavlovian dogs working for a treat, instead of professionals who actually care about the quality of the work that they do. And herein lies the rub. The Law of Leaky Abstractions Programming is full of abstractions and they are extremely useful in making complex topics easier to understand.
Cardboard Chewie A client entered into a software company and noticed one of the developers sitting at a table explaining a complicated issue they were having with a life-sized cardboard cut out of Chewbacca. Joels 12 Rules The article is a simple checklist of things companies can do to make sure the quality of their code is as good as possible.
Do you use source control? Can you make a build in one step? Do you make daily builds? Do you have a bug database? Do you fix bugs before writing new code? Do you have an up-to-date schedule? Do you have a spec?
Do programmers have quiet working conditions? Do you use the best tools money can buy? Do you have testers? Do new candidates write code during their interview?