Skype Ads Killer 2.0

I uploaded new version 2.0 of SkypeAdsKiller (see description of this application in previous post).
In short, it hides Skype Ad without installation and editing any files.
You can get it here: skypeAdKiller.exe
Difference from previous version:
Previous version simply removes ad and leaves black bar instead of it. Version 2.0 resizes controls of skype window, so there is no disturbing black bar.

Source code

You can checkout source code from here (Delphi):
https://bitbucket.org/rkulenov/skypeadkiller

Hardcore Skype Ads Killer

How to kill Skype ads (again)

Pleviously I posted how to remove ads in skype by modifying ‘hosts’ file.
But it looks like the Evil Empire employed more ad-networks with theirs CDNs. So it will be difficult to block all IPs.

But there is a solution! I created small application which roughly kills ad-banner in running Skype.

You can get it here: skypeAdKiller.exe
Read more [+]

How to make Skype bigger and wider

Sometimes Skype has issues with font size and width of content of chat window in full screen mode.
On Full-HD monotors Skype fonts in chat window are very small and unfortuanately, Skype does not allow changing font size by CTRL+Mouse (as in browsers).
Read more [+]

Ubuntu VPS. First things to do

My notes on configuring new VPS (Virtual Private Server) running Ubuntu 12.10.
Read more [+]

How to block or remove annoying things

I’ll quickly tell you:
* how to block ads in Skype;
* how to surf the web without annoying ads (block ads in Firefox, Internet Explorer, Chrome, and Opera);
* and how to hide blocking dialogs of some sites;
Read more [+]

How to return document from MongoDB to browser via MVC controller

Here I’ll show how to return correct JSON from ASP.NET MVC controller when data is stored inside MongoDB and controller does not know about document type.
The code is quite simple, here it is:
Read more [+]

Comparison of most popular NoSQL Database Management Systems

NoSQL Database Systems are an alternative to the mainstream Relational DBMS. They don’t use a relational data model and typically have no SQL interface.
NoSQL systems are a heterogenous group of very different database systems. Therefore each attempt for a classification fails in classifying one or another system. However, the following categegories are well accepted:

  • Key-Value Stores
  • Wide Column Stores
  • Document Stores
  • Graph DBMS
  • RDF Stores
  • Native XML DBMS
  • Content Stores
  • Search Engines

Read more [+]

How to Perform Full Rolling Outer Join of CSV Files

How to perform full outer join of CSV files

In SQL Join is a mean for combining rows from two or more tables. There are different types of that Join operation: Inner Join, Left Join, Right Join, Full Outer Join, Cross Join…
An outer join does not require each record in the two joined tables to have a matching record. The joined table retains each record—even if no other matching record exists. Outer joins subdivide further into left outer joins, right outer joins, and full outer joins, depending on which table’s rows are retained (left, right, or both).
Conceptually, a full outer join combines the effect of applying both left and right outer joins. Where records in the FULL OUTER JOINed tables do not match, the result set will have NULL values for every column of the table that lacks a matching row. For those records that do match, a single row will be produced in the result set (containing fields populated from both tables).
full-outer-join

In Rolling Join those NULLs will be replaced with recent value (from previous row).
Sometimes we have similar task to join 2 CSV files by some common collumn. e.g. join 2 files of quotes from exchange by timestamp (in order to have quotes for all instruments for all timestamps). If some instrument does not have a quote with some timestamp (i.e. NULL) this actually means that we can suppose that its price did not change, so we can use previous value (rolling in action).
After this operation (rolling outer join of 2 quote files) we’ll have prices for all instruments for all timestamps without gaps.
Read more [+]

Separating output from standard streams (stdout and stderr)

When some application is run in Linux terminal and writes to stdout and stderr, then both outputs are mixed in terminal. How to split them?
For instance, I created an application (called dukas-quotes) which connects to broker (Dukascopy – Swiss Forex Bank) and receives quotes from it. The application writes all diagnostic information into stderr and quotes to stdout (in order to provide them further via piping).
Read more [+]

R and C++ integration

R (from R-Project) is a language and environment for statistical computing and graphics. R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques, and is highly extensible.

The Rcpp package provides a C++ library which facilitates the integration of R and C++. R data types (SEXP) are matched to C++ objects in a class hierarchy. All R types are supported and each type is mapped to a dedicated class.

The RInside package provides C++ classes that make it easier to embed R in C++ code — on either Linux, OS X or Windows.

I’ll show how I install everything required for programming in C++11 and calling R-scripts from C++ programs on Ubuntu 12.04 LTS (which has g++ 4.6 by default).
Read more [+]