A tour of notable Windows 11 features that I enjoy, but aren't widely known.| bastibe.de
All our recent phone replacements were due to reliability issues, so I'm buying a Fairphone.| bastibe.de
Tags: photography | bastibe.de
A technical comparison of the old and new XF 23mm lenses, as well as the 16-80| bastibe.de
Tags| bastibe.de
Tags: photography | bastibe.de
A review of my experience of the Leica M240 camera| bastibe.de
Posts tagged "computers":| bastibe.de
Call another python from a jupyter notebook cell| bastibe.de
My thoughts and predictions about the role of AI in the future. Is it disruptive?| bastibe.de
Even though I did read some fiction last year, non really stuck with me. It appears that I am more interested in non-fiction these days. Strange how these things go. Quest for Performance Quest for Performance: The Evolution of Modern Aircraft, by Laurence K. Loftin I have searched for a book like this for a long time: a history of airplane technology. The book details technological milestones and archetypes from the Wright flyer to the mid-1980s, with an emphasis on the two world wars and in...| bastibe.de
From January 2021 to the beginning of 2023, I worked on a legacy code base at Fraunhofer IDMT in Oldenburg. My task was the maintenance and development of a DNN-based speech recognition engine that had become terra incognita when its original developer had left the company a year before I started. The code had all the hallmarks of severe technical debt, with layers of half-used abstractions, many unused branches of unknown utility, and the handwriting of several concurrent programmers at odds...| bastibe.de
21 Apr 2023| bastibe.de
Around this time of the year, I usually write a blog post about my favorite books of the last year. But this time, not enough of them really stood out. So instead, here's my favorite pieces of media I consumed in the last year: Firepower This is the story of how gunpowder changed the world. We get to see the familiar history of central Europe, but told unusually, from the bottom up: how seemingly small inventions change the course of peoples and nations. The book is in essence a history of wa...| bastibe.de
It's that time of the year again when all image editing programs come out with new versions. This comes at an inopportune time, as I feel restless of late. So, naturally, I had to try them all. Or maybe I just wanted a justification for buying DxO PhotoLab, because people on the internet speak so well of it 🙄. For the following comparison I downloaded trial versions of ACDSee Photo Studio Ultimate 2023 (€155), Capture One 22 (€350 or €220/a), Darktable 4.0 (free), DxO Photolab 6 (€...| bastibe.de
You know what I like to see when I import photos from my Fujifilm camera into Darktable? Each RAF file has tags with the aspect ratio, DR mode, and film simulation, is exposed correctly, cropped correctly, and has the correct film simulation applied. However, that is not the default. Darktable, like most raw developers, is camera-agnostic. agnostic ăg-nŏs′tĭk noun [...] One who is doubtful or noncommittal about something. Which means that Darktable does not know about any Fujifilm-specif...| bastibe.de
A while ago, I bought an RNI film pack for Capture One. That's a set of presets that makes your digital photos look similar to analog film scans. However, since then my other image editor, Darktable just released a new version, I'm now back to using Darktable instead of Capture One, thus without access to those presets. Here's how to export Capture One presets to LUTs, to make them accessable to other programs. The fun thing is, LUTs are just PNG files that contain a table of colors. You know...| bastibe.de
Hologrammatica In the last years, I have almost exclusively read books in English. Science fiction, in particular, seems to happen exclusively in English (and perhaps Chinese). So much so, that I have come to associate German only with bad translations and personal communications, whereas English was the language of science, engineering, and fiction. In 2021 however, to my surprise, I stumbled upon Tom Hillenbrand's Hologrammatica, an science fiction thriller in German. It was a peculiar expe...| bastibe.de
04 Dec 2021| bastibe.de
When I bought into the Fuji system, I selected the XF 18‑135 f/3.5‑5.6 R LM OIS WR as my main zoom lens. This is a lens with a very wide focal range, that is commonly called a “travel zoom” because you could travel the world with just this one lens. And indeed I happily did. In 2019, Fujifilm released a second travel zoom lens, the XF 16‑80 f/4 R OIS WR. Ever since, I have wondered how this new 16‑80 compares to my 18‑135. But given that these lenses are somewhat similar, few pe...| bastibe.de
With version 3.0, my favorite photo editing software Darktable started the journey towards a scene-referred editing pipeline. Which means that most edits are no longer bounded between a fixed black zero, and a white one, but can range between zero and infinity, like light itself. This is the norm in video editing and video games, but unique in photo editors at the moment. The scene-referred pipeline has brought changes to pretty much all parts of the editing workflow. I have been frustrated w...| bastibe.de
Some of my photographic lenses are reknown for their outstanding sharpness, others are said to be mediocre. But somehow I never quite saw a big difference in sharpness between them. Do older lenses have less resolution than the newer ones? Can a dedicated prime lens resolve more detail than a multi-purpose zoom lens? Let's find out. These questions recently came to a head for me, in the choice between two compact cameras: A Fujifilm X100T, 16 MP, with a 23 mm lens, and a Ricoh GR III, 24 MP, ...| bastibe.de
Chickenhawk Most first hand accounts of wars I have read are written by a somewhat amateur author. Not this one. Robert Mason infused his terrifying tale with plenty of drama and humanity, and managed to write one of the best personal military history I have ever read. Part of it is surely the subject matter, as I am a huge fan of aviation and its lore. And part of it is that I haven't yet read a lot about the Vietnam War. But either way, I could not put this book down. Every mission seems to...| bastibe.de
About half a year ago, my second child was born, and all that precious free time I had used for photo editing evaporated. So I started looking for faster photo editor, as a temporary replacement for Darktable. Based on my research last time, I chose Capture One. During the last six months, I got to know the program well, and want to share my thoughts on it, and how it compares to Darktable. Let's start with a bit of background about my photography, to put my views into context. I learned phot...| bastibe.de
27 Dec 2020| bastibe.de
Most cameras have the option to capture raw images, i.e. un-processed image data right from the image sensor. In theory, these images are pure physical measurements of light, and should therefore be very comparable between cameras. But are they? To investigate, I took a raw picture of a color target with each of my five cameras, and compared their output. Capturing accurate colors is a surprisingly intricate matter, as the color depends on the spectrum of the illumination, the reflective spec...| bastibe.de
A common trope in discussions about cameras on the internet is: “sensor size trumps all”, and as a corollary, “smartphone cameras suck”. Which is obviously false to anyone who has ever taken a good picture on a smartphone (with its tiny sensor). The argument, however, goes like this: Bigger pixels1 can capture a greater dynamic range, and bigger sensors are made from bigger pixels. Therefore, and here is the dangerous leap, cameras with bigger sensors take better pictures. But I curre...| bastibe.de
Like I have done many times with Linux, I download a Windows image from my university, and write it to a USB drive, then reboot into the USB drive. The USB drive can't be booted. A quick internet search leads me to a Microsoft Support page on how to Install Windows from a USB Flash Drive, which says that| bastibe.de
27 May 2020| bastibe.de
This semester is weird. Instead of holding my "Applied Programming" lecture as I normally would, live-coding in front of the students and narrating my foibles, this time it all had to be done online, thanks to the ongoing pandemic. Which meant I had to record videos. I had no idea how to record videos. This is a writeup of what I did, in case I have to do more of it. You can see the results of my efforts in my Qt for Python video tutorials and my file parsing with Python video tutorials. Thro...| bastibe.de
14 May 2020| bastibe.de
It bit me again: I got software envy. What if I could develop my pictures faster with a different RAW developer? What if they looked better than they do now? Questions like these keep me up at night. The Problem Choice. There are so many RAW developers out there. And they all have rabid fan bases, and apparently unique rendering. How to choose? Here are my house rules: Must run on Windows or Linux Must run acceptably on my Surface tablet Must run acceptably with files on a network share Must ...| bastibe.de
To quote Wikipedia: Open Source Open-source software (OSS) is a type of computer software in which source code is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose. In practice, this generally means software developed by hobbyists in their free time, as opposed to professionals at a company. But why should such software be preferable to commercial products? I shall ignore price, for the mo...| bastibe.de
20 Mar 2020| bastibe.de
Sapiens More than any other book this year, Sapiens changed my view of the world. Or at least that's what it felt like while reading. It seemed as if every page contained a new and mind-blowing shift in perspective, such as casting money, democracy, and capitalism as "religions", and questioning the value of civilization in terms of individual human experience. My mind was reeling from the implications of these viewpoints, in a very good way. On the other hand, my memory of the book is marred...| bastibe.de
Darktable is my favorite RAW editor. It's a program for developing digital negatives ("RAW files") to JPEGs. But, I've long struggled with matching the quality of the out-of-camera JPEGs of my Fuji camera. Let me explain. Today's cameras capture an astounding amount of detail, far more than monitors can display or printers can print. And then they crush it down to a printable and viewable JPEG file. But that crushing operation is idiomatic for each camera, irreversible, and not always appropr...| bastibe.de
21 Jan 2020| bastibe.de
29 Dec 2019| bastibe.de
We went on a once-in-a-lifetime vacation this year. Six weeks in the USA, roving New England in an RV, and going on a helicopter tour around New York City. I have spent months thinking about the perfect camera for going on this trip. I went on several vacations with various permutations of cameras and lenses as a test-run. I data-mined my existing photographs to find the perfect setup through science. And I scoured the internet for untold hours to get it right. Here's what I took with me: Fig...| bastibe.de
Our first stop in speech analysis is usually the short-time Fourier transform, or STFT1: Figure 1: Top: an STFT of speech (it's me, saying: "Es war einmal ein Mann"). Bottom: the signal's waveform. As we can see, this speech signal has a strong fundamental frequency track around 120 Hz, and harmonics at integer multiples of the fundamental frequency. We perceive the frequency of the fundamental as the speech's pitch. The magnitude of the harmonics varies over time, which we perceive as the so...| bastibe.de
A periodic signal has a harmonic spectrum. In the extreme case, a click train signal has a comb spectrum: Figure 1: A click train (left), and its corresponding comb spectrum (right). But why? After all, a solitary click has a uniform spectrum. So why should the sum of multiple clicks have a non-uniform spectrum? Figure 2: A click (left), and its corresponding spectrum (right). The answer exposes a lot of detail of how spectra work, and gives us a glimpse into the inner workings of spectral ph...| bastibe.de
Now that I am officially a failed scientist, I might as well talk about my research in public. I spent the last few years analyzing speech recordings. Particularly, voiced speech, where vibrations in the vocal folds excite resonances in the vocal tract, and a tonal sound leaves our mouths and noses. As humans, we are particularly tuned to recognizing these kinds of sounds. Even in loud background noise, even with dozens of people talking at the same time, we can clearly identify the sound of ...| bastibe.de
As part of my PhD, I am supposed to publish three papers. So far, I have been unable to do so. But this is not about me, I will survive regardless. This is about the systems behind our papers' rejections. Because they are… bad. Political. Un-scientific. Our first manuscript was submitted for publications, and got a middling review. If we wanted our work to be published, we were to expand on our introduction to mention the reviewers' favorite publications, and broaden our comparison to inclu...| bastibe.de
So I bought a new camera. Now I need new lenses. In this post, I am looking for a standard zoom lens, i.e. something that covers a bit of wide-angle, all the way through the normal range, up to a bit of telephoto. In Fuji's lineup these needs are met by the XC 15‑45 mm f/3.5‑5.6 OIS PZ (€ 150, 136 g, 4.4 cm) the XC 16‑50 mm f/3.5‑5.6 OIS II (€ 150, 195 g, 6.5 cm) the XF 18‑55 mm f/2.8‑4 R LM OIS (€ 250, 310 g, 7.0 cm) the XF 18‑135 mm f/3.5‑5.6 R LM OIS WR (€ 500, ...| bastibe.de
A common internet wisdom about photography is that bigger camera sensors capture more light. So if you want to work in low light, you need a full frame camera, and a bigger sensor always produces better image quality. I have struggled with this a lot. It just doesn't make sense: Lenses can focus light on any surface, so why should the surface size matter? The answer turns out to be… disappointing. Big-sensor cameras allow for larger (practical) apertures, and lower base ISO. But less noise ...| bastibe.de
Normally, when you take a picture of something too bright, you get bloom: An all-consuming brightness that plunges everything around it into pure whiteness. Ugly. But if the light source is reeeally tiny, and your aperture is teeeensy as well, you get something else: sunstars This particular sunstar has fourteen corners, and therefore comes from a seven-bladed aperture (in my Fuji XC 16-50). It happens because tiny apertures are not perfectly circular any longer, but instead, in my case, sept...| bastibe.de
I am an amateur, as in "lover of", photography. I love cameras as tactile devices, I love how photography makes me consider the world as art, how that little viewfinder can reveal unknown beauty in well-known places or people. And I love looking at my photos, and remembering vacations and meaningful moments. For me, photography is about finding beauty, and capturing memories. However, most of the writing on photography seems to be focused not on my needs, but the needs of professional photogr...| bastibe.de
There is no other media more immersive to me than reading. When I read, I dive deep into another world, and seize to perceive the reality around me. It is my escape from the everyday stresses of living in the modern world. Reading is truly sacred to me. So here are my favorite pieces of writing of 2018: Shadow Divers This is a book about deep wreck diving. I am not interested in wrecks, or diving. Nevertheless, no book gripped me as hard last year as Shadow Divers. At first, I was a bit throw...| bastibe.de
08 Nov 2018| bastibe.de
About a year ago, I started working on a big comparison study between a bunch of scientific algorithms. Many of these have open-source software available, and I wanted to evaluate them with a large variety of input signals. The problem is, this is scientific code, i.e. the worst code imaginable. Things this code has done to my computer: it crashed, throwing an error, and shutting down nicely it crashed with a segfault, taking the owning process with it it crashed, leaving temporary files lyin...| bastibe.de
14 Oct 2018| bastibe.de
A month ago, org-journal learned to deal with future journal entries. I use future journal entries for appointments or not-yet-actionable tasks that I don't want in my current TODO list just yet. This works really well while I am at my computer, and really does not work at all when I am not (Orgzly does not work with my 1k-file journal directory). But, as I keep re-discovering, org-mode already has a solution for this: org-mode can export your agenda to an iCalendar file! Most calendar applic...| bastibe.de
Personal email is dead. The signal-to-noise ratio of my personal email account has been deeply negative for years. But the last few days have been especially riveting, with a torrent of GDPR-compliance emails from just about every company that has ever gotten their hands on my email address. Anecdotally, if spam makes up about 90% of all email traffic, and the last few days have seen a ten-fold increase in traffic due to GDPR emails, we might even have "defeated spam" for a few days! Yay inte...| bastibe.de
The variable $var appears to change size on every loop iteration. Consider preallocating for speed. So sayeth Matlab. Let's try it: x_prealloc = cell(10000, 1); x_end = {}; x_append = {}; for n=1:10000 % variant 1: preallocate x_prealloc(n) = {42}; % variant 2: end+1 x_end(end+1) = {42}; % variant 3: append x_append = [x_append {42}]; end Which variant do you think is fastest? Unsurprisingly, preallocation is indeed faster than growing an array. What is surprising is that it is faster by a co...| bastibe.de
I want to consume the news, both because it is genuinely relevant for my work, and because conversations about news are part of my social life. But I do not want to be consumed by news, and end up scanning news websites over and over for new content, even though you know that the likelihood of finding anything interesting is small. Over the last few months, I have tried hard to find all instances of this repeated-scanning behavior, and eliminate it. The key is to automate the scanning such th...| bastibe.de
I keep a simple journal in org-journal: One text file per day, in org-mode. But over the years, org-journal has grown somewhat beyond this simple use case. About three years ago, a gentleman named Vladimir Kazanov implemented a very fast text search. Thus, my journal became an information archive. About two years ago, org-journal learned to carry over TODO items to the current day if you hadn't completed them on the previous day. So it to become a to-do list. And today, org-journal gained the...| bastibe.de
A while ago, I scratched an old itch and wrote my own static site generator, called org-static-blog. It is a simple thing: You hand it a directory full of *.org files with a #+title: and #+date:, and it assembles a bunch of HTML pages and an RSS feed from them. There are no external dependencies beyond Emacs. Today, I released version 1.1.0 of org-static-blog, which introduces two new features: speed, and tags. You can now—optionally—add #+filetags: to your *.org files, (setq org-static-b...| bastibe.de
Three years ago, I had enough of all the static site generators out there. Over the life of this blog, I had used Octopress, then Pelican, then Coleslaw, then org-mode, and then wrote my own static site generator, org-static-blog. Above all, org-static-blog is simple. It iterates over all *.org files in org-static-blog-posts-directory, and then exports all of these files to HTML. Simple is good. Simple is reliable. Simple means I can fix things. However, simple can also mean inefficient. Most...| bastibe.de
In the last few months, I have created three notable programming projects: RunForrest saves function call graphs to disk and runs them in parallel processes; TimeUp creates backups using rsync and keeps different numbers of hourly, daily, and weekly backups; and JBOF, which organizes large collections of data and metadata as structured, on-disk datasets. These projects have one thing in common: They use Python to interact with external things, such as files, libraries, or processes. It surpri...| bastibe.de
(This blog post was changed since my initial strategy of disabling the lockfile didn't work. Turns out, the lockfile is required, and backups have to be stacked.) Yesterday, I wrote about how Time Machine has failed me. Time Machine keeps regular backups, going back as far as your hard drive space permits. In theory. In practice, every year or so it messes up somehow and has to start over, thereby deleting all your older backups. A backup that is not reliable is not a backup. Luckily, there a...| bastibe.de
Dropbox deleted some of my favorite photos. Have you looked at all your old pictures lately and checked if they are still there? I have, and they were not. Of course Dropbox denies it is their fault, but no other program routinely accessed my pictures. I am not alone with this problem. It must have happened some time between the summer of 2015, when I put my pictures on Dropbox, and the summer of 2016, when Time Machine last corrupted its backups and had to start over, thereby deleting my las...| bastibe.de
In late 2016, I took a short ferry flight to a small island in the area, and rekindled my love for aviation. Shortly afterwards, I started training for a pilot's license, and reading about aviation. From a literary perspective, aviation exists in the perfect goldilocks time frame of being just old enough to be thoroughly romanticized, but young enough for first-hand reports and thorough documentation to be available. What is more, powered flight has provided human observers with an unpreceden...| bastibe.de
20 Nov 2017| bastibe.de
The official website states that you need to download Emacs from a nearby GNU mirror. However, this does not install gnutls, which is required for installing packages from melpa or marmalade. The documentation says that this can be obtained from ezwinports. However, I have found that this does not work any more: As of Emacs 25, Emacs is available in 64 bit, but ezwinport only supplies 32 bit binaries. I had to search a bit, but the (in retrospect, obvious) solution is to download the required...| bastibe.de
Here's a thing I do: I write open source libraries that solve my problems. Bad libraries. And then, over the course of a year or two, I slowly improve them, until they are not so bad any more. I have gone through this pattern a few times now. SoundFile started out buggy and slow. Transplant crashed and froze very often. Org-Journal deleted journal entries every now and then. But then users found errors, and errors were fixed. And slowly, over time, these libraries transformed from buggy proto...| bastibe.de
Traditionally, text editor themes are all about colors, right? In programming, we use color to tell variables from type declarations, comments, or strings. However, any other text document uses typography instead of color to distinguish between headlines, list items, and keywords. I think that our current approach to highlighting code is misguided. I think that color themes are an accident of history. Terminal text editors are unable to switch fonts. All they can do is switch colors, so color...| bastibe.de
The second conference I attended this year was the EuroScipy 2017 in Erlangen. I gave a Talk about Audio in Python and a Lightning Talk about my Python/Matlab bridge. My most striking impression of EuroScipy is that every person I talked to was working on something interesting, and could talk about his/her topic clearly and with enthusiasm. This mirrors my feelings from last year's Chaos Communication Congress, where the short scientific section stood out for its clarity and passion. I also e...| bastibe.de
I am not much of a web programmer. I have written the odd website, I have supervised a few student projects, but I have never worked on any nontrivial JavaScript code base. Nevertheless, last week, I attended the Web Audio Conference 2017 in London. To put it succinctly: The web is home to fascinating people, but the technology is full of problems. Those people sure were amazing, though. I talked to a musician/programmer, who spent the last few years writing his own sequencer web app, and did...| bastibe.de
This is part three of a three-part series on the native audio APIs for Windows, Linux, and macOS. This third part is about WASAPI on Windows. It has long been a major frustration for my work that Python does not have a great package for playing and recording audio. My first step to improve this situation was a small contribution to PyAudio, a CPython extension that exposes the C library PortAudio to Python. However, I soon realized that PyAudio mirrors PortAudio's C API a bit too closely for ...| bastibe.de
This is part two of a three-part series on the native audio APIs for Windows, Linux, and macOS. This second part is about PulseAudio on Linux. It has long been a major frustration for my work that Python does not have a great package for playing and recording audio. My first step to improve this situation was a small contribution to PyAudio, a CPython extension that exposes the C library PortAudio to Python. However, I soon realized that PyAudio mirrors PortAudio a bit too closely for comfort...| bastibe.de
This is part one of a three-part series on the native audio APIs for Windows, Linux, and macOS. This first part is about Core Audio on macOS. It has long been a major frustration for my work that Python does not have a great package for playing and recording audio. My first step to improve this situation were a small contribution to PyAudio, a CPython extension that exposes the C library PortAudio to Python. However, I soon realized that PyAudio mirrors PortAudio a bit too closely for comfort...| bastibe.de
A short while ago, I spent a few weeks collecting and evaluating various implementations of speech analysis algorithms for my current work. TL;DR: the general quality of scientific software is bad, and needs to improve. Let me state up front that I am explicitly not talking about the quality of the science itself. This blog post is exclusively focused on the published software. In general, the problems were bad programming, old and unmaintained code, and lack of documentation. While none of t...| bastibe.de
Why is it, that I find Matlab to be a fine teaching tool and a fine tool for solving engineering problems, but at the same time, extremely cumbersome for my own work? Recently, the answer struck me: metaprogramming in Matlab sucks. Matlab is marketed as a tool for engineers to solve engineering problems. There are convenient data structures for numerical data (arrays, tables), less convenient data structures for non-numeric data (cells, structs, chars), and a host of expensive but powerful fu...| bastibe.de
24 Nov 2016| bastibe.de
For a long time, I was afraid of picking up Soma, since it came from the developers who did Amnesia. Amnesia was the first game that scared me so thoroughly that I just couldn't bring myself to pick it up again after the first session. I admired it for its amazing world design, interactivity, and story, but it was too scary for me. I don't enjoy being scared. I was thus of two minds when I heard about Soma: Soma was supposed to be less scary, and SciFi. But still, let me get this out of the w...| bastibe.de
In a recent project, I tried to parse MATLAB code. During this trying exercise, I stumbled upon a few… unique design decisions of the MATLAB language: Use of apostrophes (') Apostrophes can mean one of two things: If applied as a unary postfix operator, it means transpose. If used as a unary prefix operator, it marks the start of a string. While not a big problem for human readers, this makes code surprisingly hard to parse. The interesting bit about this, though, is the fact that there wou...| bastibe.de
I like boring games. I like games that give me time to think. Like flightsimulators, trucksimulators, history simulators, and (don't call them walking simulators) walk 'emups. And this weekend, this year's Steam Summer Sale started, and thus it was time to get some gaming done! First, I played Everybody's Gone to the Rapture, a walk 'em up that got good reviews, and was especially praised for it's story. And it dutifully enraptured me, with its British landscapes, and personal story lines. Bu...| bastibe.de
21 Jun 2016| bastibe.de
For a few years now, I have been teaching programming courses using notebooks. A notebook is an interactive document that can contain code, results, graphs, math, and prose. It is the perfect teaching tool: You can combine introductory resources with application examples, assignments, and results. And after the lecture, students can refer to these notebooks at their leisure, and re-run example code, or try different approaches with known data. The first time I saw this was with the Jupyter no...| bastibe.de
Sometimes, you just have to use C code. There's no way around it. C is the lingua franca and bedrock of our computational world. Even in Matlab, sometimes, you just have to call into a C library. So, you grab your towel, you bite the bullet, you strap into your K&R, and get down to it: You start writing a Mex file. And you curse, and you cry, because writing C is hard, and Mex doesn't exactly make it any better. But you know what? There is a better way! Because, unbeknownst to many, Matlab in...| bastibe.de
30 May 2016| bastibe.de
What does quality code look like? One common school of thought focuses on small, descriptive functions that take few arguments. To quote from Clean Code: "The first rule of functions is that they should be small", on the order of less than ten lines. "Functions should not be large enough to hold nested structures". "The ideal number of arguments for a function is zero [, one, or two]. Three [or more] arguments should be avoided where possible". A few years ago, when I was working mostly on us...| bastibe.de
I've been playing a lot of indie games lately. One of them has not been talked about much: Toren. Toren is a platformer about a girl that has to climb a tower to defeat a dragon and revive her world. This is probably the least polished game I have played in a long time. Animations are janky, controls are imprecise and clunky, and there are loads of little glitches. Yet, I really enjoyed this. There is something about this world that feels honest to me: As you climb the tower, the child grows ...| bastibe.de
Among Others, by Jo Walton I don't usually enjoy fantasy novels and their romantic escapism. I much prefer fascinating sci-fi thought experiments. But this book won all the most important awards, so I gave it a shot. What if random chance could be bent a little with creativity, the power of believing in something, and some mysticism? You end up with a world that is richer, more meaningful, and altogether more alive, if you just cared to observe and to appreciate it's beauty. Reading this book...| bastibe.de
03 Nov 2015| bastibe.de
As of Matlab 2014b, Matlab includes a Python module for calling Matlab code from Python. This is how you use it: import numpy import matlab import matlab.engine eng = matlab.engine.start_matlab() random_data = numpy.random.randn(100) # convert Numpy data to Matlab: matlab_data = matlab.double(random_data.tolist()) data_sum = eng.sum(matlab_data) You can call any Matlab function on eng, and you can access any Matlab workspace variable in eng.workspace. As you can see, the Matlab Engine is not ...| bastibe.de
The Mac. It used to be the most streamlined, thought-through general computing device on the market. Even it's file management used to be top-notch. There were many cool little touches. One particularly useful feature was the Proxy Icon–if a window displayed a file's content, that file's icon would show up in the window's title. And you could drag that icon directly onto a thumb drive or email, without having to use the Finder. But the Finder, too, had many neat little features. I loved the...| bastibe.de
On my last vacation, I have taken a bunch of pictures, and a bunch of video. The problem is, I hadn't used the video camera in a long time, and it believed that all it's videos were taken on the first of January 2012. So in order for the pictures to show up correctly in my picture library, I wanted to correct that. For images, this is relatively easy: Most picture libraries support some kind of bulk date changes, and there are a bunch of commandlineutilities that can do it, too. But none of t...| bastibe.de
29 Sep 2015| bastibe.de
28 Sep 2015| bastibe.de
So I wanted to work with audio files in Matlab. In the past, Matlab could only do this with auread and wavread, which can read *.au and *.wav files. With 2012b, Matlab introduced audioread, which claims to support *.wav, *.ogg, *.flac, *.au, *.mp3, and *.mp4, and simultaneously deprecated auread and wavread. Of these file formats, only *.au is capable of storing more than 4 Gb of audio data. But the documentation is actually wrong: audioread can actually read more data formats than documented...| bastibe.de
As per the latest Stackoverflow Developer Survey, Matlab is one of the most dreaded tools out there. I run into Matlab-related trouble daily. In all honesty, I have never seen a programming language as user-hostile and as badly designed as this. So here is today's problem: When run from the command line, Matlab does not render unicode characters (on OSX). I say "(on OSX)", because on Windows, it does not print a damn thing. Nope, no disp output for Windows users. More analysis: It's not that ...| bastibe.de
Early on in Pillars of Eternity, you are tasked to kill one of two characters: Either you kill King Rethoric, who executed many innocent people, or you kill Rolsc, the leader of the rebellion. This is an interesting moral choice, but it is also profoundly sad that the game presents killing either of them as the only resolution to this conflict. It got me thinking. In the real world, I would not consider killing to be an option, ever. But in the game, you have to play by the game's rules. And ...| bastibe.de
Julia is a high-level dynamic programming language designed to address the requirements of high-performance numerical and scientific computing while also being effective for general purpose programming. —Wikipedia In other words, it is supposed to be as fast as C, as practical as Python, and as scientific as Matlab. The next step in mainstream scientific computing. However, Julia is still very young, and still evolving rapidly. But if any of the above is true, I am very interested! So, over...| bastibe.de
Every year, between Christmas and New Year's Eve, a very special convention is held: The Chaos Computer Club hosts the Chaos Communication Congress. Among my peers, this is just "The Congress", the real highlight at the end of our year. Don't be fooled by the name though, The Congress is not just some conference, with talks and meetings and business cards. The Congress is where every internet citizen, technologist, hacker, DIYer, net-politician, programmer, computer scientist, or geek convene...| bastibe.de
Ancillary Justice / Ancillary Sword, by Ann Leckie I have been reading a lot of science fiction in the last few years. These books are part one and two of the best space opera I have ever read. The story is written from the perspective of an AI, sometimes inhabiting a lot of bodies, sometimes only one. Interestingly, this makes for a very introspective viewpoint, where politics and actions are expressed as consequences of nuanced human behavior and astute observation, as opposed to arbitrary ...| bastibe.de
This is the time of the year when we reflect on our lives, and be thankful. We write Christmas cards to people we like, and celebrate with our loved ones. At my job, I am sitting in front of a screen all day, and I interacted not only with people, but also their software. So this is a column where I want to thank people I don't know for their delightful software: Org Mode Thank you, Carsten Dominik, Bastien Guerry, and everyone else, for this amazing piece of software! I have used Org mode fo...| bastibe.de
09 Dec 2014| bastibe.de
This is the third revision of a post about selective headline numbering in Org mode. On its own, Org mode can either number all headlines, or none. For scientific writing, this is a non-starter. In a scientific paper, the abstract should not be numbered, the main body should be numbered, and appendices should not be numbered. In LaTeX, this is easy to do: \section{} creates a numbered headline, while \section*{} creates an unnumbered section. Org mode does not have any facility to control thi...| bastibe.de
Most of my peers write all their scientific documents in LaTeX. Being a true believer in the power of Emacs, I opted for writing my master's thesis in Org Mode instead. Here's my thoughts on this process and how it compares to the usual LaTeX work flow. In my area of study, a thesis is a document of about 60 pages that contains numerous figures, math, citations, and the occasional table or source code snippet. Figures are usually graphs that are generated in some programming environment and c...| bastibe.de