Mein Freitag

Ich habe das Perfekt gelesen 🙂 Ich möchte meinem Letzten Freitag schreiben:

Am Freitag bin ich um sechs Uhr aufgestanden.
Um Viertel vor sieben bin ich in die U-Bahn eingestiegen.
Um Viertel nach sieben bin ich in Kartal aus der U-Bahn aufgestiegen.
Um halb acht war ich im Büro.
Ich habe bis acht Uhr die Emails gelesen.
Um neun Uhr hatte ich ein Meeting.
Nach dem Meeting, habe ich Code geschrieben.
Um zwölf Uhr bin ich mit meinem Kollegen zum Mittagessen gegangen.
Nach dem Mittagessen habe ich meine Arbeit fortgesetzt.
Um Viertel nach fünf Uhr bin ich aus dem Büro gegangen.
Dann bin ich um halb sechs in die U-Bahn eingestiegen.
Um sechs Uhr bin ich im Hauptbahnhof aus der U-Bahn aufgestiegen.
Um halb sieben habe ich meine Freunde getroffen.
Wir haben zusammen gekocht.
Wir haben zu Abend gegessen.
Bis zehn Uhr haben wir einen Film gesehen.
Dann bin ich zu Fuß nach Haus gegangen.
Um halb elf habe ich geschlafen.

Network Traffic Replayer – Colasoft Packet Player Automation Tool

When I make a contribution to Wireshark, I need to test my implementation before I commit my changes.

One of my test cases is checking whether Wireshark captures and shows the packets correctly.

Therefore, I should create network traffic for this test case.
After some searching, I found a tool: Colasoft Packet Player.

Colasoft Packet Player is a UI tool and works at Windows. (I think it is a Windows Form Application). These properties were good for me since I was doing my tests by hand at Windows.

When I thought that I should do these tests automatically, I searched a way of making this. (I know there are many Windows and Linux tools which work from command line). Since Colasoft Packet Player doesn’t have an API, I should find a way of UI automation. (By the way, I want to use my PC especially keyboard and mouse, while the tests are running).

And I learned following:
– Understand Colasoft Packet Player UI by using Microsoft Spy. See my previous post for details.
– How to make Win32 API calls by using C#

As a result I have written following code for automating Colasoft Packet Player.

https://gitlab.com/birolcapa/network-traffic-replayer

Following GIF is generated while one of the Unit Tests is running.

UI Automation Tool Helper: Microsoft Spy++

Microsoft makes a definition of Microsoft Spy++ as following:

Spy++ is a Windows based utility that shows a graphical view of the system’s processes, threads, windows, and window messages [1].

I have used the tool for understanding Colasoft Packet Player UI’s windows.

First of all, I opened Colasoft Packet Player.

After then, I opened the Spy++.
When I looked for Colasoft Packet Player text in Spy++, I found following picture:

This picture tells me that I can find Colasoft Packet Player’s Window handle by using the “Colasoft Packet Player” string.
When I get the Window handle, I can find the detailed information by using this Handle.

By using this handle,
– I can get the “Combobox” and set its value.
– I can get the “Textbox” and set its value.
– I can get the “TrackBar” and set its value.
– I can get the “Status Text Box” and get its value.
By using this handle and “Play” string, I can find the Play button.
By using this handle and “Close” string, I can find the Close button.

How can I get these handles and send messages to these handles?

To be continued …

[1] https://msdn.microsoft.com/en-us/library/aa264396(v=vs.60).aspx

Mein Tag

Günlük tutmak iyidir.
Ben de örnek bir günü Almanca nasıl anlatabilirim diye düşünürken şöyle bir metin ortaya çıktı.

Ich stehe um sechs Uhr auf. Dann gehe ich zu fuss zum Bahnhof.
Um Viertel vor sieben steige ich in die U-Bahn ein.
Um Viertel nach sieben steige ich in Hardhöhe aus der U-Bahn aus.
Um halb acht bin ich im Büro.
Ich lese bis acht Uhr die E-mails. Dann frühstücke ich.
Um neun Uhr habe ich ein Meeting.
Nach dem Meeting, lese ich Spezifikationen oder ich schreibe Code.
Um zwölf Uhr gehe ich mit meinem Kollegen zum Mittagessen.
Nach dem Mittagessen, setze ich meine Arbeit fort.
Um Viertel nach fünf Uhr gehe ich aus dem Büro.
Dann steige ich um halb sechs in die U-Bahn ein.
Um sechs Uhr steige ich in Hauptbahnhof aus der U-Bahn aus.
Um halb sieben treffe ich meine Freunde.
Wir kochen zusammen. Dann essen wir zu Abend.
Bis zehn Uhr, sehen wir einen Film oder wir lesen Deutsch oder wir lesen Buch.
Dann gehe ich zu Fuss nach Haus.
Um halb elf schlafe ich.

Die Familie

Şu aralar Almanca öğreniyorum.
Öğrenirken de irili ufaklı birçok alıştırma yapıyorum.
O alıştırmalardan bazılarını unutmamak ve de kendi gelişimimi takip edebilmek için buraya yazayım dedim.

İlk alıştırma şöyle olsun:

Hallo. Ich heiße Albert. Ich bin sechs Jahre alt und komme aus Deutschland.
Ich wohne in Nürnberg. Ich bin Student.

Das ist mein Vater Alexander. Er ist dreißig Jahre alt.
Er ist Ingenieur und arbeitet bei Köhne und Mann.
Er spricht perfekt Deutsch und Englisch.

Das ist meine Mutter Amalie. Sie ist dreißig Jahre alt.
Sie ist Lehrerin von Beruf. Sie arbeitet an der Universität.
Sie spricht perfekt Deutsch und Englisch. Wir machen zusammen gern “Puzzle”.

Ich mache gern “Puzzle”. Ich spiele mit “Lego” gern. Ich mag meine Eltern.

Doxygen’le Tanışma

API hazırlamam gereken bir projede çalışırken, API’nın nasıl kullanılacağını anlatan bir de doküman hazırlamam gerekiyordu.
Keşke bunu otomatik olarak oluşturmanın bir yolu olsaydı diye düşünürken, doxygen yardımıma yetişti.

Doxygen koddaki yorum satırlarını derli toplu dokümanlara çevirmeyi sağlayan bir yazılım aracı.
Kendi sitesinde nasıl kullanılacağı ile ilgili sayısız örnek mevcut.

Ben de kendi tecrübemi burada paylaşmak istedim.

Bir c++ projesi ele alalım.
İlk hali şöyle olsun:
https://gitlab.com/birolcapa/doxygen-usage/tags/V1.0

index.chm’e baktığımda beni yönlendirecek, bu proje ile ilgili bilgi verecek hiçbir sayfa göremiyorum.
Böyle bir sayfa ekleyelim:
https://gitlab.com/birolcapa/doxygen-usage/tags/V1.1

Daire bilgi sayfasını biraz daha geliştirelim:
https://gitlab.com/birolcapa/doxygen-usage/tags/V1.2

Biraz da daire sınıfının nasıl kullanılabileceğine dair örnekler verelim:
https://gitlab.com/birolcapa/doxygen-usage/tags/V1.3

Örnek nasıl eklenir sorusunun en güzel cevabı:
https://gitlab.com/birolcapa/doxygen-usage/compare/V1.2…V1.3

Daha fazla yorum biçiminin ve örneğin yer aldığı son sürüm ise şöyle olsun:
https://gitlab.com/birolcapa/doxygen-usage/tags/V1.4

Gılgamış Destanı

Bir günlük neden yazılır?
Beni bu günlüğü yazmaya iten sebepler nelerdir?
Bu iki soruya yanıt ararken aklıma Gılgamış Destanı geldi.
Sahi Gılgamış destanı neden yazılmıştı?
Gılgamış, ölümsüzlüğü arayan büyük insan, ölümden sonraki hayatı sorguluyordu.
İçten içe ne hissediyordu? Sanırım korku ve kaygı.
Gılgamış kaygılanıyordu, çünkü ölünce unutacağını ve unutulacağını hissediyordu.
Sanırım Gılgamış’la aynı duyguları paylaşıyoruz.
Öğrendiğim şeyleri unutmak istemiyorum ve bir gün unutulacağımı biliyorum.
O zaman tekrar sorayım:
Beni bu günlüğü yazmaya iten sebepler nelerdir?
Sorumun yanıtını artık biliyorum:
Unutmamak ve unutulmamak…