If your Visual Studio 2015 or earlier is not showing newly installed templates, like for example if you install DotNetBar and templates for new forms are not showing up (Office Form, Metro Form etc.) its possible that your settings cache files are corrupted so try closing all instances of VS.NET and go to the VS.NET installation folder where devenv.exe file is.

From command prompt execute:

Devenv /ResetSettings

That should reset the settings and likely show all new templates.

 

Move Every 30

Ergonomic experts are recommending whether you are sitting or standing while working on computer to move every 20-30 minutes to get so to say blood flowing. No need for strenuous exercise just walking is enough.

Sitting for more than 1 hour has been shown to induce biochemical changes in lipase activity (an enzyme involved in fat metabolism) and in glucose metabolism that leads to the deposit of fats in adipose tissue rather than these being metabolized by muscle, and extensive sitting also relates to heart disease risks, so people are advocating standing to work because this use more muscle activity (burns about 20% more calories). These changes happen in both fit people who regularly aerobically work out and also unfit and obese people, so regular exercise doesn’t address this.

 

If you are not using an Solid State, SSD drive on your development machine, I can only recommend you give it a try. In hurry. They are shock proof, super fast (well most of them are), light and have low energy consumption.

I’ve been using an SSD for last 2 years and we have given SSD drives to our developers as well. SSD drive is the best performance improvement for the money you can buy today. Especially with VS.NET which is known to be disk intensive app. How fast it can be? My VS.NET 2010 starts up fully in about 3-4 seconds and that is with all add-ins.

One thing about SSD drives though is that you should keep an eye on their health. There are only so many times that flash memory can be written to so it does have limited life-span. Even all flash cells do not have the same endurance within the same chip.

SSD lifespan is quantified by number of erase/program cycles a cell block can go through before it is unusable and generally that is 10,000 cycles for MLC flash and about 100,000 cycles for SLC. Good luck with knowing where your drive falls on this scale. SSD OEMs also represent this with rule of thumb figure which says that you can write 20gb per day, every single day, for 5 years.

That is still not good enough for me so I was happy to find utility that puts little more actionable data on this. SSDlife which has free and paid version gives info on how many times your drive has been powered on, written to, what its health and S.M.A.R.T. status is, and even give you an estimated lifespan of the drive.

If you are looking into getting SSD drive I recommend staying away from cheap ones. Go for Intel X25-M , Corsair Performance series and Crucial SSD. Also look for drive which supports TRIM.

 

60 Free Medical Icons

If you are creating medical related application, Smashing Magazine is giving away 60 very nice medical related icons (see image below). Click here to download them.

Tagged with:
 

We’ll see

I like this fable. We get raffled by things or events instead of taking them in stride…


A farmer had only one horse. One day, his horse ran away.

All the neighbors came by saying, “I’m so sorry. This is such bad news. You must be so upset.” The man just said, “We’ll see.”

A few days later, his horse came back with twenty wild horses. The man and his son corraled all 21 horses.

All the neighbors came by saying, “Congratulations! This is such good news. You must be so happy!” The man just said, “We’ll see.”

One of the wild horses kicked the man’s only son, breaking both his legs.

All the neighbors came by saying, “I’m so sorry. This is such bad news. You must be so upset.” The man just said, “We’ll see.”

The country went to war, and every able-bodied young man was drafted to fight. The war was terrible and killed every young man, but the farmer’s son was spared, since his broken legs prevented him from being drafted.

All the neighbors came by saying, “Congratulations! This is such good news. You must be so happy!” The man just said, “We’ll see.”

 

This is second article from series on Ergonomics for Software Developers. Click here to read first article.

We sit all day long. Improper posture and bad chairs will cause back pain, hand pain and will tire you excessively. Good chair and proper working position are must if you want to be productive and healthy while working with computers and you should not skimp on that.

So what’s the proper sitting position? OSHA recommends following:

  • Hands, wrists, and forearms are straight, in-line and roughly parallel to the floor.Correct Ergonomic Sitting Position
  • Head is level, or bent slightly forward, forward facing, and balanced. Generally it is in-line with the torso.
  • Shoulders are relaxed and upper arms hang normally at the side of the body.
  • Elbows stay in close to the body and are bent between 90 and 120 degrees.
  • Feet are fully supported by the floor or a footrest may be used if the desk height is not adjustable.
  • Back is fully supported with appropriate lumbar support when sitting vertical or leaning back slightly.
  • Thighs and hips are supported by a well-padded seat and generally parallel to the floor.
  • Knees are about the same height as the hips with the feet slightly forward.

You need to setup your working environment to these specs but also so everything is comfortable for you. I don’t think anyone can tell you what is comfortable for you since we are all different, so take these as guidelines. Adjust height of your chair, position of the monitor and keyboard so you do not hunch, your elbows are at 90 degrees and back is straight and relaxed.AeronChair

This is sitting position in my experience it’s pretty robotic. You just can’t sit like this all day long, you’d go numb. Its boring. I think it is good alternating solution though.

That brings me to alternating. I think for best effect you should change how you sit throughout the day. Sitting in same position all day long, no matter how good that position is, is not healthy long term. So, change up! Move from office chair to kneeling chair and then to sitting on ball or standing work.

For standard office chair I recommend Aeron chair or Humanscale freedom or Liberty chairs. They are expensive though, but if you spend that much time in chair they are certainly worth it. Try looking for them locally in stores that sell used office furniture. You can find very good deals on these chairs that way. I can attest that Aeron chair is rock solid and can last years. Mine is over 5 years old and still looks and works like brand new.

Good alternative and much cheaper I might add are kneeling chairs. Kneeling chair creates an dropped angle for your thighs so they are not at 90 degrees like in regular chair, rather dropped to 60-70 degrees with some of the body’s weight supported by the shins.

This creates an open body sitting position and keeps spine in alignment.

You can find best pricing for kneeling chairs on eBay. They go for about $50-$150 depending on how lucky you are. Look for adjustable height chair for first type. Here are two types of kneeling chairs:

Kneeling Chair For Developers

And this one that I like since it allows some rocking movement while sitting which is very beneficial:

Kneeling Balans Chair for Software Developers

SeatingBallWhile researching chairs, I’ve seen many people swear by sitting on exercise ball. I plan to try it. They say it takes some time to get used to since you are balancing yourself on the ball, but it allows you lots of flexibility while sitting and provides some abs exercise too.

I can see how this is very beneficial. It forces you to balance yourself and aligns your spine. Since you are balancing all the time, you are changing position frequently which is my main concern with office chairs. And as additional benefit you get some workout, and hey, any workout I can get I am not going to deny :-).

This is very cheap thing to try since these balls cost $15-$30. There is no reason not to try it especially if you have back pain.

Personally I switch between Aeron and kneeling chair throughout the day (for my sitting positions) and it works great. I will be adding exercise ball to my seating set soon.

Standing working position

Many people spend whole working day in standing working position. The benefits seem to be better posture and less back related problems, sense of freedom with both movement and thought and little workout.

I have standing station setup that I use as well and I can attest to posture and freedom benefits. I think workout claims are dubious since you are practically standing all day. I do not think standing all day is good for your legs, since many other professions that require all day standing have different set of problems, but as occasional change of pace it is wonderful.

I have found that in standing position I am more eager to take regular brakes since you can simply walk away. I found long sessions to be tiring so I limit this to couple of hours a day at most.

For this setup you do not need anything fancy. If you do not already have a high table, you can get one cheap from IKEA. For example BILLSTA (http://www.ikea.com/us/en/catalog/products/S39831493 ) is $120 small Bar table that works great for this. Combine it with Galant extension (http://www.ikea.com/us/en/catalog/products/S89843747 ) used to raise monitor and you have standing setup for less than $200.

On another end of pay scale, if you are feeling rich, there is this good looking desk AirTouch by Steelcase that has adjustable height for about $1000 so you can easily switch between standing and sitting position:

AdjustableSteelcaseTable

All this is really simple and easy to implement if you’ve been told that you should care about it. I hope this gets you thinking and changing the way you work for better. Let me know what you think and whether you found this helpful.

 

What would happen if you suddenly could not type? What would happen to your family if you could no longer make money as software developer or do anything that requires fine hand control? We don’t think about it, but this is real possibility if you are working with computers all day long. Consider this and think what if…

If you think it can’t happen to you I challenge you to do simple test. Install WorkRave and track how much you type each day. Look at the statistics and calculate how many keys you press each minute, every single day. Then think about whether there is anything that is designed to work at such rate without problems…

I’ll give you an example. Lots of days I average about 20,000 key strokes per day. For an 8 hour day that means that I press on average 41 keys every single minute for 8 hours straight. Even if you type 10,000 key strokes a day you average 20 key presses every single minute for 8 hours uninterrupted! Is there anything that can sustain that work rate for 40-50 years without problems?

There isn’t, and unless you take care of your hand health you will be faced with pain at least, and that is guaranteed.

This is first article in series with goal to transfer to you everything I have learned on this topic. I will cover everything from hand exercises, choosing keyboards and mouse, work chairs and tables and everything in between. I want you to take your hand health seriously because your hands are feeding you.

Note that I am not medical professional, just developer like you. This is not medical advice. For that consult your doctor. Idea is to get you thinking and share what I know and what works for me. Ideas is to get you motivated to start caring for your hands before you encounter problems, because after you are in pain, it might take years to recover. Please feel free to add your comment to each article in series with your experiences and you’ve found works for you.

When I started developing software there were no best practices regarding ergonomics established. Even today most developers or heavy computer users don’t pay attention to it until something happens.

That something is some manifestation of repetitive strain injury, RSI, and our industry is ripe with it. It is something lots of people don’t talk about publicly, perhaps from fear of admitting it and losing their job or perhaps they take it as normal. Whatever the reason, there is lot of pain going around. If you browse any computer related forums you will encounter plenty of people looking for help and suffering from hand and back pain all caused by computer work.

Pain can be in fingers, forearms, shoulders, neck or back. Lot of it is caused by choice of crappy keyboards and mice, bad chairs, improper posture and bad work habits.

So here are the links to the individual posts in series that I am going to write (I will add links as I finish those articles):

I hope you find these posts useful and that they get you thinking and reassessing how you work. Feel free to comment and add your opinions.

 

Let me start by saying that if you are not prepared to work your ass off then you cannot be good developer. If you are not in 0.1% of geniuses for which all this comes quite naturally, be prepared for hard work.

If you are bad developer, forgetaboutit. You will never become competent let alone good. I’d suggest you find something else to do where your talent deposits are richer and fun factor higher.

By the same token, you can only move from being competent to being good, but never genius. Geniuses are freaks of nature that are born that way. Either you have it, and know it, or you don’t. You cannot become one.

So what we, average ones, are left with is moving from competent to good. Let me define competent. Being competent developer is really as simple as not doing harm on project and being able to get something done. Nothing spectacular. Not super fast, not super slow, just average. Competent devs punch their 8 hours in, do what they are told, get their pay check and that is it. For them it is just a job like any other.

Good developers are the ones that are passionate about what they do and you can always depend on them to get things done. They have deep understanding of what is going on under the hood and they do quality work. They do what they love to do, and not working is real work for them.

In every competent developer, there is a good developer. Problem is, mofo is deep underground. And you have to dig that sucker out with little foldable trench shovel. And then you have to build him a house to live in. And only then you get to reap full benefits.

So how do you start digging out that guy? You start with basics, by understanding the technology you are using every day. Understanding how it works underneath the public interface you are using.
I remember when I started learning programming and itched to learn assembler after learning BASIC on my Spectrum ZX. I asked friend of mine (probably single genius programmer I know) to teach me assembler.

“Well, you print out 16K of ZX Spectrum ROM and start reading from address 0”, he said.

“By the time you come to video memory, and understand what’s going on, you should have pretty good grasp of it.”

“That’s how I learned it too”, he said, and pulled ROM print-out to show me.

Once you know what is going on underneath the framework/platform you are using, your daily work will become much easier. You will know how to do things so they “fit” into the framework. You will be able to find those hard to fix bugs much, much easier, because you have advantage of knowing what is going on inside.

Lot of people advocate reading as much code as possible. I don’t agree with that. “You just said to read platform code, this is contradicting”, you might say. Not, really. You read platform code to understand platform not to learn programming. Software development is a lot like riding the bicycle. You can read all you want about mechanics of bicycle riding, but you will never learn unless you actually start riding it yourself. More you do it, better you get.

Stop asking for help too. Being self reliant and solving problems on your own is one of the key characteristics of good developer. Asking for help is the last resort if you want to become really good. The more problems you solve alone, easier it gets. When you see hard problem, get excited. It is opportunity to improve your skills.

And at the end, you need to commit to writing quality code. Usually that requires to stop lying to yourself. Deep down we know when we do quality work. Always. Start listening to this quality voice in your head and don’t settle for less. Result is that you will be disgusted with your code most of the time 🙂

What about TDD, extreme programming, patterns, etc. you might ask? These are secondary. They will come to you naturally when/if needed as you improve your craft and polish your skills.

How long will this take? I read about magical figure of 10,000 hours that is needed to hone any skill to impressive level. I think that is about right. It also means that if you write code 4 hours a day it will take you almost 7 years. So, be prepared to commit to 5-7 years.

I think these are basics that are valid for almost anything you want to really master, not only programming. Now, go, work your ass off!

 

Authentic and gritty speech by Michael Jordan. Two quotes that resonated with me:

Never say never, because limits, like fears, are often just an illusion.

and this one:

There is no I in team, but there is I in win.

 

Spinners

No, not wheel spinners! You’ve seen these animated gif’s used in AJAX apps to indicate that an operation of undetermined duration which might or might not complete is in progress. Here:

ajax-loader-1

If you are after these here is good web site to automagically create them.

And you can use them in desktop apps too. I used animated gif in TweetPow while tweets are being loaded, because you know, that perfectly defines an operation of undetermined duration which might or might not complete…

Anyway, for desktop apps, simply add them to the PictureBox and voila, they spin.

Tagged with:
 

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

© 2009 Denis Basaric: DevComponents Blog