Archive

Archive for the ‘Software’ Category

The future smells like JavaScript

February 2nd, 2012
jonas.bandi

Of course I am only repeating what others are preaching about the recent rise of JavaScript.

But I think the movement is significant and can’t be overstated. And recent developments are really even making it more and more interesting.

Nobody can deny hat JavaScript is the de facto programming language of Html5. Every other language trying to bolt itself onto Html5 looks like pure friction so far. And Html5 is looking upon a prospering future.

Today we are used to some established JavaScript frameworks that make working with JavaScript more fun and productive. jQuery seems to emerge as the clear leader by popularity here.

More recently tons of javascript application frameworks (so called MVC frameworks) are emerging, that facilitate programming complex applications inside the browser and taking most of the traditional presentation-logic away from the server.

On the other hand we have the node.js ecosystem that takes JavaScript to the server and allows us to use the same language, concepts, libraries and tools for the full application development stack.
And that ecosystem is thriving! JavaScript is the most popular langage on GitHub … and have a look at the impressive node modules list.

Now this is all well and alpha-geeky, but there are showing up the first “real-world” success stories: Voxer, Walmart, LinkedIn

Of course there are the critics.

Surprisingly Microsoft recently positioned itself to become one of the most influencing conveyor of the JavaScript hype. It seems that they are investing heavily into JavaScript on different frontiers:

Microsoft was pushing node.js onto the the Windows environment.
Now they are pushing it into their Azure cloud platform. And evolving a 3rd party ecosystem around that.

But probably the biggest step for the future of JavaScript is the new strategy of Microsoft for Windows 8 desktop and tablet applications (Metro style apps). While there are several options for developing Metro style apps, JavaScript seems to become a major pillar.
This opens up yet another area for JavaScript and JavaScript developers, completely adjacent to the web.
Developing for the desktop (or tablet) will most likely always be pretty different than for the web. For Metro style apps there will be a lot of new concepts, libraries and tools that are different to the ones that are used in web development (just have a look at WinRT, WinJS …).
But the desktop- and the web-stack will move closer together and JavaScript with HTML5 and CSS will be the common denominator. Which I think is a very interesting evolution.
For instance look at this example of a drum sequencer (a traditional client application) that is using JavaScript and jQuery for its UI.
The prospect of reusing code and knowhow between desktop-ui- and web-ui-programming seems tempting … even if a lot of .NET developers and other gurus are not so thrilled by the prospect of omnipresent JavaScript.

Of course another interesting thing will be to see how Metro style apps will change the architecture of future desktop applications. I think some concepts from web development will get adopted into desktop development. A stricter enforcement of separation between UI- and backend-components within a single application will most probably be a result (i.e. there seems to be no notion of traditional data-access in WinRT).


PS: This is my first cross-post between my blog and planetgeek.ch. Thanks @danielmarbach for inviting me.

 

Software

Why I like NDepend to untangle Dependencies in my Code

November 13th, 2011
Urs Enzler

Some time ago, Patrick Smacchia (NDepend lead developer) offered me a NDepend Pro license to play around. NDepend is a tool providing a lot of features. The feature that impressed me from the very start is visualizing dependencies. Not just dependencies from classes to classes, or assemblies to assemblies; no from everything to everything. Like for example all assemblies that use somewhere the method Foo of class Bar. It works for assemblies, namespaces, types, methods and fields.

But, what’s all this fuss about?

Keeping a code base and its design as simple as possible over a long period of time is very difficult. It happens just too quickly that we loose the overview of how things are sticked together. And this is the moment when NDepend with its quick and easy dependency visualization comes to the rescue.

read more

 

.NET, Clean Code, Software, Why I like ... ,

GitExtensions 2.24 and Apply Patch pitfall

October 15th, 2011
Daniel Marbach

Today I survived a shocking experience.  I’m working on an open source framework. Some of the features I’ve been doing at home on a cloned git respository. I have commited about 6 times for a feature. Another change of the feature I was doing on another machine at my workplace. These changes were another two commits. I then patched the two commits I did on my work computer and applied them at home upon the other six commits with gitextensions (version 2.24).

When I applied the patches gitextensions was hanging indefinitely in the patch apply mode. After waiting for about 5 minutes I aborted the patching process. This left my whole repository in the middle of rebase state. Worst of all was that all my commits from the last week where gone! My blood pressure raised immediately. I tried several approaches: Abort the merge process several times, skip the patches etc. but none of these approaches were successful. Git always complaint that the folder .git/rebase-apply could not be removed. How can this state be resolved? I’ll show you how!

read more

 

Announcement, Software , ,

Using VS2010 integrated fxcop in continuous integration

April 29th, 2011
Daniel Marbach

In our projects we heavily rely on the Microsoft FxCop engine. FxCop prevents us from making stupid programming mistakes like forgetting to dispose a disposable object etc. For a long time we used the FxCop engine 10.0 which has a command line integration for continuous integration environments. Lately we discovered that the VS2010 integrated FxCop has a much stronger analysis engine and more rule sets which could improve our code base even further. But how do you get the VS2010 integrated fxcop running on continuous integration without having to install VS2010 on the build machine? I’ll show you how!
read more

 

.NET, Software , ,

VS2010 Search + Replace to the rescue

January 28th, 2011
Daniel Marbach

I’m currently working porting a library into another open source project. As I have heavily extended the library my primary goal was to make it work and then compliant to the coding guidelines. A lot of my code contained in the library had automatically generated (with R#) interface implementations which contained blank lines between the curly braces. As you might know this is not StyleCop compliant. Wonderfully I was able to address the issues with the VS2010 Search + Replace dialog and tagged expressions. See how…

read more

 

.NET, Software , ,

Expose for Windows

December 23rd, 2010
konrad.dambeck

In this article i will show you a small tool named “switcher”. Maybe you know the feature expose on mac OS S, Switcher enables this on Windows Vista and Windows 7 Clients. I guess if you install Switcher you never use “alt” & “tab” and “win” & “tab” again.

read more

 

Administration, Software, Windows, Windows 7 , ,

USB to DVI Adapter from Gefen

September 20th, 2010
Daniel Marbach

You can’t imagine how frustrated I was when I received my new dell business notebook with Core i7 (hyperthreading) when I tried to attach two external monitors to the docking station while running the laptop screen as third monitor… It’s just not possible! As a software developer it is really helpful to have three monitors. I usually have the following work setup when having three monitors (normally 20” with 1600×1200):

First monitor (primary with taskbar):

VS2010 with just the solution explorer and properties pane visible as needed

Second monitor (with extended taskbar from ultramon):

Resharper 5.1 windows such as file structure, unit test explorer and unit test session (those are the most important for me)

Third monitor (with extended taksbar from ultramon):

Firefox, Skype and Email, usually also documentation (which I’m currently writing or user documentation when help is needed)

With only two monitors you always need to move around the resharper windows when you want to browse or read a tutorial on the internet. This sucks!

Two eliminate this problem when using the business laptop I was looking around for a USB to DVI adapter and found finally a good one which has arrived last week by postal service. Gefen Ext-USB-2-DVIHD-CO! Let me describe it.

read more

 

Hardware, Software, Windows, Windows 7

iPad

July 12th, 2010
konrad.dambeck

Currently I’m in the refresher course of the swiss armed forces in Andermatt. So I get plenty of charlton-heston-Mosses-iPad time to test my new Apple iPad. I have the 16 GB model without the 3G (UMTS) modem. I decide to buy the cheapest model because I think I don’t need much storage on my web tablet. The 3G option was for me secondary because I own a notebook with built in UMTS modem. As a side note you can use the freeware Connectify to switch any pc in to a wlan access point http://www.connectify.me/. Or create a wlan network proxy with an iPhone and the app NetShare (10$) from the Sydia store.

First I will make my coming out as an Apple fan boy. So this article reflects my personal meaning and may not be 100% objective. The physical dimensions of the device are 243mm x 190mm x 13mm. The weight of the iPad is 0,68 kg or 0.73 kg for the 3G model. By the way the 3g models have also an compass and a GPS module. The display is 9.7 inch and has a resolution of 1024×768 (132ppi). The battery live is beyond 10 hours witch is very, very, very impressive. There are only three points witch are semi optimal. The reflecting display is not my favorite option. And if you use the iPad in the Sun in became a little bit hot and shuts himself down. The iBook store of Switzerland only host’s only free book from the Gutenberg project. As you can imagine Nathan the wise from Lessing is note my favorite bed lecture.

read more

 

Administration, Mobile, Software, Uncategorized , , , , , , , ,

How to select open source libraries

June 20th, 2010
Daniel Marbach

We use a lot of open source libraries and components in our daily business. Open source libraries provide us a big advantage regarding time to market with our products. Every time when we are facing a problem in our software (problem is related to business domain to implementation domain difficulties) we first look into the open source world if someone has already solved that problem or even parts of it. Sourceforge, codeplex and google code (to name a few) are often the first pages we visit to look for code samples, libraries and frameworks. But how can we find the needle in the haystack?

read more

 

Agile, Methodology, Software , , , , , , ,

Hierarchical State Machine with Fluent Definition Syntax (.NET)

June 9th, 2010
Urs Enzler

The .NET component library bbv.Common (open source – Apache License 2.0) provides a powerful hierarchical state machine.

Its features are:

  • value type based (enums, ints, …) resulting in single class state machines.
  • actions
    • on transitions
    • entry and exit actions (parametrizable)
  • transaction guards
  • hierarchical
    • different history behaviours to initialize state always to same state or last active state
  • fluent definition interface
  • synchronous/asynchronous state machine
    • passive state machine handles state transitions synchronuously
    • active state machine handles state transitions asynchronously on the worker thread of the state machine
  • configurable thorough logging simplifies debugging using log4net (can be replaced easily with custom logging)
  • state machine report for textual description of state machine

read more

 

.NET, Software , ,