A Blog by Scott Isaacs

Tag: Technology Page 2 of 11

Curly Brace Placement

I’ve been writing code with curly braces for a dozen years or so, starting with C++ in college, then JavaScript for many, many years, and for the last few years, C#.  In all that time, I have been a fan of putting the opening curly brace on the same line as the declaration or control statement.  For example:

private void DoSomething() {    // ...    if (somecondition) {        myval = true;    }    // ...}

At work, though, I have been working on someone else’s code, and I always try as much as possible change my coding style to match the existing code.  In this case, that means opening curly braces get their own line, like so:

private void DoSomething() {    // ...    if (somecondition)     {        myval = true;    }    // ...}

I find that I’m actually starting to prefer the "new line" option.  But I don’t want to prefer it!  I guess maybe I’m stubborn.

I agree that it is easier to visually match opening and closing braces this way, but VS2008 does that for me anyway with clever highlighting.  Also, I don’t like how much extra room is taken in my editor window.  I like whitespace, but this seems to put it in the wrong place for me.

Sigh.  What’s a poor developer to do?

What’s your preference and why?

GiveCamp MKE

I’m very excited to announce that we are planning the first ever GiveCamp in the Milwaukee area: GiveCamp MKE.  In fact, it’s one of the first GiveCamps anywhere.

"What’s a GiveCamp?", you ask.  In short, it is an opportunity for developers, designers, DBAs, project managers and anyone else involved in the software development process to give back to the community.  And we do it by doing what we know how to do best — building software.  We will soon be accepting applications from various charities for software that they need.  It could be anything from a website to a data collection app to a mailing list manager or anything else.  For more information about the whole GiveCamp concept, and to see what other communities have had (or are planning) GiveCamps, please visit the official GiveCamp site.

We’ve been putting a lot of time into this over the last couple weeks, but we’re still not quite there.  Please bear with us as we continue to finalize things, including the website itself as well as more info about the GiveCamp MKE event.  Rest assured that we will be making regular updates to the GiveCamp MKE site, so please check it often or subscribe to the RSS feed to make sure you don’t miss anything.  I’m sure I will also post major updates here as well.

I am very excited about this, and how things are shaping up.  Remember that conference call I wrote about a couple weeks ago?  That was about this.  I just wish I could put all of the things I want to say into words tonight before I fall asleep, but that might take me a couple hours.  :)  So keep checking back here and at the GiveCamp MKE site, and I’ll eventually get it all out there.

If you have any questions or comments, please don’t hesitate to let me know, or to use the contact form on the GiveCamp MKE site.

I Am Excited About… A Conference Call?

For the first time since — ummm — since ever, I am looking forward to an upcoming conference call.  And I’m really looking forward to it.  I don’t want to say too much, yet, because I want to get some very basic details ironed out first, but I will say that it is about a special project we are working on for the WI .NET Users Group.

I’ve been thinking about this project for a few weeks now, and I’ve actually taken notes.  If you have ever been with me to a meeting, that statement alone should let you know how serious I am about this.  I am a terrible (appalling, horrendous, atrocious, apocalyptic) note taker, so much that I often don’t even take a pen and paper with me because I will get more out of my memory of the meeting than from my notes.  But I have notes for this.  And they make sense!

So, if you work in technology in the Milwaukee area, keep an eye on my blog over the next couple weeks.  If this call goes even half as good as I expect, I will be asking for your help!

Testing PreCode

I’m using this post to test PreCode — a code snippet formatting plugin for Windows Live Writer.  It uses SyntaxHighlighter on the client side and this plugin just sends the needed code to my blog engine.

As a test I thought I’d just add a couple short snippets, using some of the different available options.

//C#, using PREbool b = true;

' VB, using PRE, Starting at line #20Dim i as Int32i = 1i += 3MessageBox.Show(i)

Note that I may update this post several times while trying different options, or I may delete it altogether if I decide I don’t want to bother with the plugin.  (I think if I do delete it, it will be the only post I ever deleted.)

I would appreciate it if you would take a look at this post both in your RSS reader as well as on my website in your browser of choice and let me know what you think, my dear guinea pigs.

TimeSnapper

I’ve been using the free version of TimeSnapper off and on for some time now, but pretty regularly over the last few weeks since I started my new job.  I’m doing billable work again, and am notoriously bad at getting my time entered.  TimeSnapper helps by taking screenshots at some interval throughout the day and allowing me to play them back like a movie.

I’ve been thinking about getting the Pro version for a couple weeks because there are a few more features that could be helpful.  It’s an inexpensive program at about $40 (USD), but I just hadn’t pulled the trigger and bought it.  Then today on Twitter I saw that it was on sale.  It was actually on sale for $20.  Since I was on the fence at $40, I couldn’t pass it up at $20.

If you are like me and have a hard time keeping track of what you worked on, I highly recommend you check it out.  I still haven’t taken advantage of the Pro features, but even the free functionality is worth $20.

Office Communicator Hotkey

Anyone know if there is a way to remove the Windows-Q hotkey from Office Communicator?  That is my hotkey of choice for one of my favorite utilities (SlickRun).  With Communicator "stealing" this hotkey, I’ve had to map SlickRun to Windows-W instead, which causes a lot of confusion for me.  I’ve tried to add "cmd" as a contact about a dozen times now…

Community Coding Contest

This is pretty exciting.  Chris Pietschmann, an MVP, a friend of mine, a committee member of the WI .NET Users Group, developer of Virtual Earth controls, and an independent consultant I have worked with in the recent past, has three MSDN Premium Subscriptions to give away, and he is having a coding contest to determine the winners.  He is building a website for this contest at www.communitycodingcontest.org, but the site is not up yet.  In the meantime you can get some basic info from this post on his site.  The contest will run from July 1 through September 30, so that’s three whole months to get something built.

The most amazing part is the prizes.  From his blog post:

1st Place – 1 MSDN Premium Subscription with Visual Studio 2008 Team Suite

2nd Place – 1 MSDN Premium Subscription with Visual Studio 2008 Team Suite

3rd Place – 1 MSDN Premium Subscription with Visual Studio 2008 Team Suite

4th Place – Windows Vista Ultimate with SP1 and Visual Studio 2008 Professional

I am also looking for sponsors to donate additional prizes to give away.

I don’t know about you, but I think I’d be happy with 3rd place.  If you work for a company that would like to sponsor this contest, please contact Chris through his blog, or e-mail me and I will put you in touch with him.  If you’re a developer, get those gears turning.

I do have a question for Chris, though.  Chris, why not sneak one of these subscriptions to me and have a contest to give away the other two???

.NET Micro Framework

Just got a book in the mail from Amazon: Embedded Programming with the Microsoft .NET Micro Framework.  It was only about $6 from the "Used and New" section of alternate sellers.

An upcoming project at work is currently planned for Compact Framework, but, if my limited understanding is right, hardware needed for the Micro Framework is cheaper.  So as long as it will perform as needed, this might be the way to go.

Has anyone done any development with the .NET Micro Framework yet?  Any pointers or pitfalls?

Fox Valley Day of .NET

Tomorrow (Saturday) is the first ever Fox Valley Day of .NET in Appleton, WI.  I’m planning to attend, and if you’re anywhere in the area, and are a software developer, I’d recommend you go as well.  They have a good looking lineup of speakers and sessions, and I’m looking forward to it.

Best of all, it’s free.

Their automatic registration process is closed now, but you can still show up and register on site.  If you’re planning to go, I’ll see you there.

Stop Thinking Like A Programmer

Gerry recently posted an interesting article about the mindsets of software developers and software companies.  We had talked about this same topic on the phone for a while a couple days ago.  The same phrase that jumped out at me then also jumped out at me while reading his post: Stop Thinking Like A Programmer.  Of course, it’s the bolded opening statement of his post, so of course it jumps out at me.

But there I go, thinking like a programmer.

Analyzing why something happened, I think, is a lot like debugging.  Describing how to do something is a lot like writing code.  Rearranging sentences and paragraphs, deleting words, and choosing new phrases to replace others while writing this blog post is a form of refactoring, similar to what developers do to improve code quality.  Adding new words to the spell checker to get rid of the annoying squiggle underline — that’s just me being unnecessarily picky.

So many of the things that I do, and that other software developers do, we do like programmers.  So what?  What’s the big deal?  On the whole, developers (and other analytical types like mathematicians, engineers and scientists) are known for being thorough and precise.  Those are good things.  Right?

Yes, if you are in the process of actually writing software (or proving theorems, performing experiments, etc.).  However, if you’re doing just about anything else with anyone who is not an analytical, you have to watch yourself.  Some things I’ve learned over the years are that customers (or your wife, or the project manager, or you father-in-law) do not care:

  • That the changes they want will be accomplished by adding three tables to the database with a foreign key to the Widget table, then using the Suchandsuch Control to display the WidgetDetail properties in a GroupBox on FormMain.
  • That the hardware vendor’s newest firmware release better distributes its resources to make the scanning process more stable.
  • That you will spend 4 hours on designing the data model, 24 hours building the data access objects and business objects, 12 hours on the UI, 3 hours in QA, and 1 hour on documentation.

They do care:

  • Whether or not it can be done.
  • If everything works right now.
  • How much it costs.

CoderSalesperantoThey have different concerns.  They have a different way of approaching the problem.  They’re coming at the problem from an entirely different point of view in the first place.  They’re speaking a different language.  Gerry calls it Salesperonto, and I thought that was pretty clever.

Where I grew up, there were very many native Spanish speakers.  Many of them also knew English, and some knew English very well.  They were capable of talking to me in a language I understood well.  However, when they got excited about something, or focused on something, they would often switch back to Spanish without realizing it, or worse, speak in sentences that were half English and half Spanish.

All to often, I’ve seen developers, including myself, do this.  It’s dangerous for a few reasons.  It can confuse the Salesperonto.  It can stifle their creativity within the business domain by overwhelming them.  It can bore them.  It can make them think that you don’t care or don’t listen to what they are saying.  There is a place for speaking Coderian, but make sure your audience is also fluent first.

Coderian is definitely my native language, but I’ve been working on my Salesperonto.  I still have some practicing to do before I consider myself fluent.  Does anyone know how to say "abstract class" in Salesperonto?

Page 2 of 11

Powered by WordPress & Theme by Anders Norén