Enable bash on Windows 10

0
Comments
Enable bash on Windows 10

Finally! You can now use bash and almost any linux program on your Windows 10 machine. You do not need cygwin or MinGW anymore! This will give you opportunity to use rich variety of tools available only on linux. For example wrk - a great HTTP benchmarking tool which I plan to use for a new ASP.NET Core 1.1 benchmark. Linux's user space available from Windows 10 version 1607. But it's disabled by default. To enable it you should: Go to Settings -> Updates & security -> for developers a...

Read further...

Nginx Server Blocks (Virtual Hosts) Example Template

0
Comments
Nginx Server Blocks (Virtual Hosts) Example Template

Here is an example of the nginx server block (Virtual Hosts) which you can use to host multiple web sites on the same server. Just replace example.com with your own domain name. Do not forget to create all required folders and sent right permissions. Copy one of those templates to the /etc/nginx/sites-available/example.com Proxy example # Ivan Derevianko aka druss http://ivanderevianko.com # Force without domain domain without www server { server_name www.example.com; listen 80; rewrite ^(.*) ht...

Read further...

Deploy and run .NET Core application without installed runtime. Self-contained applications.

3
Comments
Deploy and run .NET Core application without installed runtime. Self-contained applications.

.NET Core framework provides one very useful feature - Self-contained application. You don't need to install any .net runtime on your computer, you can just copy your application to the target host and run it. Furthermore, you can run it on any platform (Windows, Linux, OSX)! When you create a self-contained application, after publishing, you will see the whole .net runtime next to your application. There are some advantages: You do not need to have installed .NET Core on a target machine You ca...

Read further...

Speed up Selenium WebDriver's page parsing time

0
Comments
Speed up Selenium WebDriver's page parsing time

If you are using Selenium WebDriver as a web crawler and thinking that it's too slow, welcome inside! In this article, we will see how to make page parsing time around 50 times faster. As an example, I will parse comments from another article from this blog. I will first parse it using default WebDriver API (FindElement... methods) and then will compare it to CsQuery Here is WebDriver parsing code: var driver = new ChromeDriver(); driver.Navigate().GoToUrl("/2014/07/fixed-setup-was-unable-t...

Read further...

[Mono] Selenium with headless ChomeDriver on Ubuntu Server

0
Comments
[Mono] Selenium with headless ChomeDriver on Ubuntu Server

If you want to run C# application (mono) with Selenium ChomeDriver on Ubuntu Server 16.04 in headless mode, you definitely should read this article. We will use Xvfb as X server, this will let us emulate "headless" mode because Xvfb performs all graphical operations in memory without showing any screen output. Install mono sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb http://download.mono-project.com/repo/debian whe...

Read further...

ZohoPeopleTimeLogger v1.4 - Smart filtering

0
Comments
ZohoPeopleTimeLogger v1.4 - Smart filtering

Changes: Show vacations only for currently logged in user (Previously, if you have access to other user's leave tracker you will see his days off as your vacation) Show only days off with Holiday and Sick type (Exclude 2hours short leave and others) Display leave type in calendar (Before was always Vacation, now Holiday or Sick) Download (GitHub) ZohoPeopleClient This C# library was also updated to v1.0.2. There are two new methods available in Fetch Record API: public enum SearchColumn { EMPLOY...

Read further...

C# 7.0 Pattern Matching. Part1

1
Comments
C# 7.0 Pattern Matching. Part1

Great news! You can already try new C# 7.0 features. All you need is Visual Studio 15 Preview. Let's start! Today we are going to talk about Pattern Matching and will look under the hood of this nice feature. Unfortunately, it is only partly available in VS 15. So we need to wait until next release. Or you can try to get latest Roslyn from GitHub. is operator The is operator is extended to test an expression against a pattern. With that you can replace this: object obj = "Hello, World!...

Read further...

C# 7.0 Local Functions

10
Comments
C# 7.0 Local Functions

C# 7.0 is coming! Even 6.0 is not released yet, you can already try new C# 7.0 features. To do that you need: Visual Studio 15 preview Set __DEMO__ and __DEMO_EXPERIMENTAL__ as Conditional compilation symbol in project settings. Not all of the new features available in current preview, but you can already play with some of them. But today we gonna look closer at Local Functions private static void Main(string[] args) { int LocalFunction(int arg) { return 42 * arg; } Console.WriteLine(LocalFuncti...

Read further...

[Unity3d] Serialize and Deserialize System.Guid using JsonUtility

2
Comments
[Unity3d] Serialize and Deserialize System.Guid using JsonUtility

Unity3d 5.3.0 introduced JsonUtility class which will help you with JSON serialization and deserialization. But this class has some limitation, and one of them: "You cannot serialize\deserialize System.Guid type" That's a pity, especially if you're using System.Guid in your DTO objects. But, there are solutions: You can change a data type, for example, use System.String or System.UInt32 instead of System.Guid. But if you have a lot of code which uses your DTO objects it might be painful to refac...

Read further...

[ASP.NET Core 1.0] Automatic Migrations in Entity Framework 7 (EF Core 1.0)

1
Comments
[ASP.NET Core 1.0] Automatic Migrations in Entity Framework 7 (EF Core 1.0)

There is no more public Configuration() { AutomaticMigrationsEnabled = false; } in Entity Framework Core 1.0 (formerly  EF 7.0) Now you can use extension Migrate method during database initialization. For example, you have custom DBInitializer class: public class DBInitialization { public static void Initialize() { using (var context = new DbContext()) { context.Database.Migrate(); // Other db initialization code. } } } There is also async version of this method. This method will apply any pendi...

Read further...

ZohoPeopleTimeLogger v1.3 - Show me the error

0
Comments
ZohoPeopleTimeLogger v1.3 - Show me the error

At Novility, we have  found that we cannot log working time anymore. You just press "Make me happy" button and nothing :( When ZohoPeopleTimeLogger tries to make you happy it needs information about current jobs from ZOHO. For example, if I try to log time for January 16 and there is no job for this date I will get an error. But user was not able to see that error. That is fixed in release v1.3. Download GitHub User will see message box with detailed description and nice instructions:

Read further...

[IoT] Connect Intel Galileo Gen 2 to Arduino Uno via nRF24L01

1
Comments
[IoT] Connect Intel Galileo Gen 2 to Arduino Uno via nRF24L01

Guys from Newark element14 have sent me a nice dev board - Intel Galileo Gen2. I was curious because before, Microsoft declared that Windows 10 IoT Core will run on this board. I planned to run my previous benchmark on this board to see if it can beat Raspberry PI 2. Unfortunately, with the latest release they removed this board from the compatibility list :( But this is not a big problem because I have some plans about home automation and I can use this board in it. I have couple nRF24L01 modul...

Read further...

Build and test ASP.NET 5 application using AppVeyor

1
Comments
Build and test ASP.NET 5 application using AppVeyor

For those who do not know, AppVeyor is Continuous Integration and Deployment service for .NET projects. It is free for open-source projects. Currently, AppVeyor supports latest DNX version (1.0.0-rc1-final) and I've recently migrated my pet project to this version. I will show you how easy it is to build and run all unit tests on CI server every time you commit to GitHub. Visual Studio project (MSBuild) In LearnWordsFast project we are using Visual Studio 2015 as a development environment, so in...

Read further...