Pynguin at Podcast.__init__

I was participating in an episode of Podcast.__init__, the Python Podcast, talking about Pynguin, the PYthoN General UnIt test geNerator. I was invited by Tobias Macey, the host of the podcast, to share insights on Pynguin to the Python community, which was a great honour and pleasure.

You can find the episode on various podcast platforms, linked from the Podcast.__init__ webpage. Let me know what you think, I am looking forward to your feedback, both on the podcast episode and on Pynguin.

posted 2021–05–26 13:26

Online Teaching in Covid-19 Times

The COVID-19 pandemic hit us in March 2020, locked down almost everything in Germany within days, and caused us to work from home since. As part of my employment at the University of Passau I have the duty of teaching several exercise courses. The upcoming summer term caused an almost immediate change of the teaching format—from traditional class-room style to online teaching using a video-conference application.

Not everything went well in the beginning but we were able to constantly improve and make the best out of it. In this post, I want to show my current setup I am using at my home. This setup evolved over the last nine months, of course. I am only presenting the latest stuff, I am using, skipping all intermediate steps. Note: I do not get any money to name these products here!

desktop

I am using a 2018 15” MacBook Pro here sitting on a Macally ASTAND connected to an elgato dock. The two screens are hp EliteDisplay E241i displays, which I have in use for a couple of years now. They are great, since they can be adjusted in height and rotated, which I am using for my left screen. The advantage of this rotated screen is that it automatically limits line length of, for example, web pages like Wikipedia, without having to rescale the browser all the time.

The mouse is an old Logitech one, the keyboard an ergonomic one from a company called “x-bows”, which I bought during their Kickstarter campaign (they are now available through their regular online store). The advantage of this keyboard to me is that it is ergonomic on the one side, lowering the risk of RSI, carpal tunnel, an other stress injuries related to typing. On the other side it has mechanical keys (brown Cherry-like in my case), which give me an amazing feeling while typing. The web cam is one provided by the University for online teaching, from Logitech.

As a replacement for a white or black board during teaching, I use an iPad together with a Pencil. After playing around with a couple of apps I found ZoomNotes being the one that fits my needs as a board replacement best. These components interact greatly with each other, allowing to work as smooth as possible. They are also well-supported by Zoom, the video-conferencing system we are forced to use.

I am using an IKEA BEKANT, who’s height can be changed, such that I can work either standing or sitting in front of the desk. Finally, I was also able to have my whiteboard again next to my desk mounted on the wall.

desktop2

posted 2021–01–02 09:37

Reset Applications to Previous Versions on macOS

We use WireGuard to connect to our institute’s internal network as a VPN. A recent update of WireGuard on my Mac, however, caused all connection attempts to fail with an odd error. After searching a while for a solution (without success), I came to the conclusion that I had to downgrade the application to its previously installed version, which was working before.

This turned out to be more trivial than expected: Starting TimeMachine in the Applications directory in Finder allowed me to restore the old version of the WireGuard.app, and thus the old version of the tool.

I like this functionality a lot, actually, thus I am happy to share this experience with everybody who might have the same struggle that I had.

posted 2021–01–02 08:00

Accepted Paper: An Empirical Study of Flaky Tests in Python

I am happy to announce that our paper “An Empirical Study of Flaky Tests in Python” (M. Gruber, myself, F. Kroiß, and G. Fraser) was accepted at the IEEE International Conference on Software Testing, Verification, and Validation (ICST 2021).

A preprint is now available from arXiv.

posted 2020–12–11 20:27 · modified 2021–01–29 09:03

Accepted Paper: Automated Unit Test Generation for Python

I am happy to announce that our paper “Automated Unit Test Generation for Python” (with F. Kroiß and G. Fraser) was accepted at the 12th Symposium on Search-Based Software Engineering (SSBSE 2020) in Bari, Italy.

You can download a pre-print version of the paper, it is also available on arXiv.org; the final version appeared in volume 12420 of Springer’s Lecture Notes in Computer Science.

The slides presented at the Symposium are also available.

Update: The paper received a Best Paper Award at the Symposium.

best-paper-award

posted 2020–08–01 18:27 · modified 2021–01–29 09:03

A Note on Email

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); furthermore, 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.

Worst is, 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.

Thus, 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.

Attachments

Do not send me large binary attachments without notifying me beforehand. Furthermore, please use open formats, such as plain text, TeX, or the open-document format from Open-/LibreOffice. Do not send me Word, Excel, or PowerPoint files, I won’t open them!

Encryption

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.

Posting Style

Please never use top posting! Consider the following example, why it is such a bad idea to top post (example taken from Wikipedia):

1A: Because it messes up the order in which people normally read text.
2Q: Why is top-posting such a bad thing?
3A: Top-posting.
4Q: 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 :-) But beware: “every mail client sucks” (from the mutt motto).

posted 2019–07–15 12:33 · modified 2019–07–24 20:10