pg_terminator released

I just released first version of pg_terminator.

It's a tool that is supposed to be run on PostgreSQL db server, monitor a database, and cancel or terminate offending queries/connections.

It can be used, for example to:

  • kill leftover psql sessions that are not doing anything
  • cancel too long queries on production servers
  • kill connections that have long idle-in-transaction state
  • make sure that some application will not use transactions longer than “x"
  • and more …

Basically – if you can write a where condition, that operates on pg_stat_activity view, that can list backends to cancel/terminate – you can make pg_terminate do it for you.

To work, it requires Ruby, and its Pg library.

Usage is free, and it's fully open-source (BSD license).

The hard math of killing zombies in Zombicide

I happen to play Zombicide. It's cooperative board game set in some kind of post-apocalyptic, zombie-infested, world.

Despite the general theme, lots of people like it, so we play it quite a lot.

One thing that bugged us, was : in given scenario, which weapon it's best to use?

Continue reading The hard math of killing zombies in Zombicide

porównanie implementacji ruby’ego

dzięki znajomemu (hi tmarc) dowiedziałem się o ciekawym tekście. autor porównał w nim wydajność kilku (41) testów w różnych implementacjach języka ruby.

udział wzięły kanony:

  • ruby 1.8 (na linuksie i na windows vista
  • ruby 1.9

ale także wersje mniej standardowe:

  • jruby
  • gardens point ruby .net (wersja beta, na windows vista)
  • rubinius
  • cardinal

porównano wydajność każdej z implementacji w stosunkdu do złotego wzorca – czyli 1.8 na linuksie.

efekt? no cóż. 1.9 zdecydowanie rządzi. ruby 1.8 na linuksie ma drugie miejsce. wersja na windowsach jest trochę wolniejsza, ale (co ważniejsze) wywala się na 2 testach!

pozostałe implementacje: wolno i kiepsko. “hitem" jest cardinal – większość testów zakończona błędem, dwa trwały powyżej  15 minut i zostały ręcznie ubite (te testy były “zrobione" przez 1.8 w czasach 9.5 i 0.5 sekundy!). choć trzeba przyznać, że w 3 testach cardinal osiągnął najlepszy wynik. wydajnościowo gorszy był rubinius, ale on miał mniej errorów (“ledwie" koło połowy).

można spojrzeć by rozwiać złudzenia, lub nauczyć się czegoś z testów.

programowanie w ruby – po polsku

z pewnym opóźnieniem, ale przeczytałem, że helion wydał polskie tłumaczenie klasyki dla programistów ruby'ego – "programowanie w języku ruby".
cieszy mnie to, bo może dzięki temu kilka kolejnych osób przekona się do tego języka.
co prawda panowie z helionu dali cenę która dla niektórych może być zaporowa (99 pln), ale w/g mnie warto przyoszczędzić na czym innym i tę książkę kupić. ruby jest świetnym językiem, a ta książka to absolutny klasyk i podstawa.

eclipse – ide dla twardzieli

ogólnie nie lubię javy. natomiast jest dla niej coś co mi się podoba – ide eclipse. ma sporo plusów, i mimo, że nabijam się z niego w firmie, dostrzegam w nim sporo plusów.

niestety. ide to jest mocno modularne i aby miało sensowną funkcjonalność trzeba naściągać pluginy, testować czy działają i ogólnie bawić się z tym.

do teraz.

istnieje taki projekt który nazywa się “easy eclipse“.

idea projektu jest prosta: wybierzemy zastosowanie, pod to zastosowanie spaczkujmy to co trzeba. i udostępnijmy gotowe do działania, skonfigurowane, o-pluginowane środowisko.

przykłady zastosowań:

  • expert java
  • desktop java
  • server java
  • mobile java
  • plugin warrior
  • lamp
  • php
  • ruby on rails
  • python
  • c/c++

każde z zastosowań generuje trochę inną paczkę, np. paczka “lamp" zawiera:

  • eclipse jako taki
  • eclipse tools
  • java jre
  • eclipse java development tools
  • anyedit tools
  • eclipse util plugins
  • color editor
  • web tools editors
  • html tidy
  • amateras html and xml editor
  • quantumdb
  • php eclipse
  • simple test for php
  • pydev
  • ruby development toold
  • radrails
  • eclipse perl integration

całośc w paczkach dla windows, macos'a i linuksa. gotowe. tylko podgrzać (rozpakować) i używać.

skalowanie ruby on rails

na blogu jarka zabiełło pojawił się post nt. skalowania railsów. omawia użycie lighttpd + pound + mongrel.

artykuł przystępny i treściwy. polecam przejrzenie zainteresowanym railsami.