• Vagrant on Windows with gulp-watch and similar file watching tools

    As you might have guessed from my previous posts I love Vagrant and Gulp. I think those tools are awesome. They make my life much easier by either packing everything into a VM which I can destroy and recreate whenever things go south (Vagrant), or automating every little bit I need (Gulp). However, until recently, I didn’t use them together. Vagrant was there to get my servers (mostly DB) up and running and Gulp was directly on my machine.

  • Vagrant + Docker = Rainbows + Unicorns

    Be honest with yourself, how many applications and services do you have running on your machine right now? And how many do you really need?

  • 3 Types of Programmers and Why Programming Should Be Easy

    Few days ago I listened to Scott Hanselman’s 500th podcast (congratulations on that), You don’t know JS with Getify (Kyle Simpson).

  • Getting Started With TypeScript and AngularJS

    Almost a year ago, I wrote an introductory article about developing server and client applications in TypeScript - TypeScript Development in Practice. A lot of things have changed since then so this is a longer and much more thorough description of what is possible today:

  • How to write your own TypeScript Definition Files

    TypeScript is an amazing language. It makes working with JavaScript just so much easier, at least for me. To be honest, I never really understood or even liked JavaScript. It was a mystery for me, how you can use it to write large applications. But when TypeScript came out - wow, so amazing, almost like C# or Java. During the years, I’ve of course came to terms with JavaScript, and a solid understanding is necessary, to understand the behavior of TypeScript, just like understanding assembly helps you write better C code.

  • Explaining How `this` Changes in JavaScript and TypeScript

    My girlfriend is learning Meteor as she already has some knowledge in AngularJS and I personally think TypeScript would make her life easier (eventually) I suggested her, to follow the great tutorial on AngularJS with Meteor, but implement it in TypeScript. Her code is on GitHub, in case you want to give it a try yourself and check how the solution could look like.

  • Handling Excel-Files (*.xls, *.xlsx) in Web Applications ICSharpCode.SharpZipLib.Zip.ZipException: EOF in header

    I’m working on a SaaS application in ASP.NET MVC, which takes your KPIs and presents them to you in clear overviews and graphs, so you can see at a glance, how your business is doing and what needs to change. This is for SMEs, which to a large extent use Excel for these kind of solutions. A large part of the application is, allowing the customers to import the data easily. As most of the data already exist in Excel sheets, we thought it would be the easiest, to just let them upload those.

  • Request Authorization in ASP.NET Web API in Mono

    Few days ago I was struggling to set up authorization on requests to my Web API. The major Problem was missing sessions. You can read more here: Request Authorization in ASP.NET Web API. After I set it up, it was running and everything seemed great until I found out that it didn’t work in mono. So back to square one (or StackOverflow). It took me a while, until I discovered this 3 years old bug report:

  • Request Authorization in ASP.NET Web API

    When you use ASP.NET Web API as a back-end for your JavaScript heavy Single Page Application (SPA), you might want to check who is performing requests, before you answer with a result. In my case, the different permissions are a bit bulky and I’m storing them in the user’s Session object. On each request, I check which permissions are necessary and if the user has those permissions. If not, I return a 403 Forbidden. To do this, you simply extend the AuthorizeAttribute and perform the necessary checks in IsAuthorized. Peace of cake, how hard can it be?

  • TypeScript Development in Practice

    I’m using TypeScript already since 2012 for rich client development on top of AngularJS. As the server was written in ASP.Net, we were using Visual Studio for Server and Client. I didn’t have almost any experience in JavaScript, or Angular. So TypeScript’s strong typing and the type definitions (.d.ts) for AngularJS and other frameworks, we were using, helped me a lot getting to know the functionality.

  • Ignore node_modules in Dropbox

    Actually this problem isn’t only about NodeJS development and the node_modules folders, but this is where it’s the most pain. It’s more about having any kind of way to download and generate a ton of files within seconds and afterwards waiting for hours, or even days for Dropbox to sync those files. While you actually wouldn’t need it as you could get them instantly again at any later point with one or few small commands.

  • SQLiteException: no such table - in Android

    I was just struggeling for a while trying to help with an Android app. I have almost no specific Android experience, but as the app is pretty basic, I thought - can’t be that hard. The beginning seemed pretty easy and straight forward, until we stumbled upon this exception:

  • What to Consider when running ASP.NET MVC 4 in Mono

    I’m fighting for the last 2 days to deploy my ASP.NET MVC 4 application to a Linux VM running Mono again. - Again because it already worked, but in the meanwhile Microsoft updated the MVC 4 library and something broke (read more: Microsoft Asp.Net MVC Security Update MS14-059 broke my build!)

  • Dynamic Controllers in AngularJS

    I have an AngularJS application, which offers a set of different tasks. In order not to limit myself in the future, I have one main controller, and sub-controllers for each task. The correct sub-controller is selected based on the task’s URL.

  • How to connect Mono in Linux to Oracle

    Long post about all the steps I did can be found here: How I managed to connect from Mono in Linux to Oracle

  • How I managed to connect from Mono in Linux to Oracle

    TL;DR How to connect Mono in Linux to Oracle

  • Create Windows 8 Metro-like tiles with Bootstrap and AngularJS

    There are many JavaScript libraries out there to create layouts with tiles like they are on the Windows 8 start screen. But when you already use Bootstrap and AngularJS, do you really need to add further libraries? - No, you don’t.

  • Implementing a simple hop-count algorithm in Apache Giraph

    Hi, this is my second post after First steps with Apache-Giraph on Apache Giraph. I’ll be writing a little bit about how you can use complex types in messages and in the vertex-state. To learn this I wrote a simple hop-count algorithm, you can find the full source code in a branch of my Apache Giraph fork on GitHub.

  • How to run Meteor in Cloud9

    I’ve written a long question about this on Stack Overflow (Meteor with cloud9). Basically everything is written there, I just wanted to summarise it here and skip the useless things I found out.

  • Update your BIOS from Linux

    I just struggled for quite some time to update my laptops BIOS (DELL Latitude). I am running only Linux (Ubuntu) as my main OS and didn’t want to install Windows just for the sake of updating my BIOS.

  • First steps with Apache-Giraph

    I used Apache Giraph during a project for my studies. There is a great official Quick Start-Tutorial on how to set up Giraph on top of Apache Hadoop and run your first example application. When you follow it, you will have a running environment where you can test your code. Still, you won’t have any idea, how to write it (at least I didn’t).

  • The Difference in (Un)Zip-Performance

    I got a nice present for Christmas, last year - a Windows 8 Tablet/Notebook convertible. With the extra battery in the keyboard and an Intel-Atom SoC the power lasts easily for 12h or continues use. Of course, since the only component which can drain the battery is the 10” touchscreen.

  • Always check the ModelState

    Ever came across weird behaviour in your ASP.NET Views? - I did already several times, and this is what I’ve learned:

  • How to Forward HTTP Requests in Windows 8 to a Hyper-V VM

    Complicated title — that’s pretty much, what I was looking for on Google, yet with only little success. At first, I found some instructions for Windows Server 2008R2 and 2012. After modifying the search query, some instructions for exporting a network connection in VMWare showed up. There were plenty of tutorials, but none of them quite what I was looking for.

  • E_ACCESSDENIED with Office Interop

    Once upon a time, I had a nice little function which would open an Word-Document via Microsoft-Interop, export all bookmarks as a Dictionary<BookmarkName, StringBookmarkValue>. I would modify this dictionary and by pass it on to another little function, which would afterwards set all the values of the bookmarks. This worked very well until …. One day the server was upgraded to Windows 2012 and Office 2010 and since than nothing seemed to work any more.

  • Handling Bookmarks in OpenXML Word-Documents

    I needed to reimplement my function of exporting all bookmarks of a word-document into a dictionary and than setting them based on the changes in the dictionary from Word-Interop to OpenXML SDK.

  • Problem Adding Ribbon-Control to Office AddIn Projects

    ThisRibbonCollection’ does not contain a definition for ‘GetRibbon’….

  • Hyper-V error "IDE/ATAPI Account does not have sufficient privilege to open attachment..."

    I have Microsoft Hyper-V running on my laptop (Windows 8). After the installation and configuration was a little bit of a pain (getting an internet connection wasn’t that easy for me) it works very well. Unfortunately I did another major mistake. I wanted to use my VM for classes for testing iptables, and still use it afterwards. But instead of making a snapshot, I did what I was used to do on VirtualBox - copied the file. And once I deleted the destroyed VM and copied my file back, I couldn’t start the machine any more. The error displayed was:

  • Simple Zoom for WPF Controls

    Recently, I had to implement a zoom – in / out – functionality into a WPF application. After some research I found out that there is a RenderTransform on the Grid-Control. Here you can define a ScaleTransform which is able to scale everything in the grid by a value of type double (so 0.5 makes everything half the size, 2 makes everything double the size). One more great but probably not often needed feature is, that you can define different values for the horizontal and the vertical scale.To get an easy and quick return, just use the following XAML-Code:

  • How To Stop a Storyboard

    I have an application with a storyboard, which turns a icon that indicates that the application is currently busy. Because I don’t have any chance to know, how long the application will be busy, the RepeatBehavior on the application is set to Forever and I have to stop it manually.

subscribe via RSS