It's similar - basically here a vector/tensor is an array of magnitudes across N dimensions. Whereas in (undergrad-level) physics you might have a 3- or 4-D vector for spatial dimensions and time, here the LLMs are embedding sequences of tokens into N-dimensional space where N is much much larger.
There's a pattern called "embedding search" - you precalculate a set of embeddings for a corpus of text. Then to do a search, you calculate embeddings for your search string. Then you can find the closest vector in that N-dimensional space, which finds you the semantically closest neighbor from the original corpus.
For an embedding search - the OpenAI Embeddings API gives you a ~1500 dimension output vector. When a LLM is working with input text as a vector, I am not sure what the tokenizer is actually feeding into the model. Hopefully someone else can chime in!
Yes! There’s an ioctl interface for managing the watchdog, and a character device at /dev/watchdog. The kernel docs[1] are a decent jumping off point to learn more.
Upon reading these I did realize on Linux it’s implemented as a kernel device, but it’s usually a userspace task that has to notify the kernel watchdog interface to actually kick the timer. This makes sense, since userspace being functional is probably what you really care about.
Preface: my knowledge here is on ARM, particularly baremetal, but also embedded Linux. No idea about Windows or x86.
Generally there’s a hardware watchdog implemented as a counter/timer in the processor. It can have a predefined or configurable period. It counts down, and if it times out then it initiates a hardware reset of the processor.
You can ensure your software/OS is always at least executing code by having a task (in-kernel on Linux, or an RTOS task, or just in your main event loop on baremetal) that resets that timer. Then, if your code stops resetting that timer, it expires and resets the processor.
Ex-Garmin engineer here. There are pockets of the company that use Android, and a bunch of the larger-scale systems have moved to using embedded Linux with Yocto.
The proprietary RTOS that runs on the watches is a super cool embedded system dating back to the earliest days of the company. It grew across all the product lines - watches, nav units, aviation equipment, marine chartplotters/sensors, etc. I remember once stumbling on some code written in the very early days by an engineer who went on to be the CEO while I was there.
It was a fun system to work on, and had an impressive amount of code sharing at the OS-level across platforms as tiny as Cortex M0 systems up to large multi-core ARM SoCs from TI and other vendors.
Just wanted to chime in and give you folks some props, I've been using infracost for a few months as a one-man infra team for a small nonprofit I volunteer with. It was super easy to get set up in our CI pipelines in an afternoon, and it makes it much easier for the devs I work with to figure out what their cost impact is. A great product and a great team!
This is entirely possible, though to me it seems more likely that an executive team ruled out doing transitions in batches. Then, when their online banking enrollment system encountered some reasonably-sized subset of Simple's 3 million customers Saturday morning, it simply keeled over.
In my account's case it was able to provision my account when I enrolled, but the web portal then threw up some opaque errors and didn't let me complete enrollment. Without the latter steps of 2FA/security questions/etc that I couldn't complete, my account was locked without access until I could reach a phone operator.
The "additional support" they opened Sunday was a nightmare - lots of recordings on Twitter of the call center either hanging up on you in the phone tree, getting a rep who immediately says they cannot hear you before hanging up, or even reps who just laughed and hung up when you mentioned Simple.
I spent the better part of my Sunday calling trying to get my account unlocked, since it was automatically locked when their services collapsed during enrollment on Saturday.
I was in the same boat - check out DAS Budget. It's currently more or less a 1:1 clone of Simple's UX and is available as an open beta on both iOS and Android
It uses Plaid for its banking backend, and so far is working quite well for me and my partner
"Wellerman" is certainly the most popular, but there have been several! Lately I've been seeing people take up "Leave Her Johnny", "The Last Shanty", and even some labor songs like "Process Man"/"The Chemical Worker's Song"
It's been surprisingly fun watching the various takes blow up on TikTok.
People have said it off and on through this thread, but the true differentiator for me has always been Goals + Expenses.
They account for the fact that money is fungible and the envelopes are "soft", but still provide a sense of autopilot and integration that I've never been able to get from Mint/YNAB.
You could set aside static "Goal" envelopes just to stash money away, or recurring "Expenses" funded every payday. Auto-deduct from both those sets based on vendor. All the while I could just peek at the app to see my "Safe to Spend" and know what money I could spend for fun with all my base expenses still accounted for. This also worked in joint accounts with my partner, making our shared budgeting trivial.
I will miss this app dearly - it really made a difference in how I manage my money.
Alyssa was one of the primary developers behind the Panfrost open source drivers for a subset of Mali GPUs - she's a brilliant engineer and great to work with.
There's a pattern called "embedding search" - you precalculate a set of embeddings for a corpus of text. Then to do a search, you calculate embeddings for your search string. Then you can find the closest vector in that N-dimensional space, which finds you the semantically closest neighbor from the original corpus.
For an embedding search - the OpenAI Embeddings API gives you a ~1500 dimension output vector. When a LLM is working with input text as a vector, I am not sure what the tokenizer is actually feeding into the model. Hopefully someone else can chime in!