# Monday, May 22, 2006
Left Handed Laptop

I went shopping for a new laptop for my brother this past weekend. It was nuts - Circuit City didn’t have the display model for the one that we wanted to buy and they would not open the box to let us look at the one that we were interested in. My brother didn’t care, but I was a touch perturbed by it all. It’s the little things that really make a difference to a real road warrior and they wouldn’t let us check those things. It turns out that I was right to want to check – it was set up as a left handed laptop. What I mean by that is that the power was on the right hand side where it’s in the way of the mouse and the USB ports and the like were on the left hand side where you have to run cables from the mouse all the way around the rest of the box to plug it in. This would be great if me or my brother were actually left handed but we are not.

I don’t know of other people think the same way that I do about that, but it drives me nuts when I see that type of setup. I think that laptop manufactures should put left handed or right handed on the box so we know when they put all of the ports on the sides of the box. The laptop that I’m using right now (Fujitsu T4020 Tablet) has a USB on the left and one on the back. The one on the back is obviously for the mouse. The power is also on the back. This means that it can be ambidextrous. I guess that’s one of the differences between a $550.00 laptop (what my brother bought) and a $2000 tablet (what I bought).

I wonder if the manufacturers consciously think about these issues…


Hardware
Monday, May 22, 2006 9:50:47 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Thursday, May 11, 2006
Ping...

I’m still alive – I’m just swamped! I’m working full time onsite with a huge deadline on Friday and trying to organize a conference (http://dayofdotnet.org) this week. I could drop either of those tasks and still have a busy week. I don’t know where I’d be without the help of John Hopkins and Jason Follas on the conference and with John’s help at the client.

I did squeak out to hear a fantastic talk from Dustin Campbell at Ann Arbor .NET Developers Group on the top 10 developer tools that everyone that uses Visual Studio needs. I even picked up a few last night. ILMerge was new to me. I learned a lot about CodeRush last night as well. I’m an avid fan, but I still learned a ton…

More next week – after things calm down.



Thursday, May 11, 2006 11:54:18 AM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Thursday, May 04, 2006
AACS Grok Talks Last Night

Last night’s Grok talks were a smashing hit! I was so happy with how everything went off. We had:

Jason Follas speaking on T-SQL Enhancements in Sql Server 2005 SQL CLR (Turns out Jason reads my blog and corrected me... :)). Jason is one of the local experts on SQL Server 2005 and ran through a quick preview of what his talk is going to be on at Day of .NET.

John Hopkins speaking on ADO.NET Table Adapters. He showed how much code you could save with careful use of the table adapters. It’s amazing how little control you are giving up for that much power.

Darrell Hawley speaking on role based authentication for web services. It was impressive that he got through that much code in that little time. He showed how to secure the web service with roles so that you could have no access, view access, edit access or add item access. All of this is very close to reality so it was, in addition to being entertaining, was very practical.

Bill Wagner talking about C# 3.0. As always, I learned something new when listening to Bill talk. He talked about the var keyword in C# 3.0 and explained how it’s actually a strongly type keyword, it’s just that the type is not known until compile time.

Aydin Akcasu talking about Kids Programming Language. This was a preview to his talk at Day of .NET. It was an exciting talk that got me excited about the possibilities that I could have with my son programming.

Martin Shoemaker talking about building speech and ink applications for the tablet. This was an interesting talk because Martin didn’t talk the whole time – his tablet did all the talking. While he didn’t show as much code as he might have in a traditional talk, he showed what was really possible.

Josh Holmes (me) talking about the ASP.NET 2.0 – Health Monitoring. I also MC’d the whole deal. That was fun! It was also a treat – I came in on time because I had a lot of people timing me that were under strict orders to pull the hook if I went over.

And finally

Carl Franklin of .NET Rocks talking about remote podcasting. This was fun because he was remote. He was tied into the PA system through a phone connection and VNC’d into Bill Wagner’s laptop so that he could do his presentation. There were a ton of moving parts, but it all went rather smoothly.

I’m hoping that we will repeat the Grok talk idea really soon. It was a ton of fun and the audience seemed to get a lot out of it.


Speaking | User Groups
Thursday, May 04, 2006 7:21:47 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

SharpKeys

I’ve been listening to some of the old (January 2006) HanselMinutes (http://www.hanselminutes.com) and found a fantastic utility called SharpKeys (http://www.randyrants.com). It’s a key editor that will remap any of the keys on your keyboard.

I’ve had one HUGE issue with my new tablet (new as in December) which is a Fujitsu Lifebook T4020. That issue was that the End and Home keys are function keys! In other words, I have to hold down the function key and then press PageDown to get End. I use End all the time and in combination with other keys whereas I rarely use PageDown and only use it by itself so it’s not a big deal to hit a function key for that. It took just a quick moment to reverse those so that End is where PageDown used to be and PageDown is the function key.


Hardware | Utilities
Thursday, May 04, 2006 2:39:19 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Friday, April 14, 2006
Security Focused Article in Visual Studio Magazine

I'm an officially published author now. It's very cool to see my name and BIO on article. I think that this will be the first of many.

This was a joint article between me and Gabriel Torok of PreEmptive Solutions.

It covers 8 specific ways that you can Reduce Your Code Vulnerability to various attacks.


Articles
Friday, April 14, 2006 12:55:05 AM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Thursday, April 13, 2006
Obfuscation, IT Governance and Enterprise Risk Management

There’s a free webcast coming up that you should know about titled “Obfuscation, IT Governance and Enterprise Risk Management”. It’s being hosted by PreEmptive Solutions – the creators of Dotfuscator. They know just a bit about the topic so it should be worth hearing.

 

Event: Obfuscation, IT Governance and Enterprise Risk Management  

Date and Time: Monday, April 24, 2006 1:00 pm Eastern time zone

Duration: 30 minutes

Description: Attendees will leave with a clear understanding of the role of obfuscation as an effective control for application security, access control, IP protection in the context of broader IT governance and enterprise risk management frameworks.


Utilities
Thursday, April 13, 2006 12:00:11 AM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Wednesday, April 05, 2006
Speaking at VSLive Toronto 2006
VSLive Toronto Logo 

ASP.NET 2.0 Security Features
April 26th 10:30 a.m.
ASP.NET 2.0 raises the bar on web application security. From the new ViewState encryption mechanisms, to the new auditing and logging support, to the partially encrypted web.config files and more, there are a lot of new features in ASP.NET 2.0. In this session, we will look at many of the new features and show how you can leverage these to make your applications more secure. 

Managed Code in SQL
April 26th 2 p.m.
SQL Server 2005 will change the way that you architect your databases. Among the many enhancements to SQL Server for the 2005 version, one of the most anticipated and exciting features is the ability to run managed code within the SQL Server process. But how do you as a developer leverage this ability? There are many ways for you to leverage this new functionality from writing your triggers to writing your business logic in C# or VB.NET or even creating UDT (User Defined Types). Some of these features are more useful and practical than others. As the adage says, just because you can doesn’t mean that you should. It applies here because there are times that you should not use .NET to solve a problem that T-SQL solves better and vice-versa. In this session, we discuss how, why and (very importantly) when you would want to write managed code for SQL Server 2005. 

Thousands of Users, Personalized Service – Portals and Web Parts in ASP.NET 2.0
April 27th 11:45 a.m.
If you’ve used http://my.msn.com, you’ve wondered “How’d they do that?” Now you can do that too, through personalization with user controls and custom Web parts. This level of personal service and response has been the realm of a lot of custom code or SharePoint until now. The personalization is managed through a WebPartManager which controls any number of zones on the page. In your controls that reside in these zones, through the proper use of properties and attributes, you can have global settings, role-based settings and user-based settings or some combination of all three. Obviously, this could complicate your testing scenarios greatly so careful design and implementation are a necessity. In this session, we will create several custom Web parts, put them into a portal site and show how easily this site can be customized. In addition, we will look at some of the potential disasters and how you can avoid them.

ASP.NET DataBinding
April 27th  2 p.m.
Data Binding is an extremely useful feature of ASP.NET. While it has been around since the beginning of ASP.NET, it has received a lot of attention in ASP.NET 2.0. The DataGrid, yes – that control that we all know and love, has given way to new controls such as the GridView, DetailsView and FormView. There are many new sources to bind to including XML based data sources and more. Between the new data controls, the new functionality on data bound controls and the new declarative data controls; we can reduce the amount of code in your standard web applications tremendously while improving performance and stability. In this talk, we will investigate the new features of data binding and show how it can impact your development.


Speaking
Wednesday, April 05, 2006 3:53:14 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Monday, March 20, 2006
Scott Hanselman raising money to fight Diabetes.

Diabetes is a topic near and dear to my heart. I have had close family suffer from it and a few pass away because of it. In fact, I’m a high risk, due to family genetics, of developing Adult Onset Diabetes (Type II) as both of my uncles on my mother’s side developed diabetes in their 40s. My grandmother and several of her brothers and sisters are also suffering from it as well.

 

 

All that being said – Scott Hanselman (http://www.hanselman.com/blog/TeamHanselmanAndDiabetesWalk2006.aspx) is walking to raise money for the fight against Diabetes.

 

 

Please visit and see if you can help out this very worth cause that definitely affects someone that you know. 



Monday, March 20, 2006 3:00:46 PM (GMT Standard Time, UTC+00:00)  #  Comments [0] 

# Wednesday, March 15, 2006
More adventures with SQL Server Express

This was fun. It’s a completely different database and set of circumstances than last night's fun and frivolity.

I finished an application, zipped up the folders and sent it off to a client. In this application there is a desktop app that talks to a web service that talks to a SQL Server 2005 Express database. Sounds fairly simple, right? Right.

Well, the client unzips it all to a directory, sets up the virtual application for the web service and starts trying to run the desktop portion. It starts up, pulls up all of the lookups that we have in the database and it all looks good. Now, I’m on the phone and elated at how smooth this is going. At this point, the client tries to create a new record which is going well (wow, even a little drop down calendar and oooh look at that, it’s all of the types of records that I could create so I don’t have to type there… wow… and more gushing) until they try to save… At this point, there is a wonderful error that pops up –

“Failed to update database ‘database name.mdf’ because the database is read-only.”

Crud! After getting them to check the file properties and other such things, I called Patrick Steele, who has been working with me on this project, to see what he thought about it. It’s been a long day, especially after last night’s SQL Server Express issues, so I’m not thinking all that clearly. Patrick, after running through some of the same questions that I had so I’m feeling a little better about my thinking, has the thought that it might be a security issue and that the ASPNET user might not have permissions to write to that directory. Sure enough, since the ASPNET user doesn’t have permissions the database loads in read-only mode. Fix that and the database and the app work just fine.


Development | SQL Server
Wednesday, March 15, 2006 2:11:56 AM (GMT Standard Time, UTC+00:00)  #  Comments [0]