The best time to produce loads of code is when It’s cold outside …
Websites and blogs of people that attended a Homebrew Website Club Düsseldorf.
ReadAssembylName a handy tool to get fully qualified assembly names
I’m currently working on a project together with Jürgen Bayer (autor of the C# 2008 Codebook and the Visual C# 2008 Kompendium) that makes use of a lot of dependency injection. The configuration files are blown with fully qualified assembly names but how do you get them? Working for instance with custom providers for ASP.NET membership, ASP.NET profile or ASP.NET roles gets you in the same circumstances. In the past I fired up Red Gate’s Reflector and loaded the needed assembly to copy the name.
SOA, WCF and Distributed Systems talk in Frankfurt
Kostja invited Michael and me to speak at the next event of the .net user group in Frankfurt (Germany). We’ll show some real project implementations and tell stories from the technology and architecture trenches. The event will be hosted at Microsoft in Bad Homburg. Further details can be found here…
netug-niederrhein.de User Group Meeting
The user group met today at netzkern, a company in Wuppertal specialized in .net development and SiteCore - thanks the venue and drinks! Thanks to Matthias for the pic! This time we had “Sliverlight 2 in the real world” as a topic presented by Florian Kruesch. He presented new visual features as well as use cases and projects he’s working on. Because he didn’t touch the non-visual stuff like Isolated Storage he invited me to show something that I’ve build with the bits:
First Day at PDC
The first day of PDC is almost gone. I met my former Boss Clemens Vasters had a nice conversation during lunch with John Lam and “a guy with a blue shirt” that I’m not allow to cite here :-). Micheal Willers, Ron Jacobs and I talked about SOA, Dublin, OSLO and the sometimes hard job trying to explain people the problems they will have in the feature (commonly known as archtecture :-P).
Freeing up Disc Space Batch
In reply to Scott Hanselmann’s post on freeing up disc space I’d like to share a batch that I’ve written some time ago to clear different temp directories for instance before I run a backup. the referenced file “cleanup.txt” just contains the text “yes” (w/o quotes) to automate the cacls command. @Echo off for /f "tokens=3 delims=\" %%i in ("%USERPROFILE%") do (set user=%%i) 2>&1 @Echo on * del /F /S /Q "C:\Users\%user%\AppData\Local\Microsoft\WebsiteCache\*.
UrlAuthorization with ASP.NET Routing
What is life without security. In the last posts I told you how to do URLRewriting with the ASP.NET 3.5 RoutingEngine and how to pass query strings to the destination Web Form. In this post I’ll add some authorization code to let ASP.NET Authentication mechanisms play well. The first step is to figure out which authentication mechanism has taken place in the local configuration file. For the case of forms based authentication it would be nice to redirect to the configured login Web Form, for all other authentication mechanisms we can only throw a security exception and set a HTTP status code.
ASP.NET Routing for URLRewriting with QueryStrings
In the last post I showed how to use the ASP.NET 3.5 Routing Engine for URL rewriting purposes. I want to go further in this post by adding the ability to add variables into a route path and forward and append query string variables to the destination Web Form request. A route can contain one or more variables expressed by its {name}. RouteTable.Routes.Add( new Route( "articles/{id}", new devcoach.Web.RoutingPageHandler())); Inside of the RoutingHandler we can iterate through the variables by accessing them by the RouteData property on the parameter passing the RequestContext:
ASP.NET Routing for URLRewiting
With ASP.NET MVC comes a component that is called the routing engine. In ASP.NET MVC it is responsible to assign a controller to an incoming request: From an conceptional view the routing engine consists of two parts: a) The RouteTable which stores the information which routes are defined b) The UrlRoutingModule which finds matches to routes on incoming requests. But the routing engine is not limited to MVC in its use.
The only feature in word 2007 that is not easily accessible..
A note to myself :-)
Do not trust user input - live.com
I was searching for a colleague’s blog in a “legacy search engine” ;-)… and found a page in Kay Giza’s blog which linked “Niel Gräf” to somewhere. It wasn’t his blog, It was a linked “Live Search”: http://search.live.com/results.aspx?mkt=de-de&FORM=TOOLBR&q=“Nils+Gräf”&FORM=TOOLBR Kay please don’t take it personal… What we see is a foreign page calling into Live without encoding the URL properly. That is what every non technical publisher will do - because they do not know better!
Database-Normalization And Scalability
In his last post Jeff Atwood summarized really really nice the discussions I have (and had over the last year) while helping customers on large scaling web sites, service-oriented back-ends or just the plain old data access topic. Thanks Jeff! All others: Go read!
Thoughts on JBOWS and the victom of "yet another tool"
I really enjoyed reading Nicks post here. If you take a group of well-meaning and intelligent engineers, and you give them a process that looks like a normal software development process, and you train them on it, and they believe that this process works… and you add SOA… you get JaBOWS (Just a Bunch of Web Services). Many companies out there trying to get on the SOA road fail by believing a tool can lead the way.
Simplify LINQ code?
A few days ago a developer at a customer asked me how he could simplify the following code as he identified a pattern: X tries and the error handling. public PlanungsGruppenLesenA PlanungsGruppenLesen( PlanungsGruppenLesenF param) { PlanungsGruppenLesenA ret = new PlanungsGruppenLesenA(); if (ret.PlanungsGruppen == null) { throw new ArgumentNullException("param.PlanungsGruppen"); } int nRetry = 0; while (nRetry < DBWerkzeug.MaxWiederholungen) { try { using (XXX_POC.POC db = new XXX_POC.POC( DBWerkzeug.GetConnectionString())) { var q = from p in db.
JSON support for IE
Pretty helpful while working on WCF services with JSON serialization and AJAX: REGEDIT4 [HKEY_CURRENT_USER\Software\Classes\Mime\Database\Content Type\application/json] "CLSID"="{25336920-03F9-11cf-8FD0-00AA00686F13}" "Extension"=".json"
NRW07 - succeeded!
Last friday we (Stephan Oetzel and me - JustCommunity e.V.) held the NRW07 (Germany’s biggest software developer and IT professional community conference) in my hometown Wuppertal at die Börse. The organization of the event and founding the company devcoach were the reason why it was pretty quite around my blog the last months - so sorry for that. Photo by Thomas Freudenberg The event was a huge success. we had around 130 people (including speakers) - a great audience from all over the country.
Running ReSharper 3.0 with VS 2008 (Beta 2)
This morning I downloaded Visual Studio 2008 Beta 2.0 and installed it over the day. As always when a new version is out I’m looking forward to use the new features, but… As always I start missing the Add-Ins I usually use in the old version of the IDE - especially this is the case with ReSharper. So I tried out a few things and finally got it to run.
My shopping list for today :-)
1 x Intel Core 2 Duo E6850 (4096Kb/2x3Ghz) 64bit (Conroe) 1 x Arctic Freezer 7 Pro 4 x 2048MB DDR2 1 x Chieftec “Bravo-Series” Tower (400W) Black 3 x HITACHI DeskStar 250GB (SATA II) 1 x ABIT IN9 32X-MAX WiFi “Beast” 1 x DVD-RW SATA 1 x NVIDIA Geforce Club3D 8600GT (512MB)
IKEA Page Flow
copyblogger has a nice story on “IKEA content”… After a discussion with my colleague Michael Willers (his famous security blog is down moving and will be up again soon…) I’d like to push it further/see it from a different point of view: (Especially in the web) Applications are content or at least provide content (That is the was HTTP, REST, etc. work). I think also Jacob Nielson would agree that forcing the user to use a path instead of allowing the user to decide is wrong.
IE Active Content Update
I’m back on ASP.NET (at least more than last year :-)) - And it feels great (again) digging deep into some interesting areas around user interfaces (also WPF!!!), processes and tasks, state management, async stuff (multi threading/AJAX & JSON) and so on… Personal Ref.: Activating ActiveX Controls Adobe’s comments on the topic… IE Persistence Behaviour Tabbed Browsing for Developers Search Provider Extensibility in Internet Explorer