Ephes Blog

Miscellaneous things. Not sure what to put here, yet.


Beyond Tellerrand 2022

, Jochen
Went to my second conference this year 🥳. The first one was PyCon DE & PyData Berlin 2022 a few weeks ago and it was great. But beyond tellerrand has a very different vibe to it which I would describe as being more comfy and stylish at the same time. It's also a lot smaller. The talk videos will arrive bit by bit in this channel, I think.



This was the first beyond tellerrand I attended which had a live stream running for the complete event. Which turned out to be really great, because I was watching over our kids every second talk. It only occurred to me on day two that I just could use my phone to listen to the live stream of the talks while parenting (at least partially) and then being able to participate in the discussions after the talk. Really cool.

One of the main topics this time was accessibility. I was surprised by how bad the user experience of screen reeders still is. Coming from a machine learning background I expected screen readers to be able to just generate descriptions for images. But the state of the art seems to be still "don't forget to put alt tags on your images". I understand that building self driving cars is more rewarding than trying to fix screen readers, but there's a lot of potential for improvement.

Maybe there's also a business opportunity: Amazon makes a ton of money for improving the accessibility of buying stuff online. They already have all the required data so they can reduce the effort to just clicking the "buy" button. For most other shops, you have to jump to a lot of hoops to finally buy something. Reducing that to clicking a button or saying "buy x via shop y" is a very similar task from a technical perspective. Hmm, I guess I have to revisit this whole shopco idea at some point in the future 😉.
 

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


PyCon DE Day Three

, Jochen
Got up early enough today and catched the right bus. Buying a 24h ticket exactly 24h after you previously buyed one (same bus) seems to be a very strange usecase, because it broke the BVG-app. But I got to the bcc on time. Which was important, because the first talk was one of the talks I was most looking forward to: Python 3.11 in the Web Browser - A Journey by Christian Heimes. And it was as great as expected.



Another talk I was very eager to see was It is all about files and HTTP by Efe Öge which was scheduled right after the keynote in the same room, but it was more like a gentle introduction into file serving. Not the hardcore "Why do we even need nginx? Let's do it all in python with uvloop and asyncio! Let's bring zero copy tcp to uvicorn!!1" talk I would have loved to hear. Maybe I have to do this talk by myself someday. But not now, I don't have time. No, don't do it.

The next talk I attended was Squirrel - Efficient Data Loading for Large-Scale Deep Learning by Dr. Thomas Wollmann. It was about how to optimize your data ingestion to avoid having your GPUs idle (which is probably a valid usecase). Squirrel was said to be an implementation of a data-mesh - a pattern which was proposed by thoughtworks and mckinsey (never heard about it, until now). I don't know if it's fair to reject the idea solely based on this evidence (the proponents). I have a podcast episode about data meshes in my inbox, maybe I use this as an excuse to finally listen to it. Meh.

After that I listened to On Blocks, Copies and Views: updating pandas' internals by Joris Van den Bossche. This was a really great talk. Pandas is great, but it has the problem that it's often hard to say which operations do produce a data copy. And if you change data in a dataframe you believe to have copied but haven't, bad things might happen. And under exactly which circumstances a copy was created or the data referenced in multiple dataframes is altered is completely confusing. A clean solution for this confusion would be to use some kind of "copy on write" mechanism for dataframes where each operation yields a "copy", but an actual copy is only created when data is changed. But this will probably break a lot of old code, therefore it's not easy to switch to that solution.

After lunch I attended How to Find Your Way Through a Million Lines of Code by Jürgen Gmach which was also really great. It was about things you can do to get more familiar with a large codebase. For example: If you don't know were to put a new test, set a breakpoint at the location were you want to change something and then run the tests. Then put your new test beside the semantically nearest test you found using this method.

The last talk of the day was kind of a blast from the past: Transformer based clustering: Identifying product clusters for E-commerce by Sebastian Wanner and Christopher Lennan. I did something similar (use machine learning to solve this problem, not the transformer stuff which wasn't invented yet) 15 years ago working for billiger.de. Overall their approach seemed very similar to ours and their numbers (0.84 F0.5 on shoe offers) looked really good. The room was packed and the questions from the audience were also very good. I would bet there were more people working on the same problem in the room. Too bad nobody cared about this problem back when I was working on it. I have to say I'm a little bit jealous now, *sigh*. Very interesting talk.

So, back to Düsseldorf after three intense days. I  think I had one warning in my corona warn app in the last two years, but now it's going crazy. Public transport probably. But since I nearly always wore a mask I'm not really worried.