If you’re a recruiter, listen up! I’ve got a lesson for you in what not to do when hooking up with potential recruits on LinkedIn.
Here’s a real invitation I just received (censored to protect the guilty):
Raspberry has indicated you are a person they’ve done business with you at Orangutan Syllabus Technologies:
Being both Crasselnach alumni and in the same industry, I thought we should connect. Also, would you be up for a chat in the coming week sometime?
My reply to this was brief:
I don’t think we’ve met–why do you think we’re in the same industry? I am not interested in discussing career opportunities with you at this time.
Why is this a bad way to make an introduction? There are three reasons:
- I have never worked at or with Orangutan Syllabus Technologies; to say that “Raspberry has worked with me” is a lie.
- The message tries too hard to connect at a personal level. I currently work in finance; Raspberry is a recruiter. We are absolutely not in the same industry. We both went to Crasselnach, but Raspberry was a Business major, while I was in Computer Science. We never met. Trying to draw up false connections is just condescending.
- The “let’s chat” is excessively vague. Most recruiters I know spam you with job descriptions. This is OK, because it’s honest and up front, and also very detailed. When I get one from companies I like, I express some enthusiasm, and add them on LinkedIn for the future!
When building your professional social network, keep things professional.
I’m not pleased with the level of service at Kay Jewelers after stopping in at their NYC location across from Macy’s on 34th street. Wendy and I went there to pick out a pair of rings, and settled on these two:
Color: HIJ, Clarity: I1-I2 – 14K White Gold 1/2 Carat t.w. Diamond Anniversary Band
Color: HIJ, Clarity: I1-I2 – 14K White Gold 1/4 Carat t.w. Diamond Band for Him
Not bad rings, not a terrible price. However, in the store once we purchased them, things got bad fast. First, they quoted the rings at the $699 price, but when I received the itemized receipt, the rings were billed at $599 (the correct online price, which we didn’t know at the time). Second, although we had declined their insurance option, there was magic insurance at $75 a piece. You can checkout an uploaded receipt image here, if you like. Tomorrow, I’ll be dropping by again to return both rings and receive a full refund.
Where my ire really gets irked is when I began to shop online for an alternative to the Kay rings (since I’m planning to return them). I took a look at Zales, and found a nearly identical ring, for the same price:
Color: H, Clarity VS1-VS2 1/2 CT. T.W. Diamond Five Stone Band in 14K White Gold
This Zales ring is the same price as the Kay’s Jewelry ring, but at a superior clarity. With free shipping and a $50 off coupon, the total price is $135 less than what Kay’s charged me. Yes, and that’s for a better ring! Zales even offers the Jewelry maintenance services as a free service, whereas Kay tries to tack them on as a $75 additional charge.
Some other red flags about Kay’s Jewelers:
- RetailMeNot doesn’t have any coupons for them. There’s a notice that reads, “Sorry for the inconvenience but this merchant has specifically requested to have all user contributed coupons removed from the RetailMeNot system.” That seems sketchy at best.
- Their Santa Certificates are only good if you spend in $300 increments, at which point you get $100 off. Although, there’s the possibility that at this point Kay’s will quote $100 of list, not advertised price.
Wow, check out this preprint: A Genetic Programming Approach to Automated Software Repair. Essentially, the researchers used a suit of positive and negative unit tests as the distance scoring function for a genetic algorithm which operated on code to mutate branches. More interestingly, they did this on off-the-shelf legacy C programs.
Genetic programming is combined with program analysis methods to repair bugs in off-the-shelf legacy C programs. Fitness is defined using negative test cases that exercise the bug to be repaired and positive test cases that encode program requirements. Once a successful repair is discovered, structural differencing algorithms and delta debugging methods are used to minimize its size. Several modifications to the GP technique contribute to its success: (1) genetic operations are localized to the nodes along the execution path of the negative test case; (2) high-level statements are represented as single nodes in the program tree; (3) genetic operators use existing code in other parts of the program, so new code does not need to be invented. The paper describes the method, reviews earlier experiments that repaired 11 bugs in over 60,000 lines of code, reports results on new bug repairs, and describes experiments that analyze the performance and efficacy of the evolutionary components of the algorithm.
Literally, they wrote some small samples of code that said “here’s what I want this buggy program to do” and then their genetic algorithm actually went off and hacked away at the code (much like many of us flesh-and-blood programmers) and made it work. They have several nice examples, including one on automatically fixing the infamous Zune date bug.
The dream of automatic programming has eluded computer scientists for at least 50 years. Although the methods described in this paper do not evolve new programs from scratch, they do show how to evolve legacy software to repair existing faults.