The Coding Monkey

Wednesday, April 26, 2006

How Big of a Nutshell Is It?

I have another review up at BlogCritics.org, this time on Visual Basic 2005 in a Nutshell... "No, this is me in a nutshell: 'Help! I'm in a nutshell! How did I get into this bloody great big nutshell? What kind of shell has a nut like this?'"

Tuesday, April 25, 2006

Pet Peeve

I absolutely hate, with a vengeance, any website that emails your password to you after you sign up for services with them. Email is not secure you jerk wads! And if I happen to be using Gmail, then that email you sent me, even if I delete it, will probably sit in their cache forever to be subpoenaed by who knows what agency somewhere.

Here's a clue. I just had to type my password twice. I know what it is. You don't have to send it to me.

Talk About a Blown Weekend

I felt like last weekend was cut short. Saturday was definitely the most gorgeous day out of the two, and I spent the entire thing indoors at the WI-INETA Deeper in .NET conference. I suppose I shouldn't complain, since it was free, and 4 out of the 5 speakers were pretty good. I even got a free book out of the deal (even though I'm getting a ton through BlogCritics these days). So why am I complaining? Well, why don't' I just give you a review of the speakers that were there.

Michèle Leroux Bustamante: She spoke first thing in the morning about WCF (formerly Indigo, not the World Curling Federation, Matt). It was a pretty good talk, and she was definitely knowledgeable and well prepared. The problem is... well... she didn't explain what problems this would solve for us. WCF is supposed to finally bring together web services and .NET remoting under one unified architecture, but to be honest, I don't have many problems with the current architecture. I think talking about what problems exist that will be solved is crucial, since WCF is still in early development stages. Really, the code samples I saw looked an awful lot like current Web Services and .NET Remoting. So what's really changed? The hosting environment? Big whoop.

Scott Hanselman: Scott was next, and had I left after his talk, I would have been a very happy camper. His talk was supposed to be about a "Successful ASP.NET architecture using dasBlog as an example", but he really didn't talk to much about dasBlog. What he did talk about were internals in ASP.NET, serialization, debugging tips and tricks, and all sorts of other really random cool goodies. I came out of there with about 2 pages worth of notes. He went off on so many tangents, that he might as well have thrown away his slides, but that was OK. His tangents were incredibly good. He was also incredibly funny.

Julie Lerman: This was the only talk that I considered bad. It wasn't that she wasn't enthusiastic, but she just presented her material (ADO.NET and SQL Server 2005) very poorly. She's a self confessed "data geek", which few people are. Most of us (me included) view databases as a means to an end, while she views them as an end unto themselves. Most of her examples didn't actually serve any purpose other than to say "look, this works", without showing why you'd want to use this new feature. Everyone in the audience was staring at their watches waiting for her talk to be over.

Bill Hatfield: Bill gave an interesting talk on AJAX, and the new .NET components for developing AJAX applications called Atlas. It was a decent talk, with good real world examples. I think he mislead people several times when he claimed that there would be "no round trip to the server", which is completely false. The point of AJAX isn't to eliminate round trips to the server. Rather, you only go the server to replace a small portion of the current DOM, instead of making a round trip to the server to replace the entire page. He didn't explain this well at all. He also leaned on the "I don't know because this is beta" crutch too much when answering questions. If your talk is on a beta product, then you should know the ins and outs more than he did. A few times during his talk, people from the audience were telling him how it worked.

Jason Beres: This was the last talk, and was interesting if nothing else. Though I have to say... turn down the volume! His talk was on WPF (formerly known as Avalon). Being a thick client programmer, and having worked on SVG previously, this was an intriguing topic. What I found most disturbing was the fact that he confessed to having no real knowledge on the topic except what he picked up from someone else's slides and examples, which he learned in two days. With that said, he did a very good job presenting everything had learned, but it still seemed strange.

So if the majority of the talks were good, then why was it a waste of my time? Because most of these technologies are still quite a ways off, and will be changing quite a lot between now, and when they are officially released. Frankly, very few companies are willing to take the risk into bleeding edge technologies. Had they had more talks like Scott's, and had Julie's been better (both were on current technologies), I would have felt better.

As it was, I would have rather been out enjoying the sun.

Thursday, April 13, 2006

Any Fool Can Criticize...

"... condemn and complain... and most fools do."
- Dale Carnegie

I have another review up at BlogCritics.org, on The Visual Basic 2005 Jumpstart from O'Reilly.

Saturday, April 08, 2006

I Have Another Review Up

As Mel Brooks once said, "Critics can't even make music by rubbing their back legs together." But we can certainly write. Check out my latest review on BlogCritics.org of the "C# Cookbook, 2nd Edition".

Friday, April 07, 2006

You Code Like a Girl!

Thanks to Virginia Postrel for pointing out this rather interesting post about the aesthetics of code:

What prompted this post--and it's whimsical title--is a post by Jamis Buck titled Beautiful code, test first, which includes the following:
"He was telling me how he feels like he has to sit and tweak his code over and over until it not only acts right, but looks right. It cannot be merely functional, it must be beautiful, as well."

But the best part was a comment by "Morten" that included the line:

"As for spending too much time on making the code look right down to the last indentation - my code has been called "girl code" for the same reason..."

Frankly, I don't know if gender really has anything to do with it, but I do firmly believe that there are people in general who code in this fashion, and that certain programming languages cater to this desire. A number of years ago, I saw this post on who a typical C# programmer is:

When we talk about “code focused” this meant a couple of things to us. First, the users we watched were very persnickety about their code. For example, they would spend a lot of time formatting their code the way they wanted. They would write a block of code, and then go back and indent it the way they wanted. They would copy code from somewhere, and then format it in their editor before they even read it. There just seems to be a sense that the code itself can be beautiful, and code that was ugly, and here I mean was formatted in the wrong way, was fixed up.

The other part of being code focused has to do with the way they see the designers and other parts of the Visual Studio tools that were not code editors. For instance, the Windows Form designer. Many developers look at programming as designing a form, and then writing “code behind” that makes the form work. The form itself is the program, and the code is annotations that make the program do what they want. The Visual C# developers, however, tend to think of the Windows Form designer as a code generator. For example, we saw one developer use the form design and the sever explorer to bind to data. Then he went in and cut out all the generated data code and put it into it’s own class. He didn’t mind using the generated code, but the code was his, not the form’s. Furthermore, he couldn’t live with having the data code embedded in the UI code, he just had to factor it out or he wouldn’t have slept well that night.

So what some interpret as a "girly coder"... just might mean you're code focused.

Thursday, April 06, 2006

When TLA's Strike

One of my favorite quick jokes is to talk about TLA's. Usually when I say something like, "Great, another TLA", someone will furrow their brow a little and look at me kind of strange. That's my clue that they don't know what TLA stands for. I'll then look at them with a smile and say, "That's a Three Letter Acronym". Usually there will be a pause, and then they'll laugh.

TLA's abound in the software industry. My resume is chalk full of them. Almost every worthwhile technology I've ever learned could be described with a TLA. Of course, my current client does a lot of mainframe work. And every day, if I'm not interacting with the mainframe somehow, I have to at least interact with mainframe programmers, or ex mainframe programmers who are now trying to be .NET programmers. The problem is that their TLA's, and my TLA's are completely different.

Several months back I ended up going into a meeting with a bunch of people, some of which were mainframers to talk about a new project coming down the line. They were discussing how it was like "COM", and brought up "COM" a lot. My current client is mostly a .NET house, though we do a little C++, and some VB6. So I was a little surprised when they kept talking about "COM", until it dawned on me that they didn't mean "Component Object Model", and instead meant something else which is unique to my client (which I won't mention because I don't want to divulge anything I shouldn't).

It goes without saying that when this finally struck me, I audibly went "Ohhhhhh... ok. I'm with you now". The mainframers all looked at me like I was nuts, and then I had to explain how I thought they were talking about a different "COM". Of course, because they don't know Windows programming, after I was done explaining, they still I thought I was nuts.

I used to do a lot of C++. I was schooled in C++. It was the first language that I really loved, and I still compare everything I work with now to C++. I also used to write a lot of COM components, especially using ATL. I also did a lot with MFC and STL, but that has nothing to do with COM really. I just thought I'd throw those out to show how many TLA's can pop up really quickly.

Even now, when an email appears in my inbox at my client talking about a problem with "COM", my mind still automatically clicks to "Component Object Model" even though the never mean that COM.

Monday, April 03, 2006

69 Dude!

So this weekend, my client had a major software deploy to production. After all the months of development, and all the interim builds for testing, the final build number for the software that went to production was Build 69. Our build numbers start at 1, and increment automatically for each official build.

Apparently, when the team business manager saw this, she asked the development team lead (also a woman) to have it changed. She refused, and 69 is what went to production. I wonder if people who use our software (which is only for internal use) could file a sexual harassment suit because of it? When I saw the final build number this morning, I couldn't help but laugh.