Sharepoint 2010 8GBs of RAM or more recommended

While its true Sharepoint 2010 will run on 4Gb’s of RAM, it certainly is the bare minimum. If you’re just getting into Sharepoint 2010 development, then you should be aware that its pretty RAM hungry.

Some developers can get by on “any old system”. The rest of us get frustrated when our development environments perform poorly.

Unlike Sharepoint 2007, the 2010 version can install officially on Windows 7 (with some difficulty it was possible to get 2007 installed too). So if it installs on Win 7, and can run with 4GBs of RAM then what exactly is the problem? How does 6Gb’s compare?

I personally have 6Gb’s of ram installed and outside of Sharepoint development its more than enough. Since getting more into SharePoint 2010 I am feeling the need to upgrade my RAM.

This poses a dilemma, how it is possible that 6Gb’s of RAM cannot be enough? I’m a purist running my RAM in Tri-channel DDR3, so the next logical upgrade for me would be 12Gb’s of RAM, its an “over the top” amount when you consider that most of my computing needs seldom push beyond 4.5Gbs, except for Sharepoint.

So whats eating the RAM

  • The base OS, Windows 7 isn’t exactly what I would call super slim
  • Vitals (Applications such as MS Outlook, Browser(s), Messengers, Private email clients, AV, Wireless device drivers)
  • Visual Studio 2010
  • SQL Server 2008 R2 (eats ram)
  • RDC connections and VPN
  • The rest

But finally Sharepoint 2010!

When you add all this up you’ll be pushing the envelope on 6Gb’s. Don’t even think about firing up a virtual machine.

RAM is relatively inexpensive so rather than rely on HDD swapping, just plan ahead and get a minimum of 8Gb’s of RAM if you’re working with MOSS 2010.

How I would have implemented HTML 5

HTML is pretty messy, but I think I’ve found a simple way it could be cleaner and more semantic, and wouldn’t require a degree in rocket science to learn.

Here is how I would have written HTML 5.

1. Good bye HEAD and Doc type

Instead a typical HTML page can follow this structure:

As you can see no BODY tag either, replaced with Canvas, this is the viewable area in the client, be that a phone, pc, netbook whatever!

You might be wondering what’s the story with <AnyTagYouWant>, well its simple and beautiful write standard XHTML, HTML 4 or HTML5 tags if you want, but you can just as well create your own tags on the fly. This offers the perfect semantic solution.

No need for <Div id=”listOfItems” class=”productList”> – forget about this! Instead write <computerProducts /> or any tag that makes your code very easy to read.

Real mappings are included in the style…. Yes style needs some rewriting too!

An example style would be

Menu1 { tagType=’div’} , The browser would be smart enough to handle this mapping when it reads in the style.

You might be thinking thats a crazy amount of more style I would have to type. Not really, not if it was automated with intellisense. Imagine if as you typed a custom tag, intellisense displayed code completion to the selected element and created this style for you and set the tagType.

This would also add some bad ass extra meaning to to the JS function – getElementsByTagName – don’t you think?

Working from home in IT

I didn’t purposely set out to find a job where I worked from home, it just happened. I was lucky enough to find an open minded company who had an easy going approach to the distributed work environment.

I’ve been working at home for over a full year. These are my experiences. Get a coffee, get comfortable and enjoy!

Without bogging you down with details, I should mention I’m a C# developer. I can play nicely in a team, but I way prefer working alone. I never enjoyed Soccer in school, but I did play Tennis. I still play Squash, and I’m into chess and other stuff I can do on my own.

IT as a career suits me pretty well. I would never be completely satisfied with a career in sales or marketing (too much talking). I’ve yet to find any motivation to branch off into management because I still enjoy the technical aspects of programming.

So what’s nice about working from home? A lot! Its cheaper than having to commute daily, no petrol bill. You also are not forced into taking expensive lunches. You don’t have to wake up 3 hours before you start working to get ready. You don’t have to have clothes ironed and ready the night before. Because of this alone its a lot more efficient and I would say easier on the environment too.

Office politics is brought down to a bare minimum. The company I still work for has a staff compliment of around 30 people, most of which I’ve never met. I interact mainly with a few managers and developers and usually to discuss work stuff. There are exceptions when we will talk about non work related stuff over Skype or phone, but never typical office politics and gossip. Never, not even once. This really simplifies your life.

Also less mucking about. I’ve worked in a variety of situations and differant size companies. Perhaps my least favorite environment is the open plan office layout where you have more than 100 or 200 people. I have little tolerance for Douche bag clowns, being somewhat of a geek my motivations for opening my mouth are not to be cool and not to impress people. When I see such behavior around the office I get annoyed. I could rant all day long on the Office Douche, but my point is when you work from home, there is no concept of this. You are in control of what information passes by you. You don’t have to be reminded about Lady Gaga every time someones phone rings. Its not exactly North Korea either, obviously you have your own group of friends and you have access to social networks such as Reddit or Diggs.

You might think – “So you work from home, that means you can do what ever the hell you want when you want”. This is completely untrue. I would like to tell you I’m a good Johnny who sits at his desk for 8 hours straight coding only to pause when taking a toilet break. I don’t, but I certainly don’t play Counter Strike either. The actual work I do is equivalent to that of a motivated developer who works in the office. The main difference is when you’re in an office environment, you’re paid some of your salary just to be in the office. I’ve worked in some places where guys rock up at work, drink coffee and chat for an hour, start working take a lunch break, work for 2 hours take another coffee break sit and chat for an hour, and so it goes. A great deal of office working performance is measured in seat time. When you’re at home you have no way to prove you’re really working, so your progress is measured by your ability to complete tasks.

This brings me to Scrum. While I do like the concept of Scrum, its certainly way better than Waterfall, I do think Scrum can be a bit relentless. Scrums purpose is to improve efficiency, Scrum expects a great deal of the participants. There is very little room for chill out periods or for bad days. Scrum is idealistic in this regard, and although it forms a good basis for distributed environment management, I would say someone should develop D-Scrum or Distributed Scrum.

When you work from home you do have your bad days when you just don’t feel like working, you can feel isolated, you might decide to take off a friday and put in 8 hours over the weekend. In this regard when you work from home, this is entirely your choice.

I would like to finish this article on the important subject of communication. I have found that some team members do not mind using Skype or phone to communicate. Everyone in our company has decent internet speeds, certainly enough for 720p video conferencing. I have only ever used video chat twice. One was as a test, the other was an interview with auditors. I find the team I work with do not obsess about communication. We have weekly meetings and thats about it, unless something important comes up then we usually Skype or use the phone.

It is still a great mystery to me how distributed communication can fail so miserably at times. We have Skype, Video conferencing, phone communication, text and email, yet for some reason in a crisis I will get called in for in person meetings. I’ve had crucial meetings delayed purely because certain team members refused to have the meeting remotely. This is some kind of a mental block. It bothers me that technology is advanced enough (in theory) to handle this type of communication yet in practice so few are really willing to adopt it. Again I’ll state this is not because the technology has let us down, this is a human condition. 2 remote workers will make a plan to comminucate. Both have empathy to the situation. However when you work remotely and your entire office are all onsite, I find people actually boycotting communication rather than making due with Skype or Video conferencing. This is ultimately the make or break of your ability to work from home, how your team members embrace communicating with you remotely.

Summary: Working from home is a great privilege and can vastly reduces the stress in your life. You can be as efficient, possibly less, possible more so than an office commuter if you are managed correctly. I wish more companies would offer IT developers the option to work from home.