Ephes Blog

Miscellaneous things. Mostly Weeknotes and links I stumbled upon.


Weeknotes 2022-05-16

, Jochen

Trying to export a HDR video from my phone led to unexpected results. The colors were really washed out and the video was slightly overexposured. Using HandBrake I finally got a good looking mp4, but then someone uploaded this file to dropbox, and it looked bad for people downloading it from there. Strange.

Docker Desktop on Mac just broke during update and I couldn't restart it. Had to re-download it. Wow, this is some next level brokenness.

My PR to fix a bug in jupyterlab was merged. I couldn't find a solution to the "you cant mock a function which you call from another function in the same module" problem. Instead Frédéric Collonval circumvented the issue by using a test helper that dismisses the openen dialog instead of trying to mock it, thanks a lot.

Articles

Twitter

YouTube

Software

Papers

  • Note on Distributed Computing | Someone posted this on a twitter thread discussing why HATEOAS is a newer and more innovative concept than all this "modern" SPA solution being basically good old client/server/RPC architecture which attempted to compete with the web several times (CORBA, SOAP, etc), but failed each time.

Podcasts

  • #282 – David Buss: Sex, Dating, Relationships, and Sex Differences (Lex Fridman Podcast) | Some nice anecdotes
  • Über Können, Nichtkönnen und den Weg dazwischen (Was denkst du denn?)
  • Revision 529: Richtig schätzen (Working Draft) | Hmm, there are quite some areas where I would respectfully disagree. For example: This notion of avoiding to spend too much time on optimizing your code. In reviews I rarely see code that is "too optimal" or has "too few bugs". In my experience people often say things like that when they mean to say: Optimizing this code is just not worth the effort. Which is a business decision. And if programmers make those decisions without telling a soul they make it impossible for the business to adapt (yes, this is bad). The same problem arises if you optimize for being correct on your estimations (good for you) by just doing small or simple stuff (bad for business).  Of course, when your customer is never ever talking to you - maybe because it's a pharao resting peacefully in a pyramid - it might pay off to cut some corners 😉.
  • Warum Java für die Cloud so gut ist, mit Adam Bien (programmier.bar) | Rather funny episode starting with the question: Why is Java so popular? Making a really long lived entity like a programming language (if successful) depend on a rather ephemeral entity like a company never resonated with me. Even before oracle hit the fan. But good marketing can do wonders. And I never got this whole serverless thing. The best explanation I saw is: serverless means pay by usage. Which might appeal to the needs of people coming from the host world, because hosts are so fucking expensive you have to be able to assign the blame. But there's a reason why hosts are dead. Personally I would prefer to make a service cheap enough you dont have to care instead of paying magnitudes more to be able to write more detailed bills. And there's always on premise, which I like too. But kubernetes and rancher being "perfect for on premise"? Wow, I think there's another marketing wonder in progress.
  • WR1362 Ernergiespeicher, Schwarze Löcher und Sex (WRINT Wissenschaf)
  • Episode 1 - Origin Story (Sad Python Girls Club) | New Python Podcast 🤩, lets see how it goes..

Weeknotes 2022-05-09

, Jochen

Attended Beyond Tellerrand 2022 which was a lot of fun. The wather was really nice this week, so I spent a fair amount of time outside. The new macro-capabilities of my phone camera are really nice (or scary, depending on the motive):



I finally started fixing the jupyterlab rename bug I stumbled upon the week before. The main problem implementing the fix is how to mock the shouldOverwrite function in the dialog.ts module. It's easy to mock functions with jest if you just want to mock the function you are calling in a test. But if you call a function that calls a function from the same module which you then want to mock, things get complicated. I commented on this issue two years ago, let's see how often I have to revisit it, until finding a fix 😌.

And then I released  kptncook 0.0.7 increasing mealie login timeout.

Articles

Design

Twitter

Software

Podcasts


Weeknotes 2022-05-02

, Jochen

Worked on lots of small things:

  • Released kptncook 0.0.6 fixing a confusingly named command.
  • Answered some emails sent to hallo@python-podcast.de. Usually we don't get that much email, but last week we had multiple mails to be answered at the same time for the first time running the podcast. Dunno if this is good or bad :).
  • Found a bug in jupyterlab where rename file is ignored if the target name already exists.
  • Worked a little bit on making the podlove plugin / wordpress deployable on my infrastructure which is more difficult than expected.

Articles

Youtube

Twitter

Software

Podcasts


Weeknotes 2022-04-25

, Jochen

Released version 0.0.5 of the command line kptncook scraping tool based on the work to reverse the kptncook api from Daniel. It's now possible to fetch recipe metadata just by providing the sharing url of a recipe from the kptncook app. It's also possible to download all stored favorites and backup them locally or import them to mealie.

After listeing to LOV021 Podlove-API mit Dirk Schumann I realised it might be possible to use the podlovers podcast frontend also for django-cast because it doesn't depend directly on wordpress anymore. This is very exciting, because having to use php/wordpress was the main reason keeping me from looking more closely into the whole podlove ecosystem. The only thing I have to do is to write an adapter for the api (and there are some parts missing as well like transcripts and contributors). But at first I have to be able to test and understand the existing api locally. Therefore my aversion for wordpress led me to having to use it finally. In the end it wasn't that difficult at all and I took some notes on how to reproduce that. File handling is not working yet, but I'm sure to figure it out next week.

Articles

YouTube

Software

Twitter

Podcasts


Weeknotes 2022-04-18

, Jochen

Met a lot of people last week. Spent the first half of the week going to this years PyCon DE despite I thought I wouldn't. This was really cool (day 1, day 2, day 3). After that I spent the last half of the week attending family appointments. Avoided to catch fire / covid, ffp2 ftw. Somebody was more successful than me reversing the kptncook app and opened an github issue to notify me about that. How awesome is that? As soon as I'll be able to spent more time on computer stuff I'm going to enhance my kptncook-scraper accordingly.

Things I Learned

  • auto_error in fastAPI allows you to test for different authentication methods (cookie, bearer token, etc), but using an authentication middleware as in django is probably a cleaner solution
  • It's not possible to return values from dependencies declared at router level in fastapi, but you could attach stuff to the request and use it as a container for additional state

Articles

YouTube

Software

Twitter

Podcasts