notjosh
Joined 13 years ago
Joined 13 years ago
No guarantee that it'll be perfect either, obviously, but it's open source and actively maintained. Highly recommended.
however, this was built to be more of a glue library - take whatever device you have (Pi, laptop, IoT fridge), and plug in whatever “printer” you have (typically a receipt printer, but friends have used a rooted Kindle, or Instagram API, etc). there’s more to it than that though, as the original protocol is generic (it was built to control all kinds of devices - printers with blob payloads are a nice side effect), so it’s also relatively easy to extend if you want to bolt on other uses cases within the same network.
it was never really optimised to be the leanest implementation, but instead easy enough for others to hack on and contribute to. JavaScript/TypeScript on a Pi feels like a reasonable compromise, with heavy emphasis on compromise! so, by focusing more on community and simplicity, it’s fun seeing the weird ways people extend it :)
> If you think this use of addresses seems wasteful, you needn’t worry. There are around 3.4×1038 IPv6 addresses, enough for 10^27 such displays.
So even an intentionally wasteful project has plenty of headroom for quite a while yet!
Even as a permanent resident of Germany, I have no special rights within any other Schengen member states that grant me any ability to stay. (Though, there is a permanent residence category called "Daueraufenthalt-EU" which does grant additional rights through other Schengen(/EU?) states.)
> If you hold a residence permit or a long-stay visa issued by a Schengen area country, you will have the same freedom of travel as a Schengen short-stay visa holder.
https://web.archive.org/web/20180108183307/http://ec.europa.... (the main website is down, but here's a wayback snapshot)
A concrete example of a problem I had was when setting a text field to be first responder when displayed. The result was that the keyboard was trying to appear a split second after the push segue animation fired.
(IIRC you can reproduce it fairly trivially in a pure native app by calling `-becomeFirstResponder` asynchronously inside a `viewWillAppear:` block. The result was two animations fighting for screen layout, and a giant white empty block where the keyboard should be.)
The solutions were to: a) wait, or b) fire synchronously in `-viewWillAppear:`. Airbnb seem to have chosen a).
I wrote a similarish tool for converting SVG to code at Last Job™: https://github.com/biowink/SVGeez (though, it's questionable how well it works beyond the specific use case of the app it's for..though in theory it should work fine!)
(even the name is similar ;))
I bumped into issues when transforming complex paths into single paths. I suppose leveraging SVGO is a better plan for that. Kudos!
I simply will not stand for this notjosh erasure!
(potentially the greatest contribution I'll ever make to human culture. not sure how I feel about that, now that I think about it)