Windows Azure Storage performance benchmark and options

by Dmitry Kirsanov 9. April 2017 10:55

cstJust recently I had to assign a new virtual machine for yet another project, and this presented a perfect opportunity to try the recently introduced feature of Azure storage – the SSD drives.

As you know (and if you don’t – you can read about it here), the type of memory used in SSD drives provides not only faster way to write and read data, but more importantly – to read non-sequential data, hence promising a better performance for database and web caching. But, of course, I had to test it before putting any eggs into that basket.

One thing that raised some suspicion was the IOPS limit mentioned in each virtual machine “size” chart. The “size” of virtual machine, in Azure jargon, is the specs. Usually the name of the “size” consists of the literal and a cipher. The first tells us about the purpose of the machine and the second – how powerful and expensive it is.

I’ve selected the virtual machine that had “SSD 7Gb” on it, wondering what it means. Turned out that it means that you’ll get the temporary drive (the one with contents wiped time after time) with total size of 7Gb, but part of it will be taken by the virtual memory file. Still, you’ll get over 5Gb left and I never needed even that much on a temporary drive. More...


How Google Stole My App

by Dmitry Kirsanov 9. April 2017 08:16

ipt2A lesson for mobile developers.

When you steal from IT corporation, it’s a theft. When corporation steals from you – it’s a progress.

You may live through an event in your life, when stars align and you discover a new niche, where you would be a pioneer. Get the moment of enlightenment, hectically lookup the Internet for solutions and be amazed that no one else did that. You would actually be the first. And there is no guarantee, that it will be success – in a heap of millions of apps and websites and info-noise of events, things are missed. In Android alone, there are 2.8 millions of apps today, and it’s still growing.

Indie projects are akin to live creatures – born in a coincidence that looks like a miracle, they start small and weak, just like most creatures on our planet – and they don’t look like what they will in a few months from now. At that time they are easiest to snatch by all sorts of predators and the nature.

How much it costs to make an app

I calculated, that getting one new user for a mobile app will cost you around More...


My First App For Android!

by Dmitry Kirsanov 28. November 2016 19:33


It finally happened. My first app for Android platform is just about to be released and is available in Beta channel. It was clear that I’m not going to release anything for Windows Phone market anymore, especially since all phones in family are Android based, but I had to start somewhere in Android, and what a start it is!

The idea came during the Halloween night, when I was about to pick up the trick-or-treaters and their parents from neighbourhood. The problem was – it was night, I didn’t know where they are at the moment, and they were wandering among other spooky wanderers. I needed to know their location, precise and fresh. It took a few phone calls and messages with coordinates until I found them. Not a big problem, but I would rather get rid of that.

Second problem was recurrent – when I have to pick up someone using the car, I want to make sure that person knows my whereabouts, so neither of us would have to wait. Or when I want to show where I am, so family would know when to expect me. And that I’m fine and where I am supposed to be.

And a nuance – I never want this information to be available all the time. For various reasons – from privacy to battery life of my phone. I want to press the button, share my location, and for a limited time I want that location to be current. More...

The fact of life: You don’t need the fastest SD card for your new phone

by Dmitry Kirsanov 5. November 2016 04:25

msdpilePhones get faster processors, more RAM, more capacity and capability to work with larger microSD cards. Phones like Samsung Galaxy S7 and HTC 10 can take microSD up to 2Tb large. The largest microSD card available in the market today is 256Gb.

With faster CPU and higher resolution screens and cameras capable of writing 4K videos (like Samsung Galaxy S7 Edge camera, for example) comes the question whether the current cards support such speeds and whether you need to invest into higher speed card or resort to twice cheaper and slower one.

To make long story short – you don’t need the fastest microSD card. You can take any Samsung or SanDisk card and you’ll be fine. Read further for a longer story. More...

Handling Temporary Files, Best Practice

by Dmitry Kirsanov 9. October 2016 13:59

Each day I am creating so many temporary files that I can’t really give you a count. Sometimes it’s thousands. Opening attachments from e-mails and instant messengers, saving images from internet for a single use, opening archives, deploying software and many other tasks – they all create temporary files that may stay in a hard drive for years.

By temporary files I don’t mean the files created by applications to temporarily store data. I mean the actual user files you don’t intend to use in the future.

Another type of temporary files is log files. Usually we have them on servers. Web server logs, mail server, your own application that creates a set of log files each day – usually you don’t need to store these files for more than a few months. Especially if these files are stored on virtual machines, like Azure or Amazon, where you are paying for each megabyte of storage.

There are two aspects in temporary files that may justify doing something about them:

1. They take space or they are produced in numbers that decrease the performance of file system. The file doesn’t have to take all the space of the drive – it’s enough to have thousands of files in one directory to make Windows freeze every time it’s trying to find and list these files. For some directories we would prefer to have a threshold of a particular time after which these files should vanish.

2. They may contain sensitive information that you wouldn’t want to leave behind. Of financial, medical, business, political or any other nature – when the file has expired, there is no need to keep it, but some files may require special care in form of secure erase. More...

Getting most from your SSD drive by redirecting directories

by Dmitry Kirsanov 5. July 2016 10:27

SSD are very popular these days. I can tell for myself - in all of my laptops I have SSD drives, and if it has more than one hard drive installed, at least one of them is SSD. My main laptop has rather interesting construction – it has only one standard size 2.5” hard drive, and a slot for M2 form factor SSD drive, which looks more like a microscheme than a “hard drive”. For me this means, that I have small capacity SSD (128Gb in my case) and large HDD, thus having good compromise between large capacity and performance.

With 128 and less of space, it doesn’t look like a good idea to migrate OS to such drive. Windows itself will take half of it, and then you would have to watch out for temporary files and whatever installation packages, so they wouldn’t install stuff that doesn’t require high performance storage, on SSD.

On the other hand, if you have a large existing hard drive with 500Gb of space taken over the years of work and play, migration to smaller SSD would be tricky. More...

How to install Chromium browser on Raspberry Pi 3 Raspbian Jessie

by Dmitry Kirsanov 20. June 2016 22:33

JessieI am working quite intensively with Raspberry Pi, and recently upgraded to both Raspberry Pi 3 and Raspbian Jessie, that was released during last quarter of 2015 and is currently the latest and greatest version of Raspbian.

The paramount part of my installation is Chromium browser, as these devices have to access website that is only compatible with Chromium-based browsers. And I found that if with previous Raspbian you could just run “aptitude install chromium” and it would install the browser, now you are getting message “no candidate version found for chromium” and nothing gets installed.

To overcome this issue and install Chromium, you need to download and install three packages. Here is the exact script of what you need to run in console: More...

Sending e-mails from the cloud based web application

by DmitryKirsanov 10. June 2016 14:26

This sounds crazy. But when you move your website to the cloud, you get problems in things you were previously taking for granted. Like sending e-mails. Basically, the problem is that many e-mail servers, usually ones of big providers, have Azure, Amazon and other cloud provider IPs blacklisted. When you attempt to use SMTP service from your virtual machine in Azure – in many cases it fails to deliver. This means, that your Azure machine can not act as mail server and shouldn’t attempt to deliver messages to recipient SMTP server directly.

Why would you use SMTP service at all? Well, mainly for the sake of performance. Your web application, be it ASP.NET, PHP, Ruby or whatever, will benefit from saving the outgoing e-mail message as text file somewhere on local hard drive, instead of trying to deliver it using TCP/IP, even if that’s done in asynchronous method.


Bye bye, Adblock!

by Dmitry Kirsanov 15. March 2016 05:18

It seems like Adblock – famous add-on for Google Chrome that kept your web pages clean of malwertising – just crossed the red line. Instead of hiding adverts, it started to replace ads with even worse kind of ads – political ads. Yesterday I’ve opened IT website and I was shocked by abundance of political advertisement of “Amnesty International” that was inserted into the page by Adblock.

2 minutes later I stopped using Adblock.

5 minutes later I’ve got better option that I overlooked just because I wasn’t searching for anything better than Adblock. But guess what – there is something way better than Adblock.

The add-on is called uBlock Origin, and it works faster than Adblock, is free, has the same principles, but it doesn’t replace one advertisement with another. Instead – it completely removes it. Another benefit – I stopped seeing message “Waiting for AdBlock…” in Chrome, which sometimes extended the load time of the web page by many seconds.

In other words – Adblock repeated the old mistake, made by many companies before. You can’t lend your user base to someone, you can only sell it.



Changes in Windows Phone Store for Developers

by Dmitry Kirsanov 9. September 2014 06:09

If you are curious enough to develop software for Windows Phone, Microsoft got few surprises for you, which you may or may not already noticed, depending from how often you publish your apps.

First and the most important change is that Microsoft stopped testing new apps. Completely. This improved the speed of application submission from 3-7 days to 10-20 minutes. No one is going to check your app for compliance to UI, security and usability guidelines, as Microsoft has way more serious problems to solve – abysmal market share of just 2.5% and huge gap in apps with Google Market. And high quality, as you know, is an enemy of high speed, unless is backed by increased budget. Since Microsoft doesn’t yet control your budget, all they could offer is to help the speed of submission by eliminating the quality fence.

The downside of this is lowered quality of apps. For example, I released an application, which successfully completed the certification and was published in about 15 minutes, but failed to even start. That’s right, it produced exception right on start, no welcome screen or splash. More...

Month List