Feeds:
Posts
Comments

Archive for August, 2011

Still Gloomy

Contrary to what we hoped, August 2011 was not a sunny month – we have the numbers to prove it.

Read Full Post »

Kevin Benore has attended a sneak preview of Zeus aka CF 10, and he has published a list of features of the next version of ColdFusion. I hope the final release (when?) will contain all items mentioned here (and more, of course). For me, the replacement of JRun by Tomcat and better WebService support are the most interesting and most wanted features.

Read Full Post »

Interestingly, in Confessions of a Microsoft Technology Purist, a self-proclaimed Wintel fan writes: “… we all are becoming device agnostic […] and increasingly, OS agnostic…“. You wouldn’t expect to see a SharePoint Pro bringing a MacBook Air and an iPad to a Microsoft conference, would you?

On one hand I wonder: why did it take this man 15 years to accept the fact that Apple makes better, more portable portables than any other company ;-? Why does he, as fan of a company that once dissed the Internet as irrelevant, today embraces the fact that cloud computing (however you define it) is becoming an essential part of our daily professional and personal lives? Alright, I’ll stop being sarcastic, because it’s good to see that people change their point of view and chuck their prejudices.

On the other hand my own “computing situation” has evolved as well. Macintoshes are no longer the only computers in this house. MacOS is no longer the only serious OS on the CPU’s around me, with Ubuntu Linux and Android. More and more of my documents – blog posts, email, photos – are stored somewhere online.

It’s an Apple-Google world now but what does that mean for SharePoint and Microsoft?” – well, it means that Microsoft will have to learn to integrate its solutions into the online world, in one way or another. Buying Skype (or Facebook, or Twitter, or …) may help (or not – we’ll see), but only the future will tell what the IT landscape will look like in one or two decades…

Read Full Post »

I have had a bit of trouble to get ntmlHTTP running correctly on our servers. In response to my ticket on RiaForge, Nick Harvey clarified the dependence of the DLL on .NET version 3.5 (or higher, I suppose). I’m not a Windows nor a .NET specialist, and I don’t have many rights on the servers at work, so it took me and my collegue a bit of time to conclude that we were trying to run Nicks code on a .NET 2.0 base – and that didn’t work out, of course.

I already have a few ColdFusion pages with diagnostics about our servers, so I decided to do the right thing and add the .NET version to the existing diagnostics. It took me a while to find the exact class and method in the .NET runtime, but it turned out to be simple. So I have created a small ColdFusion CFC to help me (the » symbol means you should put what follows on the preceding line):

<cfcomponent
   name="DotnetRuntime" >

   <cfset VARIABLES.re = CreateObject( "dotnet",
             » "System.Runtime.InteropServices.RuntimeEnvironment" ) />

   <cffunction
      name="GetRuntimeDirectory"
      access="public"
      returntype="string"
      output="false" >

      <cfreturn VARIABLES.re.GetRuntimeDirectory() />

   </cffunction>

   <cffunction
      name="GetSystemVersion"
      access="public"
      returntype="string"
      output="false" >

      <cfreturn VARIABLES.re.GetSystemVersion() />

   </cffunction>

</cfcomponent>

Once you have that component, it’s pretty simple to use it – just put this in a .CFM (I’m supposing you have called your CFC ‘DotnetRuntime.cfc‘ in the current directory):

<cfsilent>
    <cfset dotnet = CreateObject( "component", "DotnetRuntime" ) />
</cfsilent>

<cfoutput>
   <html>
   <body>
      <h1>Dotnet Runtime Environment</h1>

      <p>
         This ColdFusion server is currently running <b>.NET version #dotnet.GetsystemVersion()#</b>
         from directory '<code>#dotnet.GetRuntimeDirectory()#</code>'
      </p>
   </body>
   </html>
</cfoutput>

So there you have it. I know this works in our setup, but I don’t know what will happen when there are multiple .NET runtimes on your machine… That’s why I wrapped the code into a CFC –  functions to detect specific versions of .NET, handle multiple runtimes, etc. can thus be added in a single component for easy versioning and maximum reuse. Suggestions or additions are welcome!

PS. I have left the “hint” attributes out of the code above, because I haven’t yet found a good way to publish program code in WordPress.

Read Full Post »

Many years ago, I started collecting maxims about program design that – in my opinion – reflect the essence of what good programming should be. You could say that I wanted to capture “programming meta-standards”, that can be applied to programming regardless of the programming language, runtime or operating system you are using. Christopher Diggins had tha same idea, and his list of “Principles of Good Programming” is virtually identical to mine – now I don’t have to publish it myself ;-)

Oh, you want to know what was different in my list? I did not have the “Principle of least astonishment“; that must have seemed too obvious to me. And instead of “Write Code for the Maintainer” I have the very similar “The best comment is the code itself” (aka.”The best comment is no comment“). Using sound algorithms and good names for constants, functions, methods, variables, etc. you (almost) don’t need explicit comments, and that is a good thing because the maintainance of code is hard enough without having to to maintain the comments as well. Some developers apply the same principle to documentation, but that goes too far in my book.

As mentioned in a comment on the original version of Christophers blog post, there is a nice Clean Code Cheat Sheet that may help as well – it also lists a fine collection of “code smells”, i.e. indicators of bad code…

Read Full Post »

Ginger Stir Fry has been running flawlessly on my Blade since the installation on August 8th. My only gripe with this version is missing support for the video format used by the news website of the public radio and TV company (I had no problem with those in CyanogenMod).

Meanwhile, August 19th saw the appearance of a new version of Ginger Stir Fry. Perhaps I should upgrade my beta 19 to the brandnew beta 21 to see my problem solved?

Read Full Post »

CSS3 Help

I can’t guarantee that they are really “the best”, but it’s good to have a starting point if you’re looking for assistance with CSS3: “10 of the Best CSS3 Code Generators” (at sitePoint.com).

Read Full Post »

Older Posts »