Job ads these days are monotonous. They all seem to blur into the following:
Come put your skills to work at a fast paced and growing company! Our work environment is highly collaborative, exceedingly innovative, and vastly stimulating!!
- blah de blah de blah blah
This position also requires excellent communication skills from a detail oriented self-starter who likes to mentor others and thinks out of the box.
Salary commensurate with experience and our mood. We offer a competitive benefits package, meaning it’s the least we can get away with.
Email your resume for immediate consideration by our automated resume scanning tool, which will shred your document into keywords and bulk insert records to a database for someone to search. When they feel motivated. Maybe next month.
Our lawyers would like to point out that we are an equal opportunity employer, even though it is safe to assume this fact considering U.S. federal laws like the Civil Rights Act of 1964, the Equal Pay Act of 1963, the Age Discrimination Act of 1967, and the Disabilities Act of 1990.
No agencies, H1B visas, or ugly people need apply.
Something I just noticed in 2.0: my machine.config is around 17 KB in size, compared to over 200 KB in 1.1. The file seems practically empty. A little comment at the top of the file reveals why:
“To improve performance, machine.config should contain only those settings that differ from their defaults.”
Many thanks to the BaltoMSDN user group for having me present at their monthly meeting last week. The topic was “Debugging – Tips, Tools, & Techniques”. In a few weeks I’ll give the talk again at the MAD Code Camp. The Code Camp schedule is online – there are some great topics and speakers. If you are in the area - it will certainly be worth your time to attend. Register here.
Here are some of the tools and libraries I use during the presentation (besides VS.NET):
SysInternals.com – for Process Explorer, FileMon, and RegMon
Victor Brumble’s forehead was perspiring as he stared at the diagrams on the wall display. His eyes traced the red wand marks where Asha had shredded his work, and he felt the butterflies return to his stomach.
Victor wondered how much longer the committee would be out. He felt like he had been waiting years for them to return and announce a decision. The time felt even longer than the 7 years of study it took to get here.
Victor motioned his chair to the wall and picked up the wand as he whisked by the table. “Maybe this is just another part of the review”, he thought to himself. “Maybe if their decision is wavering - they will see I finished the corrections and make me a lucky”. The wand felt comfortable in Victor’s hand, and without the watchful eyes of the committee, he felt more at ease. He snapped his wrist to the right, and the program on the wall sprang into motion.
“Will I be lucky or unlucky?” he said aloud, and his stomach growled. He was glad he had forced himself to eat at lunch six hours ago, even though he feared at the time he might not keep it down. He couldn’t shake these butterflies all day – such an important day in his life - except for the time when he was angry. Angry at Carl.
Carl Schmitz brought out the worst in Victor today. He knew when Carl walked in the room that the man held distaste for him. His questions were short and brittle - his aura held the color of self-importance. Victor was glad to be angry for a bit – and he shot his answers back to Carl. The anger made the butterflies go away, and gave him the feeling of fighting for his life, and in a way, he was.
Victor jerked his wrist to the left and the wand took a blue color. The swirling motion on the wall stopped, and Victor began to press and drag and twitch with the wand. Creating, rearranging, tweaking - he began to feel better. After all – his review was hitting the 11-hour mark. An apprentice could never talk about what happened during a review – they were top secret. If your mate went for review though, of course you’d know the outcome. Either they moved on or they didn’t. They became a lucky or an unlucky. Of all his mates who took a review in the last twelve months, none of them became a lucky without at least a 10-hour review.
Carl was the problem. Carl didn’t like Victor, and could easily sway the other two members of the committee. He wondered if Carl liked any apprentice, or if he was just having a bad day. Most of the time Carl seemed disinterested or lost in thought, but when he did focus on Victor the exchange was brutal. Perhaps he was taking his personal frustrations out on me, thought Victor. Perhaps he didn’t sleep last night, or he lost his lover and is feeling low. No, Victor thought, the luckies were never emotional or unprofessional. Focus was the key, he knew. All these years of training brought a superhuman level of focus to the mind. “Perhaps“, Victor thought, “if I had been more focused today instead of being so nervous, the committee would have already made me a lucky“.
The door swung open. Victor dropped the wand and motioned his chair to swing around. He watched the members closely as they walked in, trying to read faces. Asha was first. Still aloof, he thought - I don’t see a change. She was beautiful, intelligent, and completely impenetrable. Pierre was second, but seemed lost in thought. Victor didn’t know what to make of Pierre either. Victor’s chair arrived at the table.
Carl walked in. Carl looked smug, and Victor felt the butterflies explode in his stomach. “I failed”, he whispered. He was hoping to see anger or defiance on Carl’s face – some sign of the committee outvoting him. A smug look was bad news.
“Victor Brumble”, Asha started, “you applied for membership to the Guild on April 3, 2020, and have brought yourself before the committee on this day, April 3, 2027”.
Victor nodded, and Asha continued. “We feel you have promise Victor, but we will not grant you membership to the Guild at this time.”
Victor felt the butterflies leave his stomach, and his mind went numb.
“You have the option of returning to an apprenticeship, but understand you cannot bring yourself to the review committee again until April 3, 2029”, Asha said. “Do you wish to return to apprenticeship at this time?”.
The question hung in the air as the thoughts raced in Victor’s head. Nobody outside the apprenticeship used the terms lucky and unlucky, but Victor was still an unlucky. Un- lucky meant un-licensed. Not a member of the Guild. Unluckies could still write software, but the pay was one tenth of what the luckies made, and the software would be a black market good. Eventually the luckies find the software, and destroy it by legal means.
Victor thought carefully. He thought of his colleagues – they’d understand. Many of them left the apprenticeship, some involuntarily. At least he still had a choice. Maybe being an unlucky wouldn’t be too bad. He could create, and he could still make a living. He could forget all this nonsense and formality. Forget Carl, too. He could be proud as an unlucky.
Victor looked up at the committee, prepared to answer. Asha was staring into her deck. Pierre gave him a glance - “une réponse rapide, s’il vous plait”, Pierre said. Then Victor saw Carl’s face – and the smug look. Victor felt the slow burn of defiance start in his chest, and instead of fighting it off, let it burn.
“I hereby re-apply for apprenticeship”, Victor stated flatly. “I intend to return”.
“Very good”, said Asha, waving a finger towards her deck in a curly motion, then thrust her finger forward once, and closed her deck.
The committee rose to leave. Victor grabbed his wand, pointed to the wall, and twitched his wrist oddly.
His work disappeared.
The wall went black.
“I do intend to return”, he whispered, and left.
Debugging is conceptually simple.
The goal is to find truth inside a binomial distribution.
Somewhere there is a zero living astray as a one …
… or a one adrift as a zero.
Sort and search and sift through bits ...
... track and twiddle and trace misfits.
Overwrite your mistake and find happiness.
Milan Negovan has a nice article on the web: “Beware Of Deploying Debug Code In Production”. Includes a nice analysis of what is happening in the ASP.NET temporary files directoy.
One of the highlights of my Toronto trip was walking downtown and dining with the collective brain trust of Richard Hale Shaw, Walt Ritscher, Chris Kinsman, Rocky Lhotka, Brian Randell, Kevin McNeish, Derek Hatchard, David Totzke, and Rebecca Diaz. Here is a shot of Dave, RHS, Walt, Kevin, and Rocky. Kevin is looking up at the CN Tower.
I also want to thank those who came to my sessions. I hope you enjoyed the presentations and found them informative.