In Part 1 I brought up all the weirdness of GetAddrInfo(). Things like the fact that it’s way more complex than I anticipated and that there are bunch of input parameters that I couldn’t decipher. I also mentioned that behavior of itself is a bit weird, to say at least. And that’s what I’m going […]
Category: Programming
The Dark Hole of GetAddrInfo() – Part 1
I just can’t skip the theatricals, so I’ll open up this article with them as well. It all really started with a rather simple-stupid repair item I kept in a backlog. We have some network calls that occasionally fail and we agreed that it’d be useful to have the IP address along with the hostname […]
Attaching debugger immediately after process starts – Part 5
Last time we discussed DLL injection and using DLL code to suspend all threads in process for 20 secs, giving you enough time to attach with debugger. This time I’m going to share something different that I played with during the weekend – writing your own “debugger”. But that requires a bit of a backstory. […]
Attaching debugger immediately after process starts – Part 4
Last time we discussed possibility of using CDB and starting a Server so that other debugger can attach. This time I’m going to discuss something that I’d probably refer to as “flexing”, simply because it’s probably not something that you’d want to do if all you need is to attach to process immediately (as a […]
Attaching debugger immediately after process starts – Part 3
Part 1 discussed the simplest way of just using GFlags and Debugger path. And if you’re new to these series of articles, I’d advise you to start there. Part 2 touched a bit on the topic of debugging processes started under different account (e.g. SYSTEM), where I suggested to just increase the SUSPEND counter on […]
Attaching debugger immediately after process starts – Part 2
In Part 1 I discussed a very simple and friendly way — just use GFlags to do it. And in all honesty, that probably should be your preferred option, unless you can start the process by yourself, in which case you don’t need these post series anyway 🙂 NOTE: Here are direct links to previous […]
Attaching debugger immediately after process starts – Part 1
Alright, for those who don’t want to read my intro fart-outs, feel free to jump directly to “how to” section. For those who want to know the full story – read on. NOTE: I also published – Part 2, Part 3. and Part 4 First things first – WTF happened with my writings and why […]
Multi-tasking is for robots. And humans.
tl;dr I believe that the best way to achieve as much as possible is to multi-task. But it has to be done properly. And the proper way, from my POV, is having multiple tasks in your backlog and keeping notes on where you are, what is left and what is the current issue. This way […]
Hijacking the ML train
First things first – why hijacking and not jumping on? Because the hijack is what perfectly describes my journey into the Machine Learning (ML) world. It wasn’t a straight linear process of – start with basics of math, then add some python over it, then a bit of algebra, etc. No. It was a point […]
Using different GitHub users on same machine
Here’s a scenario – for 99% of time, I’m using my work account for GitHub. That means that out of 90 GitHub repositories that I have cloned, 88 of them are work related (numbers are made up!). What that further means is that, I almost never need to push stuff to my personal repositories. Well, […]