SE-112 36 Stockholm
Sweden
T: +46-702-82 33 27
claes@surfar.nu
Twitter: @claesjac
LinkedIn: claesjac
IRC: claes on MagNET, claes_ on Freenode
PROFILE
I'm an experienced developer mostly from finance. Also heavily involved in open source. My interests are programming languages, virtual machines, source code comprehension/visualization/ analysis tools, databases and lots of other areas. My area of expertise is Perl and related technologies but I also have 15+ years of C and Java.
EXPERIENCE
SENIOR DEVELOPER / CTO, GLUE FINANCE AB (TRUSTLY GROUP AB) : JULY 2009 - present
Developer and in charge of the technology of our C2B/B2C instant bank payment solution which is used by several large online gaming companies. Worked on various things such as interfacing custom hardware, designing and implementing a dynamic SOCKS5/port-forwarder proxy which can route traffic thru VPS:s all around the world, a scriptable Java Applet Runner, bank integrations, system administration.
SELF-EMPLOYED, VERSED SOLUTIONS : JAN 2007 - JUNE 2009
Tried life as self-employed consultant specialized in Perl and open source. Some of the things I did were:
- Wrote Perl bindings to NSS (Netscape Security Services) which is the crypto library used in Firefox so my client could use PKCS#11 hardware tokens with LWP.
- Firefox plugin to search the cache
- Perl module for interfacing with Movex/M3 operations web-interface. Released on CPAN as M3::ServerView
- Development of a "social" site for people interested in mutual fund trading complete with analysis engine and automatic portfolios. Some components released to CPAN as VS::RuleEngine and VS::Chart
SENIOR DEVELOPER, SWEDISH PREMIUM PENSION AUTHORITY : AUG 2002 - SEP 2006
Developer on the core systems "Pluto", which handles all the people portfolios, and the workflow system "Elwis". My main responsibilities were the framework which handled communication between the two over SOAP and handled incompatibilities between different SOAP implementations among many other things. Also in charge of the automated testing system for Elwis which provided a XML based language for writing test-cases that non-developers could use. I also provided help where needed such as the IVR system when it needed to talk SOAP to Elwis, RPM packaging, system administration and functioned as a mentor and held several in-house courses in development. In the last years I was part of the group which handled the IT-architecture question such as platform choices etc. My last assignment was choosing a new CMS platform for the agency.
DEVELOPER, CONTILLER AB : 2001 - JULY 2002
Worked on SiteCommander - an object-based Content Management System. My main areas were the rendering engine, API:s, language bindings and server-side parts of the user interface. During this time I started work on JavaScript.pm (see Open source) which made it possible for us to run server-side JS. SC was built with a very advanced in-house object-database in the bottom which provided features such as multi-version and multi-language attributes, triggers etc. Among the customers were FOI (Swedish Defense Research Agency), The trade union LO, Kodak Sweden and GB Glass (part of Unilever).
DEVELOPER, VOGON AB : DEC 1998 - 2001
Part of the development team that created a new electronic trading system for Nordic Growth Market (SBI at the time). My specific areas were the development of a high-speed and very compact transmission protocol for transfer of objects between Perl and Java. Written as a tool which auto-generated XS (Perl modules written in C). For NGM I also developed a server which provided real-time market data to parties such as Reuters and wrote most of the test tools for the matching engine. Also worked extensively on SiteCommander which is described below.
DEVELOPER, ENTRAPPA AB : SEPT 1996 - NOV 1998
Worked mostly with backend web-development in ASP with MS SQL. Among the projects were an auction engine for Auktion Express, production comparison tools for Pc Express and design and implementation of a search engine / sale system for real estate complete with auto generated banners.
EDUCATION
Royal Institute of Technology - approx. 40p 2004-2005 before leaving
SKILLS
Good knowledge in architecture, analysis and design of software systems, common algorithms and data-structures and different paradigms such as object-oriented and functional programming. Vast experience of automated testing, test driven design, agile development methods, version control systems like CVS/SVN/SVK/Git, various editors and IDE:s such as emacs/TextMate/Eclipse/ Netbeans/Xcode.
Expert knowledge in Perl and C. Very good knowledge in Java and have also worked in several other languages such as assembly (x86, PowerPC, 68k), C++, C#, Objective-C, Python, Visual Basic (VBA, VBScript, VB6), Erlang, io, JavaScript, sh, SQL, Ruby. I'm very fond of learning new languages which I pickup fairly easy.
Long experience of Linux (since 1996) and other unix and unix-like environments. My desktop of choice is MacOS X. Experience from setup and administration of web-servers such as Apache/ IIS/Lighttpd, Samba, Kerberos, MTA (Postfix and qmail), databases such as MS SQL, MySQL, PostgreSQL. Good knowledge of networking and relevant protocols.
OPEN SOURCE ACTIVITIES
I'm quite heavily involved in open source since the late 90s mostly in Perl related projects but occasionally I've been lured to hack on other things.
CODE
My Perl stuff is mostly published on CPAN under the PAUSE-ID "claesjac". Among my modules are JavaScript.pm which is an interface to the JS engine SpiderMonkey in Firefox, PJVM which is a experimental-work-in-progress JVM written in Perl, Serengeti - a headless JS-scriptable browser, Runops::Recorder which is an alternate runloop for Perl that records your program as its being executed. I have also contributed to several other modules and to the perl core itself.
I briefly hacked on the NSS parts of cURL and somehow got commit-bit.
Recently I've found myself doing PostgreSQL stuff where I hack on pg-json that provides a JSON datatype and functions and a tool for doing source code analysis like style checking, complexity calculation and other interesting patterns on SQL and PL/pgSQL.
My github (https://github.com/claesjac) and CPAN ( https://metacpan.org/author/CLAESJAC) pages contain most my stuff.
CONFERENCES, PUBLIC SPEAKING AND OTHER EVENTS
I enjoy going to conferences and workshops to meet fellow hackers and talk about stuff I do. Spoke at YAPC::Europe 2001-2004, Nordic Perl Workshop 2003-2005, LinuxForum Sweden 2005 and London Perl Workshop 2011. Together with Jonas B Nielsen from Copenhagen Perl Mongers and Salve J Nilsen of Oslo Perl Mongers I started the Nordic Perl Workshop which we've run annually in the nordic countries. I was principal arranger in 2005 and 2008 when it was held in Stockholm.
I'm also leader of Stockholm Perl Mongers, recent co-founder of Stockholm Postgres User Group and co-founder of FOSS-Sthlm (http://www.foss-sthlm.se/). FOSS-Sthlm is a lose group of people interested in free and open source software in the Stockholm region and we're currently 300+ on the mailing list. Since its founding in dec 2009 we've arranged 7 evenings with presentations and mingle. Our biggest so far is when we got RMS to stockholm and had 1100 registered for the event altho only some 900 showed up.
I've also started FOSS-Magasin (http://foss-magasin.se/) which is an online publication focused on open source, development and Unix.
OTHER INTERESTS
When I'm not busy working or doing open source stuff I enjoy cooking, golf, videogames and reading books.
REFERENCES
On request