Technical Support Engineer position in Warsaw (C++, Linux)

If you are an experienced programmer who:

  • crosses inter-company and inter cultural boundaries with ease
  • enjoys working directly with customer and partners (knows that a conf call could be not a boring waste of time, but an effective tool)
  • is, like me, a "script guy" who automates everything in projects
  • efficiently uses grep / sed / awk, and the command line in Linux
  • knows that *.pcap is not another MS Office file format
  • is willing to analyze the systems source code one has never contributed to
  • uses many languages (C++ is a must, Java & JavaScript are nice to have)
  • has Linux embedded background (preferably IPTV)
  • is able to capture patterns where others see only noise (i.e.: effective scanning of gigabytes of log files)
  • learns new things in real time
  • owns "sixth sense" to reduce the entropy in IT projects

… then:


… in Warsaw office (Poland), for big, international, IPTV project.

My team makes things happen by:

  • analysis of stream of bugs effectively
  • introducing automation
  • improving development processes and flows
  • squeezing everything possible (and more) from existing build systems
  • pro-actively tracks and improves project health by (guess what?) AUTOMATION!!!

If you match the profile highlighted above do not hesitate to contact me via Skype: cieslakd or by e-mail: dariusz.cieslak at I'll be glad to share more details about the position.

Posted in en | Tagged | Comments Off on Technical Support Engineer position in Warsaw (C++, Linux)

Tracking Integration With Yocto/OpenEmbedded

715Yocto is an Open Source project (based, in turn, on OpenEmbedded and bitbake) that allows you to create your own custom Linux distribution and build everything from sources (like Gentoo does).

It's mostly used for embedded software development and has support from many hardware vendors. Having source build in place allows you to customize almost everything.

In recent years I was faced with problem of development integration – to allow distributed development teams to cooperate and to supply their updates effectively for central build system(s). The purpose of this process:

  • to know if the build is successful after each delivery
  • to have high resolution of builds (to allow regression tests)
  • and (of course) to launch automated tests after each build

Continue reading

Posted in en | Tagged , , | Comments Off on Tracking Integration With Yocto/OpenEmbedded review

Sometimes you need to provide encrypted traffic to your site. Besides proper configuration in web server you need to authenticate your server using some publicly trusted certificates, so your customer's browser won't show warnings about untrusted site.

One of the cheapest SSL certificate solution is Let's check their price for 3 year lease:

694I used to pay $10 per year in the past for ComodoSSL certificates, this offer seems to cut the usual price in half. Sounds unrealistic? Let's check it!

Continue reading

Posted in en | Tagged | Comments Off on review

Basic Hudson/Jenkins tutorial

hudson-bustContinuous Integration is a great thing. Allows you to monitor your project state on a commit-by-commit basis. Every build failure is monitored easily.

If you connect your unit and integration tests properly also tell your runtime properties of the project, for example:

  • Does it boot properly?
  • Doesn't it crash in 1st 5 minutes?
  • Are all unit tests 100% green?
  • Are all static tests (think: FindBugs, lclint, pylint, …) free of selected defect types?

The implementation:

  • you encourage your team to push changes frequently to main development branch (having high quality unit testing suite you can even skip topic branches policy)
  • you setup some kind of Continuous Integration tool to scan all the repositories and detect new changes automatically
  • for each such change new build is started and tests are carries out automatically
  • all the build artefacts (including tests outcomes) are collected
  • the teams are notified by e-mail about build/test failures in order to allow them to carry out fixes quickly

OK, so we have outlined the plan above. Let's dig into details for every step. I'll use the most popular tool used named Hudson/Jenkins as implementation tool (there are two projects, but they're, actually, the same tool).

I'm going to address all the features I expect from continuous integration system (based on my current experience with other CI systems).

Continue reading

Posted in en | Comments Off on Basic Hudson/Jenkins tutorial

CMake very basic tutorial

slider-cmakeWriting Makefiles is a complicated process. They are powerful tools and, as such, show quite high level of complexity. In order to make typical project development easier higher level tools have been raised. One of such tools is CMake. Think of CMake for Make as C/C++ compiler for assembly language.

CMake transforms project description saved in CMakeLists.txt file into classical Makefile that could be run by make tool. You write your project description in a high level notation, allowing CMake to take care of the details.

cmake_workflow Continue reading

Posted in en | Tagged , | Comments Off on CMake very basic tutorial