HN user

jansc

149 karma

[ my public key: https://keybase.io/jansc; my proof: https://keybase.io/jansc/sigs/PDnZo1jYOqITfslq7H0Py7ATMG3ikdUKZ6BscsgS3J4 ]

Fullstack web developer, beekeeper, nature science geek.

Posts5
Comments30
View on HN

I bought an ID.4 Pro Performance just before the summer and after about 15.000km I can say that the software is not great at all. I could perfectly live with the delays, sometimes it takes many seconds for something to happen after pressing on an item on the screen, but there are many other problems.

I am no longer able to log into the car with my We Connect account. No error message after login, but the car keeps on telling me that I have to log in. However, I still can control charging with the We Connect app using the same account and I can drive, so who cares?

The speech recognition (which could solve the non-button issue) often triggers when listening to music on the radio. It mostly doesn't trigger when I want it to saying "Hello, ID". Pressing the right place on the steering wheel (not a button I can feel without looking at it) seems the best option to trigger speech recognition. When it's first activated, the only thing that sometimes works is turning on heat in the drivers seat. Gives me a nice and comfy feeling. Other than that, we don't communicate.

The ID.Drive Travel Assist sees lots of traffic signs that aren't there. At the most extreme, I was driving 100km/h on an open road. Suddenly the car "saw" a 30km/h sign that wasn't there and started braking. On my daily commute, I have to drive a road at 40km/h for some kilometers. Travel assist keeps on insisting that there are lots of 30km/h and 50km/h speed limit signs. Day after day. My uneducated guess is that crossing roads with other speed limits are triggering speed changes. IDK. Sometimes the travel assist does not work at all - no matter how many speed limit signs I pass nothing happens until restarting the car. So I more feel like being the assistants assistant.

I am still not able to use the "buttons" for turning on the wind shield or rear window heating without taking my eyes from the road (not part of the touch screen, they're located at the left side of the steering wheel). Guess I never will be.

The navigation is ok. Mostly works without ending up in a blocked road. Not always the smartest choice of way. Keeps my brain cells activated, I like making my own decisions anyway. Also, shows me logos ("ads"?) for McDonalds, Burger King, Esso, Shell and other sights on the road. Easy to see the places I want to avoid.

Charging mostly works. Hooray!

I've concluded that using the screen while driving is distracting anyway (so I wish there was not screen at all - except for maybe navigation and radio). When traveling alone, I mostly don't use the screen. When traveling with others, I outsource adjustments.

Would I buy the same car again? Not sure. Battery range is fine. Besides the software, I really enjoy driving it. From a usability point of view, I prefer driving my old e-Golf.

Two examples: The application has two main components, a controller and a struct containing the ui implementation. Callbacks in the cursive library are called with a reference to Cursive, but I had a hard time figuring out how to pass the controller to the callback. In the end I decided to use a message channel (mpsc::Receiver and mpsc::Sender) to let the two components communicate. After some struggling I saw that cursive has a function to set user data which is accessible inside the callbacks. So I pass the channels through userdats. Not sure if this is the best architecture. I never managed to pass a reference to the controller to the ui callbacks. The Compiler complained about undefined lifetime of the reference, though I knew that both outlive the application runtime.

A similar situation occurred in the asynchronous communication with gopher servers. I use a thread to fetch a resource from another server while keeping the ui responsive. Passing the result from the thread back did not work out in the beginning.

I don’t think the idioms are so different in Rust, but when passing data between components, threads and the like, you have to be very specific in your code, using Arcs, RwLocks, Mutexes, etc.

On the bright sight, when the code compiles, it usually worked as intended. Using C or C++, there would be more race conditions, null pointer exceptions and more.

My homepage is https://jan.bio. Not much content here, but some more on my gopher hole. Gopher seems to have a renaissance these days. Browsing gopher is a nice activity to relax after work as a web developer. No tracking, no javascript, no ads, no images, no web fonts. Just content.

I'm not affiliated with humblebundle in any way, and this was a genuine question. I know that the packt books are not best quality, but if one these books is a good introduction to practical ML, I would consider it a good deal. In my opinion much better than googling algorithms and tutorials and visiting 10s or 100s of sites full of ads and ad trackers to find a suitable algorithm for a given problem. Reading an EPUB on my daily commute sounds much better and works offline.

I used XFontSel two days ago to find a font for my StumpWM mode line. Still works like a charm.

Also, I miss XFig on the list. Still growing strong! The last release is from May 2018. I use it occasionally to create diagrams for presentations.

Interesting post. I’ve been dealing with RSI on and off for the past 5 years. Natural keyboard, standing desk, reducing keyboard use in my free time, lots of breaks, almost no hobby activity, stretching and exercises helped, but the pain keeps coming back after while.

Any suggestions for Linux-based tools?

PC:

- org-mode for meeting notes, ideas, todo-lists, agenda

- ledger for personal finances

- pass for password management

Mobile:

- Note Crypt Pro for tracking ideas on the run

- OpenScale for weight tracking

- Wunderlist for sharing shopping lists with my wife

edit: formatting

Seems like you're a lucky guy. My current iPhone 4s is falling apart. One of the speakers doesn't work, battery lasts only half a day, and the power off button is broken. And I guess there won't be any software updates after the current iOS release.

I disagree (Disclaimer: I'm one of the early backers). The current trend in mobile phones is towards more closed systems. Components are glued together, and often it's not often possible for a user to even change a battery. That's what I would call a big monster.

The Fairphone is the first phone to get a 10/10 repairability score from ifixit. Though there could be more components, it's definitely a step in the right direction. The whole point is to a able to use that phone for 4-5 years. If one part breaks (touchscreen, battery), you can replace that part yourself. If a better camera becomes available, I can choose to update just the camera instead of buying a new phone. Cheaper for me as a user and better for the environment.

Yesterday, I spent some hours exporting my roughly 45.000 photos in my iPhoto library to a folder structure sorted by year and event. The tool I used is called Phoshare (https://code.google.com/p/phoshare/). The site says its no longer supported, but even with the latest OSX and iPhoto versions it seems to do the trick. I was able to convert faces to exif meta tags containing the persons name. Otherwise I did not have a lot of metadata in iPhoto. Now I'm heading over to digiKam or maybe some other tool outside the walled garden.

For my iTunes library, I first used beets (http://beets.radbox.org/) to fix the metadata of my music files, and now cmus (https://cmus.github.io/) as a music player. As an alternative music player I'm considering EMMS (https://www.gnu.org/software/emms/).

I don't know about alternatives to iPhone syncing. My iPhone died last week, and I'm waiting for my Fairphone to arrive in a couple of weeks.

Interesting. I used both Evernote and DEVONthink on OS X before. Now, I'm storing all my notes in plain text org-files on my Dropbox - but without version control. Do you share your git-repos via Dropbox or somethink like that? Or do you have a git server somewhere else?

I used 1password before, but several times I lost access to all my passwords after upgrading the software. On the bright side, I was always able to restore access to it by manually downloading 1password and reinstalling 1password. Besides, 1password does not officially support Linux. That's why I wanted to try Lastpass. I also find the yubikey support interesting.

Well, I guess, it's time to reinstall keepass2 again.