.NET Core 1.0 : a giant leap in .net world

Microsoft, finally released its new generation of .net framework named .NET Core on June 27th 2016. I believe, this version would be a turning point in .net development and would be a giant leap in .net stack.

The reason why I believe so, being the combination of C# language  features and convenience of coding plus a significant improvement in the framework’s performance, as well as cross-Platform support for major operating systems like Windows, Linux and MacOS . Adding the open source code and potentially growing community to that, I believe it’s not just yet another .net version, but a foundation for a new powerful technology stack.

The benchmarks published on Github are showing exciting results :


Here is an example of benchmarks done on HTTP server, showing that .NET performs 3x faster than NodeJS!!! Which sounds unbelievable to me! Check out this comparative benchmark copied from the mentioned GitHub page :

Plain Text Performance benchmark

Similar to the plain text benchmark in the TechEmpower tests. Intended to highlight the HTTP efficiency of the server & stack. Implementations are free to cache the response body aggressively and remove/disable components that aren’t required in order to maximize performance.

Stack Server Req/sec Load Params Impl Observations
ASP.NET 4.6 perfsvr 57,843 32 threads, 256 connections Generic reusable handler, unused IIS modules removed CPU is 100%, almost exclusively in user mode
IIS Static File (kernel cached) perfsvr 276,727 32 threads, 512 connections hello.html containing “HelloWorld” CPU is 36%, almost exclusively in kernel mode
IIS Static File (non-kernel cached) perfsvr 231,609 32 threads, 512 connections hello.html containing “HelloWorld” CPU is 100%, almost exclusively in user mode
NodeJS perfsvr 106,479 32 threads, 256 connections The actual TechEmpower NodeJS app CPU is 100%, almost exclusively in user mode
NodeJS perfsvr2 (Linux) 127,017 32 threads, 512 connections The actual TechEmpower NodeJS app CPU is 100%, almost exclusively in user mode
ASP.NET Core on Kestrel perfsvr 313,001 32 threads, 256 connections Middleware class, multi IO thread CPU is 100%
Scala – Plain perfsvr 176,509 32 threads, 1024 connections The actual TechEmpower Scala Plain plaintext app CPU is 68%, mostly in kernel mode
Netty perfsvr 447,993 32 threads, 256 connections The actual TechEmpower Netty app CPU is 100%

To be honest, I can’t believe such a performance improvement yet, I need to touch it myself and do my own benchmark! I’ll be sharing my results and writing about it in the future.

By the way, if you’re into Docker, there is a docker image for .NET core downloadable from here : https://www.microsoft.com/net/core#docker


Check usernames availability!

What I’m gonna introduce in this post, has nothing to do with tech or software development stuff, but it could be handy once in a blue moon!

Today, I was looking for something else on the web and  just came across a cool website in which you can easily check the availability of a username in heaps of social networks in just a few seconds.

Here’s the address: http://checkusernames.com/ , have fun with it! :))

Tools to detect websites’ techs

As a web developer, most of the time I come across cool stuff (technology-wise) once I’m surfing the web and I’m always wondering, what kind of framework, library or technology has been used for their development.

I used to go with old school methods like viewing the website’s source code or inspecting elements (through dev tools) in my browser to grasp the libs and frameworks used in the web page. But you know, it takes time and thought, sometimes the code doesn’t make much sense and for some libraries about which we know almost nothing , it gets tricky to realize how things are working in the page.

In this post, I’m goint to introduce some handy tools I’ve found to detect tech stuff quickly with actually no effort.

One of my favorite tech detectors is Wappalyzer, which is actually an add-on for Chrome, Firefox and Opera browsers. You just need to simply install the add-on and that’s it! Once you’re surfing the web it’s going to show you all the detected technologies through icons in your address bar.If you click on the icons, it shows a full list of the used stuff. It can detect the server-side tech stacks/platforms, web servers, even the CMS used, and all the JavaScript libraries. If you’re wondering about any of them you can see a brief introduction to the tech in the Wappalyzer website (by clicking on tech name in the list) and go to the official website of the pertinent technology.


Builtwith is another cool  web-base tech detector I normally use. All what you need to do is to put the URL in www.builtwith.com and see the result. It shows much more details about the hosting, and server-side aspects.


Robotics and IoT through Cylon.js

In this topic, I’m going to introduce a cool JavaScript library for Robotics and IoT lovers. It’s called Cylon.

Using this library you can easily interact with other devices whether through a web browser or server-side NodeJs code.

Cylon brings the exciting robotics and the Internet of Things world to JavaScript. At this point of time it supports 50+ different platform devices plus a general purpose I/O supports with a shared set of drivers provided by cylon-gpio module.

The figures below show the most famous platforms supported by Cylon. You can find a full list of them here.

Cylon supported platforms
Cylon supported platforms
Cylon supported platforms

Using these 3 basic plugins, Cylon enables you to send and receive data with other devices even in a real-time streaming manner:

  • http/https (REST)
  • socket.io library
  • MQTT(an Internet of Things machine to machine connectivity protocol)

Here are some examples of using Cylon :

The code below contols an ARDrone, takes off and then lands again:

"use strict";

var Cylon = require("cylon");

  connections: {
    ardrone: { adaptor: "ardrone", port: "" }

  devices: {
    drone: { driver: "ardrone" }

  work: function(my) {
    after((10).seconds(), my.drone.land);
    after((15).seconds(), my.drone.stop);

Working as a software architect and developer on Network and Environment monitoring applications, I think it would be a great API gateway for the next generation of monitoring applications.  And I strongly believe that the combination of devices like smart phones, drones, sensors, robots, and so forth plus libraries like Cylon.js and cloud services like AWS IoT, would open new horizons of innovation in the new future, and makes the world much closer to what we would imagine in the Sci-Fi movies.

If Cylon is of your interest take a look into these tutorials and samples:



var codopia=new Blog();

Hey guys!

We’re a team of Sydneysider software developers, obsessed with technology and development.We just stated this blog for talking about coding and software development. Our main focus in this blog would be on software architecture, design, frameworks and technologies.