Ok, the title is a litte exaggerated. Maybe not for for a Windows Developer

Anyway, consider this post as a current state of my mind, nothing special, nothing that I could swear to, just an open monologue about what I think.

Due to the fact that my kids are getting bigger and bigger, and they need a space and work machines (hah, of course they’re playing games, not really ‘working’), I have finally bought a laptop just for me (oh, how it sounds great!) with some solid specs (i3 and SSD were my minimum requirements) and start to think about how I’m gonna ‘stuff’ it with developer things. First of all, there should be some OS there, right? Well, spending years and years with Microsoft and developing mostly on .NET, I had no desire and no need to think about something else than Windows. Don’t get me wrong, I love Windows and I think it’s probably the best OS out there, but something made me think about something else. You know, a positive shivers to try something unfamiliar. Maybe it’s because that Windows Phone I have is no longer cool (we have (un)luckily 4 of them in the house!), maybe because I’m working the last couple years on JavaScript and other web client-side stuff (like KO, Angular, Node, etc) and the OS is no longer so important, maybe because IE is no more my first browser choice for dev or play…

I don’t know why, but I did that step, and install Ubuntu 16.04 on my brand new laptop.

First thing: I did not encounter any errors or problems. That thing just installed. And my aversion to the ‘dark-side’ things begun to fade away. IMHO it’s a standard Win-dev dellusion that any other system or application that is not MS-based will fall apart, and I began to feel I am/was that part of the world. Yuck! The other things just happily followed. I indeed found myself in an uncharted territory, but I rather quickly adapted – I started to use a “super” button (it’s really a Microsoft button, right?), learned about new file system, got to know how to use terminal (a “sudo window”) and installing the packages through the weird commands. And everything worked! No pain, no errors.

And what about programming? How I’m gonna throw away my favourite Visual Studio 2015 and give up the best IDE in the world? No worries, luckily there is a Visual Studio Core – the code editor that really shines! It runs on Windows, Mac, Linux, and it’s easy to work with. There are extensions for almost every programming language of today. I’ve installed C# and TypeScript, since these two I use daily, and start to code. It’s easy to build C# application, including ASP.NET, since there is a .NET Core which ports to every OS, including Linux. VS Code even has linters and static code analysis that I love, so nothing really stands against developing with the Code.

So, I made a little ASP.NET Core app that uses Web API 2 and make some calls, test it with Postman, and it worked. Also bootstrapped an Angular 2 app, installed packages with NPM, ran it with Node, and it also worked. Now I was ready for a new app stack!

Thinking about new stack, I’ve installed MongoDB,  since I’ve also been unfamiliar with it (that said, working with the MS SQL Server and Oracle, I never fell for the open-source databases since I got feeling that they suck). And once again, a positive surprise – it’s a very good thing! Maybe too different that I’ve used to with all this ‘document-like’ structure, but really nice. I’ll try MySQL too, and even make some Node.JS app to try it out. Just in case.

Next, I’ve installed Wine, since I just couldn’t find a decent game on Linux (except for the evergrowing steam game list). That was also easy, and I installed my favourite Anno series there (for your information, Anno 1404 needed DirectX 9.0c to be installed via Wine, and that passed quite nice). So, I currently use this machine to code AND play. Nice.

What to say at the end about Linux? It’s not a big deal to install it, familiarize with it, and run the apps on it. Ubuntu has a nice GUI and you can do lots of things with no problems. I hope I’ll keep that opinion also in the future. For now, I’m quite satisfied with my decision to work (even on a one machine) with a ‘dark-side’ OS, just for a change 🙂

Kind regards,



Posted by: rcosic | 24/11/2016

Sessions this winter

I was giving a session on this year’s Ekobit DevArena conference in Tuhelj on October, 25th:

  • Building applications in Angular 2 and TypeScript
    • Angular is one of the most Popular JavaScript Developer platforms for Building interactive client-side web applications. Find out how to begin with the developing new Angular 2.0 solutions based on TypeScript and new ECMA Script standards.


This winter I’m also giving the following lectures in MS Community:

  • November 28th, 2016: TypeScript – the next gen JavaScript
    • It’s enough to say that TypeScript is becoming a standard language of modern client-side applications. It is a superset of JavaScript features based on ECMA Script 2015 standard. But, it gives us more than that. With usage of all possibilities of the language, developing applications with TypeScript more and more looks like classical server languages such as C# or Java in its quality and scale. Find out how the TypeScript is structured and what it can offer to a developer today.
  • Also on November 28th: Angular 2 – advanced day
    • In this session, I’ll present some of the advanced techniques that Angular 2 Framework offers, also some important aspects of today’s Angular 2. You will find out about Angular CLI – powerful command-line tool for jump start, integration with Visual Studio 2015 as rich IDE for ng development, new features such as animations, new routing system, Ahead-of-Time compilation, working with custom directives and http services, and on the end, some points about effective Angular 2 deployment through SystemJS and WebPack.

What I plan to prepare in near future:

  • Linux for Windows developers (a short guide for Win dev in Linux world – what to expect and how to get around in Ubuntu and new/old tools)
  • Reinventing a new web stack (I’d talk about famous LAMP and MEAN stacks, and how to make your own by combining some of them)

See you around!

Posted by: rcosic | 15/06/2016

Sessions this summer/fall

angular_success_headerThis summer I’m giving the following lectures in MS Community:

  • June 20th, 2016: What brings us new ASP.NET Core 1 RC2?
    • What is happening in ASP.NET in the last few months, and how to catch a pace of changes that shake Microsoft web development? Learn what you need to know in taking the advantage of new AS.NET Core (previously: ASP.NET 5) and how to develop newest web applications by using ASP.NET Core, which is becoming more and more exciting and powerful as we step through the releases. Also, I will show you some examples of migration of the existing code in ‘vanilla’ ASP.NET and ASP.NET Core 1 RC1.
  • Also on June 20th: Migration of code to Angular 2
    • Angular 2 framework is getting more influence as it reaches to the final stage of implementation, so the community and businesses already begin to launch their products by using currently the most popular client-side web framework. Find out how easy is to build web solutions through Angular 2 platform and  TypeScript through live examples, and which challenges and possibilities this framework offers.


Later on this fall (most likely on DevArena conference):

  • October 25th, 2016: Developing web applications with Angular 2 and TypeScript

See you around!


Older Posts »