RSSAmplifier

Blog

Home on jo-m.ch

Recent content in Home on jo-m.ch

jo-m.chRSS feed ↗30 posts

Latest posts

Use your own domain for your code forge hosted Go modules

If you have a domain name, you possess (ok, rent) your very own little corner of the internet. Congrats! When you now publish a Go module as github.com/jo-m/mymodule, you hand over part of that control. The module path is a permanent identifier, baked into every go.mod file that imports it. That would now be tied to GitHub, a company that is actually Microsoft, which can change its terms, ban you,…

Self-hosting on localhost

As a software engineer with a bit of job-induced paranoia, I love the idea of escaping the claws of big tech via self-hosting. In recent years, a plethora of amazing free and open source projects have emerged, providing alternatives to everything from Dropbox and iTunes to Android Home. However, I don’t want to manage yet another server in the cloud, I already do that for work. Managed…

A closer look at the Got-It Bluetooth tags

When I first heard of the Got-it Bluetooth tags, I just had to order a preview set. Those are active Bluetooth Low Energy beacons, embedded into a thin and flexible sticker, including battery. The proposed use case is asset tracking in commercial settings. They are 28mm x 76mm x 0.75mm Battery life is supposed to be one year Waterproof, flexible A preview set containing 10 stickers costs 99$, they…

How to buy a car in the US as a foreigner

When I went to the US last year on a J-1 visa, I had to figure out how to buy a car. I had never owned a car before, and I did not have a US driver license. If you are thinking about buying a cheap car for a road trip in the US to save on rental costs, it is probably not worth it: buying a cheap beater car exposes you to the risk of it breaking down, which will then cost you a lot of money to fix…

3D waterfall plot in WebGL

In 2016, I finally learned OpenGL. So I decided to ditch THREE.js and rewrite my old Waterfall-Plot project in pure WebGL. The only external Javascript library used is gl-matrix for matrix transformations. All the line offsetting (z-direction in time, y-direction for frequency magnitude) is now done directly in the shader. This makes the animation much smoother, as no THREE.js points/lines have to…

ETH supercomputing for beginners

Disclaimer: for this to work, you must be an ETH Zurich affiliated person and own a nethz-account . So, you wanna play around a bit with machine learning. Or run a crazy particle physics simulation. But you only have a lame Macbook. Your gaming rig would do the job, but its fans are spinning so loud your neighbors complained. Solution? Just use ETHs Euler general purpose super computer ! Even…

Javascript 3D waterfall plot

For a long time, I wanted to try out WebGL. After some initial research, it became clear that it is not that simple to use WebGL without having prior experience with OpenGL. Thats why I settled with THREE.js . This library abstracts away all the WebGL things and gives you a nice 3D interface. I like the Joy Division Unknown Pleasures album cover. You can find something about its history here . The…

Wifi monitor on a Raspberry Pi

I had a Raspberry Pi and an old analog volt meter lying around. To finally do something “useful” with it, it was decided that our CoWorking Space needs a WiFi detector. Functionality in short : It captures WiFi packets from the air, and counts them. This then gets mapped to a scale from 0 to 10, and displayed on a rainbow-colored LED chart. Hardware # This runs on a Raspberry Pi Model…

Telegram CLI on Raspberry PI

Telegram is an (encrypted) messenger service which also offers an API. This makes it ideal for bots and automation. Here it is shown hot to set up telegram-cli on your Pi. Get a shell on your RasPi, I prefer to do this over SSH. You can also plug your RasPi to a screen and ann a keyboard. Build # sudo apt-get install -y git sudo apt-get install -y libreadline-dev libconfig-dev libssl-dev lua5.2…

Hack the spectrum - Hide images in Audio files

Intro # You have probably heard of the song [Equation] by Aphex Twin. It is known for having a scary face hidden in its frequency spectrum . So I asked myself, how can I do this by myself? It is possible using a bit of matlab and basic knowledge in signal processing. I choose a short mp3 track to modify: Cartoon (Interlude) by French House Artist SabastiAn. This is the image we’ll try to…

Painless way to install NumPy & Co. on OSX

When working with scientific data, NumPy, SciPy etc. are often used. They can be quite a pain in the ass to setup: many dependencies, some modules have to be compiled (which sometimes works…), so often PIP does not work out of the box. Also, the Apple Developer Command Line Tools have to be installed for this to use the compilers. The very simple solution to this is Anaconda , a Python…

Migrating Gitlab from MySQL to Postgres

Recently, I migrated Apovedas Gitlab installation from using MySQL as database server to PostgreSQL. Thats because until now, I have used the manual gitlab setup guides, and I now want to change this to use the automatic setup/provided packages, which all use postgres. Install Postgres and create the database # ( Taken from the Gitlab installation manual ): sudo apt-get install -y postgresql…

Software Engineering

Software Engineering Principles # Start simple and iterate, you won’t get it right the first time anyways. Make it fail gracefully. There can never be enough logging, debug statements, asserts. Measure before you optimize. Make it hard to do the wrong thing. Ugly hacks keep the world spinning. Limitations are as important as features. Magic is bad. Hyrums Law is very real and needs to be…

Bugs and Debugging

Bugs and debugging # A list of bugs encountered in the wild. Not as much fun as those , though. 🐞 = bug cause Logical Errors # Python program got stuck where it shouldn&rsquo;t &mdash; 🐞 Confused threading.Thread.start() with threading.Thread.run() In C++ code, used << instead of <<= in an assignment, which caused a bitmask to be all 0, leading to a bunch of numbers being 0 as well&hellip;…

Shell Snippets

Shell Snippets SSH # SSH Keygen # ssh-keygen -o -a 100 -t ed25519 SSH Tunnel # ssh -N -L2001:localhost:80 somemachine Now you can access the website by going to http://localhost:2001/ SSH Proxy # ssh -q -N -D 5001 user@host # e.g. ssh -q -N -D 5001 pi4 You can now set localhost:5001 as a socks proxy in Firefox and it will appear as connecting from host . SSH port forwarding # ssh -R…

Quotes

Quotes Some of my favorite serious and non-serious quotes. Science & Engineering # Analysis without numbers is only an opinion. &mdash; David Akin Modelle sind auch nur Meinungen, die sich als Mathematik verkleided haben. &mdash; Mark-Use Kling, QualityLand “Revolution” has many definitions. From the looks of this, I&rsquo;d say “going around in circles” comes closest to applying&hellip; &mdash;…

About

About Hi! My name is Jonathan, I live in Zürich, Switzerland. My interests are software engineering, computer vision, and the interfaces between computing and the physical world. I also have lots of experience in networking, web, databases and devops. Technologies # Bits and pieces of technology and tools I use or have used, sorted alphabetically: afl++ (Fuzzer) Android AngularJS Ansible Arch…

2023 New Year

2023 New Year # Val Mora. Weg Abend- und Morgenstimmung (mit Mond) Val Mora Gemse Powder

2023 Various

2023 Various # Rossstock Flug Mollis Bachsee Schreckhornhütte Molch

2023 Mexico

2023 Mexico # CDMX Xoximilco Oaxaca Palenque

2022 Various

2022 Various # Simplon Alpendohle Ardez Pizol Rossstock

2022 Domenican Republic

2022-01 Domenican Republic # Paraiso Puerto Plata Road

2021 Various

2021 Various # Rheintal & Rheinwald Sion Zug Ticino Cow

2020 Various

2020 Various # Greece Abbruch Misty Zürich Morning View

2020 June

2020 June # Lac Leman Piz Curnera Val Maighels

2020 New Year

2020 New Year # Splügen and Val Mora. Pizzo Tambo Vom Valser Horn, Ostgipfel Val Mora

2019 Various

2019 Various # Vom Calanda Üetliberg Lausanne Bastia, Corsica Murgtal

(untitled)

Shortcodes # Images # Markdown # Img tag # Figure # Test Figure Half # Test

2019 Việt Nam

2019 Việt Nam # Hà Giang Monkey Island

Page Not Found

____________/\\\________/\\\\\\\_______________/\\\____ __________/\\\\\______/\\\/////\\\___________/\\\\\____ ________/\\\/\\\_____/\\\____\//\\\________/\\\/\\\____ ______/\\\/\/\\\____\/\\\_____\/\\\______/\\\/\/\\\____ ____/\\\/__\/\\\____\/\\\_____\/\\\____/\\\/__\/\\\____ __/\\\\\\\\\\\\\\\\_\/\\\_____\/\\\__/\\\\\\\\\\\\\\\\_ _\///////////\\\//__\//\\\____/\\\__\///////////\\\//__…