Time Cockpit Blog - Tips and News from the Time Cockpit Teamhttp://www.timecockpit.com/blog15eed742-9967-4491-bacb-d78abdc720a4http://www.timecockpit.com/blog/2014/10/31/Whats-New-in-Version-November-2014What's New in Version November 2014This month we are announcing the next important step in our movement towards HTML and JavaScript: We present the first public preview of time cockpit's OpenID Connect endpoint for authentication and authorization. Additionally we have improved validation consistency and disabled SSL 3.0 support to prevent POODLE attacks.2014-10-31T13:47:00Zf5d0d68a-34ee-4cd6-807e-3981672ccf87http://www.timecockpit.com/blog/2014/10/31/Welcome-OAuth2-and-OpenID-ConnectWelcome OAuth2 and OpenID ConnectWhen we did our yearly strategy meeting at the beginning of 2014, we decided to dedicate this year primarily to moving time cockpit to HTML and JavaScript. This decision had huge consequences on important cornerstones of time cockpit's internal structure. The proprietary communication protocols we used in Silverlight are not appropriate for a purely browser-based solution. So we decided to move to platform- and vendor-neutral standards communication standards. Today, we present the next step down that road: Time Cockpit's brand new OpenID Connect endpoint for authentication.2014-10-31T13:08:00Zfc28de5b-1fa1-43a6-ba62-7bbf67f20106http://www.timecockpit.com/blog/2014/10/27/Slow-Movers-and-Agile-Speed-Junkies---You-Need-Both-to-SucceedSlow Movers and Agile Speed Junkies - You Need Both to SucceedWe believe that modern commercial off-the-shelf (COTS) solutions like time cockpit have to develop at different speeds at the same time. There are layers where change has to be very carefully planned and executed slowly. On the other hand there are layers that are constantly moving and change has to happen literally overnight. Architects call this the sheering layers concept. In this article I would like you to introduce you to this idea, provide some tips how you can benefit from it, and finally describe how time cockpit follows this principle.2014-10-27T15:33:00Z9fd19e59-2279-4d58-997a-6e7d27424c70http://www.timecockpit.com/devblog/2014/10/24/AngularJS-Provider-in-TypeScriptAngularJS Provider in TypeScriptAngularJS samples written in TypeScript are not that common on the internet. I get frequently asked how to write an AngularJS provider in TypeScript. Here is a "Hello World" sample.2014-10-24T05:30:00Zd6b90bf1-9f8f-49be-8ec0-2a0c58f47a8dhttp://www.timecockpit.com/blog/2014/10/19/Dependent-Comboboxes-in-Time-Cockpit-Forms-and-ListsDependent Comboboxes in Time Cockpit Forms and ListsComboboxes that depend on each other are a common requirement in time cockpit. Example: Once a customer is selected, the project combobox should only contain the selected customer's projects. Configuring dependent comboboxes isn't complex. This blog article describes how you can do it in custom forms and lists.2014-10-19T08:22:00Z497b41be-0ebc-475a-9380-338ab233742fhttp://www.timecockpit.com/devblog/2014/10/08/Shipping-large-MSI-installers-via-Azure-Blob-StorageShipping large MSI installers via Azure Blob StorageRecently I did a WiX (Windows Installer XML) and MSI training at a customer in Germany. One of the questions I got asked was how to deliver large MSI installers efficiently to customers via web. The goal was to minimize download time. In this blog article I describe a possible approach.2014-10-08T12:40:00Zb528f049-a45c-47ed-a5ed-b17c718a4d95http://www.timecockpit.com/devblog/2014/10/06/Windows-Installer-XML-TrainingWindows Installer XML TrainingThis week I will do another one of my Windows Installer XML (WiX) trainings in Germany. In this blog article I summarize the prerequisites that participants need in order to follow along the samples.2014-10-06T07:16:00Z6add16e7-5049-49e0-80bf-1616d81085f4http://www.timecockpit.com/blog/2014/09/30/Whats-New-in-Version-October-2014What's New in Version October 2014As announced last month, we have made more performance improvements this month. This time we have focused on the client database. If it takes some time to open the time sheet form in the calendar in your environment, the new version may improve the loading time significantly.2014-09-30T11:40:00Z0d23977c-c74f-4921-8a25-0e8970c60cfahttp://www.timecockpit.com/blog/2014/09/30/Redesigned-Time-Sheet-TemplatesRedesigned Time Sheet TemplatesTime cockpit has had support for time sheet templates for years. For this version we have completely redesigned this concept and added support for scripts. That enables fascinating new possibilities for integrating time cockpit with external systems.2014-09-30T10:58:00Z94a2f324-616e-488f-9e65-83cc72bae694http://www.timecockpit.com/blog/2014/09/30/How-Transparency-Leads-to-InnovationHow Transparency Leads to InnovationLast week I was speaker at a large conference in Germany. Although I mainly covered technical topics concerning software development, the most asked questions weren’t around programming. Instead, people complained that their bosses prevent innovation by not allowing them to invest time and money in promising new technologies or methods. Stop complaining, start making the problem transparent and measurable instead.2014-09-30T07:55:00Z12795150-90a2-4242-941c-f192776cf0c4http://www.timecockpit.com/blog/2014/09/26/Accessing-Time-Cockpits-OData-Web-API-With-Visual-StudioAccessing Time Cockpit's OData Web API With Visual StudioRecently we got a question from a customer who wanted to access time cockpit's OData web API using Visual Studio 2013 and C#. We thought it would be a good idea to create a short video demonstrating how this is done because it might be interesting for other people, too.2014-09-26T08:18:00Z96e891c8-87df-4d7f-aceb-13c1c97b32aehttp://www.timecockpit.com/devblog/2014/09/25/Custom-OData-Provider-Without-Underlying-DBCustom OData Provider Without Underlying DBToday I will do my OData session at BASTA conference in Mainz again. This time I have a bit more time so I will add a demo of creating a custom OData provider without any underlying database. The result is generated based on the OData query on the fly. In this blog article I share the code.2014-09-25T13:03:00Z9bd666e7-8c49-41c8-9ba0-f3fcd8427c18http://www.timecockpit.com/devblog/2014/09/23/BASTA-2014-High-Quality-C---Code-Quality-in-PracticeBASTA 2014: High Quality C# - Code Quality in PracticeToday I will do a session at German BASTA Conference about C# code quality. In this blog I want to share my slides and the samples I am using.2014-09-23T10:54:00Z1ba88e17-f4db-44e9-bf77-695d283072b6http://www.timecockpit.com/devblog/2014/09/23/BASTA-2014-Keynote-Die-neue-OffenheitBASTA 2014 Keynote: Die neue OffenheitGleich geht es auf der BASTA 2014 in Mainz auf die große Bühne für die Keynote. Hier eine Zusammenfassung einiger meiner Gedanken zum Thema neue Offenheit bei Microsoft.2014-09-23T07:12:00Ze6d14f56-5a1a-4d3b-bf3e-9792deabdb56http://www.timecockpit.com/devblog/2014/09/22/C-Parallel-and-Async-ProgrammingC# Parallel and Async ProgrammingAt BASTA 2014 I will do a full-day C# workshop. One of the topics will be parallel and async programming. In this blog article I share the code of my demo and describe the scenario I will cover: TPL, async/await, profiling of CPU-bound algorithms.2014-09-22T03:35:00Z70f98397-634f-43fb-855b-1f4a6a97179chttp://www.timecockpit.com/devblog/2014/09/22/Profiling-of-DB-Related-C-ApplicationsProfiling of DB-Related C# ApplicationsAt BASTA 2014 I will do a full-day C# workshop. One of the topics will be profiling. In this blog article I share the code of my demo and describe the scenario I will cover.2014-09-22T02:55:00Z1e8c3a5f-e19d-42cd-bbbb-50b40de7cc14http://www.timecockpit.com/devblog/2014/09/21/BASTA-2014-C-FitnessBASTA 2014: C# FitnessTomorrow I will do a full-day workshop about C# at BASTA Germany. Over the years, the workshop has become a tradition and I am really looking forward to it. In this blog article I publish slides, code samples, and important links for attendees.2014-09-21T05:14:00Z17477257-a518-4f25-b652-c9c1a71fc30fhttp://www.timecockpit.com/devblog/2014/09/17/Microsoft-Azure-Sales-Training-ResourcesMicrosoft Azure Sales Training ResourcesTomorrow I will do another Microsoft Azure training for sales executives in Vienna. In this blog article I summarize the most important web resources I mention during the training.2014-09-17T17:33:00Z57835b11-8e70-4d69-b871-887905d9df23http://www.timecockpit.com/devblog/2014/09/12/10-OData-FAQs10 OData FAQsToday will have a talk about OData at NRWConf conference in Wuppertal, Germany. It will be code-only talk so I thought it might be useful to provide some of the information I will cover in my session in a blog article. However, I have written quite some OData related article in my blog before. So this one has to be a bit different. I decided to answer some questions I regularly get when talking with people about OData.2014-09-12T19:01:00Z5b19bf24-40a9-4f72-a473-c72c2de5a608http://www.timecockpit.com/blog/2014/09/03/German-Funktionen-zum-Schutz-der-Privatsph%C3%A4re(German) Funktionen zum Schutz der PrivatsphäreDas Risiko für Konflikte bei erstmaliger Einführung einer Projektzeiterfassung ist nicht zu unterschätzen. Information der Mitarbeiter ist ein Schlüssel zum Erfolg. Ein wichtiges Thema dabei ist die Wahrung der Privatsphäre. In diesem Blogartikel geben wir einen Überblick, welche Funktionen time cockpit diesbezüglich enthält.2014-09-03T06:40:00Z0c3fb8a2-f432-42a7-bef4-233bf3a347e8http://www.timecockpit.com/blog/2014/08/29/Importer-ImprovementsImporter ImprovementsIn the September version of time cockpit we have improved the importer for Excel and CSV files. It now supports compound keys. See a video demonstrating the new functionality.2014-08-29T09:11:00Z77c2fafa-a05f-45fb-8ffd-16234748eb27http://www.timecockpit.com/blog/2014/08/29/Whats-New-in-Version-September-2014What's New in Version September 2014This month we have focused heavily on performance. The first batch of improvements that affects the performance when working directly on the Server is already integrated in the September version.2014-08-29T08:40:00Z1ab2782b-2b24-43ca-879f-d228945450efhttp://www.timecockpit.com/blog/2014/08/28/Learn-From-Best-in-Class-Confirmation-and-Approval-ProcessesLearn From Best in Class: Confirmation and Approval ProcessesOn the first sight, time tracking is a seemingly trival process. Start time, end time, describe what you did - that's it, isn't it? As teams grow, accompanying processes for confirmation and approval become more and more important. Read about what the best in class companies are doing.2014-08-28T12:46:00Zab16e183-45d6-40d6-86c1-33d1f43056ffhttp://www.timecockpit.com/blog/2014/08/28/Enhancements-in-Time-Cockpits-Database-PerformanceEnhancements in Time Cockpit's Database PerformanceWe find it important to continuously improve time cockpit's performance. This has to go side by side with new features. In August, we focused on possible improvements in our database access layer. You will see first results in the September release and even more in the next one scheduled for October. Read more about what we changed.2014-08-28T06:39:00Za14674bb-18f2-4cc9-8089-2a5b34f024c4http://www.timecockpit.com/blog/2014/07/30/We-Have-Moved-to-a-New-Office-LocationWe Have Moved to a New Office LocationIt feels like yesterday when we moved into our first single-room office in the Techcenter Linz a few years ago. Meanwhile our team has grown rapidly. Therefore, some month ago we decided it was time to change. No sooner said than done: We decided to look for a new home for the time cockpit team.2014-07-30T12:30:00Ze42f8c5a-b933-4c68-97bf-683123351153http://www.timecockpit.com/blog/2014/07/30/Whats-New-in-Version-August-2014What's New in Version August 2014This month we deliver performance improvements in several parts of time cockpit. Additionally, we included a workaround for a bug in Microsoft's garbage collector that some time cockpit customers had to struggle with.2014-07-30T11:13:00Zd3524414-efa5-47ba-878e-b74cbec0acbchttp://www.timecockpit.com/blog/2014/07/30/Why-Should-Agile-Stop-at-Software-DevelopmentWhy Should Agile Stop at Software Development?Agile principles have become quite popular in software development. The approach has proven to be successful many times. Frameworks for agile development like Scrum are not at all limited to software development. Still, the agile approach can rarely be found outside of this domain. We think, that’s a pity.2014-07-30T04:55:00Z7ca91fa1-c199-45d4-b1d4-457b0c8ad174http://www.timecockpit.com/blog/2014/07/14/Setting-Up-Team-Leader--Member-Permissions-in-Time-CockpitSetting Up Team Leader / Member Permissions in Time CockpitA common scenario in time cockpit is assigning different permissions to team leaders and team members. Team leaders should see all time sheet records of all members whereas team members should only see their own records. In this blog post you learn how you can set up this logic in time cockpit within a few minutes.2014-07-14T08:44:00Ze24f6fc9-536b-4d61-b1a2-f663af1ce4edhttp://www.timecockpit.com/blog/2014/06/30/Time-Tracking-Fitness-TestTime Tracking Fitness TestDid you ever ask yourself how you are doing in terms of time tracking compared to other people? This test unveils your time tracking fitness level. Try it. It's fun and you might get ideas how you could enhance your existing time tracking practice.2014-06-30T19:29:00Ze79698bb-26bf-4053-8c97-9d2ca2c59278http://www.timecockpit.com/blog/2014/06/29/Whats-New-in-Version-July-2014What's New in Version July 2014This month we have added various productivity functions to time cockpit. Among others you can now book vacations, sick leaves and compensatory time directly in the time tracking calendar.2014-06-29T06:15:00Zab6f85c6-4c2a-40ad-b0f7-0c2e68d6a447http://www.timecockpit.com/devblog/2014/06/17/Telerik-Kendo-UI-vs-AngularJSTelerik Kendo UI vs. AngularJSAngularJS has become a very popular web development framework. Now that Telerik made Kendo UI open source, this framework is a possible alternative for many web developers. Learn about the differences and similarities.2014-06-17T07:59:00Z8edc0dd0-dfb4-4dae-b34b-2863c7dc99c6http://www.timecockpit.com/devblog/2014/06/17/Visual-Studio-Online-Monaco-with-Git-Grunt-and-JasmineVisual Studio Online "Monaco" with Git, Grunt, and JasmineI have already posted an end-to-end sample showing Visual Studio "Monaco" with TypeScript and AngularJS in the past. For an event in Graz (Austria) I created an additional sample showing how to use Git, Grunt, and Jasmine unit testing with "Monaco".2014-06-17T06:11:00Z765e27ef-1ff8-4eba-9ea0-7ad071833fc2http://www.timecockpit.com/devblog/2014/06/05/Video-Introduction-to-OData-Web-APIsVideo: Introduction to OData Web APIsOData is based on REST but adds necessary standards for fully fledged data APIs. Metadata, URI-based query language, standardized data representation formats (JSON and XML), OData has it all. This is an introduction to OData. If you have never used OData and you wonder whether it is relevant for you, this talk could be interesting for you.2014-06-05T05:26:00Z67819562-a966-4ea0-a489-628cd297a086http://www.timecockpit.com/devblog/2014/06/04/Learn-by-Example-AngularJS-NodeJS-and-TypescriptLearn by Example: AngularJS, NodeJS, and TypescriptIn this blog post, I would like to summarize a talk I gave at the JavaScript Day of the International PHP Conference in Berlin 2014. The idea of the talk is to demonstrate the power of NodeJS + TypeScript + AngularJS.2014-06-04T21:23:00Z3694f388-72c0-451a-9b4d-db16b40ad107http://www.timecockpit.com/blog/2014/06/03/Power-of-Standards-Why-OData-Shines-in-Time-CockpitPower of Standards: Why OData Shines in Time CockpitFor time cockpit we have decided to bet the farm on OData instead of a custom web api. PragmatiQa's XOData shows what you get for free because of time cockpit supporting OData.2014-06-03T07:44:00Z82e78868-c8d2-4c5d-998d-105780b6c8c2http://www.timecockpit.com/blog/2014/05/30/Warning-Emails-in-Case-of-Budget-OverrunWarning Emails in Case of Budget OverrunRegularly, customers ask us how to send emails when certain things happen in time cockpit (e.g. project runs out of budget, user creates time sheet record for a month that has already been billed, etc.). In this blog post we show how this can be done with a few lines of script code and our OData Web API.2014-05-30T11:10:00Z788738ee-8f50-4aea-83c5-8b2346f4d776http://www.timecockpit.com/blog/2014/05/30/Whats-New-in-Version-June-2014What's New in Version June 2014This month we improved sync handling in time cockpit's full client and added support for booking compensatory time. The June 2014 version is fully compatible down to version March 2013 (1.10) so team members need not to upgrade all at the same time.2014-05-30T07:55:00Zdbe2bfe3-0d2c-4bfd-a147-1f60a6c9d43chttp://www.timecockpit.com/blog/2014/05/30/New-Compensatory-Time-Off-FeatureNew Compensatory Time Off FeatureTime cockpit has been able to handle overtime agreements for quite a long time. However, many customers have told us that they would like a function to explicitly book compensatory time so that their time sheet calendar would not be empty on such a day. We added this function to time cockpit in the latest release.2014-05-30T07:24:00Z6969df53-ad1c-4574-b04e-f38763fe74fdhttp://www.timecockpit.com/blog/2014/05/18/Agile-and-Scrum-in-Mission-Critical-ProjectsAgile and Scrum in Mission-Critical ProjectsLast week I learned a lesson about the agile approach in such critical projects the hard way. I had an accident with my mountain bike. I fell directly on my shoulder and I immediately knew that it wasn’t just a bruise. X-ray and CAT scanner showed that it was a complex fracture. Now what has that to do with agile development? It turned out that the shoulder surgery I needed would be agile.2014-05-18T10:58:00Z54ae68ef-4815-4f9a-b51f-02563c028fd2http://www.timecockpit.com/blog/2014/05/01/Muscle-Memory-for-Your-OrganizationMuscle Memory for Your OrganizationIn this article we address 5 topics you should consider before and during a project for automating administrative business processes. Additionally, we point out some functions in time cockpit that can help you in such projects.2014-05-01T07:17:00Z6f1bbf86-92aa-424f-82b7-801025272b9ehttp://www.timecockpit.com/blog/2014/04/30/Whats-New-in-Version-May-2014What's New in Version May 2014Years ago when we defined the cornerstones of time cockpit, we decided that extensibility should be a major unique selling proposition of our time tracking software. This month, we are very proud that we can publish the first public preview of a major keystone of our technological strategy: Say hello to time cockpit's new OData Web API.2014-04-30T09:24:00Zaecea236-0b43-4ad7-9f0f-d403c0318229http://www.timecockpit.com/blog/2014/04/29/Your-Data-in-a-Geographical-ContextYour Data in a Geographical ContextAgreed, data is what drives most businesses. However, having a lot of data at your disposal often does not give you much insight. Data gains value with its presentation. In this article, we explain how to set your data in a geographical context. We use Microsoft Excel, PowerPivot and PowerViewer to create an interactive map that lets you browse your data.2014-04-29T14:58:00Z1c93b605-0514-43ce-a64f-8f4863d83359http://www.timecockpit.com/blog/2014/04/27/Adding-Web-to-our-APIAdding "Web" to our APIThis month, we are very proud that we can publish the first public preview of a major keystone of our next generation web strategy: Say hello to time cockpit's new OData Web API.2014-04-27T13:29:00Zd56702a2-7afc-42c8-9d80-3414a44ac2e9http://www.timecockpit.com/blog/2014/03/31/Custom-Reporting-in-Time-Cockpit-is-FinalCustom Reporting in Time Cockpit is FinalLast month we added the custom report feature as a preview to time cockpit. In this month's release it has become final. Additionally we added support for custom reports in the browser client.2014-03-31T11:30:00Zcefa6ab6-7eee-4b21-95d8-9b9dce255108http://www.timecockpit.com/blog/2014/03/31/Whats-New-in-Version-April-2014What's New in Version April 2014For this version we have put the finishing touches to our new reporting feature. We have reached two goals: First, you are now able to add custom reports to every list in time cockpit. The reports are automatically synchronized to all other users in your account, so everybody can open the reports directly in the embedded viewer or as PDF, Excel or Word. Second, we prepared three reports that will help you analyzing time sheet records and invoicing data.2014-03-31T10:11:00Z95dc104a-797d-4375-a4b8-33235c515777http://www.timecockpit.com/devblog/2014/03/30/Global-Windows-Azure-Bootcamp-RetrospectGlobal Windows Azure Bootcamp RetrospectYesterday was the day - the Global Windows Azure Bootcamp (GWAB) took place at > 135 locations all around the globe. We organized the Austrian GWAB in Leonding.2014-03-30T07:18:00Z0ffbde34-d85f-47e6-8aa6-bd341f6aa2b0http://www.timecockpit.com/blog/2014/03/28/Behind-the-Scenes-Time-Cockpit-Support-MetricsBehind the Scenes: Time Cockpit Support MetricsSupport is an important aspect when offering software as a service. We use Zendesk for managing our support work. Want to know how we are doing?2014-03-28T13:25:00Z6cf1cc75-c522-4a96-bd7b-42d7308f3527http://www.timecockpit.com/devblog/2014/03/20/SNEK-Conference-Tools-for-NET-DevelopersSNEK Conference: Tools for .NET DevelopersNext weekend I will be speaker at the SQL Server and .NET Developer Conference (SNEK) in Nürnberg (Germany). One of the talks will be focused on tools for .NET developers. In this blog article I summarize what I am going to show.2014-03-20T09:13:00Zc74009a7-8f6b-4600-bade-5a6c2507a321http://www.timecockpit.com/devblog/2014/03/12/End-to-end-sample-for-Visual-Studio-Online-Monaco-with-TypeScript-and-AngularJSEnd-to-end sample for Visual Studio Online "Monaco" with TypeScript and AngularJSIn this video I show an end-to-end example for programming with Visual Studio Online "Monaco". Monaco is currently in preview available for Windows Azure Websites. The sample uses TypeScript and AngularJS. Everything is done in the browser: Editing, compiling, package management, etc. The sample accesses an early prototype of the OData provider of time cockpit.2014-03-12T07:17:00Zc0f611e8-17bf-4dbf-bb49-3b6ec641e4a7http://www.timecockpit.com/devblog/2014/03/03/PInvoke---Interoperability-between-C-and-CPInvoke - Interoperability between C++ and C#Because of a training I had to do recently, I took my existing PInvoke material and brought it up to date. Here are the slides. The samples have also been refreshed and I have put them into my GitHub repo.2014-03-03T19:26:00Zfd463371-e36e-48ba-ab09-b41541cfbbcchttp://www.timecockpit.com/devblog/2014/02/28/BASTA-Spring-2014-C-Scripting-with-Project-RoslynBASTA Spring 2014: C# Scripting with Project RoslynAt BASTA Spring 2014 I did a presentation about C# Scripting with Project Roslyn. Here you find the slides and the sample code.2014-02-28T06:44:00Z006e7b5f-8770-45f0-a9e1-5fd0a44763fahttp://www.timecockpit.com/blog/2014/02/28/Whats-New-in-Version-March-2014What's New in Version March 2014In the last quarter of 2013 we started to add first reporting features to time cockpit. This month we are glad to announce that you are now able to build your own reports with Microsoft Reporting Services and view them in time cockpit.2014-02-28T06:38:00Z4390b885-1102-4d28-9fa9-154af3652319http://www.timecockpit.com/blog/2014/02/27/Building-Custom-Reports-in-Time-CockpitBuilding Custom Reports in Time CockpitThe latest version of time cockpit adds the ability to create custom reports with Microsoft's Reporting Services tools. Watch a short video about this new feature and read about the details.2014-02-27T15:30:00Z8ff5c27f-01a6-40c0-a94e-1c79baeb0b22http://www.timecockpit.com/devblog/2014/02/27/BASTA-2014-Video-Interview-about-Windows-AzureBASTA 2014: Video-Interview about Windows AzureAt BASTA 2014 I gave an interview about the current state of the Microsoft Windows Azure Platform (German). Here you can watch it. I would love to hear your feedback.2014-02-27T06:14:00Zfe26c905-d3f5-4aec-849e-629725e6e7d3http://www.timecockpit.com/devblog/2014/02/25/ALM-Days-Unit-Testing-with-Stubs-Shims-and-MS-FakesALM Days: Unit Testing with Stubs, Shims, and MS FakesAt ALM Days my second talk is about unit testing with Microsoft Fakes, Stubs, and Shims. Here is the sample that I am going to use.2014-02-25T13:55:00Z11ee31b8-92b5-48e3-b206-fac4ca1c00e1http://www.timecockpit.com/devblog/2014/02/25/PS-ALM-Days-Talk-BugfixPS: ALM Days Talk BugfixMy ALM Days talk about building in the cloud went fine. However, the last demo didn't fully work and I finally ran out of time. That's the risk of a 100% live coding session. The reason was a small mistake that I made while standing on stage. Here is the description of the mistake. Hope it helps you to avoid doing the same.2014-02-25T13:44:00Z9cd6f54e-dd4f-492c-b292-0b3e7065a3f7http://www.timecockpit.com/devblog/2014/02/21/Customizing-Build-Workflows-in-Visual-Studio-OnlineCustomizing Build Workflows in Visual Studio OnlineAt TechEd 2013 I did a talk about build in the cloud. For ALM Days next week, Microsoft invited me to do an updated version of this session. So I brought my samples up-to-date and switched to Git. In this blog post I describe what I will demo during the session.2014-02-21T17:10:00Z66ffbea2-278d-4e7a-9cd4-abfd58adb802http://www.timecockpit.com/devblog/2014/02/18/Video-and-Sample-for-Azure-Mobile-Services--TypeScript--AngularJS-TalkVideo and Sample for Azure Mobile Services + TypeScript + AngularJS TalkI regularly do talks about developing with Windows Azure Mobile Services, TypeScript, and AngularJS. Today I am speaker at the .NET user group in Vienna. For this talk I updated my sample to the latest version of AngularJS and TypeScript. Additionally I recorded the talk (German).2014-02-18T16:31:00Z7ae13ca1-a0e6-4f26-ae9f-630fcbfaf4cdhttp://www.timecockpit.com/devblog/2014/02/18/BASTA-2014-Spring-C-WorkshopBASTA 2014 Spring: C# WorkshopAt BASTA 2014 Spring conference I will do a full-day C# workshop again. This time we have over 90 registrations, wow! This huge interest in the workshop is awesome. In this blog article I summarize important resources for the workshop. Use them to follow the samples or recall the topics after the workshop.2014-02-18T09:20:00Z120dced3-4f77-4906-a016-ad66ce605872http://www.timecockpit.com/blog/2014/02/16/Staging-Concept-for-Time-Cockpit-CustomizationsStaging Concept for Time Cockpit CustomizationsOne of the unique possibilities of time cockpit is its extensibility. You can adapt the data model, lists, forms, export and import formats, reports, etc. to your needs. A question that we often get is how to test customizations before putting them into production. In this blog post I would like to show you some options you have.2014-02-16T13:00:00Zf02b5164-56ea-4de4-aeba-ff32d1ab9cbchttp://www.timecockpit.com/blog/2014/01/31/What-Scrum-Teams-Can-Learn-from-Honey-BeesWhat Scrum Teams Can Learn from Honey BeesOne of my hobbies in my private live is beekeeping. A colony of honey bees is a fascinating superorganism. Bees have perfected the principle of self-organization for millions of years. So what can we learn from these masters?2014-01-31T13:20:00Z2e5f082d-becc-493f-81c1-dc0eb832335dhttp://www.timecockpit.com/blog/2014/01/29/Whats-New-in-Version-February-2014What's New in Version February 2014In this release of time cockpit we focused on sync and Excel importer. Time cockpit now provides better information about synchronization conflicts and allows you to easily resolve them. We also redesigned the sync dialog making it cleaner and easier to understand. Finally, we improved the Excel importer to support not only importing new records, but also updating existing ones.2014-01-29T14:26:00Z58aec2fd-8669-4239-b11c-9107e0cb4fe7http://www.timecockpit.com/blog/2014/01/28/Importer-ImprovementsImporter ImprovementsOut of the box time cockpit ships with a powerful importer that can import both CSV and Microsoft Excel files. In previous versions the importer could only be used to import new records. In the new version February 2014 we have improved the importer to also support updating existing records.2014-01-28T14:08:00Z08d1994b-10b7-4c0f-ad98-c97627189405http://www.timecockpit.com/devblog/2014/01/16/Software-Quality-Days-2014-Model-Driven-Development-and-TestingSoftware Quality Days 2014: Model Driven Development and TestingYesterday we represented Microsoft and their Team Foundation Server in the Tools Challenge at the Software Quality Days 2014 in Vienna. The topic was Model Driven Development and Testing. The great news: We won :-) Read more about what we have demonstrated during the challenge.2014-01-16T09:22:00Zcaf7f665-60eb-41ca-b454-9bf6db04f5d3http://www.timecockpit.com/blog/2013/12/30/Stop-Mistaking-Being-Busy-for-Being-ProductiveStop Mistaking Being Busy for Being ProductiveAt the current time of the year, many people are thinking about their New Year’s resolutions. Beside classics like “eat more vegetables” or “go to the gym more often”, you could add one for your job: Stop thinking you are productive if you are just busy.2013-12-30T12:03:00Z48807701-5da1-4da4-9d0c-2c56b41aab6bhttp://www.timecockpit.com/blog/2013/12/30/Whats-New-in-Version-January-2014What's New in Version January 2014December 2013 has primarily been a planning month for us. We defined the topics in which we want to invest in 2014. Nevertheless, in version January 2014 we deliver improvements in the areas reporting and programmable actions. In this article you can read about the enhancements and the results of our planning for 2014.2013-12-30T09:36:00Z4d170e72-6312-4a8b-875d-c7dbec020109http://www.timecockpit.com/devblog/2013/12/05/Cloudconf-2013-Berlin-Windows-Azure-Active-DirectoryCloudconf 2013 Berlin: Windows Azure Active DirectoryYesterday I was speaker at the Cloudconf 2013 in Berlin. My first session was about Windows Azure Websites. The second one was an introduction into Windows Azure Active Directory. I recorded the second session (German). Here it is.2013-12-05T19:23:00Zc1330ed5-5a8f-476e-95eb-b330d4cfe5c7http://www.timecockpit.com/blog/2013/11/29/Time-Cockpit-and-Cloud-SecurityTime Cockpit and Cloud SecurityNowadays people are on the alert for data security and privacy when it comes to cloud computing. Time cockpit is a SaaS offering in the cloud. In this article we want to describe in detail how we designed, developed, and how we operate time cockpit in order to be secure.2013-11-29T09:02:00Zfc75b07a-7371-4ffc-b413-23cdf08c5862http://www.timecockpit.com/blog/2013/11/29/Whats-New-In-Version-December-2013What's New In Version December 2013In this release of time cockpit we have improved the new reporting features.2013-11-29T08:20:00Z0c59b29c-5983-48c1-8627-8cfe8379df47http://www.timecockpit.com/blog/2013/11/27/Reporting-Preview-ImprovementsReporting Preview ImprovementsIn the December version of time cockpit we have improved the new reporting feature of time cockpit. Read about the new functions and about our plans for the following months.2013-11-27T07:33:00Ze9e68d21-6a22-47ec-a30e-ec19761e9d20http://www.timecockpit.com/devblog/2013/11/18/Okay-the-Cloud-But-whats-in-it-for-me-and-my-businessOkay, the Cloud. But what's in it for me and my business?I was part of a keynote panel for this year's WebTech Conference in Munich. We discussed the business value of the cloud. In this blog post you find the recording of the keynote.2013-11-18T09:16:00Zda714514-a9ce-42d3-bc55-b7c9472ca785http://www.timecockpit.com/devblog/2013/11/05/Sourcecode-Review-CriteriaSourcecode Review CriteriaCustomers regularly hire me to do code reviews for software projects. Over the years I put together my personal checklist. In this blog article I share a summary of it with you. Note that the checklist is in German. However, the article contains a link to auto-translate it in English.2013-11-05T08:00:00Z735d3d1a-41f0-4c40-8533-2149a068ca9ahttp://www.timecockpit.com/devblog/2013/11/04/Whats-New-For-Devs-in-Win81What's New For Devs in Win8.1One of our partners, IT-Visions, invited me to speak at their VS2013/Win8.1 What's New event in Munich today. Of course I am happy to participate. During the session I will demo new features from VS2013, Windows Store app development, and Windows Azure Mobile Services.2013-11-04T12:59:00Z1e191f02-8908-468d-aa25-3c1d27cbe063http://www.timecockpit.com/devblog/2013/10/31/WebTech-2013-Interview-about-TypeScriptWebTech 2013: Interview about TypeScriptYesterday at the WebTech 2013 conference in Munich I did an interview with Corinna Kern from Software and Support Media. Here is the video (German).2013-10-31T11:27:00Z4406e17d-6810-41e7-95c3-04cddbbb46abhttp://www.timecockpit.com/blog/2013/10/31/Whats-New-In-Version-November-2013What's New In Version November 2013In this release of time cockpit, we focused on two things. First, we started to tackle one of our most requested features, reporting. Second, we further progressed improving the combo box in time cockpit. We enhanced the usability of how you manage data in time cockpit. 2013-10-31T10:16:00Zdd47bbe0-aae7-475e-8479-911a4bd7e48ahttp://www.timecockpit.com/devblog/2013/10/30/WebTech-Conference-MunichWebTech Conference MunichToday I am here at the WebTech Conference in Munich speaking about cloud computing and web technologies. In this blog post you find some photos and links to the material that I will use during my sessions.2013-10-30T10:09:00Zfddb8cfc-7d61-4358-8001-0590ce846fddhttp://www.timecockpit.com/blog/2013/10/29/Reporting-PreviewReporting PreviewIn the November version of time cockpit we have released a first preview of the upcoming reporting feature. Read what's already in the box and what will come in the following months.2013-10-29T08:09:00Zc2422ba8-317a-4851-9899-372e6137ab2dhttp://www.timecockpit.com/blog/2013/10/22/Getting-Real-Work-DoneGetting Real Work DoneIt is a well-known fact that constant interruptions can have quite negative consequences on your productivity. Instead of being able to concentrate on the important tasks you planned for a certain day, you are kept busy by phone calls, ad-hoc meetings, incoming emails, social media notifications, etc. As a knowledge worker, I struggle with this problem, too. As an entrepreneur building a project time tracking software, I am constantly looking for ways to cope with it. In this blog article I want to share some of my current thoughts on the topic of productivity and interruptions.2013-10-22T11:42:00Z87a97e7c-2c55-4790-9bb9-d4fd9aa92b60http://www.timecockpit.com/devblog/2013/10/17/AngularJS-with-TypeScript-and-Windows-Azure-Mobile-ServicesAngularJS with TypeScript and Windows Azure Mobile ServicesIn the coming two weeks I will do a series of talks at various conferences in Austria and Germany. I will speak about AngularJS, TypeScript, and Windows Azure Mobile Services. In this blog post I publish the slides and the sample code.2013-10-17T19:26:00Z2c96b265-e7e6-45f9-9e04-db2e251492b2http://www.timecockpit.com/blog/2013/10/16/Excel-Exporter-and-Formatting-ProfilesExcel Exporter and Formatting ProfilesIn the current version of time cockpit, there is a bug in the excel exporter when using conditional formatting in an excel template file. Precisely, when using a conditional format that spans a full row or column instead of a sub-region of a worksheet. The root cause of this is in the way that the [usually more than awesome] ClosedXML (http://closedxml.codeplex.com/) library handles ranges with covering all rows or all columns. In some of those cases, ClosedXML tries to apply something to every cell in that (semi-infinite) range.2013-10-16T07:30:00Z1c445b09-7e41-45f0-9c3e-98dd1db20730http://www.timecockpit.com/blog/2013/10/15/NRWConf-2013---How-to-Sell-and-Estimate-Agile-ProjectsNRWConf 2013 - How to Sell and Estimate Agile ProjectsLast week I travelled to Wuppertal to participate in the community conference NRWConf 2013. With time cockpit we have been sponsors and speakers for this event for years. In this blog article I publish some photos from NRWConf as well as the slide deck for my talk about effort estimation in agile projects.2013-10-15T05:36:00Z16417ce1-e25e-43b4-b156-f2b2abcdd648http://www.timecockpit.com/blog/2013/09/30/How-Healthy-is-Your-Business-Part-2How Healthy is Your Business? (Part 2)What time tracking-related KPIs can tell you about your business’ healthy - Many companies use KPIs to manage their performance. The first part was an introduction into KPIs including tips and trick about successful performance management projects. In this second part we will show examples of KPIs related to time tracking.2013-09-30T12:24:00Z03334cdf-f06f-47e4-9791-a776df2fece5http://www.timecockpit.com/blog/2013/09/30/How-Healthy-is-Your-Business-Part-1How Healthy is Your Business? (Part 1)What time tracking-related KPIs can tell you about your business’ healthy - Many companies use KPIs to manage their performance. This first article introduces KPIs. It points out our top 10 tips about how to successfully build a KPI system in your company. In the second part we will show examples of KPIs related to time tracking.2013-09-30T11:42:00Z3ed22c72-9d10-4305-9237-13306c24e5e2http://www.timecockpit.com/blog/2013/09/30/Whats-New-In-Version-October-2013What's New In Version October 2013At time cockpit we are in close contact with our customers and we value their feedback. In one of our meetings with customers, we identified potential for performance improvements when it comes to drop-down lists (combo boxes). So we concentrated on optimizing the combo box experience in time cockpit. This is the first step to a more feature-rich combo box. There is more to come.2013-09-30T07:48:00Z9f022a15-3a94-4e75-a86d-1b6f9bd1ebd2http://www.timecockpit.com/devblog/2013/09/24/BASTA-2013-Android-Development-with-Xamarin-C-and-Azure-Mobile-ServicesBASTA 2013: Android Development with Xamarin, C#, and Azure Mobile ServicesThe Xamarin and Mono tools enable C# developers to use their existing knowledge and experience to write apps for Android and iOS. At the BASTA 2013 conference I did a session about that topic. During the session I showed a sample that used SQLite on the phone and Windows Azure Mobile Service as its backend in the cloud. In this blog article I publish my slides as well as the sample code.2013-09-24T11:56:00Z7db89411-1088-4361-9f5b-33fd0a640747http://www.timecockpit.com/devblog/2013/09/23/BASTA-2013-C-WorkshopBASTA 2013: C# WorkshopMeine Vorträge auf der BASTA 2013 starten heute mit einem ganztägigen C# Workshop. In diesem Blogartikel stelle ich Unterlagen und Links, die ich dabei verwende, zur Verfügung2013-09-23T06:24:00Zd7f6927c-717b-4509-a98f-5c4e7c7847dchttp://www.timecockpit.com/devblog/2013/09/19/SQLPASS-Session-about-Windows-Azure-Table-StorageSQLPASS Session about Windows Azure Table StorageToday I will do a session in a SQLPASS community meeting in Vienna about Windows Azure Table Storage. The audience mainly consists of SQL experts and I have been invited to describe similarities and differences of SQL Azure and Table Storage. In this article I want to summarize important links that people who are interested in the details could use.2013-09-19T08:26:00Z78ce7540-215e-4cc2-b1cd-f5e8e3a94540http://www.timecockpit.com/blog/2013/09/09/Performance-Problems-in-the-Online-Client-of-Time-CockpitPerformance Problems in the Online Client of Time CockpitYou may have recognized that the performance of the time cockpit online client is very bad today. Every database request takes multiple seconds, because the cached time cockpit DataContext, that is used to connect to the database, is rebuilt each time instead or reusing the cached version.2013-09-09T09:06:00Z4cefe2de-70a5-4532-8884-fc886e3764cahttp://www.timecockpit.com/devblog/2013/09/03/Saving-Money-in-the-Cloud-with-Async-ProgrammingSaving Money in the Cloud with Async ProgrammingToday I do a session at Herbstcampus Nürnberg about changes in .NET’s 4.5 Base Class Library (BCL). Of course the primary topic is async programming as this is by far the most important change. As always I try to demonstrate not only the pure technology. I want to show practical examples about how you benefit from it in everyday life.2013-09-03T10:36:00Ze13b3966-7cc9-46bb-9883-49352b7c8f6ahttp://www.timecockpit.com/blog/2013/08/30/Estimation-Quiz---ResultsEstimation Quiz - ResultsLast month we published a quiz in which you can demonstrate your estimation skills. Our article proposed that most of us typically overestimate our knowledge. A lot of people took the test. Do you want to know the results? Here they are.2013-08-30T13:02:00Z4b63aa08-e60d-45fe-b5a9-a6e9e04db0a2http://www.timecockpit.com/blog/2013/08/30/Project-Reporting-in-Agile-ProjectsProject Reporting in Agile ProjectsAt software architects we live and breathe agile development. Agile principles have been our constant companion for many years now. Over the years we have developed a solid practice for reporting in agile projects. 2013-08-30T12:25:00Zdbaca284-a968-41c0-93b3-e3253cbbfe88http://www.timecockpit.com/blog/2013/08/29/Whats-New-In-Version-September-2013What's New In Version September 2013This month we continue the spate of performance and productivity improvements for time cockpit. We have focused on lists and the customization module. Time cockpit now provides shortcuts for opening forms not only as dialogs but also as tabs. This makes it much easier to deal with large forms as they can use nearly the entire screen. Additionally you can open a list and a form side by side so you still see the overview in the list while editing a data row. Such scenarios are very helpful especially for typical back office work like preparing timesheet data for invoicing, effort analysis in project management, etc.2013-08-29T14:25:00Zf45cba29-ce22-44b7-a4f3-f209632ec305http://www.timecockpit.com/blog/2013/07/31/Whats-New-in-Version-August-2013What's New in Version August 2013This month we have focused on the performance of the time sheet calendar, especially the performance when editing time sheet entries. Until now time cockpit always reloaded all time sheet entries for the selected month after editing, adding or deleting a time sheet entry. Additionally, time cockpit reloaded all time sheet templates, because every change could cause changes in the templates. This was even true when only moving or resizing a time sheet entry in the calendar.2013-07-31T11:33:00Z66b9c56c-8a42-486d-9160-65bbb170b79ahttp://www.timecockpit.com/blog/2013/07/19/How-Good-Are-Your-Estimation-SkillsHow Good Are Your Estimation Skills?Estimation is hard, especially in agile projects. At the beginning of a project you do not exactly know what you have to build. Nevertheless, CFOs, project managers, customers, teams that you have to work with, and many other stakeholders want and need estimations. They ask for expected costs, roadmaps, timelines, necessary resources, and so on. The bad news is that people are typically very weak estimators. The good news is that you can improve your estimation skills with training.2013-07-19T11:10:00Z65c64ff9-12d8-4a95-b86d-c17e3744099ehttp://www.timecockpit.com/blog/2013/07/18/Google-Latitude-will-be-Retiring-on-August-9thGoogle Latitude will be Retiring on August 9thGoogle has decided that they will be retiring Google Latitude on August 9th. Unfortunately, this will break the location history feature we have introduced in time cockpit version June 2013.2013-07-18T09:36:00Z72de725b-906c-45cb-9aa6-e53e88de94aehttp://www.timecockpit.com/devblog/2013/07/11/Imagine-Cup-Three-Gold-Medals-What-a-NightImagine Cup: Three Gold Medals, What a Night!Today was the day of the truth. How would my Indian and Austrian mentees score in Microsoft's Imagine Cup. Finally it was a huge success for all of us. We can celebrate three gold medals.2013-07-11T18:41:00Zd2339be0-8c76-4f1e-879f-407478fe8041http://www.timecockpit.com/devblog/2013/07/10/Microsoft-Imagine-Cup-in-St-PetersburgMicrosoft Imagine Cup in St. PetersburgCurrently I am at the worldwide finals of Microsoft’s Imagine Cup in St. Petersburg/Russia. It is my first time to Imagine Cup and I am deeply impressed. I was invited to come to St. Petersburg as a mentor for two teams of students, one from India (Y’nots) and one from Austria (Zeppelin Studio). Both teams did a great job presenting their projects in front of the judges yesterday. Congratulations!2013-07-10T08:49:00Zd150ab82-3937-48c8-b10d-e1a8f3b0f1d1http://www.timecockpit.com/devblog/2013/07/01/Impressions-from-MS-TechEd-2013-MadridImpressions from MS TechEd 2013 MadridSome photos I took at MS TechEd 2013 in Madrid2013-07-01T06:44:00Z17f462ab-d2b2-4091-82fe-7e35b454b2cfhttp://www.timecockpit.com/blog/2013/06/30/Location-based-Time-Tracking-with-Time-Cockpit---a-Practical-ExampleLocation-based Time Tracking with Time Cockpit - a Practical ExampleOf course we are using our own software for internal time tracking, too. In this short video I show how location-based time tracking in time cockpit helps me keeping my time sheet up to date while travelling to customers all across Europe.2013-06-30T09:48:00Z0da7f982-c415-4568-bb3b-cd5ef897a076http://www.timecockpit.com/blog/2013/06/28/Whats-New-in-Version-July-2013What's New in Version July 2013This month we improved the performance of initial synchronization. Especially when you already have collected lots of signals on multiple devices, the initial sync on a new device may take more than an hour. In the July version we managed to increase sync performance for our own time cockpit users (yes, we are eating our own dog food) from nearly one hour to approximately 15 minutes.2013-06-28T10:24:00Z8c6ddc4f-b88f-476c-a8d8-efe3d82cf9c2http://www.timecockpit.com/devblog/2013/06/26/MS-TechEd-2013-Talk-Continuous-Integration-with-Team-Foundation-Services-and-Windows-Azure-WebsitesMS TechEd 2013 Talk: Continuous Integration with Team Foundation Services and Windows Azure WebsitesAt Microsoft TechEd 2013 I do a session about Continuous Integration with Team Foundation Services and Windows Azure Websites. In this blog article you find the source code and a video of the sample.2013-06-26T12:26:00Zfcb5f455-b2b2-45af-b667-45993c734227http://www.timecockpit.com/blog/2013/06/25/Six-Reasons-for-Time-Tracking-in-Agile-ProjectsSix Reasons for Time Tracking in Agile ProjectsTime tracking in agile projects is a controversially discussed topic in many project teams. Some people – typically the developers – argue that time tracking is at least unnecessary if not unwanted when following agile principles. They refer to documents like the Scrum Guide which says that “Scrum does not consider the time spent working on Sprint Backlog Items. The work remaining and date are the only variables of interest”. On the opposite side of the spectrum there are people – typically managers – who insist on detailed time tracking. They work according to the famous saying “you can’t manage what you can’t measure”. Agile is fresh, it is new. Therefore asking for time tracking might seem old-fashioned and somehow related to the often criticized waterfall model. However, there are a lot of valid reasons why you might still need time tracking even if you decide to work the agile way. Let’s take a look at six of the most important reasons.2013-06-25T07:59:00Z921c8a4e-eb85-4f24-9eb0-b9a12f4c6b69http://www.timecockpit.com/blog/2013/06/25/Faster-Synchronization-in-Time-Cockpit-July-2013Faster Synchronization in Time Cockpit July 2013Time cockpit can work online or offline. All changes are synchronized to a local database for offline use. For the next version (July 2013, 1.14) we have dramatically improved the performance when syncing large amounts of signal data, greatly reducing initial synchronization times for new users or devices.2013-06-25T00:00:00Z6cf6ae78-5dc3-40a6-8bb1-5bab52189175http://www.timecockpit.com/blog/2013/06/21/Creating-User-Note-Signals-at-Arbitrary-Points-in-TimeCreating User Note Signals at Arbitrary Points in TimeTime cockpit allows you to take notes during your daily work. Such a note often acts as a reminder for a certain action, task switch or event that is not automatically tracked but important for your time booking. Notes are typically created for the current point in time. This article shows how you can configure time cockpit to allow arbitrary timestamps in user notes.2013-06-21T00:00:00Zd78abbc5-d484-4fac-b535-a538b1a65639http://www.timecockpit.com/devblog/2013/06/10/Custom-Code-Activities-in-TF-Service-BuildCustom Code Activities in TF Service BuildRecently, Microsoft launched their hosted Team Foundation Service which includes the ability to use customized workflows including custom code activities. Last week, I gave the feature a spin and here’s a few things that I tripped over.2013-06-10T11:23:00Zebc061bf-8ff3-4959-8ccf-728445f81bc5http://www.timecockpit.com/blog/2013/06/04/Solving-the-Time-Cockpit-Silverlight-Client-not-Loading-IssueSolving the Time Cockpit Silverlight Client not Loading IssueToday one of our customers reported an issue that time cockpit's Silverlight client would not load on his computer. The fabulous thing about this: The customer solved the problem himself AND gave us the root of the cause. We definitely have the best customers in the world.2013-06-04T14:05:00Z8b94dc9c-1343-41d9-88b0-f70cbe439413http://www.timecockpit.com/blog/2013/05/31/Location-Data-in-Time-Cockpit---A-Wish-Comes-TrueLocation Data in Time Cockpit - A Wish Comes TrueFrom the very first day of our time cockpit project we wanted to support knowledge workers who travel a lot. Finally this vision has become reality. The latest time cockpit version makes booking your time sheet records for business travels a piece of cake.2013-05-31T13:14:00Zf109c943-5997-4002-a7e3-6d4d09693bfchttp://www.timecockpit.com/blog/2013/05/31/TFS-Work-Items-as-Time-Cockpit-TasksTFS Work Items as Time Cockpit TasksIf you are using Team Foundation Server for your daily development and planning work time cockpit can provide you with some information from TFS via the signal trackers (e.g. checked in code). Using python scripting and the TFS client SDK you can also query the work items for your projects and store them as time cockpit tasks. This will allow you keep track of your working time based on TFS projects and work items.2013-05-31T11:49:00Z0911ae73-ac56-42c5-90ff-21de7ba46916http://www.timecockpit.com/blog/2013/05/31/Whats-New-in-Version-June-2013What's New in Version June 2013In the newest version of time cockpit we introduce a new signal type for locations. For that we use data collected by the Google Latitude location service.2013-05-31T08:49:00Z017a5d3d-f973-4190-a9fa-b456c501f9b3http://www.timecockpit.com/devblog/2013/05/17/Exploring-C-Inheritance-2-of-2Exploring C++ Inheritance (2 of 2)In the first entry discussing C++ inheritance, I covered how basic inheritance works: A hidden pointer to a virtual function pointer table is used to dispatch to the correct method. I pointed out that the addresses of the objects, no matter how I casted them around stayed the same. Now this was pretty straightforward for single inheritance, but you will see why this becomes quite special with multiple inheritance.2013-05-17T08:52:00Zcd956133-1446-4943-b3c6-772bb0a4138fhttp://www.timecockpit.com/devblog/2013/05/17/Parallel-2013-Conference-Workshop-Parallel-ProgrammingParallel 2013 Conference: Workshop Parallel ProgrammingOn May 17th I did a workshop on parallel programming at parallel 2013 conference in Karlsruhe. The attendees asked me to publish some of the live coding samples I did. In this blog you can find the samples.2013-05-17T08:39:00Z43b45774-a2ae-42c8-82f1-15e11ff848fahttp://www.timecockpit.com/devblog/2013/05/17/Exploring-C-Inheritance-1-of-2Exploring C++ Inheritance (1 of 2)Quite a while ago - still working with Rarebyte - I was designing a class library for game related stuff. Naively ensured that OOP was the only real solution to scaling software, we did a lot of (multiple) inheritance and packed stuff into the library, most of what we never needed anyhow. At one point the question came up on how this was implemented and if we actually knew what this (multiple inheritance especially) meant to the data structures. With self-competence I garbled something about function pointers and tables and a hidden pointer in every object etc. What it meant exactly, I didn't know.2013-05-17T05:33:00Z28f1f249-7dbb-411a-8cd1-2d2a801161f3http://www.timecockpit.com/devblog/2013/05/03/dotnet-Cologne-2013-asyncawaitdotnet Cologne 2013: async/awaitThis year at dotnet Cologne I have proposed a 60 minutes live-coding talk about async/await. It was really accepted and I even got the large ballroom. Wow, live coding in front more than 100 developers. This will be awesome. In this blog I post the sample that I am going to develop on stage.2013-05-03T07:42:00Zcba6d775-e92c-4668-a7dd-81d566038cc2http://www.timecockpit.com/blog/2013/04/30/Importing-JIRA-Issues-as-Time-Cockpit-TasksImporting JIRA Issues as Time Cockpit TasksTime cockpit allows you to assign time bookings to tasks and projects. If you are using JIRA for planning and bug tracking, this article shows you how to import issues from JIRA into time cockpit in order to use them for time booking. This can be achieved by using the REST API provided by JIRA and a small python script in time cockpit.2013-04-30T08:23:00Z083c285d-8d9b-4163-8a72-8068f78475c2http://www.timecockpit.com/blog/2013/04/29/Whats-New-in-Version-May-2013What's New in Version May 2013In this version of time cockpit we made the usage of actions more convenient. All actions that can be executed on a time sheet are now available from the ribbon menu in the time sheet calendar.2013-04-29T14:58:00Z8aab69c6-0f6d-46c7-b0b4-2ef680e1f4aahttp://www.timecockpit.com/devblog/2013/04/29/Workshop-about-Agile-Development-and-ScrumWorkshop about Agile Development and ScrumLast week I did a workshop for a customer on agile software development and scrum. In this blog post I publish the slides that I have used.2013-04-29T09:17:00Z3e0f9f2d-6bf1-4ba4-8c1d-7dfc9368083bhttp://www.timecockpit.com/blog/2013/03/28/SQL-Server-Compact-Timed-Out-Waiting-for-a-LockSQL Server Compact Timed Out Waiting for a LockFirst of all, a big thank you to our customers! Since we have added the feature to send error reports via email, we have received lots of information from you. Please keep on sending us your problems with time cockpit, so we can learn what we should improve. We really appreciate your feedback. We definitely had one frontrunner in your error reports: SQL Server Compact timed out waiting for a lock.2013-03-28T13:49:00Ze743c2ba-ed23-49b2-82dc-24400b379535http://www.timecockpit.com/devblog/2013/03/25/Workshop-Whats-New-in-Visual-Studio-2012-for-C-DevelopersWorkshop: What's New in Visual Studio 2012 for C++ DevelopersFor a Microsoft event we have been hired to do a full-day workshop about news in Visual Studio 2012 for C++ developers. The workshop took place at Microsoft's Innovation Center in Vienna last Friday. In this blog article you find the slides and the samples that I have used in the workshop2013-03-25T08:47:00Z44a4c26c-7339-44e6-9e5b-92b6694d136fhttp://www.timecockpit.com/blog/2013/03/20/Whats-New-in-Version-April-2013What's New in Version April 2013In version April 2013 we have focused on the formatting profiles in the time sheet calendar. Until now we only showed a color legend in the navigation bar on the left side, but there is much more information we can display so we decided to change the color legend to a bar chart.2013-03-20T13:19:00Zbe6b577a-2608-4d21-8f2d-7f8f31d93b5fhttp://www.timecockpit.com/blog/2013/03/13/Improved-Performance-for-Lists-in-Version-March-2013Improved Performance for Lists in Version March 2013In version 1.10 we have modified most lists in time cockpit for better performance. If you have built Microsoft Excel export templates you may have to update them to fit together with the new lists.2013-03-13T10:11:00Z0b276297-95ff-42c2-a201-d849339e883ahttp://www.timecockpit.com/blog/2013/02/28/Whats-New-in-Version-March-2013What's New in Version March 2013We are pleased to announce the new version March 2013 of time cockpit. In this version we have focused primarily on the following three goals: make it easy to import data from other data sources, allow to maintain the data model in multiple languages, make lists more expressive by adding charts to visualize information2013-02-28T10:09:00Za21ce95a-5047-46f5-810a-970bc7d112c3http://www.timecockpit.com/devblog/2013/02/27/BASTA-Spring-2013-Custom-OData-ProvidersBASTA Spring 2013: Custom OData ProvidersAt the BASTA Spring 2013 conference I had a session about developing custom OData providers. In this blog article I summarize the most important take aways and publish the source code.2013-02-27T09:34:00Zdddf5ce9-2587-46fb-8a37-5161217eee87http://www.timecockpit.com/devblog/2013/02/25/BASTA-Spring-2013-C-PowerworkshopBASTA Spring 2013: C# PowerworkshopAuf der BASTA 2013 Spring Konferenz habe ich einen ganztägigen Workshop zum Thema C# mit Schwerpunkt auf parallele und asynchrone Programmierung gehalten. In diesem Blogartikel gibt es die Slides und Samples zum Download.2013-02-25T16:09:00Zdbe3f38f-2516-4ed3-956c-0b35741f8f12http://www.timecockpit.com/devblog/2013/02/21/Using-WAWS-for-Tenant-IsolationUsing WAWS for Tenant IsolationI had the chance to do two sessions at Microsoft MVP Summit 2013 in Redmond/Bellevue. In this blog article I share the thoughts + code of my second talk about Windows Azure Websites.2013-02-21T22:06:00Zd6dd5c58-f164-4075-908d-1c1e26b28cb2http://www.timecockpit.com/devblog/2013/02/20/Windows-Azure-Websites--TypeScript--nodejs--JavaScript-on-SteroidsWindows Azure Websites + TypeScript + node.js = JavaScript on SteroidsI had the opportunity to do two sessions at MVP Summit 2013 in Redmond/Bellevue. The first one covered TypeScript. In this blog article I summarize my main points and share the demo code.2013-02-20T16:19:00Z680a4f0c-e0fa-4d91-8c23-1d59e407d08fhttp://www.timecockpit.com/blog/2013/01/22/Synchronized-Android-Call-Log-ImportSynchronized Android Call Log ImportTime cockpit can assist you in keeping track of your phone calls. By using two simple and free apps you can set up automatic synchronization from your Android phone, to cloud storage, to your desktop and into time cockpit.2013-01-22T09:22:00Zf55b8530-f505-477f-99c0-6618c1fd7254http://www.timecockpit.com/blog/2013/01/16/Compensatory-Time-Off-in-Time-CockpitCompensatory Time Off in Time CockpitRecently, a customer asked us how to book compensatory time off in the time sheet calendar of time cockpit without affecting a users actual hours of work. Here is what we came up with...2013-01-16T14:19:00Z641e4cb6-8c19-4790-8308-23cf66effa6fhttp://www.timecockpit.com/blog/2012/12/27/Time-cockpit-in-Action-at-Software-ArchitectsTime cockpit in Action at Software ArchitectsMonth by month we portray customers who successfully use time cockpit for managing their services business. For our initial newsletter in 2013 we decided to write about how we use time cockpit for our own consulting business.2012-12-27T13:55:00Z278a42af-c42d-4027-a2c5-2130cb8c12ebhttp://www.timecockpit.com/blog/2012/12/27/Raise-Productivity-by-Enhancing-Your-Billing-ProcessRaise Productivity by Enhancing Your Billing ProcessIf you introduce time tracking in your company you usually want to accomplish certain goals. You might want get more insight into how you spend your time to increase productivity, or maybe you want to monitor the progress of your projects. If you work in a service company, you know that time tracking is important because it is a fundamental part of your billing and calculation processes. Working without time tracking would be like flying blind without instruments. Integrating your time tracking tool with a dedicated invoicing service reduces the number of mistakes and frees you from unnecessary administrative work. In this article you will learn what time cockpit offers for invoicing out of the box and how you can easily integrate it with the online billing system billomat.2012-12-27T12:20:00Z908e9746-2929-42d1-a814-7aa4c675bf60http://www.timecockpit.com/devblog/2012/12/20/Windows-Azure-Table-Service---An-ExampleWindows Azure Table Service - An ExampleIn September 2012 I did a session on Microsoft Windows Azure's Table Storage at the Professional .NET 2012 Community Conference in Vienna. In this blog post I would like to publish the video of the talk as well as the sample code I presented during the session.2012-12-20T07:11:00Zad434a7d-1c21-4e5d-a241-4ac99616fc90http://www.timecockpit.com/blog/2012/12/17/Debugging-and-Interactive-Development-of-Time-Cockpit-Python-ScriptsDebugging and Interactive Development of Time Cockpit Python ScriptsIt is easy to create small scripts to automate tasks or extend time cockpit's functionality. When the requirements and scripts grow more complex step-debugging and a REPL are desirable features we do not (yet) provide within time cockpit. This post shows how these features can be set up using Visual Studio or other development environments.2012-12-17T15:18:00Zc58630f8-e2f9-4a2c-a36c-cb208b553f2bhttp://www.timecockpit.com/blog/2012/11/29/Data-Bars-in-ListsData Bars in ListsIn our next version we will add a new column types for bars to lists. We will support three different types of bars: DataBar, StackedDataBar and BulletGraph.2012-11-29T13:22:00Z625e973f-d4fe-403b-8963-43b40cc0a819http://www.timecockpit.com/devblog/2012/11/28/Continuous-Integration-With-Windows-Azure-Websites-and-Team-Foundation-ServicesContinuous Integration With Windows Azure Websites and Team Foundation ServicesWindows Azure Websites (WAWS) is a great PaaS service in Microsoft's Cloud Computing platform Windows Azure. It makes it very easy to create, run, and scale web sites or web APIs. The new Team Foundation Services integrate perfectly with WAWS and make it possible to setup a continuous integration environment in the cloud within minutes.2012-11-28T23:41:00Zf5c3c6aa-8530-4c77-a32a-1c7aa011adbfhttp://www.timecockpit.com/devblog/2012/11/27/Presentation-about-Business-Model-Evolution-for-SaaS-Dublin-MS-GISV-Summit-2012Presentation about Business Model Evolution for SaaS (Dublin MS GISV Summit 2012)SaaS is an important trend in the software industry. In this presentation Rainer Stropek from time cockpit speaks about typical challenges that software vendors have to solve to successfully transfer from the classical licensing-based model to a SaaS strategy.2012-11-27T14:35:00Ze1cb89a9-ed6c-4b13-9d8e-3123156f8ef3http://www.timecockpit.com/blog/2012/11/23/Get-Notified-When-a-Project-is-Exceeding-Its-BudgetGet Notified When a Project is Exceeding Its BudgetIn this blog post we show you how to customize time cockpit so that project managers are notified via e-mail if a threshold of hours spent on a project is exceeded.2012-11-23T11:58:00Zb6e98218-644a-4501-9f66-6cb8de6146d0http://www.timecockpit.com/devblog/2012/11/22/ADONET-45-Async-Data-Reader-and-IAsyncHttpHandlerADO.NET 4.5 Async Data Reader and IAsyncHttpHandlerIn cloud computing scenarios latencies between the application and database server are usually higher compared to an on premise scenario. With the rise of node.js I/O driven web hosts are becoming more familiar and ADO.Net 4.5 aids this by providing Async methods to I/O bound functions. 2012-11-22T21:44:00Z3ef72fb2-156c-408f-82f1-b3d08fdeaf7dhttp://www.timecockpit.com/blog/2012/11/22/Hiding-Menu-Items-Depending-on-the-UserHiding Menu Items Depending on the UserOne of the key benefits of time cockpit is the customizability. A thing that is often requested but unfortunately still a bit difficult is hiding menu items depending on the current user.2012-11-22T15:16:00Za7111212-9c4f-4ab4-9269-6e526022ca1dhttp://www.timecockpit.com/blog/2012/11/22/Minimize-Maximize-and-Close-Button-is-MissingMinimize, Maximize, and Close Button is MissingWhen running time cockpit in Windows 8 the minimize, maximize, and close button is missing.2012-11-22T14:05:00Z344f10bb-7b1e-4e3b-8ce9-17bab41c29b6http://www.timecockpit.com/devblog/2012/11/22/BASTA-Austria-2012-Parallel-and-Async-Programming-in-CBASTA Austria 2012: Parallel and Async Programming in C#At BASTA Austria 2012 I did a workshop about parallel and async programming in C#. In this blog article you find the material (slides)2012-11-22T13:04:00Z01c5c2dd-073e-4ec8-ac5e-1bd6f17bd667http://www.timecockpit.com/devblog/2012/11/22/BASTA-Austria-2012-TypeScript---JavaScript-on-SteroidsBASTA Austria 2012: TypeScript - JavaScript on SteroidsAt BASTA Austria 2012 I did a session about TypeScript. I introduced the new language and showed demos in the browser (with jQuery, require.js, etc.) and on the server (with node.js).2012-11-22T12:25:00Z760d8b6b-db37-438b-9c74-6fff33575868http://www.timecockpit.com/blog/2012/11/21/Display-of-Overlapping-Time-Sheet-EntriesDisplay of Overlapping Time Sheet EntriesIn the new version of time cockpit for winter 2012/2013 we will fix the display of overlapping time sheet entries. See screenshots of the new version.2012-11-21T10:53:00Ze1aafed2-6f55-4a20-a5ec-6a6841c82b44http://www.timecockpit.com/devblog/2012/11/04/Session-at-AZUG-in-BrusselsSession at AZUG in BrusselsOn October 25th 2012 I did a session at the Azure user group in Brussels about "Catching The Long Tail With SaaS + Windows Azure". Here you find the slides and the link to the recordings.2012-11-04T11:08:00Z6fe116bf-89b6-401d-b03c-f986d7668526http://www.timecockpit.com/devblog/2012/11/02/Sample-Code-for-TypeScript-Article-in-WindowsDeveloper-MagazineSample Code for TypeScript Article in Windows.Developer MagazineI am currently writing an article about TypeScript for the upcoming issue of the German Windows.Developer magazine. It contains a larger code sample demonstrating some key concepts of the new language. 2012-11-02T13:06:00Z6437ed75-da84-4137-9382-4e318543d0fbhttp://www.timecockpit.com/blog/2012/10/31/Importing-Data-from-SharePoint-Lists-via-IronPythonImporting Data from SharePoint Lists via IronPythonUsing just around 100 lines of code, basic customer master data can be imported from SharePoint to time cockpit. This can be achieved by using IronPython, the .net BCL and the SharePoint 2010 REST interface.2012-10-31T00:00:00Zc2251991-01c3-400e-bb3f-e4f8ac86a7cahttp://www.timecockpit.com/blog/2012/10/30/Import-Customers-From-Microsoft-Dynamics-CRM-OnlineImport Customers From Microsoft Dynamics CRM OnlineThis sample shows how to import customers from Microsoft CRM into time cockpit using .NET (C#).2012-10-30T08:58:00Z2eefc434-8f65-4dd4-b2c1-95001a121187http://www.timecockpit.com/devblog/2012/10/29/appconfig-in-IronPython-without-additional-assembliesapp.config in IronPython without additional assembliesThird-party .net assemblies can be easily used from IronPython. If the external assembly relies on a companion .exe.config/app.config file, a config for ipy.exe or an IInternalConfigSystem-implementation is required.2012-10-29T09:32:00Zcb43da70-b31b-4d75-a8e7-e8aa5d026bf8http://www.timecockpit.com/devblog/2012/10/07/The-CoFX-Data-ModelThe CoFX Data ModelExtensibility is an important aspect of time cockpit and its underlying framework CoFX. In this article I share a training slide deck that I use in CoFX trainings to describe the CoFX data model.2012-10-07T07:06:00Z17ec72db-d394-4711-83de-bdd86d828e70http://www.timecockpit.com/devblog/2012/10/03/Looking-Forward-to-Casablanca-[1-of-n]Looking Forward to Casablanca [1 of n]Those of you who know me, also know my appreciation for c++. Those of you knowing time cockpit will also know that nearly all of it is written in c#/.net with its service hosting infrastructure running in Windows Azure. There is one particular part of time cockpit that will, at some point in the future, receive a native rewrite and due to the nature of it, storing its data in windows azure is a key requirement. Windows Azure, up to now, does not offer a developer story for C++ development, especially considering access to its storage subsystem. This is where Casablanca comes in to play:2012-10-03T05:22:00Zb2ff01c1-fff6-4b90-8a6e-312ef58e967ahttp://www.timecockpit.com/devblog/2012/10/02/Cloud-Computing---was-bringts-GermanCloud Computing - was bringt's? (German)Am 27. September 2012 durfte ich gemeinsam mit Thomas Rümmler von AIT einen Vortrag zum oben genannten Thema auf dem 2. Symposium für Software Architektur und effiziente Entwicklung variantenreicher Systeme der Technischen Akademie Esslingen (Stuttgart) halten. In diesem Blogartikel finden Sie die Slides und den Text für das Tagungshandbuch)2012-10-02T07:19:00Z3faee139-a960-4985-9d28-6a8dc115a9d8http://www.timecockpit.com/blog/2012/10/01/Customizing-Lists-and-Forms-in-Time-CockpitCustomizing Lists and Forms in Time CockpitExtensibility is an important aspect of time cockpit and its underlying framework CoFX. In this article I share a training slide deck that I use in CoFX trainings to describe how to customize and extend lists and forms in time cockpit.2012-10-01T07:18:00Z465bedec-1a11-4074-9bad-88079794a5echttp://www.timecockpit.com/blog/2012/09/30/Reporting-with-time-cockpit-and-Microsoft-Office-ExcelReporting with time cockpit and Microsoft Office ExcelTime cockpit contains some powerful functions to export data to Microsoft Office Excel. Learn how you use this feature for reporting purposes.2012-09-30T07:06:00Zff83cbd2-ae14-483b-b173-a390c0e75b1bhttp://www.timecockpit.com/blog/2012/08/21/Version-Autumn-2012-is-Available-Version Autumn 2012 is Available With the new autumn release you can install time cockpit on your pc or access it online via your browser from any pc you like. It is your choice! No matter which version you prefer, time cockpit is always available for you.2012-08-21T13:42:00Z0cd579d8-6e35-4b10-849b-018243ce896chttp://www.timecockpit.com/blog/2012/05/25/Time-Cockpit-Awarded-Best-Startup-by-EuroCloudAustriaTime Cockpit Awarded Best Startup by EuroCloud.AustriaWe are happy to announce that time cockpit won the first place in the EuroCloud.Austria "startup" category. time cockpit will therefore compete in the European Awards.2012-05-25T16:03:00Zae00415c-7a5e-4fbb-84a3-c83b6eac51cdhttp://www.timecockpit.com/blog/2012/01/22/Python-in-Time-Cockpit-17Python in Time Cockpit 1.7With the release of time cockpit 1.7 we are happy to ship IronPython 2.7.1 as our scripting environment. This release significantly simplifies the use of LINQ by fixing an issue we identified and reported about ten months ago. It is now possible to import, transparently use and chain together calls to extension methods which LINQ heavily relies on.2012-01-22T15:58:00Zbc6fc47b-fd15-439b-a385-3caefeff5272http://www.timecockpit.com/devblog/2011/10/24/BASTA-2011-Workshop-About-Software-FactoriesBASTA 2011: Workshop About Software FactoriesOk, I feel ashamed. Already more than three weeks have passed since BASTA 2011 has ended - and I did not publish my slides and samples yet. However, today I finally found the time to write this blog post.2011-10-24T16:05:00Z85cb20bd-9e2b-499f-99d1-e860e4f17e26http://www.timecockpit.com/devblog/2011/09/09/Session-at-NRWConf-2011Session at NRWConf 2011Like last year Rainer Stropek presents at NRWConf in Wuppertal. In his session Rainer speaks about Windows Azure und he demonstrates time cockpit at a booth and during a lunch session.2011-09-09T16:50:00Zf4cc28d8-7555-42c0-974a-55879f9a8c6bhttp://www.timecockpit.com/devblog/2011/07/19/Windows-Azure-Remote-Desktop-HintWindows Azure Remote Desktop HintJust a quick heads up: "Administrator" is not the best user name you could try to use for Windows Azure Remote Desktop connections.2011-07-19T17:01:00Zb774418b-3d6e-4e05-864c-dc71417591d9http://www.timecockpit.com/devblog/2011/07/06/Azure-Sessions-at-DevConnections-Conference-in-KarlsruheAzure Sessions at DevConnections Conference in KarlsruheOn Thursday I will do three sessions about the Microsoft Windows Azure platform at the DevConnections conference in Karlsruhe (Germany).2011-07-06T17:04:00Za673e14b-f1d8-4b50-90a0-d2059bb332echttp://www.timecockpit.com/devblog/2011/06/06/Storage-Deep-Dive--DevConnections-in-Karlsruhe-Storage Deep Dive @ DevConnections in Karlsruhe Elasticity is what the world of cloud computing is all about. Do you quickly need more storage because of high load on your systems? No problem, in Windows Azure you can store up to 100 TB with a single account and create new SQL clusters within a few seconds. And the best: you just pay for what you really use. In this one day workshop Rainer Stropek, MVP for Windows Azure, presents the storage technologies of Windows and SQL Azure. Learn about blob and table storage as well as SQL Azure, Microsoft’s SQL Server in the cloud.2011-06-06T09:22:00Z23f1aa97-2b32-480c-9fda-3a5dfdce2898http://www.timecockpit.com/devblog/2011/04/14/Moving-from-SQLCE-35-to-SQLCE-40-Moving from SQLCE 3.5 to SQLCE 4.0 So today finally came that day, we put our first steps into moving to SQL Server Compact Edition 4.0 for our offline database. I was delayed by a day by introducing a new way of managing references to third party components in our build system because I didn't want to replace the Version for the assembly in every project file. How I did that is the content of another blog post though.2011-04-14T09:35:00Z6d0a1095-f1e3-4c34-baf8-52e27d5aacffhttp://www.timecockpit.com/devblog/2011/03/28/BIG-DAYS-2011---Parallel-Programming-BIG DAYS 2011 - Parallel Programming At the BIG>DAYS 2011, the largest roadshow of Microsoft in Austria with approx. 1,700 visitors, I do a session about parallel programming together with Andreas Schabus. In the session we start with the basics of parallel programming in .NET 4 and C# 4. Based on that we discuss the importance of parallel programming in Windows Azure and do demos for scaling out compute tasks into the cloud as well as a demo for parallel querying using the concept of horizontal sharding in the SQL Azure database layer.2011-03-28T09:41:00Za87b8d7e-d0cd-4f00-afb6-875e5d703f8ehttp://www.timecockpit.com/blog/2011/03/17/Time-Cockpit-Customization-A-slightly-advanced-List-Time Cockpit Customization: A slightly advanced List The other day, a friend of mine asked me for a list containing the time he began work, when he went home, the hours he spent working and the seconds he was on break. At first I thought about implementing a python script to do it, but it turns out that our custom query language, TCQL, has enough power built-in to do it. We can therefore solve this by creating a list definition.2011-03-17T10:30:00Zceb2575b-4a75-4054-82b4-84f359ac645dhttp://www.timecockpit.com/devblog/2011/02/23/TFS-Build-and-Checked-In-Assemblies-TFS Build and Checked-In Assemblies Even though our core dev team is quite small, time cockpit's code base has grown quite a bit. It has grown in such a way, that having all of the code in one solution file and working with it from a day-to-day basis is not a feasible solution. As we have three different areas we work on, Data Layer (DL), Signal Trackers (ST) and the User Interface (UI) itself, we have created seperated solutions for each area. This would work fine just as it is, but the problem is, that ST depends on DL and the UI depends on the ST and DL Layers.2011-02-23T10:56:00Z22e8c0bc-4742-4994-a19f-3d762037d9cbhttp://www.timecockpit.com/devblog/2011/02/20/Powerworkshop-C-4-at-BASTA-Spring-2011Powerworkshop C# 4 at BASTA Spring 2011 Tomorrow I will do a power workshop about C# 4 at BASTA Spring 2011 in Darmstadt.2011-02-20T11:16:00Ze578b4ec-f16c-4018-b5f7-349623735518http://www.timecockpit.com/devblog/2011/02/16/Custom-OData-Provider-for-Windows-Azure-Custom OData Provider for Windows Azure Beside working on time cockpit I also do some consulting work regarding .NET in general and the Microsoft Windows Azure Platform in particular. In that context I had the chance to work as a coach in an Azure evaluation project at Austria's leading real estate search engine. Based on the research we did in this project I came up with the idea to build a custom OData provider that optimizes the way that real estate search requests are handled. It shows how sharding can be used in Winodws Azure to massively improve performance while raising costs moderately. In this blog post I would like to show you the architecture of the solution. You will see how I have built the provider and how the possibilities of the Windows Azure platform helped me to create an elastic solution that is able to handle high loads.2011-02-16T08:44:00Zd7bba5f2-94d8-41a4-b616-7458fe28bb42http://www.timecockpit.com/devblog/2011/02/14/Automated-deploying-and-testing-of-services-in-AzureAutomated deploying and testing of services in AzureWe have been experimenting with automated testing of our services against windows azure lately. Our goal was to deploy a service in the build process, run a unit test, and then undeploy the process. Assuming that you have a hosted service ready (something.cloudapp.net) and a solution with a unit test running locally against a service (running locally, when executing the unit test, there are a few steps one needs to take in order to test against an azure-deployed instance of this.2011-02-14T11:44:00Ze9c659ee-54b9-44b2-ae59-a677a4967f5fhttp://www.timecockpit.com/devblog/2011/02/14/Session-at-ADC-2011---Testing-and-build-automation-with-Windows-AzureSession at ADC 2011 - Testing and build automation with Windows AzureToday I will present about testing and build automation with the Windows Azure platform at the Advanced Developer Conference in Munich.2011-02-14T11:41:00Z6b3f0f80-642e-490c-83ec-0bc03e4966c0http://www.timecockpit.com/devblog/2011/01/24/Windows-Azure-Workshop-at-OOP-2011Windows Azure Workshop at OOP 2011Today I will do a workshop about the Windows Azure Platform at OOP 2011. In this blog post I want to summarize the most important resources that I have used in the workshop.2011-01-24T11:56:00Z52e14c5a-58c4-4548-85c2-2320d52d81e2http://www.timecockpit.com/devblog/2010/12/08/Hands-On-Labs-StyleCop-and-Code-AnalysisHands-On Labs StyleCop and Code AnalysisThis week I will be one of the speakers at BASTA On Tour in Munich. One of the topics I am going to speak about is the Managed Extensibility Framework (MEF). In this blog post I want to share my slides and summarize the hands-on labs that I am going to go through with the participants.2010-12-08T12:00:00Z5373e548-11d2-4f11-8b08-823925f63566http://www.timecockpit.com/devblog/2010/12/07/Hands-On-Labs-Visual-Studio-IDEHands-On Labs Visual Studio IDEThis week I will be one of the speakers at BASTA On Tour in Munich. One of the topics I am going to speak about is the Managed Extensibility Framework (MEF). In this blog post I want to share my slides and summarize the hands-on labs that I am going to go through with the participants.2010-12-07T12:07:00Zdadb6191-0a1e-4728-92c4-3e388c7fdfe9http://www.timecockpit.com/devblog/2010/12/06/Hand-On-Labs-MEFHand-On Labs MEFThis week I will be one of the speakers at BASTA On Tour in Munich. One of the topics I am going to speak about is the Managed Extensibility Framework (MEF). In this blog post I want to share my slides and summarize the hands-on labs that I am going to go through with the participants.2010-12-06T11:33:00Z024c9866-c041-4916-b89e-3fc813806d9dhttp://www.timecockpit.com/devblog/2010/12/05/Hands-On-Labs-SandcastleHands-On Labs SandcastleThis week I will be one of the speakers at BASTA On Tour in Munich. One of the topics I am going to speak about is code documentation with Sandcastle. In this blog post I want to share my slides and summarize the hands-on labs that I am going to go through with the participants.2010-12-05T12:11:00Z65c9cf25-914a-40ec-8d81-914a3ebfe497http://www.timecockpit.com/devblog/2010/12/02/Webcast-and-videos-to-learn-about-AzureWebcast and videos to learn about AzureDuring the last few weeks I have done a few workshops and trainings about the Windows Azure Platform all across Austria. For those people who could not attend I have put together some important dates for webcasts in which you can learn about Windows Azure. Additionally I would like to point you to a webcast recording about getting started with the Windows Azure November 2010 release.2010-12-02T12:21:00Zb662f770-ccb0-4d6f-b45d-7494f6dc8767http://www.timecockpit.com/blog/2010/11/25/2nd-Place-for-Time-Cockpit-2nd Place for Time Cockpit This year the Softwarepark Hagenberg Award was presented the 4th time to promote innovative software developments of exceptional quality. We are proud to announce that time cockpit has reached the 2nd place.2010-11-25T13:47:00Za3e74603-fcca-4f1c-b523-b1889de13fadhttp://www.timecockpit.com/blog/2010/11/25/Version-15-is-Available-Version 1.5 is Available This new version of time cockpit is available for a few days now. The main focus of this version was to improve the new features of version 1.4 and fix some bugs.2010-11-25T13:46:00Zd8f9720b-998d-4d63-977e-d8b1c01495c1http://www.timecockpit.com/devblog/2010/11/12/Custom-SSIS-Data-Source-For-Loading-Azure-Tables-Into-SQL-ServerCustom SSIS Data Source For Loading Azure Tables Into SQL ServerYesterday the wether in Frankfurt was horrible and so my plane from Berlin was late. I missed my connection flight to Linz and had to stay in a hotel in Frankfurt. Therefore I had some time and I used it for implementing a little sample showing how you can use a customer SSIS data source to easily transfer data from Windows Azure Table Storage to SQL Server databases using the ETL tool "SQL Server Integration Services" (SSIS).2010-11-12T12:24:00Zcc029daf-7156-4898-9ece-4ac31ee1aaa1http://www.timecockpit.com/devblog/2010/11/10/TechEd-2010---Multi-Tenant-Architectures-in-Software-as-a-Service-SolutionsTechEd 2010 - Multi-Tenant Architectures in Software-as-a-Service SolutionsToday I will do a session at Microsoft TechEd Europe 2010 in Berlin. In the next few paragraphs I want to quickly summarize the introduction of the talk for those of you who are interested but did not make it to Berlin.2010-11-10T12:32:00Z27b08d91-17cc-48bd-a17c-a633c49fd7e8http://www.timecockpit.com/blog/2010/11/09/Version-14-is-Available-Version 1.4 is Available Our new version of time cockpit 1.4 is available since 8 November 2010.2010-11-09T13:50:00Z44dd8abb-0203-4d19-998e-a17a2cd51306http://www.timecockpit.com/devblog/2010/10/26/Webcast-Windows-Azure-StorageWebcast: Windows Azure StorageYesterday I wrote a tutorial that demonstrates how to use the different storage technologies of the Microsoft Windows Azure Platform (see article Windows Azure Storage in my blog). Some people do not like to read long tutorials, they prefer watching a how-to-video. Therefore I created a series of videos that show how to use SQL Azure, Windows Azure Table Storage, Queues and Blob Storage.2010-10-26T12:36:00Zbd13ebab-57e5-4dcc-8172-357c0a97ec16http://www.timecockpit.com/devblog/2010/10/25/Windows-Azure-StorageWindows Azure StorageThe Windows Azure platform offers different mechanisms to store data permanently. In this article I would like to introduce the storage types of Windows Azure and demonstrate their use by showing an example application.2010-10-25T12:38:00Z1f664127-9e19-4ce2-a8dc-df92a7c57f95http://www.timecockpit.com/blog/2010/09/21/Hotfix-for-Tablet-PCsHotfix for Tablet PCsOn tablet pc's and on pc's which have the service 'Tablet PC Input Service' activated the following exception may occur when viewing a list.2010-09-21T13:51:00Z5642838c-3996-4cf1-9d76-6d88c16e1476http://www.timecockpit.com/devblog/2010/09/10/MVVM-Tutorial-from-Start-to-FinishMVVM Tutorial from Start to FinishToday I am at the NRWConf, a community event of Microsoft-oriented software developers in the Börse in Wuppertal.Beside presenting our product time cockpit I also do a session about MVVM (Model-View-ViewModel) and data binding with WPF and Silverlight. Because I do the session code-only (no slides!) I have recorded the content last night to enable all participants to repeat the shown sample.2010-09-10T15:11:00Z51c8c717-8169-4fa2-b83c-61e867c531edhttp://www.timecockpit.com/blog/2010/09/09/New-Screencast-German-Shows-New-Styling-of-Time-Cockpit-V14-New Screencast (German) Shows New Styling of Time Cockpit V1.4 In October 2010 we will release version 1.4 of the time tracking tool time cockpit. The big new featur in V1.4 is security. You will be able to exactly control access to data and functions. Beside security the release 1.4 will also bring some visual improvements: Clearer color scheme for signal data, enhanced editor with syntax coloring for scripts and TCQL queries and much more. In the screencast below (German) you can get a glimpse of time cockpit V1.4.2010-09-09T13:53:00Z95ed0c8f-55a2-4b9a-8838-f50efbd7b9e3http://www.timecockpit.com/blog/2010/09/07/Reparing-a-corrupted-time-cockpit-databaseReparing a corrupted time cockpit databaseLately we had a customer with a corrupted local database. Various source on the internet revealed that his is mostly related to power outs and blue screens. For time cockpit it becomes apparent when neither the signal tracker nor the time cockpit UI is able to start.2010-09-07T12:48:00Z4ea64f77-2a3a-4833-b062-01a97b87448ahttp://www.timecockpit.com/devblog/2010/08/30/Speaking-at-See-Party-about-Framework-Design-GuidelinesSpeaking at See# Party about Framework Design GuidelinesOn saturday I had the opportunity to speak about Framework Design Guidelines at the conference See# Party in Switzerland. Here are the key topics that I covered in my session.2010-08-30T12:53:00Z96f6a384-332d-4c8d-a579-2c26b9004a00http://www.timecockpit.com/blog/2010/08/30/Time-Cockpit-in-Remote-Desktop-and-Workstation-Sharing-Scenarios-Time Cockpit in Remote Desktop and Workstation Sharing Scenarios Upon popular request I would like to explain the current possibilities and limitations of time cockpit in advanced multi-user scenarios like using Remote Desktop Services or sharing workstations (using user switching).2010-08-30T12:50:00Z8d80aab3-018d-44c6-9ed3-6fe083fe862ehttp://www.timecockpit.com/blog/2010/08/19/Version-13-is-AvailableVersion 1.3 is AvailableVersion 1.3 contains mainly improvements in display and editing of lists. Please note that all users in a tenant have to switch to the new version as soon as the first user in the tenant installs this version, because users with older versions will not be able to sync their data with the server anymore. If you do not want to force other users to upgrade you may install version 1.2. It does not contain all improvements of version 1.3 but it is compatible with versions 1.0 and 1.1.2010-08-19T13:54:00Z0d64ffe3-fe0b-4f70-baf3-1ba881b1637chttp://www.timecockpit.com/blog/2010/07/29/Proof-of-Concept-Itemized-Call-List-ImportProof of Concept Itemized Call List ImportIn our very successfull webinar this morning we were asked by an attendee if it is possible to import phone calls from a mobile network provider's itemized call list. We really liked the idea (thanks grasgruen.it) and decided to create a prototype/proof of concept implementation of such an import using IronPython, our own SDK and third party APIs.2010-07-29T12:55:00Z821b3880-f6c7-4edf-a484-e4c6636508b0http://www.timecockpit.com/blog/2010/07/28/How-to-Create-a-Custom-Form-for-an-Action-ParameterHow to Create a Custom Form for an Action ParameterIn our last blogpost (see here), we covered how to create actions with parameters. We described how to create an action, how to define exececution conditions and of course, how to create action parameters. As we mentioned in our last blogpost, time cockpit auto-generates a form for each parameter entity that is used with an action. However, it is also possible to define custom forms for action parameters. For creating a customely defined form, the following steps are necessary.2010-07-28T12:58:00Z7ffe9ffa-a27d-4da4-bab8-e5809ef27024http://www.timecockpit.com/blog/2010/07/26/How-to-Create-an-Action-That-Takes-Parameters-How to Create an Action That Takes Parameters Last week, a user brought to our attention that there was no example in our help that demonstrated how to implement an action that takes parameters. Therefore, I want to give a quick example of how to achieve the latter behavior. First let me say that the following example is rather trivial, but it should suffice to show you the basic principles of actions. 2010-07-26T13:07:00Z3bdbda07-3362-4b14-bb79-f2a402193dc1http://www.timecockpit.com/blog/2010/07/22/Time-Cockpit-2010-SP1Time Cockpit 2010 SP1Today we will release SP1 for time cockpit 2010. In this blog we would like to summarize the changes in this program version. Note that the setup for time cockpit 2010 SP1 can be used to install a new, fresh copy of time cockpit and to update an existing installation of time cockpit 2010.2010-07-22T13:16:00Zdeae680d-e8d2-4162-9395-9658cb73cb7chttp://www.timecockpit.com/devblog/2010/07/15/TFS-2010-Build-and-WorkFlow-40-TFS 2010 Build and WorkFlow 4.0 After having released time cockpit 1.0, we decided to finally upgrade to Team Foundation Server 2010. The upgrade seemed to have worked without any problem and day-to-day work continued as normal with checkins, branching and merging working at least as good as before. If you read of the changes between TFS 2008 and TFS 2010 (here) you may have noticed that TFS Build 2010 is based on WorkFlow 4.0 (WF4).2010-07-15T13:20:00Z5ef82b1c-4ca0-4a72-ad3c-fe94b149b0e9http://www.timecockpit.com/devblog/2010/07/15/CodeAnalysis-Cloned-Configurations-and-TFS-Build-2010CodeAnalysis, Cloned Configurations and TFS Build 2010In case you are stumbling across a problem where your build does not succeed because the result file for code analysis cannot be found (Unable to read Code Analysis output report. Make sure that the directory is writable (default is the project output directory) be sure to not have any <CodeAnalysisLogFile> entries in your project build files.2010-07-15T13:19:00Z70a627f9-264e-483f-b365-060ec9c7b5fbhttp://www.timecockpit.com/blog/2010/07/07/Understanding-Time-Cockpits-Excel-ExportUnderstanding Time Cockpit's Excel ExportToday we had a potential customer having difficulites with the excel export. I agree that there are some rough edges and therefore some more explanation of how the excel export works: Basically there are two variants of exports: Templated and direct. Internally this corresponds to time cockpit reading an exisiting template or creating a default template from the entity type that is to be exported. Therefore I will only explain the templated version, because the non-templated version works the same, just that time cockpit generates a template for you instead of you specifying the template.2010-07-07T13:25:00Zb1672f2d-8f4b-412b-ab0f-066f92e88481http://www.timecockpit.com/blog/2010/07/01/Time-Cockpit-Version-10-Now-AvailableTime Cockpit Version 1.0 Now AvailableAfter two years of planning and developping we are proud to announce time cockpit version 1.0. Try time cockpit and see what it can do for you. You can download the final version and use it 30 days for free. If you have installed one of the beta versions please note that you have to remove the old version before installing the final version.2010-07-01T13:56:00Z870ba35a-5055-42e3-94fc-96ab5d8b4799http://www.timecockpit.com/blog/2010/05/07/Time-Cockpit-is-Built-for-Knowledge-WorkersTime Cockpit is Built for Knowledge Workers!The importance of time cockpit’s primary target market, the tertiary sector of economy, has been constantly growing since the 70s. There is no indication that this trend will be slowing down in the near future. Within the European Union for example 74% of all non-financial companies are in the service sector. 2010-05-07T13:30:00Z013f4a53-0678-4f72-988a-ad8c9fd85b47http://www.timecockpit.com/blog/2010/04/26/Why-The-World-Needs-Time-Cockpit--Why The World Needs Time Cockpit ... Naturally most services companies do not primarily provide physical goods. They supply skills, ingenuity and experience with the help of their service suppliers – people! Employees and especially their time is the most valuable asset in service companies. People working in this industry make their living from selling their work time. They have the crucial need to track what and for how long they work on specific tasks because this, at the end of the day, determines their costs to a great deal and in many cases even directly influences their sales revenue. 2010-04-26T13:34:00Zd8440c18-7ce8-4231-b1f1-4155daf182f8http://www.timecockpit.com/blog/2010/04/20/Time-Cockpit-and-the-Windows-Azure-Platform-Time Cockpit and the Windows Azure Platform For the Microsoft Worldwide Partner Conference we have created a video that shows how time cockpit uses the Windows Azure Platform.2010-04-20T13:38:00Z72092540-2394-43fb-996a-2c4488aad647http://www.timecockpit.com/blog/2010/03/31/Using-LINQ-in-IronPython-26Using LINQ in IronPython 2.6Up until (and including) our beta 2 release time cockpit used IronPython 2.4 for executing scripts. When creating complex scripts we often had to iterate over collections and check for certain conditions or concatenate collections of strings. Whenever possible we try to solve such tasks using TCQL when selecting the source data from the data layer to pass most of the work on to the database.2010-03-31T18:32:00Z398052c4-a630-4c0d-94a3-d0998569ced2http://www.timecockpit.com/blog/2010/03/31/Error-When-Viewing-Projects-or-Timesheets-in-Administration-View-Error When Viewing Projects or Timesheets in Administration View Some time cockpit beta users reported problems when viewing projects or timesheets in the administration module. The following exception occured when they tried to open a list of projects or timesheets.2010-03-31T13:39:00Z560deb07-b1c5-4f51-9215-1fdc2fe40121http://www.timecockpit.com/devblog/2009/10/13/C-and-NET-Secrets---QuizC# and .NET Secrets - QuizWe invite you to prove your knowledge about certain subjects concerning Microsoft .NET technology by participating in a monthly quiz. This month the quiz is about C# and .NET secrets. In this article you can reread the questions. Additionally you get background information about the correct answers.2009-10-13T11:18:00Ze7940ea5-b568-43ee-bfe4-9ec4fc28b5edhttp://www.timecockpit.com/devblog/2009/10/13/SQL-Champ---QuizSQL Champ - QuizWe invite you to prove your knowledge about certain subjects concerning Microsoft .NET technology by participating in a monthly quiz. This month the quiz is about SQL Server. In this article you can reread the questions. Additionally you get background information about the correct answers.2009-10-13T10:49:00Z637ad6f3-c39a-4a77-b406-c1e0b4ae5639http://www.timecockpit.com/devblog/2009/10/13/DEVcamp-2009---BaumschuleDEVcamp 2009 - BaumschuleAuf dem DEVcamp 2009 durfte ich einen Vortrag zum Thema "Baumschule" halten. Inhalt waren Syntax Trees im Allgemeinen und Microsoft Expression Trees im Speziellen.2009-10-13T08:11:00Zbfcb3605-63fa-49f1-b5da-2ee90ff2f2d9http://www.timecockpit.com/devblog/2009/10/13/Scroll-Synchronization-in-WPF-and-SilverlightScroll Synchronization in WPF and SilverlightImagine you have two ListBoxes with lots of items. Whenever a user scrolls in one of the two ListBoxes, the other one should be updated, too. What we want to do in this article is to create a simple attached property, that allows us to group scrollable controls.2009-10-13T07:20:00Z6d2da024-4deb-4b16-a979-4c6115632d48http://www.timecockpit.com/devblog/2008/03/15/Bug-Busters---Test-Driven-Development-in-NETBug Busters - Test Driven Development in .NETIn this article Rainer Stropek and Karin Huber show how Test Driven Development (TDD) works in practice. They start with a general overview about quality assurance and testing in software development. After that they implement an end-to-end solution using the TDD philosophy. Karin and Rainer do not only use unit tests for validating the data access and business layer. They also demonstrate how the popular open source tool WatiN can be used to test-driven develop a web user interface. The sample uses Microsoft Visual Studio 2008, C# 3.0, Linq-to-SQL, Linq-to-Objects, Visual Studio Unit Tests, ASP.NET and WatiN.2008-03-15T09:02:00Z1c03dd6c-0b85-4ded-92be-0be156bd7644http://www.timecockpit.com/devblog/2008/01/19/Caching-in-ASPNETCaching in ASP.NETThere are a lot of ways to improve performance in web applications. One of the simplest but most effective methods is to cache images on the client. In this article I would like to show how we implemented image caching for our DotNetNuke website.2008-01-19T11:35:00Zfa273c61-7e54-4ea8-bbd7-5dd236364ce2http://www.timecockpit.com/devblog/2008/01/13/Graphic-In-XAML-And-WPFGraphic In XAML And WPFIn this article I want to describe the functions of XAML, WPF and Silverlight in the context of graphic. I will use the corporate logo of our new company as the sample for this article because it's XAML implementation uses quite a lot of the graphic functions of XAML.2008-01-13T07:59:00Z37d726f6-15ef-4b7c-9ca4-a0a4bf7ba18fhttp://www.timecockpit.com/devblog/2008/01/07/WPF-Master-PagesWPF Master PagesOne of the really great enhancements in ASP.NET was the introduction of master pages. They help developers to create a consistent layout for the pages in an application. Unfortunately there is no such concept in WPF and XAML. In the following sample I would like to show a simple way to build a control in WPF similar to an ASP.NET master page.2008-01-07T08:44:00Z