Nov 10, 2019
Being the first time at a major scientific conference is an impressive experience.
The first conference I have the honour to attend is 2019’s IEEE/ACM International
Conference on Automated Software Engineering (ASE) in San Diego, CA, USA.
I want to use the opportunity to blog a bit about my experiences there.
The experience starts very early on Sunday morning at around 4am
driving to Munich Airport.
The flight to Frankfurt, where we have the direct flight to San Diego,
leaves Munich at 7am and it is about a two hour car ride to the airport.
The first issues occur at around 7am,
when the Captain of the flight announces that two people did check their luggage
but did not make it to the gate—however that was possible.
This and the bad whether made up a delay that let us almost miss the connecting flight
But we made it and had the feeling of being in the German ASE aircraft,
as many well-known researchers took this flight.
Flights where nice and quiet, although quite long.
The only noteworthy event was the breaking of the flight entertainment system,
especially its position-viewing component.
It just started to boot in a loop while flying over Canada
and did not stop to do so until San Diego.
After arriving at the hotel we had some spare time and used it to visit
Mission Beach where we had a nice play of the sun and the clouds.
I will continue this series of posts.
On Monday is the Doctoral Symposium, where I will present my PhD project
and I will serve as a Student Volunteer throughout the rest of the conference.
Sep 16, 2019
I am happy to announce
that my paper “Generating Tests to Analyse Dynamically-Typed Programs”
was accepted at the Doctoral Symposium
of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)
in November in San Diego, CA, USA.
I am going to present my paper at the Doctoral Symposium,
which will take place on November 11, 2019.
You can download a pre-print version of the paper,
I’ll link the final version as soon as it is available.
Jul 15, 2019
Email is there since a long time ago;
it dates back to the early 1970s,
thus it is much older than most of its users.
With this page I want to present some things that are important to me
in my daily email workflow.
I want to ask you to respect this,
especially if you are a student asking for advice or similar.
Email Client and Format
I know that there is a large number of email clients out there.
Many users even prefer the web interfaces provided by their email providers—a
habit I cannot understand at all,
since they feel so bloated and shiny to me,
which distracts me from actually getting information transferred.
I am almost exclusively using neomutt,
a console-based email client running in a terminal.
neomutt is a fork of the well-known mutt mail reader,
with added features bundled instead of adding them via patch application.
Due to this client choice
my mail is shown on a terminal,
which avoids me from seeing all your shiny colourful nicely designed stuff
you send with your emails.
Thus, it is completely useless to send me HTML email.
Actually, you should avoid HTML email at all and for all times!
It only increases size of the mail (not the best argument in 2019);
there are privacy concerns,
because they can include whatever external content is referenced there,
can be abused easily for phishing attacks
or to spread malicious software.
if your email client sends HTML only,
ignoring that there should be a text-only version of the text as well.
This results in me either saving the HTML to a file and open it in a browser—because
technically, you are sending a web page to me—or deleting the mail without reading it.
configure your email client properly,
such that it sends plain-text only.
For your own good,
I’d recommend to also deactivate the rendering of HTML
for all mails you receive.
Consider to also have a look at the useplaintext web page.
Do not send me large binary attachments without notifying me beforehand.
please use open formats,
such as plain text,
or the open-document format from Open-/LibreOffice.
Do not send me Word, Excel, or PowerPoint files,
I won’t open them!
I prefer email encryption using GnuPG.
See the about page for my key.
Please send encrypted email
whenever you can.
We can also meet in person
to cross-sign our GnuPG keys.
Just do me one favour: configure your email client to not encrypt the subject.
This is a new bad habit by Thunderbird plugins,
which make searching for emails even more painful.
Please never use top posting!
Consider the following example,
why it is such a bad idea to top post (example taken from Wikipedia):
1 A: Because it messes up the order in which people normally read text.
2 Q: Why is top-posting such a bad thing?
3 A: Top-posting.
4 Q: What is the most annoying thing in e-mail?
The article provides a large explanation,
which styles are common
and which shall be used.
I use a combination of interleaved and bottom posting,
depending on the context.
If your email client does not support this style
and you cannot configure it
it is maybe time to switch to a proper mail client :-)
“every mail client sucks” (from the mutt motto).
Jul 14, 2019
This page exists now for more than one year,
without being to much used or updated by me.
To overcome this,
I’ve now decided to update the page and use it more regularly.
I’ve added pages about my research interests
as well as the teaching I am doing.
I’ve changed the theme of the page.
The blog will be used as my personal note keeping,
where I post things that I’ve learned,
put random notes to,
and provide some other stuff,
maybe not too interesting for you.
Mar 05, 2018
Wow, finally I made it.
Setting up this page was planned for a long time.
It is using the Pelican static site generation system
a system that is processing simple input files
written in reStructured Text or Markdown
into static HTML pages.
In my opinion this is the simplest, easiest and safest way
to generate a web page nowadays.
It is so safe and fast, because the web server has to only serve static content.
There is no dynamic language like PHP, Ruby, or Python running on the server;
neither is a database needed.
I keep this blog basically as some kind of note book.
Thus, I will post things
that I am interested in the moment
at irregular occasions.
For testing reasons, some source code, here Python
1 print("Hello World from Python")
And some Haskell, just for fun, taken from the Haskell Wiki.
1 import Data.List
2 import Data.Bits
4 fibs :: [Integer]
5 fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
7 firstNFibs :: Integer -> [Integer]
8 firstNFibs n = take n fibs
10 fib1 n = snd . foldl fib_ (1, 0) . map (toEnum . fromIntegral) $ unfoldl divs n
12 unfoldl f x = case f x of
13 Nothing -> 
14 Just (u, v) -> unfoldl f v ++ [u]
16 divs 0 = Nothing
17 divs k = Just (uncurry (flip (,)) (k `divMod` 2))
19 fib_ (f, g) p
20 | p = (f*(f+2*g), f^2 + g^2)
21 | otherwise = (f^2 + g^2, g*(2*f-g))
23 fib :: Int -> Integer
24 fib n = snd . foldl_ fib_ (1, 0) . dropWhile not $
25 [testBit n k | k <- let s = bitSize n in [s-1, s-2..0]]
27 fib_ (f, g) p
28 | p = (f*(f+2*g), ss)
29 | otherwise = (ss, g*(2*f-g))
30 where ss = f*f+g*g
31 foldl_ = foldl' -- '