My condolences. I don't have any advice, but you may be able to learn something from my very similar experience.
https://skogsbrus.xyz/dont-put-all-your-apples-in-one-basket...
HN user
My condolences. I don't have any advice, but you may be able to learn something from my very similar experience.
https://skogsbrus.xyz/dont-put-all-your-apples-in-one-basket...
I've had a similar idea on my backburner for two years, as a fun project to dabble in Elixir, but this is just so much more _fun_ than my version which looks like an admin page that just happens to have a Vim canvas on it.
Well done!
Elixir is really fun. It hits the same spot for me as Ruby does for many others, bringing joy when writing it.
Can someone explain why this issue deserves a 24h notice?
Seems more reasonable to me to have a much longer deprecation notice.
Really impressed with how thoughtful _and_ fast they are delivering on their type system.
FWIW, it's not self hosted. I use Fastmail. Thanks for the link about .xyz though, I was not aware it is associated with spam.
In hindsight, yes that was a bad move (especially considering that my work laptop is still locked to my banned ID…)
As an Apple noob at the time, I assumed that if my MDM-managed device prompted me to log in with my Apple ID, that it of course would be an allowed action.
With regards to data being shared, the only thing I noticed was wifi passwords and peripherals pairing (apple keyboard).
With risk of being spammy, this is probably the most relevant discussion I've seen so far on HN w.r.t my experience of being locked out from my Apple ID.
I hope legislation will force Apple to step up and be more transparent / helpful.
https://skogsbrus.xyz/dont-put-all-your-apples-in-one-basket...
True, but Apple specifically in my case was abhorrently indifferent to the consequences and their support structure is entirely unable to help you. If you have a dedicated storage provider, you lose their single service only. With Apple, you lose everything you have attached to your account which carries a much higher risk.
See https://skogsbrus.xyz/dont-put-all-your-apples-in-one-basket... for more info.
It seems to be extremely rare, but do bear in mind that if Apple bans your account (Apple Id) you will lose access to your icloud files irrevocably.
See my previous posts on the matter for more info.
Read Deep Learning with Python [1]. It's ok not to understand everything, but doing the labs will be invaluable.
That book should set you up with the fundamentals. Pytorch is the defacto standard right now for training; during deployment you will use whatever your deployment setup allows (e.g. embedded devices typically have their own inference frameworks).
Python is the lingua franca for anything in machine learning, but other languages are used where necessary for performance or for ecosystem benefits.
I'd recommend moving to development that interfaces with ML instead of moving to being an ML practitioner. You have much faster feedback cycles, your work is predictable (engineering, not science), and you don't feel the pressure of never reading enough papers.
To do that you only need to understand the fundamentals of tensors, some basic knowledge on what the big no-nos are within ML development so you can course correct your peers if they break them, and either focus on the operations side of things or deployment. In both cases, having a knack for optimizing bottlenecks will be very helpful since they will be present during both training and inference.
I've never found this style readable unless with pipes (bash / elixir), where I love it. With any other syntax, I find it just adds mental overhead. Maybe because you have to read it backwards?
Automated account suspension is anti-consumerist for the % of false positives. And since that % likely is low, companies get away with ridiculous processes for recovering your account.
I recently encountered this with Apple (https://skogsbrus.xyz/dont-put-all-your-apples-in-one-basket...). After 2 months I'm still fighting them to recover some of my devices.
As an aside, even if all else fails and I need to factory reset my devices - I'm not sure if that's straight forward if you can't log in to the currently enrolled Apple ID...
If asked, enter your Apple ID.
Honestly don't know where I'd even start to initiate such a process (not based in the US). I'm still in a phase where I'm angry enough to keep bugging support / going to Genius bar with the issue.
Pretty happy with my existing workflow. It started out with a photo organization script a couple of years ago that I ran manually and has now developed into a fully automatic system.
1. syncthing uploads photos from my phone to my NAS (receive only)
2. scheduled systemd service (hourly) on my NAS reads newly received photos, renames them by date, moves it to my photos catalog
3. photoprism starts a scan of the photo library (triggered by systemd when 2. finishes)
4. weekly systemd service syncs the library to backblaze
How does it fare for bilingual users?
This is a great talk that answers many of your questions, https://youtu.be/JvBT4XBdoUE
I am so far merely an enthused observer, so I can't give any insights into the experience of delivering business software with it. Here's my observations though
- Engineers that work with this stack love it. The two most common issues I've seen are lack of static typing and difficulty in hiring
- Great for IO bound tasks due to collaborative scheduling. For CPU bound tasks performance is better offloaded to e.g Rust (see rustler)
- Exception handling is done by processes having supervisors. My mental model for this is similar to pods & deployments à la K8s, but at any abstraction level you want inside your component.
- Elixir pleases many crowds: ruby, FP, performance, resilience
- Phoenix (an elixir library) is seen as a next step from ruby on rails.
- Concurrency model is considered to be simple & powerful
I'm running NixOS on https://teklager.se/en/products/routers/APU2E0-open-source-r.... Working great. And interestingly when I upgraded to NixOS 22.11, its power consumption went down from ~12W to ~7W. In the NixOS matrix channel it was suggested that it might be because of new power management work in the kernel.
Just make sure it doesn't have an Nvidia GPU. Always a gamble with on laptops
It is meaningful, but maybe I didn't give enough context.
The service ingests data from a timespan T spanning M minutes. Before the next timespan T+1 is ingested, the service has to process the data from timespan T in <M minutes otherwise we fall behind. What I mean with "faster than real-time" is that it has to process the data faster than it is ingested.
I've written a couple of C-extensions for a Python service that needed to run in real-time. We started out 100x slower than real-time and managed to make it slightly faster than real-time in a hectic couple of weeks.
The main bottleneck that C-extensions solved for us then was marshaling. Instead of doing something like Numpy --> custom algorithm --> Numpy --> custom algorithm in Python, we moved it all to C. This way, we decreased the number of times we had to marshal data & we reduced the amount of data that needed to be marshaled.
IIRC we gained 10-100x improved performance in all scenarios where we used C-extensions. Before doing so we tried to use Numba, as it seemed to offer a "free lunch", but we never got it to work.
The final cherry on top that let us surpass real-time speed was replacing a graph algorithm with another that had a better time complexity for larger graphs. Before doing that switch, we'd still be faster than real-time for _most_ inputs but would lag behind severely whenever we had a dense input graph come in.
Some packages won't work when installed via pip though, psycopg2 for instance.
I use activitywatch: cross platform, free, locally hosted.
I just started reading Rust in Action and so far I'm finding it much better then the official book.
Any user stories with *vim + mutagen for _large_ remote code bases? Vs code remote is the only thing that has been fast enough in my experience, but I would love to be able to use my local neovim instance for remote development instead and this tool looks promising.
Thank you for replying! I wouldn't have seen this on my own
They update, look for, and provide documentation. They realize the value of good documentation.
They review their own PRs, with a focus on making them easy to review.
They are vocal on public channels and aren't afraid to ask questions outside their team - making sure that communication that could be relevant for other people isn't sent over DMs.