Warning: Declaration of LJXP_Walker_Category_Checklist::start_lvl(&$output, $depth, $args) should be compatible with Walker::start_lvl(&$output, $depth = 0, $args = Array) in /home/victorsergienko/victorsergienko.com/wp-content/plugins/lj-xp/lj-xp-options.php on line 796

Warning: Declaration of LJXP_Walker_Category_Checklist::end_lvl(&$output, $depth, $args) should be compatible with Walker::end_lvl(&$output, $depth = 0, $args = Array) in /home/victorsergienko/victorsergienko.com/wp-content/plugins/lj-xp/lj-xp-options.php on line 796

Warning: Declaration of LJXP_Walker_Category_Checklist::start_el(&$output, $category, $depth, $args) should be compatible with Walker::start_el(&$output, $object, $depth = 0, $args = Array, $current_object_id = 0) in /home/victorsergienko/victorsergienko.com/wp-content/plugins/lj-xp/lj-xp-options.php on line 796

Warning: Declaration of LJXP_Walker_Category_Checklist::end_el(&$output, $category, $depth, $args) should be compatible with Walker::end_el(&$output, $object, $depth = 0, $args = Array) in /home/victorsergienko/victorsergienko.com/wp-content/plugins/lj-xp/lj-xp-options.php on line 796

Warning: Cannot modify header information - headers already sent by (output started at /home/victorsergienko/victorsergienko.com/wp-content/plugins/lj-xp/lj-xp-options.php:796) in /home/victorsergienko/victorsergienko.com/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 60
code name / Main
Skip to content

Category Archives: Main

On-topic posts

Documenting Python REST API whining

18-Oct-13

A downside of Python dynamic nature is that REST API documentation won’t generate right out of your code, like Swagger does for Java. The best you can get is http://pythonhosted.org/sphinxcontrib-httpdomain/, for which you need to duplicate all of your REST service method signatures in ReStructured text, a format I’m not a fan of. One can […]

Fast Windows JSON pretty-printer

06-Feb-13

Just built a Win32 version of yajl, a comandline C JSON pretty-printer and validator. Viva CMake. Welcome to downoad.

The dead end of Russian software engineer?

12-Dec-12

Ex-USSR has got a great school of engineers. Russia is the 3rd software outsourcing country (market) in the world. Russian (let’s use the name, though I’m Ukrainian, for instance) engineers are very educated and think out of the box. We got OOP gurus, Java buddhas, UI Picassos, Haskell Lamas, agile addicts and tech team management […]

Getting Glassfish stdout logging under control

21-Nov-12

By default, Glassfish does an ugly thing: takes an application’s stdout/stderr and wraps it into its own log with INFO level for stdout and WARN level for stderr. Other logging facility normally log to stdout. In the end, a log entry looks pretty stupidly (and it’s damn multiline!): [#|2012-11-21T11:25:07.225+0200|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=100;_ThreadName=Thread-2;|11:25:07.225 [http-thread-pool-8080(2)] DEBUG c.mycompany.packages.SomeClass – Finally, some […]

Got a StackOverflow careers invitation.

04-Aug-11

They do a pretty cool thing: force you to tell “the truth” — no matter how subjective this term is — as opposed to emasculated official style: what you really did (whatever it means to you); what opensource/published projects did you participate in; Top Stack questions you answered; your professional reading and (sic!) writing. Here […]

Why I don’t like GMock

16-Feb-11

I don’t like GMock. It’s not as if it was badly written or designed. But it lets you to unit-test dirtier code, tying to method call structure instead of resulting data. For instance, this GMock code can be rewritten:

Groovy Comparator for class field names

15-Feb-11

I wonder why this was not in JDK/Groovy Collections. Just put together a Comparator for StackOverflow question – a Groovy Comparator that would sort class field names in the declaration order. Feel free to use: class PropComparator implements Comparator { private Class clazz PropComparator(Class clazz) { this.clazz = clazz } int compare(Object o1, Object o2) […]

DB2 supports LIMIT and OFFSET syntax, in MySQL compatibility layer…

29-Nov-10

It hasn’t even been a ten years that DB2, one of the most, er, expensive DBMSes, got a feature needed by every other application – dataset paging. Before, you had to use window functions rownumber() and fetch first 40 rows only. When used by Hibernate, this resulted ugliness like: select * from ( select inner2_.*, […]

Google Buzz button for WordPress

12-Feb-10

Just installed a shiny new Google Buzz button for WordPress by Tejaswini, Sanjeev. I hacked it a bit, to align to the right. Download this plugin version here, until author updates it. I’m replacing a diggIt button; Buzz fits my color scheme better 😀 Enjoy.

“group by” clause in GORM/HibernateCriteriaBuilder

08-Feb-10

Just in case someone needs a code snippet. This one groups Prices by PriceProvider and was intended to pick only last 5 values for each PriceProvider – but sadly, it’s impossible without window functions. Which are not supported in Hibernate in any way.

Hibernate join bug

03-Sep-09

Hibernate bug 1895 seems to be still there since 2006. If, for instance, in Grails, such a syntax won’t work for you (it won’t): def books = Book.findAll(“FROM Book AS b JOIN Chapter AS c WHERE c.active = :isActive”) with a NullPointerException in “HqlSqlWalker.createFromJoinElement” — just use alternative join syntax, via WHERE: def books = […]

Unit tests quickstart

24-Jun-08

A friend asked me for it, so probably someone might need a jumpstart in unit tests. Here’s a short list of short (though very deep, if not best) intros. Except for JUnit cookbook (~2 pages) (which has a lot of “ports”, like CppUnit cookbook), I’d name: “Endo-Testing: Unit Testing with Mock Objects” at mockobjects.com (Tim […]