lambdasoup.com

Posts

Move to Codeberg

Maximilian Hille avatar Maximilian Hille 2026-07-20

We are migrating our code from Sourcehut and Github to codeberg.

The Sourcehut repositories are already moved and the account subscription is cancelled. Some Github repositories have been moved. Some code will continue to live on Github, either for visibility reason or because they are forked over there.

Release: `proc`

Maximilian Hille avatar Maximilian Hille 2024-07-17

For local dev work I often need to run multiple local tools/servers in parallel. In a recent project I learned about Foreman and it’s Procfile format. There is a whole suite of runners for this format, but I found all of them lacking in some way or another. Don’t want Ruby? Don’t want NPM in a NPM-free project? And worst of all, “What was the command again? goreman run?”.

Go makes it quite easy to spin up and manage a couple of processes so I created proc.

Similar to how you process a Makefile by running make, with proc you can run your Procfile.

Release: `remake`

Maximilian Hille avatar Maximilian Hille 2024-07-17

Over the years I used several setups for running local dev environments. When learning a new SDK I usually had to learn their recent “local dev server”, “live dev environment” or similar. I found that these tend to be very narrow in capability and caught myself always thinking “why don’t you just let me define a Makefile and run that on src/ changes?”. I tried several ways to achieve this (eg. entr) but was never happy with the resulting setup.

I usually use Makefiles for dev work. They are somewhat arcane but I find them to be highly efficient and since make is available everywhere there is no setup cost at all.

So recently I created remake which watches src/ and runs make on changes. It is extremely simple but given that make can do basically everything also quite capable in the end.

Goodbye Watch Later

Maximilian Hille avatar Maximilian Hille 2023-04-20

It is quite unfortunate to announce that we had to unpublish Watch Later from Google Play today.

A couple of weeks ago we had to fill out an audio form regarding the YouTube client API usage of Watch Later. As a result Google shut down our API access. To our surprise, they actually forwarded us their internal report which came our of a manual audit. Some bean counter looked at the app and decided that it does not “improve the user interaction with YouTube”, resulting in a violation of ToS - specifically III.I.1. And yeah, those ToS are extremely broad so we will not try to challenge that, thus saving ourselves some sanity.

Watch Later 2.3

Maximilian Hille avatar Maximilian Hille 2021-02-19

Watch Later has been updated and released on Google Play to the beta channel. Unless something catastrophic is wrong with the version, it will roll out to 100% in a couple of days.

Notable changes:

User playlists

YouTube recently shut down the API to insert videos into a user’s Watch Later playlist. I expect YouTube to remove/migrate that platform feature in the coming months, but that is only speculation. Until then, the app will work by letting the user select one of their playlists and insert the videos into that instead.

JobIds are the new IRQs

Juliane Lehmann avatar Juliane Lehmann 2017-09-05

TL;DR:

Everything is better with a silly meme.

Everything is better with a silly meme. (thanks imgflip!)

Remember the days before plug-and-play? When you had to manually configure IRQs on your hardware, taking care to have no overlaps, hoping that it’s even possible without overlaps? If not, be glad… The bad news is: If you’re an Android software developer, thanks to Android Oreo’s background execution limits forcing the use of JobScheduler, those days are sort of back. Good news: this time, it’s all software, and we as a community can collectively make things work.

App update: Core Death Bell 1.5

Maximilian Hille avatar Maximilian Hille Juliane Lehmann avatar Juliane Lehmann 2016-10-30

Core Death Bell got multiple updates recently, the most imortant changes being:

Available for free on Google Play

Find the source (GPL) on GitHub

AppBar synced FAB behavior available as a library

Juliane Lehmann avatar Juliane Lehmann 2016-06-08

You can now get the FAB behavior shown in this post as a library. Go to the project on github to see the source, read the gradle instructions or file an issue. Comments are also well-liked on reddit or Google+!

There are already enhancements in place over the code as shown originally:

Near future plan is to include proper handling of AppBarLayouts that do not collapse completely.

Fabulous FABs - sliding in and out in sync with the AppBarLayout

Juliane Lehmann avatar Juliane Lehmann 2016-06-03

Edit: The code from this post became a library and got significant enhancements. It’s open source, so just look it up on github for the source code and instructions on using it as a gradle dependency.

Just want the goods without explanation? See this gist.

Picture a list view, with a Floating Action Button (FAB) sitting on it, like this:

The FAB needs to be able to move out of the way, so that all parts of all list items are actually reachable. Also, it is good form in this situation to have the app bar scroll out of the way, to maximise the viewport area dedicated to the list. There’s a well-known ready-made solution for this; it looks like this

and has two disadvantages:

Here’s how to get the FAB to move in sync with the app bar.

QuickFit 1.2 released

Juliane Lehmann avatar Juliane Lehmann 2016-06-02

QuickFit now features a beautiful wide layout, for use on tablets in landscape mode. See:

A post or two on how to implement this fabulous FAB behavior is to follow.

This release also fixes a bug; scheduled activities do now really get cleared by clicking on the notification and will not reappear together with the next alert.

QuickFit is free on Google Play, or be a beta tester

Find the source (Apache License 2.0) on GitHub

I’d be happy about feedback on reddit, or raise an issue on GitHub.