Save and restore session of the Gnome Terminal

      0 min read      ·      · ·

INFO: Unfortunately „–save-config” option is no longer supported in the new versions of gnome-terminal so this script will not work.

I use terminal quite often in my work. I have a specific way how I work with terminal. I usually have about 10 tabs open in different directories so I can quickly switch between them. I felt quite frustrated when I was in the middle of something, but I had to reboot the PC for some reason. It is because it means I would need to set-up my perfect multi-tab terminal from scratch.

Fortunately I found very easy solution for this issue. This article describes easy way to save and restore the terminal session.


A bit about Java code conventions

      0 min read           ·

Most commonly used set of Java coding conventions comes from Sun Microsystems and it is still available on Oracle website. The document describes many important aspects of formatting, naming conventions etc for Java.

However, for most of the teams it is not enough for two major reasons. First of all, the document has become quite outdated in some cases as it is has been created back in 1999. Things like maximum of 80 characters per line, when most of us use full HD monitors, does not seem right. The other reason is that Sun’s code conventions still leaves a lot of freedom and it is easier to maintain and read the code written in the similar fashion. This is why many teams decide to create additional code conventions on top of the Sun’s document adding more specific things.

In this post I am discussing two of the Java code conventions which are not part of the mentioned official Java code convention, but which are often added on top of it. These two are: keep all variables in the code as „final” and using „this” for every field and method access in class.


ScalaTest with Maven

      0 min read           · ·

With multiple languages working on the same JVM now, it is possible (and easy) to use different languages for your production and test code.

Why not to take this opportunity when it can be easier and faster to write test code. This can be also a good way to learn a new language. You can keep your production code using the language you are the most comfortable with and write your tests in Scala or Groovy.

This post describes how to configure Maven project to use Java as a production code language and Scala with a ScalaTest framework for unit tests.


Eclipse Juno toolbar problems

      1 min read      ·      ·

I have moved lately with my IDE to the newest Juno Eclipse. I do not want to write much about the whole default UI appearance in new Eclipse because enough has been written already probably. The first thing to do on new Eclipse is to change theme of Eclipse to Classic one and restart it. Then it starts to be usable and look quite good. However I still had one problem because of using Eclipse on a small notebook display.


EasyMock dla nieznanych parametrów – matchers

      2 min read           ·

W poprzednim poście pokrótce opisałem sposób działania EasyMock. W tym poście chciałbym skupić się na jednej z możliwości tej biblioteki. Podczas testowania zdarzają się przypadki kiedy wiemy, że dana metoda obiektu zostanie wywołana i jaki wynik powinna zwrócić dla naszych testów, ale nie chcemy (albo nie jesteśmy w stanie) dokładnie analizować jakie parametry wywołania otrzyma. W takim właśnie przypadku możemy użyć matcher’ów EasyMock’a. Wiedząc, że na mock’owanym obiekcie zostanie wywołana metoda xyz(String,int,long), równocześnie nie znając dokładnych wartości parametrów możemy przygotować mock na przyjęcie różnych parametrów.


EasyMock – łatwy sposób na testy jednostkowe

      3 min read           ·

EasyMock to biblioteka języka Java, która umożliwia tworzenie obiektów w locie i wykorzystywanie ich jako mock’ów (imitacji prawdziwych obiektów). Dzięki tej możliwości testowanie jednostkowe może być o wiele prostsze, ponieważ możemy zastąpić prawdziwe, często ciężkie obiekty przez mock’i. Dodatkowo pozwala nam się to skupić na testowaniu jednej klasy podczas gdy zachowanie obiektów innych klas możemy dokładnie zaplanować. Przykładowo mając klasę: ` public class Car { private Engine engine; private Computer onboardComputer;


Web developement – alternatywa dla PHP

      4 min read           ·

Jeśli chodzi o programowanie aplikacji internetowych to nie jest tajemnicą, że niepodzielnie żądzi tu nieśmiertelny język PHP obecny aktualnie w wersji 5. Niestety prawdą jest też, że w wielu aspektach jest to język przestarzały i nieprofesjonalny. Taki stan rzeczy zmieniają nieco frameworki takie jak Symfony, CodeIgniter czy wreszcie Zend Framework tworzony przez tą samą firmę która zajmuje sie rozwojem samego PHP. Mimo wszystko, po dłuższym używaniu PHP i spróbowaniu nieco (Symfony, CodeIgniter), lub nieco bardziej (ZF) frameworków do niego oceniam, że jest to język któremu daleko do uporządkowania i profesjonalizmu znanego z języków wysokiego poziomu używanych do pisania aplikacji desktopowych (Java, C++).