Boho Schreibtisch Easyline – wieder abbauen.

Ich fand mich jüngst in der Situation einen Easyline höhenverstellbaren Schreibtisch wieder abbauen zu wollen. Dazu liefert Boho leider keine Anleitung. Ihr könnt euch dazu an dieser Abbauanleitung orientieren:

Das passende Werkzeug, um die elektrischen Beine vom horizontalen Träger abzutrennen lag bei mir leider nicht bei. Ihr könnt stattdessen mit zwei Schraubendrehern mit ausstauschbarem Bit behelfen und da jeweils das größten Imbusbit nutzen, etwas Klebeband drum, um nicht das metall zu verkratzen und dann beide Metalldreiecke, gleichzeitig von außen zur Mitte drücken und voila, habt ihr das Bein abgelöst.

Ich hoffe, das hilft jemandem das Problem schneller zu lösen, als ich das tat.

 

Wie man aus einer PostgreSQL Datenbank direkt in einen Pandas Dataframe selektiert.

Unter der Annahme, dass ihr host, port, db_name, user_name und passwort definiert habt, könnt ihr dazu folgendes Snippet verwenden.

import pandas as pd
import pandas.io.sql as sqlio
import psycopg2

conn = psycopg2.connect(f"host='{host}' port={port} dbname='{db_name}' user={user_name} password={password}")
query = "select count(*) from table;"
df = sqlio.read_sql_query(query, conn)
conn.close()

__pycache__/-Ordner und *.pyc/*.pyo-Dateien löschen

Für den Fall, dass ihr wie ich einmal vergessen habt in eure .gitignore :

__pycache__/
*.py[cod]

einzutragen und nun auf einmal diese Folder auch auf eurem Deploymentsystem habt oder sie bei euch lokal entfernen wollt, um dann zu commiten, dann gebt das hier ein:

find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf

Patreon – eine andere Art kreative Arbeit zu finanzieren und zu fördern

Patreon ist eine Plattform aus den USA, die es jedem ermöglicht Autoren, Künstler Musiker, Podcaster, YouTuber usw. seiner Wahl mit einer kleinen oder größere regelmäßigen spende zu versorgen.

Dadurch ist es eine gute Möglichkeit sich für alle Arten von Autoren sich ohne der Werbung zu unterwerfen zu finanzieren. Ich habe mir dort auch ein Profil für mein Projekt genughaben.de eingerichtet und habe seitdem dort auch keine automatische Werbung mehr. Sofern euch meine Seite gefällt und ihr mich unterstützen könnt, würde ich mich darüber freuen! Mein Profil findet ihr hier:

Seid ihr selbst Künstler, Autor, Musiker, Podcaster, YouTuber o.ä.? Dann meldet euch doch selbst auf Patreon an und schreibt euren Fans, dass sie euch darüber unterstützen könnt! Patreon bietet dazu viel und gute Unterstützung an, damit ihr damit auch Erfolg habt und ihr in Zukunft weniger von Werbung abhängig seid!

Viel Spaß und Erfolg mit eurem Projekt und danke für eure Unterstützung!

Frank

App-Idee: Bücher in Buchläden (leichter) finden oder allgemeiner: Text in Bildern durchsuchen.

Bücher in Buchläden (leichter) finden

Immer wieder stehe ich vor Bücherregalen und würde zugern nach Stichworten suchen und dann entweder einen passenden Titel oder eine Empfehlung bekommen. Dazu fielen mir ein:

  • Foto machen unBücher in Buchläden (leichter) findend dann Suchanfragen (am liebsten per voice) auf das Bild schicken. Gefragte oder passende Bücher werden dann angezeigt.

App der Buchhandlung, die mit immer aktuellen Bildern der Bücherregale gefüllt werden. Nun kann ich als Besucher die Bücherregale durchsuchen – ggf. sogar von zuhause.

Da in einer Datenbank idealerweise auch Metadaten, Autorenname und Stichworte zum Inhalt liegen können diese für die Suche herangezogen werden.

Text in Bildern durchsuchen.

Manchmal möchte ich nach Begriffen in einem physischen Buch suchen. Cool fände ich da eine App, der ich meine Suchbegriffe eingeben kann. Mit meiner Telefonkamera filme ich dann über die Seiten und mir werden die passenden Begriffe gehighlighted. Manchmal netter als das Buch Zeile für Zeile mit den Augen durchzugehen.

Meetup: PyData Hamburg – Spring Edition

Gestern war ich auf dem PyData Meetup in Hamburg bei Grunar + Jahr am Baumwall.

Ich werde her keine vollumfängliche Beschreibung, sondern nur jeweils das berichten, was ich am spannensten fand.

Es gab drei Vorträge:

1. Irina Vidal Migallón: Poking holes in your deep learning vision model.

Irina stellte Herausforderunge bei der Entwicklung von Bilderkennungsverfahren vor. Es ging dabei um Robustheit, die sie durch die vier Begriffe Evaluaton, Debugging, Interpretability und Adversarial* umriss. Irina arbeitete bereits im Bereich Medizin und Mobilität und wendete dort Bilderkennung an. In der Pause unterhielten wir uns u.a. über Ansätze “unbekannte” in Klassifikationen zu erkennen. Sie schlug Siemese Networks vor, die ich auch schon einmal ins Auge gefasst hatte – es ist aber immer gut das noch einmal von jemanden bestätigt zu bekommen 🙂

2. Matti Lyra: Research into production: automating travel bookings using current NLP research.

Matti erzählte über NLP zur Detektierung von Hotelbuchungen aus E-Mails. Ich fand den Vortrag technisch sehr spannend! Es ging darum aus E-Mails anfragen für Hotels zu extrahieren. Für mich nicht so relevant – da ich lieber ein Formular verwende, dass für mich gleichzeitig wie eine Checkliste fungiert und für mich so sicher stellt, dass ich nichts wichtiges vergessen habe. Für einen vielreisenden Businessman aber vielleicht genau das richtige!

Christopher Werner: Prediction of Status Changes in Software Tests.

Auch ein spannender Vortrag. Technisch betrachtet. Es ging darum zu erkennen, ob be einen Commit der Status eines Tests sich ändert. Hier war allerdings der Use Case für mich nicht wirklich nachvollziehbar. Problem des Kunden war: die Tests brauchen 1,5 Tage bis sie durchlaufen. Fair enough. Aber warum dann nicht die Anwendung in Services mit jeweils kleineren Testsuits unterteilen? Und wenn das keine Option ist: warum nicht an Teilen des Codes entwicklen und nur die dafür relevanten Suites ausführen? Immer noch sicherer als die Endgenauigkeit von circa 80% des vorgestellten Modells: denn ein mit 20%iger Wahrscheinlichkeit fehlerhaftes Update würde ich nicht deployen wollen…

Key Takeaways waren für mich:

  • automatisiere deine Workflow so gut wie möglich
  • Evaluiere und visualisiere dein Training (z.B. mit Tensorboard) und die Modellperformance
  • verwende für die Modell-Validierung das Gerät, die Umgebung und Kennzahlen (z.B. precision oder recall), die später beim Deployment verwendet werden und für den Anwendungsfall am relevantesten sind.
  • schauen worauf dein Modell schaut: Stichwort “Deconvolution” – erkennt das Modell wirklich das, was wir wollen und vor allem aus erwarteten Gründen? Wird der Wolf im Bild erkannt oder nur der Schnee im Hintergrund? Ein Tool dafür ist Lime. Dazu gibt es dort ein cooles Video. Ein gutes Paper dazu ist: Why should I trust you?
  • reichere deinen Datensatz neben augmentierung durch adverserial samples an (siehe Explaining and Harnessing Adversarial Examples von Goodfellow 2014). Es werden “zufällige Muster” deinen Trainingsbildern hinzugefügt, die für die Erkennung anderer Bildklassen optimiert sind. Dein Modell muss daher dann lernen, warauf es in den Trainingsbildern “wirklich ankommt”.  Dafür hilft das Tool cleverhans.
  • Ein für das Trainieren von Modellen für autonomes Fahren oft verwendeter Datensatz ist der City Scape Dataset.
  • Ein spannedes System zum Ausprobieren der richtigen Hyperparameter ist hyperband. Hier arbeitet im Hintergrund ein Multi-armed bandit, um nach und nach für definierte Rampen von Hyperparametern die optimale Kombination zu finden.

Selbst sprechen:

Auch interessant fand ich:

  • Wer will kann sich dort jederzeit mit einem Vortragsthema melden und bei einer neuen Veranstaltung sprechen.
  • Auch kürzere Talks (bis 5min) sind am Ende in der Section “Lightning Talks” immer möglich.

Missing Functionalities Teil 1 – Heute: Google Maps.

Ich rege mich im Alltag immer wieder über aus meiner Sicht technische Probleme auf, die einfach nicht gelöst werden. Das meiste davon ist nicht Kriegsentscheidend. Wenn man aber bedenkt, dass unsere Gesellschaft eben an vielen Stellen durch inkrementelle Beschleunigung besser geworden ist, sind sie aber dennoch eine Diskussion wert. Ich werde immer wieder mal eine Sache in den Raum stellen, die mir auf den Geist geht. Und bin auf eure Meinungen bzw. Kommentare dazu gespannt.

Heute: Google Maps.

1. Man bekommt vom Google Assistant auch für Kontakte für die man die Adresse hinterlegt auf Anfrage keine Route. Frage ich etwa:
* Ok Google.
* Zeige mir den kürzesten Weg zu bekomme ich eine Google Suche als Ergebnis.

What? Das kann doch wohl nun echt nicht so schwer sein, Dr. Google. Löst das bitte mal. Nicht immer nur von Innovationgeschwindigkeit reden, sondern auch mal machen!
Nicht falsch verstehen, liebe Google, ich finde euch klasse, aber manche Funktionen könntet ihr einfach echt noch verbessern! Meiner Meinung nach könnte da helfen euer Image als Runaways in der Techsphäre zu stabilisieren!

2. Ich reise beruflich häufiger. In den jeweiligen Städten bin ich aber wiederholt an denselben Orten. Dennoch ist die Angabe “Arbeit” immer die gleich für einen meiner Einsatzorte in Hamburg. Nie aber in dem für Frankfurt, Desden oder wo auch immer. Gleichzeitig könnten die letzten Suche sich am jeweiligen Aufenthaltsort orientieren. Wenn ich eben in Frankfurt bin, dann interessieren mich meine Ortssuchen aus Hamburg eher weniger. Richtig genial wären ja Ortsprofile, die man über einen Button und dann ein Dropdown auswählen könnte.

Zusammengenommen würde mir beides pro Monat bestimmt 5 Minuten sparen. Und noch mehr Nerven, denn ich ärgere mich über beides sicher länger als die eingesparte Zeit. Auf 1.000.000 Menschen, die das auch interessieren könnte wären das pro Monat dann also 1041 Tage. Das ist schon ne Menge Holz. Würde sich also schon lohnen das einzubauen.

Danke und beste Grüße
Frank