Surströmming in Sundsvall

Truly unique Swedish experience in Sundsvall…

  • Surströmming can


Changes, changes…

After years, significants changes on the site:

  • New domain! Finally, I managed to get my personal domain hence I’m not tied to
  • It turned out that it’s easier to migrate my old Drupal 6 to WordPress rather than to Drupal 8. Therefore I’m now on the new engine and so far I’m pretty happy
  • Attempted to AdSense, however Google is pretty picky and I’m not really sure if I will get approval

Curriculum Vitae

Country Location

Poland, Warsaw


Jarek (Jarosław) Hartman is a Solution Architect who joined Oracle in July 2010.

He is a member of the EMEA Architects Community within the Communications Global Business Unit (CGBU).

Jarek has more than 15 years of experience in the Telecommunication industry, with 9  years of technical management experience in the implementation of Intelligent Networking and Online Charging systems.

Over the years, he worked with a large variety of clients in different countries, and successfully delivered projects across the region. During this process Jarek acquired a full life cycle experience in overall technical project scoping, planning, requirements gathering, solution architecture design, staging, configuration, testing, performance testing, tuning, deployment, network integration, migration and go-live of software for the Telecommunication industry.

Key strengths include: analytical and troubleshooting skills; strong performance both individually as in a team; self-motivated and disciplined; open and eager to learn about new technologies, paradigms and developments and open for travel.

Jarek holds a Masters degree in Electronics and Telecommunications from the Technical University of Wroclaw, Poland (2002), and speaks Polish and English.


ASN.1 encoding tutorial


Recently I in my work I had to encode an Inap (to be more precise – Sinap) content “by hand”. It’s not a rocket science however when you need to repeat this action several times it’s worth to prepare an “automatic” solution.

Input data

As an imput I have description of Furnish Charging Information in ASN.1:

FurnishChargingInformation ::= OPERATION 
   ARGUMENT FurnishChargingInformationArg 
   ERRORS {MissingParameter , 
                 TaskRefused , 
                 UnexpectedComponentSequence , 
                 UnexpectedDataValue , 
                 UnexpectedParameter } 
FurnishChargingInformationArg ::= FCIBillingChargingCharacteristics
FCIBillingChargingCharacteristics ::= OCTET STRING (SIZE (minFCIBillingChargingLen..maxFCIBillingChargingLen))

Ok, how to read it? (S)INAP message FurnishChargingInformation has an argument FurnishChargingInformationArg which is eqal to FCIBillingChargingCharacteristics. FCIBillingChargingCharacteristics is a limited size octet string.


Withings to Garmin Connect

Since a while I’m owning great Withings Scale which has a capability to store measurements in a cloud. Because I’m using Garmin GPSes (and Garmin Connect), I’d love to synchronize the measurements to the Garmin Connect site.

Lucky, I found a great script garmin-withings.

Unfortunately, after latest changes in the Garmin Connect (implementation of SSO on march 2014) the script stopped to work. I’ve compiled changes proposed by and it seems that the script with my updates works again (well, at least until further changes in Garmin Connect…)

You can find the script on


Garmin Connect can display a lot of other parameters, not only weight and body fat level:


It would be great to calculate all these figures and post them to Garmin Connect, right? 🙂

How to disable and remove usbecm2 device from Solaris 11 server

After fresh installation of T4-1 server, I’ve noticed a network interface which I didn’t expect – the usbecm2:

root@slc:/# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet netmask ff000000
net0: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu 1500 index 7
        inet netmask ffffff00 broadcast
        ether 0:10:e0:9a:2e:6
usbecm2: flags=100001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,PHYSRUNNING> mtu 1500 index 14
        inet netmask ffffff00 broadcast
        ether 2:21:28:57:47:17
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128
net0: flags=120002000840<RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 7
        inet6 ::/0
        ether 0:10:e0:9a:2e:6
usbecm2: flags=120002000840<RUNNING,MULTICAST,IPv6,PHYSRUNNING> mtu 1500 index 14
        inet6 ::/0
        ether 2:21:28:57:47:17