Résumé/CV: will provide a nicely formatted chronological CV if needed
Email: martin [at] labaj.sk
Github: Most of my previous work is private/NDA, but some rubygems forks/MOOC classes/CTO'd e-learning system/current Advent of Code 2018 solutions are to be found here: https://github.com/mlabaj
Hi, I will be finishing my PhD. in Intelligent Information Systems in the next few months (long-long overdue after my many-years-ago magna cum laude MEng./CEng. in Software Engineering). As my uni/ contract/side projects work is finishing up, I’m currently looking for new challenges and opportunities: full-time, part-time, or contract work. Can issue EU invoices.
I started with Pascal/ASM more than 20 years ago, switched to C/C++ in order to use STL at programming competitions, then dabbled with Java/C# to finally be encharmed with the simplicity and rapid prototyping of Ruby (and Rails) 10 years ago which I still use to this day. This year, I rediscovered the C# and was amazed of the great strides it and the whole ecosystem has made from 2006. And the return from untyped scripting's "every error is a runtime error" to "if it compiles, it is halfway there" was very refreshing.
My most recent projects include end-to-end (IE 10+ compliant universal client-side JS collector, ElasticSearch storage, RoR backend, D3.js visualization) menu clicks analyzer, PCI-compliant payment subscription system in RoR for a local startup, or Eclipse Java plugin C#-based AST MCDC test generator for MISRA C code for a large automotive corporation.
Most of my professional life, starting as a technical translator and ending with recent contract Rails/C# work, has been remote.
I have passion for tuning and maintaining systems to their max capacity, whether it is my home Core i9 development machine with Xming Hyper-V Mint/Kali (WSL/VMware cannot even compare), a puny little virtualized server for an adaptive e-learning system used during classes, a startup's AWS infrastructure, or my car, which hasn’t seen a 3rd party service in 4 years.
---
Pros:
Strong algorithmic background (ACM ICPC, SPOJ, TopCoder division one, NASA ISS Longeron Challenge, currently teaching Data Structures and Algorithms), theoretical background (NP, Turing-completeness, etc.).
Strong background in implicit and explicit user tracking on the Web, from page visits and clicks to gaze tracking; worked on commercially-deployed Recommender Systems including DevOps.
Some security background, hackmes, crackmes, CTFs, reverse engineering. Some OPSEC.
Some data science background (Jupyter experience, but I prefer Ruby, Bash and tuned PostgreSQL window functions before I dive into Python in there :), member of Data Science research group).
---
Cons:
Jack of all trades – master of none? I never went head-dive depth-first into any concrete technology, took them up breadth-first as they were optimal for the task at hand. If you are looking for someone who can recite all index types in Postgres from memory on a whiteboard, I may not be your guy (erm, and I even taught undergrad DBS classes, shame on me). If the position is suited for someone well-rounded/full-stack with backend emphasis/some Sec, someone who lives in the docs and RFCs (even the avian carriers one) and can get up to speed on any given tech stack/language/paradigm/API/task in days’ time, let’s talk about it!
Can we please stop the guesswork in this thread, comparing gaming laptops to 10 year old MacBooks, and look at the data? Just shy of that 10 years, in 2009/2010, mobile Nehalem processors were introduced, and more importantly, early 2011, mobile Sandy Bridge arrived. Sandy Bridge was super powerful. How much powerful?
2 years, 2 generations before to Sandy Bridge:
Core 2 Quad Q9000 (Q1 2009) -> i7 2820QM (Q1 2011) = +100%
Sandy Bridge to 6 generations later, 6.5 years later:
i7 2820QM (Q1 2011) -> i7 8550U (Q3 2017) = +37%
Yes, I'm mixing tick-tock cycles or low voltage with "standard versions". So let's see a more appropriate competitor:
So we had processors that doubled the performance in 2 years (and more than double if we disregard not-so-common Core Quads and take often only two-core mobile processors). Yet, 6 years later, there was only a 50 % increase. Until Ryzen came recently and made Intel to quickly come with Skylake-X, i9s and FINALLY, OH FINALLY, 6 (powerful) cores in laptops, there was no real performance reasons to upgrade, only for heat or thickness, those went down, performance didn't went up so much.
So, around that 2011, those were that crazy times, when you could have:
45 W or 55 W CPU (i7 2820QM or 2920XM)
55 W GPU (Quadro 2000m)
two SATA drives
four DIMM modules
In a non-gaming, back then "standard" size laptop (ThinkPad W520). And under heavy load, anything under Tjunction (say, 95 °C) was good enough. Some laptops with only a single 55 W dissipating fan (such as the ThinkPad W520) often throttled under full CPU and GPU load and couldn't run Turbo with full GPU load, others (such as Dell Precision M6600) had two separate fans and some even came with Quadro 4000m GPU with a TDP of... 100 watts!
So, back then, those laptops ordinarily came with 170+ W power supplies (even over 200 W) and just a CPU+GPU could draw well over 100 W (add the rest of the systems, hard drive here, hard drive there, all four DIMM slots populated, charging the battery) and it would easily go over the twice of that 10 year old laptop with 85 W charger.
And these are workstation models. If you mention gaming laptops, those sometimes had desktop CPUs in them and required 300 W PSUs. Nowadays they also use desktop GPUs and require TWO 300 W PSUs...
Please, don't base observations on 10-year old Tick (probably Penryn?) with 85 W chargers, when 7-8 years ago, a Tock (Sandy Bridge) came with literal concrete bricks as power supplies and really pulled 200 watts. Thankfully, things got dialed back after that, but at the cost of performance until now and current mobile 6-core i9s and Xeons.
And to the lap comments - you really didn't want to have those laptops in your lap when they were plugged in and turbo-ing...
My memories from flashing phones circa 2003-2004 may be a bit rusty (btw. back than "flashing" meant something completely different than nowadays ROM uploads, it was more akin to poking machine code memory locations in BASIC on 8-bits :) ), but if I recall correctly, the device periodically scans all the BTSs it can see and sends that list with signal strengths to the network (and the network decides which tower should the device connect to!).
Something tells me that the device even stayed connected to multiple strongest BTSs at once, but that may be a false memory.
Of course, that was old GSM days, it may be something completely different today in 3G/4G/LTE, but so is on the other hand the location hardware and algorithms of carriers.
But no, no handoffs were needed to track you very precisely even back then. There were ways around, but given the poor opsec in the case, it is doubtful something like that was used here.
Remote: Yes, please
Willing to relocate: Yes, but can not fully until approx. Jul/Aug 2019. Strongly prefers at most 12h driving distance to Slovakia
Technologies: Ruby/Rails (10 years), C (14 years), JavaScript, C#, Pascal/Delphi, Git, Linux, AWS, DevOps, CI, virtualization, Docker, Nginx, Postgres, Redis, ElasticSearch, ELK; UX, commodity webcam gaze tracking, Tobii gaze trackers; UX/SWE/RS research; Lisp, Prolog, some Python
Résumé/CV: will provide a nicely formatted chronological CV if needed
Email: martin [at] labaj.sk
Github: Most of my previous work is private/NDA, but some rubygems forks/MOOC classes/CTO'd e-learning system/current Advent of Code 2018 solutions are to be found here: https://github.com/mlabaj
A tech talk example (local Ruby community, in Slovak/English slides, meme pictures of company cat included!): https://www.youtube.com/watch?v=Uqt3QiGxJ8M
---
Hi, I will be finishing my PhD. in Intelligent Information Systems in the next few months (long-long overdue after my many-years-ago magna cum laude MEng./CEng. in Software Engineering). As my uni/ contract/side projects work is finishing up, I’m currently looking for new challenges and opportunities: full-time, part-time, or contract work. Can issue EU invoices.
I started with Pascal/ASM more than 20 years ago, switched to C/C++ in order to use STL at programming competitions, then dabbled with Java/C# to finally be encharmed with the simplicity and rapid prototyping of Ruby (and Rails) 10 years ago which I still use to this day. This year, I rediscovered the C# and was amazed of the great strides it and the whole ecosystem has made from 2006. And the return from untyped scripting's "every error is a runtime error" to "if it compiles, it is halfway there" was very refreshing.
My most recent projects include end-to-end (IE 10+ compliant universal client-side JS collector, ElasticSearch storage, RoR backend, D3.js visualization) menu clicks analyzer, PCI-compliant payment subscription system in RoR for a local startup, or Eclipse Java plugin C#-based AST MCDC test generator for MISRA C code for a large automotive corporation.
Most of my professional life, starting as a technical translator and ending with recent contract Rails/C# work, has been remote.
I have passion for tuning and maintaining systems to their max capacity, whether it is my home Core i9 development machine with Xming Hyper-V Mint/Kali (WSL/VMware cannot even compare), a puny little virtualized server for an adaptive e-learning system used during classes, a startup's AWS infrastructure, or my car, which hasn’t seen a 3rd party service in 4 years.
---
Pros:
Strong algorithmic background (ACM ICPC, SPOJ, TopCoder division one, NASA ISS Longeron Challenge, currently teaching Data Structures and Algorithms), theoretical background (NP, Turing-completeness, etc.).
Strong background in implicit and explicit user tracking on the Web, from page visits and clicks to gaze tracking; worked on commercially-deployed Recommender Systems including DevOps.
Some security background, hackmes, crackmes, CTFs, reverse engineering. Some OPSEC.
Some data science background (Jupyter experience, but I prefer Ruby, Bash and tuned PostgreSQL window functions before I dive into Python in there :), member of Data Science research group).
---
Cons:
Jack of all trades – master of none? I never went head-dive depth-first into any concrete technology, took them up breadth-first as they were optimal for the task at hand. If you are looking for someone who can recite all index types in Postgres from memory on a whiteboard, I may not be your guy (erm, and I even taught undergrad DBS classes, shame on me). If the position is suited for someone well-rounded/full-stack with backend emphasis/some Sec, someone who lives in the docs and RFCs (even the avian carriers one) and can get up to speed on any given tech stack/language/paradigm/API/task in days’ time, let’s talk about it!