Setting up OpenCL 2.0 Caffe @ lubuntu 1

If you have an AMD GPU and you want to do some Deep Learning, there is not much choice around. You have to pick something based on OpenCL, until AMD starts to support CUDA. The Boltzman Initiative announced recently  will bring CUDA and C++ support for AMD’s GPUs, but we have to wait for that ...

B-Tree in C++ by Google

I have stumbled upon a B-Tree template library written in C++. The library I found was written by someone from Google and can be downloaded from http://code.Google.com/p/cpp-btree/. According to the authors the advantage over the standard libraries implementing map and set data structures is the memory overhead. Usually those are implemented using Red-Black trees, which ...

VoltDB on Windows 10@Docker

VoltDB on Windows 10@Docker
If you look for a truly in-memory open source database then VoltDB might be the only choice available at the moment. Unfortunately, for me, there are no binaries for Windows available as big part of the code was written in C/C++ which is hard to port from Linux to Windows. But there is a way ...

Office 2016 Preview 1

Office 2016 Preview
Not the latest news, but I am more than happy to see it. The MS Office 2016 will feature dark themed user interface, which apparently was “the most requested feature for Office 2013”, see theverge.com. If you want you may check it yourself. There is a public preview version available for free from Microsoft’s website. ...

CPU vs GPU in OLAP

Databases on GPGPU are still in a very early stage of development. I would even say that, unless it is top secret, it is rather only a field for academic research at the moment – and that is where we can find the most information about it. Recently I got back to looking for something ...

Web Scraping Part I

In my spare time I am creating a web scraping environment. Why is it environment not a script or anything like that? Because those pretty much already exist. The aim of my project is to have a list of websites to monitor, scrape them every now and then, and finally process the data. One of ...

On Column Sizes

If you just started your adventure with databases you may not pay too much attention do data types. Often reading in the data from a flat file will be so troublesome that you just define column types to be VARCHAR(100) just to have everything read in. Maybe after having the data read you convert some ...

Paste with Formatting

Paste with Formatting
Conditional formatting in Excel is one of the things every analyst should know well. When you have to compare loads of data the best way is to plot them, but even better to colorcode the values. That is pretty easy in Excel, as long as you can use conditional formatting (highlight a range, then conditional ...

Courses in Databases

I was preparing a post about what can slow down a query, but when I was reading a lot of different stuff online to make sure I am writing truth I encountered several interesting papers, and presentations that I think are worth reading. First of them is a series of presentations regarding Data Processing on ...

Know your database – a complex query

I have seen in my life many people learning SQL without prior understanding how databases work. But there are many crucial things that can make writing queries more fun, if it is not fun enough. Optimization in terms of memory use and execution is one of them. I would even say that is the most ...

Concatenate Array

Concatenate Array
Yesterday I made a post about concatenating range with strings in Excel. But there is one problem, it does not work with array formulas. So you cannot put condition on one column and based on that concatenate values form another. For this you would need a function like the one below. And a sample use.

Concatenate Range 1

Concatenate Range
The Excel’s concatenate formula, or operator & do not work with ranges. You have to specify each parameter you want to add to the string. Sometimes it may get annoying, especially when the range is dynamic and depends on some parameters. Then it would be useful to have a formula that can work with ranges, ...

Rank with Exclusion

Rank with Exclusion
Recently I stumbled upon a problem of ranking observations with exclusion, i.e., not including all of them in the rank. In Excel prior to 2010 you would normally use function =RANK(), in all later versions there are also functions =RANK.EQ() and =RANK.AVG(). They differ only in a way of assigning a rank to observations which ...

DebugName for SharpDX.Toolkit.Buffer

DebugName for SharpDX.Toolkit.Buffer
I am still learning a lot about building DirectX based applications, and I am using Visual Studio Graphics Debugger more extensively. But when your program grows to much it may get kind of hard to track all your resources. There is a nice feature of DirectX that helps you with that, it is a possibility ...

SharpDX.Toolkit Constant Buffer

SharpDX.Toolkit Constant Buffer
You should not expect a lot of documentation on ShaprDX. You may argue that it does not need it as it is a wrapper around DirectX so everything could be found on MSDN. That is true, as long as you use pure DirectX. I wanted to make some use of the SharpDX.Toolkit, and that is ...

In-Memory Bitmap Index in Postgres

I have written twice already that bitmap indexes are not implemented in Postgres. But somebody may as why then explain writes that it used Bitmap Index Scan? However, that is not on-disk index I wrote about. One of the most interesting analysis of performance I found is at Depesz.com, which is a blog of a Polish database ...

FiFO with SQL

I am going to create small system/website that will allow me to manage my stocks, and monitor the portfolio. I do not have much of it, but I cannot access the data from wherever I want and it is not so dynamic. Beside the design itself I came across a problem of recreating a FIFO ...

PGOpenCL – PostgreSQL and GPU

I wanted to play a bit with PostgreSQL and CUDA, but to make it work it would be worth to have both PostgreSQL and sample CUDA program compiled. There are many sources online about integrating PostgreSQL with CUDA, but most of them use outdated CUDA features and are copies one of another. Probably it is ...