About this blog
Hello! My name Pavel Shved, 21, I am a russian programmer and I'm a blogger now. More info about me is here. And this is is my blog, because of which I wrote this web-site. On this blog, I express my...
View ArticleProgramming as Controlling Mindless Zombies
The question that bothers many developers and, maybe, even people in related topics is "What is Programming?" Indeed, many of us do it every day (more seasoned ones taking a break on weekends), but who...
View ArticleBusting C++ myths: virtual function calls are slow
Here and there, over the Internet, you sometimes see unproved claims that "C++ is slow", "C++ ABI is unstable" etc. The rationale behind these claims is usually not provided by the speakers. However,...
View ArticleTreap: simple balanced search tree
Balanced trees and programming contests This is an example of treap: letters form an alphabetically-sorted search tree, while numbers are arranged as a heap.Pic from Wikipedia .sidenote .casepic...
View ArticleMake: a Filesystem Transformation Prover
One of my favorite tools that belongs to Linux world is make. I'm a huge fan of it and, being a Linux programmer, use it in my everyday projects. But no, not as a build system I mostly use it. make is...
View ArticleSoftware engineering quine
In programming, there's a concept of quine -- a program that prints its source code (wiki). I'm not obsessed with the concept, but it is fun sometimes. *** Recently I saw this Dilbert comic, and It...
View ArticleEasy parallelization with Bash in Linux
Easy parallelization with Bash in Linux Two articles that show how concurrency can be utilized for bash scripting. Part 1 - pipes and xargs thread pool Part 2 - process substitution and flocks I love...
View ArticleEasy parallelization with Bash in Linux, part 2
Easy parallelization with Bash in Linux Two articles that show how concurrency can be utilized for bash scripting. Part 1 - pipes and xargs thread pool Part 2 - process substitution and flocks In the...
View ArticleUndefined behavior
Sometimes, when you read too many language standards and various specifications, you start using these weird words. Undefined Behavior is the ultimate evil, a raptor that storms in when you dereference...
View Article"NP-complete!" as a lame excuse
Some time ago I bumped into a usual Stackoverflow question. A guy asked for a C# algorithm that could pick elements from array so that their sum is equal to a specified number. A usual NP-complete...
View ArticleDo programmers hate their jobs?
Having been searching for a new job lately, I've read a number of advices to job seekers and hiring managers. Perhaps, they're just parroting each other, but here are some quotes that sound...
View ArticleKiller features of Git
Welcome to Yet Another Post About So-Called Killer Features of Git. Of course, I'm not the first who writes about it. No wonder: Git already was in a good shape in 2005 (link). However, in my opinion,...
View ArticleHaskell's "that" operator
«Практика функционального программирования» Translated as "Practice of functional programming" is the title of an introductory magazine. The magazine is free (free as in "free beer", not "free...
View ArticleRandomized debugging
Imagine that you have a project of a medium size, and you need to add a couple of functions to it. The whole system is a complex program, and is debugged by printing traces to a log file. So you've...
View ArticleBinary compatibility of C++ Shared Libraries in Linux
A year ago I've completed my first "scientific" paper. I presented it in a local conference for junior researches. It actually didn't have much effect: as far as I understood no one at the conference...
View ArticleThe most awful limitation of Make
I was trying to invent the way for GNU Make to depend on contents of files, rather than on timestamps. If what was implied is the content change between consequent make invocations (i.e. target should...
View ArticleProgramming as gold mining
This article was planned before the creation of this blog. I tried to understand what programming is as an approach to problem-solving, rather than just as a tool. And I found out that the approach of...
View ArticleSVG is useless
Recently I tried to add a feature to this site. The feature is to display a Russian flag near links that point to web-sites, language of which is Russian. Of course, I wanted its height to be equal to...
View ArticleHow I applied for a web server developer, or why the fastest servers are...
I realized why I was so aggressive in attempts to guide one of the latest StackOverflow questions so it would gain useful answers and wouldn't be closed as subjective. The question title is "Why are...
View ArticleUploading and processing data with inotify-tools
I'm not a muscleman. In fact, I'm kind of a wimp. But given all this, my weight is 15 kilograms greater than I should have with my height. Time to lose some. I've been logging my weight for quite a...
View Article