Thursday, November 17, 2011

Sql Server Management Studio intellisense not working

My intellisense in Sql Server Management Studio (SSMS) stopped working months ago and I finally decided to get it back.
Turns out that installing VS2010 R1 disables intellisense in SSMS. Who knew?
The solution? Install the cumulative update 7 for SqlServer2008.
1. Go to here and select "SQLServer2008R2_RTM_CU7_2507770_10_50_1777_x64" if you are running the 64-bit version (it's fifth from the bottom). Download it. Well, you can't just download it. Frustratingly, you have to enter your email address and then they email you the link.
<grip text="Why can't microsoft just have a menu option in SSMS under "Help" for "Update to latest patches" - even Quicken does that." />
2. Click on it to execute it and wait. Wait some more. Then realize, it's not going to run the installer it just unzips it to a directory.
3. Go to that directory and run "SQLServer2008R2-KB2507770-x64.exe" and that will install the update.
4. Although it doesn't encourage you to do it, reboot your system.
Worked for me.

Monday, November 14, 2011

Aparapi - Accessing the Power of the GPU from Java

Gary Frost from AMD presented the Aparapi library to the Java Users Group last Tuesday, Nov 8th, 2011. The Aparapi library makes it easy to write parallel java programs on the GPU using OpenCL. Gary has done some very impressive work with Aparapi. Before Aparapi programmers had to code large blocks of repetitive boilerplate code to get their algorithms to be executed on the GPU. Aparapi does that for us automatically.
If a GPU is not present Aparapi will use separate threads to enhance performance.
Gary showed an example of the nbody problem where two galaxies collide to demonstrate the power of the GPU.
Some of the performance hit of transferring data to and from the GPU and the CPU should vanish when AMD's fusion chip, which has the GPU and CPU on the same chip, becomes widely used.
Gary mentioned that we are entering a world of throwaway CPU power. He gave the example of parsing an XML file by dividing it into two parts. One thread would parse the first section, but the second part of the file might depend on the 67 states that the first part might be ending in. The solution is to have the CPU/GPU parse the second half in all 67 possibilities, so that when the first part is done the second part will already be finished.

Thursday, October 20, 2011

A Tale of Two Servers

"It was the best of times, it was the worst of times..."
Recently I came across two database servers, one with fast execution times, the other with slow execution times. Both machines were running windows server 2003, both had similar hardware, both had similar disk access speeds, yet one was over three times as fast as the other.
We puzzled over what could be the cause of the difference.
Can you take a guess?

Turns out the fast machine was running the 64-bit version of Windows 2003 and the slow one was running the 32-bit version. The fast 64-bit machine could load entire tables directly into its 8 Gig memory making it much faster. The other machine, when it wasn't hammered by disk thrashing, was probably wondering what it was doing with all that extra memory it couldn't access.

Friday, October 14, 2011

All My Apps Disappeared When Upgrading to iOS5

I upgraded my iPhone 3GS to iOS5. All my apps disappeared promptly. Here are instructions on restoring some of your apps:
In ITunes, on the left side select your iphone under "DEVICES" (I don't know why they shout at us in all caps).
Then on the horizontal menu bar across the top, select "Apps".
In the upper left corner of the window, select the "Sync Apps" checkbox.
In the app list below, check all the apps you want to restore.
Then in the bottom right select "Apply".

This reloaded all but my apps living in a subfolder. They are still missing. I'll update here if I can bring them back.

Tuesday, October 11, 2011

Pictures from HTML5tx October 8, 2011 Austin TX

This last Saturday the HTML5tx conference was in Austin.
The conference was very well organized with good food and good directions around the campus. An Open Space component was running simultaneously with the prepared sessions. To my surprise the Open Spaces were well attended.
To me the major theme of last week's Pablo's Fiesta and this week's HTML5 was "Regressive Enhancement"; with modernizr and pollyfills we can actually start using the features in HTML5 now, even in older browsers, yes Virginia, even in IE6.

Here's a few photos:
Opening session
http://www.fincher.org/images/2011-10-08-0835-IMG_4349.jpg
Mike Taylor from Opera gave a talk on the HTML5 DOM and the associated IDL. I was impressed with Opera Dragonfly, a debugging environment shipped inside Opera.
http://www.fincher.org/images/2011-10-08-0931-IMG_4350.jpg

http://www.fincher.org/images/2011-10-08-0933-IMG_4351.jpg
Alex Sexton gave an excellent overview of modernizr and yepnope and the whole polyfill game.
http://www.fincher.org/images/2011-10-08-1025-IMG_4352.jpg
HTML5 even has its own gang sign (Be sure to remember it if your caught in a dark alley between a gang of Ror guys and those PHP punks)
http://www.fincher.org/images/2011-10-08-1025-IMG_4354.jpg
Estelle Weyl at www.standardista.com presented a very informative session on HTML5 forms.
(If you see her, be sure to wish her a happy Columbus day). Estelle showed how to style invalid input boxes with CSS. I liked her presentation format of using
http://www.fincher.org/images/2011-10-08-1544-IMG_4355.jpg
We ended with a panel discussion
http://www.fincher.org/images/2011-10-08-1633-IMG_4360.jpg
Mike Wilcox gave an interesting history of video on the web, including H.264 (based on Quicktime), MPEG/4, WebM. Some browsers support some video encoders natively, but no video format enjoys support from all browsers. Mike's solution? Upload your video to YouTube and let them figure all that out.

A few useful sites:
CanIUse.com Summary of browser features like HTML5, CSS3 and SVG
html5boilerplate.com examples of best practice in html5 and CSS
schema.org for schemas
microformats.org/

Monday, October 10, 2011

VS2P4 - A Visual Studio Plugin for Perforce

I've been using VS2P4 for a while and really like it. VS2P4 automatically checks out files in Visual Studio. Dale Brubaker has done a fantastic job with this plugin.

Saturday, October 08, 2011

Pictures From Pablo's Fiesta - Open Space Austin TX Oct 30,2011

I went to my first Open Space Conference, Los Techies's Pablo's Fiesta. Here's a few photos:

Doc Lister started by giving the ground rules of an Open Space Conference. Four ideas and one rule; or was it four suggestions and two golden rules? Whatever.
http://www.fincher.org/images/2011-09-30-1757-IMG_4246.jpg
http://www.fincher.org/images/2011-09-30-1813-IMG_4249.jpg
http://www.fincher.org/images/2011-09-30-1814-IMG_4250.jpg
Matt Hinze was one of the suggesters of sessions for the next day.
http://www.fincher.org/images/2011-09-30-1818-IMG_4252.jpg
http://www.fincher.org/images/2011-09-30-1823-IMG_4253.jpg
Jeffery Palermo suggested a session on how to hire programmers.
http://www.fincher.org/images/2011-09-30-1827-IMG_4254.jpg
http://www.fincher.org/images/2011-09-30-1827-IMG_4255.jpg
http://www.fincher.org/images/2011-09-30-1845-IMG_4257.jpg
Our list of sessions:
http://www.fincher.org/images/2011-09-30-1847-IMG_4261.jpg
We did a "fishbowl" exercise with five chairs, one has to be empty, and people talked about software quality - reminded me of Zen and the Art of Motorcycle Repair.
http://www.fincher.org/images/2011-09-30-1856-IMG_4263.jpg
http://www.fincher.org/images/2011-09-30-1856-IMG_4264.jpg
Jeffery Palermo and Steve Done hosted a session on how to hire good employees. Jeffery asked a good set of questions:
How long does it take to learn you've made a mistake in hiring? How can you simulate the process in hiring to avoid making that mistake?
Jeffery did something very good near the end of the talk. He asked everyone who had contributed to the discussion to be quiet so we could hear from those who were quiet. This had the effect, for a little while, of silencing those who had been a little too verbose early on.
http://www.fincher.org/images/2011-10-01-0936-IMG_4332.jpg
http://www.fincher.org/images/2011-10-01-0937-IMG_4335.jpg
http://www.fincher.org/images/2011-10-01-1056-IMG_4338.jpg
http://www.fincher.org/images/2011-10-01-1056-IMG_4339.jpg
http://www.fincher.org/images/2011-10-01-1225-IMG_4342.jpg
http://www.fincher.org/images/2011-10-01-1236-IMG_4343.jpg
http://www.fincher.org/images/2011-10-01-1617-IMG_1353.jpg

My random tidbits:
Test your site in IE early. Sometimes IE's JavaScript is so glacial your site is unusable.
Check out Blueprint.css for web templates.
Node.js is a server-side JavaScript library to host simple web sites.
Watin is preferred for Web GUI testing.
Use Socket.IO library for web sockets
http://dailyjs.com/ for your daily dose of JS.
Cloud9ide.com is an interesting site - your browser is the ide. Cloud9 will publish your site directly to github. Cloud9 doesn't do compiling, because the cool kids are writing in scripting languages.
Checkout John Teague's blog. He did a great session on Node.js
coffeekup.org
Use nhprof.com to profile your nhibernate code. Other ORMs: dapper, petaPoco, Massive
Sql 98 GoldParse.txt
CQRS - Command Query Responsibility Segregation
SignalR is an event sourcing library that degrades well over different browsers. It tries WebSockets. If the browser doesn't support them it tries a flash program, then long polling to communicate with the server. (This can be bad if you have a lot of customers using old browser using long polling - can tie up threads on the web server)
trello uses SignalR
NServiceBus