Texts about me

3 minute read

Some weeks or maybe months ago, my boss from Port Zero asked me to compose a small text about myself. Ohhhh did he know what type of trouble he just cause? Port Zero has a page about it’s employees.

Why is this a problem? Simple when there is one thing that’s hard, then it’s writing about yourself. Not that writing isn’t hard enough. The problem with such texts are, they are really difficult to get right. One point is to not undersell you, another point is not to sound like an arrogant prick. Many of the description of people often create a bizarre picture of them self. But maybe that’s my point of view? Anyway here a line that cause me headache:

Akendo is an specialist for IT-security

Here are some thoughts: Why I’m the specialist while all others not? It feels nasty and make me a bad impression. Another try:

Akendo is specialized in IT-Security.

Almost the same word, but this way it sounds more humble, I think.

What does this Team page help me?

One might be wonder why I write this? This topic has raised some question about my personal openness. The company website was made public in the last days. Witch left a odd feeling. Putting a website into the Internet, into the wild is one thing. But also the source? For everyone to judge and act on? Maybe it’s a good step forward.

I like to put some of my projects as also open source, but why wasn’t it done? A realisation came to mind. A notice that often I block myself from doing something. It gives me the impression that I I’m suffer from the “Einstellung problem”. In this case, the exposure of any information to the internet could lead an attacker to take advantage of this. However, this is leaving the fact out that there is none. But still, a feeling of anxiety arises, what when there will be an attacker? What….

Lost control about what’s going on…

The problem is so simple, as soon it’s in the internet it’s beyond control. I have similar feeling about writing for this blog. Now putting myself onto a website. Ouch….

But it’s progress! Moving on, instead of begin stuck to the feeling of anxiety. The real question is why shouldn’t anyone take a look at it? When they would ask me in person, I gladly would give them the information. But while being in the internet I’m hiding beneath the cover of privacy. But this is not who I’m. I have been always a open minded person, who believes that transparency is an important aspect of life. Showing who you are can help to improve both, the one that put himself to show and the other one that sees it.

Because of this anxiety, I need to write this texts! Only then progress will happen! Another feel that arises is a feeling of narcissism nature. Why must self-awareness hurt that much? But it’s not about the awareness. It’s about how to handle certain topic that are uncomfortable for someone. Most of the time we try to avoid them. We try not to do things that invokes a feeling of unwell. That’s the problem!

It’s fine to write about ones self. At times it’s necessary and helpful. It’s not narcissism, but a necessary reflection upon on self. That’s why it’s progress to do this. To open up. Sure they might be a risk implied, but does this risk out-weight the benefits?

Controlling windows in X with wmctrl

2 minute read

Restarting a computer sucks. You have to typing in passwords, starting your windows manager, get all your default applications going and so on. It takes me several minutes to restart a system and get it into a workable state.

Particularly in the last days, I had to restart various times forcefully. A critical error in the intel grahicstack breaks the multi monitor setup. Not working suspend to ram. A half way down suspended system, in which the fan keeps being active while remaining part of the systems is without a responses. Each time a system reset was necessary.

However, i found some useful tool that allows me to ‘accelerate’ the startup by quite a bit. wmctrlis the tool, that was found by browsing through the man page of fluxbox. What’s it? It’s a protocol the X Server is speaking, allowing to ask the Windows Manager for some information and/or actions. It allows you to give the windows manager some commands. Neat. The installation on archlinux was easy:

pacaur -S wmctrl

Why do you need this? Simple: To allow to start up any application in fluxbux and place it on the right virtual desktop. Window Manager like KDE allows you to remember the state of windows before a logout, fluxbox don’t. So when you login again with KDE, all your old windows will be start on the right virtual desktop. But KDE consumes way to much resources…so a solution for fluxbox is necessary.

The man page has all the details one might need to use it. I wrote down an example:

urxvt -title urxvt -e tmux a &
sleep 1
wmctrl -F -r 'urxvt' -t 2

What does this example do?

It starts a urxvt terminal with a define title and within it will start the tmux a to re-attach to an open tmux session. Defining the title allow wmctrl to find the windows to move it to the right virtual desktop. The ID of a virtual desktop can be displayed with wmctrl -G -l command. One thing that did’t work out (yet), was setting the window to fullscreen. You can start urxvt will the paraemter -g with the right size. But this lead to some strange rendering bug and you can’t read anything from the terminal down. wmctrl can do this too. But I didn’t do it yet.

Anyways, this makes a reboot a bit easier. But in the end, reboot sucks.

Some notes about the Stack

2 minute read

Before I begin, we need to clarify what a stack is first. For once, it’s a structure that represent data.

The Stack of a computer can be understood in different matters. Mostly as a way to represent current working chunks of memory a program needs to store it’s local context.

That’s a very strange to write…. Let’s try it again: When a program is executing, it needs to store some of it’s memory somewhere. Memory is allocated in chunks. This chunks of memory will be ‘stacked’.

The importance of this ‘stacking’ is, that once it’s layered down on the stack, it will be buried by the next item. Unless the next item is processed, it remains buried. You need to process the top of the stack, before the next time can be access.

Once you executes a programs, you will get a ESP. However during debugging with gdb, i notice something odd: the BSP keyword. Some search later, I figured out that this was point to the top of the stack. Just like ESP. Now: What’s the different between BSP and ESP?

So when you look at the assembler you will see thing like this:

0x080483c4 <main+0>:	push   ebp
0x080483c5 <main+1>:	mov    ebp,esp
0x080483c7 <main+3>:	and    esp,0xfffffff0
0x080483ca <main+6>:	sub    esp,0x50
0x080483cd <main+9>:	lea    eax,[esp+0x10]
0x080483d1 <main+13>:	mov    DWORD PTR [esp],eax
0x080483d4 <main+16>:	call   0x80482e8 <gets@plt>
0x080483d9 <main+21>:	leave  
0x080483da <main+22>:	ret 

Andrew Honig did a blog post about this topic. I quote:

At ebp is a pointer to ebp for the previous frame (this is why push ebp; mov ebp, esp is such a common way to start a function). This effectively creates a linked list of base pointers. This linked list makes it very easy to trace backwards up the stack. For example if foo() calls bar() and bar() calls baz() and you’re debugging baz() you can easily find the parameters and local variables for foo() and bar().

best regards, akendo