Initial conditions are modeled by Keplerian elements around the main parent body. These are 6 scalars that describe the size, shape, and orientation of the orbital ellipse as well as the body's position along it at a given time (epoch). I scraped these values from various places including research papers, JPL databases, Wikipedia pages, and university web pages.
From there everything is mapped into a consistent epoch (now) and the initial position/velocity are calculated using a Keplerian->Cartesian transformation (the math here is a more or less straightforward coordinate transformation). The physical simulation is then run by updating these 2 Cartesian vectors, applying gravitational acceleration over ∆t.
This works pretty well, all things considered, but there's a lot of room for improvement to account for solar wind, relativistic effects, planets not being perfect spheres, etc. The Keplerian elements are also just an approximation of the true orbit, and this approximation can show up at high zoom levels (it's why planets don't always line up perfectly with their ellipses when you zoom in). I'm also still figuring out how best to get the initial position/velocity for objects that aren't in simple elliptical orbits (co-orbitals like the Trojans, objects on escape trajectories like Voyager probes). There's a lot for me to learn, maybe later I will write a blog post!
I hope there is a better way to maintain open source projects without being overly cautious and suspicious of every PR someone makes. Maintaining open source projects is hard, and this is going to slow down development on many projects. And, rightly so, it's better to make a good code base, rather than one that is littered with backdoors.
I wonder what could make this situation better for the maintainers of open source projects?
Designing for safety helps a lot. Memory safe languages, reproducible builds, encoding safety properties in the type systems, and so on.
Sure, an attacker can subvert the types as well as the code, or use unsafe code, or try to tamper with infrastructure, but the more obvious it is that something is unsafe, the harder an attacker's job is.
The xz attacker introduced high-risk features over time and used them to justify weakening security controls and things that might have detected the problem. A culture of safety over the absolute best possible performance might help to make such attempts harder.
You say ex AMD like that's all he's known for. Jim Keller is like some fairy who flies around companies designing sota chips.
From DEC, to AMD, to ARM and Broadcom, his own firm, hops over to Apple which then buys his old firm, heads back to ARM and then over to Tesla and finally one last stop at Intel before going into startup land again.
Worked on the K7/K8, MIPs for networking, did the A4 and A5 for Apple, on the Zen/K12, and the Tesla TPU.
That's good for him, but it means we'll never find out in the near future whether it's possible for the average person to create useful ICs in their garage.
From a business perspective, I agree that it’s a fool’s errand. But imagine being able to design and tangibly build your own computer, at home. 6400 euros is pennies for a business, but exorbitant for an individual.
I believe the way Sam Zeloof circumvents the enormous amount of capital needed for a chip fab by relying on modern technology to create 1970’s technology. He simply mounts a cheap digital projector onto a cheap microscope - they didn’t have that advantage in the 70s, and thus it cost millions to start a chip fab. My point is that it could conceivably be doable for an individual to create old computing technology with the advantages of living in the modern world. I certainly don’t have the drive to do it, but I wish someone did.
You'd spend far more than 6400 euros to do it at home.
If you did it often and didn't count your own labor costs, then maybe the average cost would be less, but that's an incredibly specific situation.
> I believe the way Sam Zeloof circumvents the enormous amount of capital needed for a chip fab by relying on modern technology to create 1970’s technology
Yes, exactly.
Old lithographic technology is so crude that you can even use modern high resolution laserjets to print masks (10000 dpi is less than 3 microns).
Even so, 1970s-era CVD, PVD, and plasma etch is still quite complicated, and CMP is impossible (it hadn't even been invented yet). So the devices you can create are significantly integration-constrained.
Do you have examples for models of laser printers can actually achieve a resolution of 10000dpi? It doesn't need to be office equipment. Any example would suffice as I so far thought that laser printouts were limited to a maximum resolution between 1200 and 2400dpi.
Not at home, but at professional printing houses absolutely.
This isn't hypothetical, I've done it -- in grad school we would send out (I believe) 30000 dpi print jobs on transparent polyester film, and then adhere those to glass blanks to create cheap masks for MEMS fabrication. We had an old Canon i-line lithographic aligner that accepted the glass blanks.
I think the print jobs cost us about $100 each.
Here's the first Google result for a vendor (I don't remember who we used). There's a price list on their page and it looks like they have capability up to 50,800 dpi.
Maybe a little different. For narrow enough definitions of "clothing," homemade clothing can be good. And there are other artisanal homemade crafts (e.g. woodworking) that can be good. But I agree in general.
Industrially (by which I mean how it was done circa 1970), silicon oxide and silicon nitride was etched using a buffered HF solution known as BOE (buffered oxide etchant). The buffer was typically ammonium fluoride; because of the presence of the buffer, the concentration of fluorine ions in solution stays constant even as some of the fluorine attacks the substrate to form e.g. hexafluorosilicic acid. Since the concentration of fluorine stays constant, so does the etch rate.
If you just pull some rust cleaner off the shelf at home depot, the etch rate will crash as the concentration of fluorine ions decreases. That's compounded by the fact that the HF concentration isn't very high in the first place.
As a result it would be very difficult to determine how long your wafer should remain in the etch bath. Underetching could easily cause "opens" in the circuits from unremoved insulator, and overetching and/or undercut can destroy the patterns you're trying to produce. Either way it can ruin the chip.
Yep, he used an ammonium fluoride buffer.
> Instead of a standard HF etch, a buffered oxide etch of NH4F (Ammonium Fluoride) in HF can be used to control the etch rate and photoresist lifting. I use approximately 20-30g of 100% NH4F per 50mL of HF (stock whink rust remover)
Ammonium fluoride definitely isn’t as easily accessible as rust cleaner, but you could buy it for a somewhat cheap price on Amazon.
On a side note, when I had my startup and was the CTO, a lot of advice I got and also what I ended up realising was that my priority and goal was to build an amazing `Tech Team`.
Latency from embedding models is still going to be the bottleneck for performance however fast the DB is going to be. Plus adding all the overhead of synthesising answers and summaries from a LLM is going to weigh you down.
If you are building a search engine or a QA bot, the embedding of the query still needs to be calculated. The results do depend on the quality of the model, and if you are using a large on it does take time.
I can't speak for VC, but, the way we look at education itself needs to change. The current system was built for a post war industrialisation era. I am not saying that it is right or wrong, but bringing in new technology to a system that was built for a different time and society is perhaps not ideal. I think the biggest EdTech out there is YouTube. I've built out a career from the content there is in YouTube. The content itself isn't pay walled, there is enough incentive for content creation and there isn't a single structure that decides what you should do or learn next. All of this is up to the user.
It could also be argued that content itself is educative to prompt the user to think, and act on what to do next. But, I am not sure how disconnected is that process from the recommendation algorithms.
Well, the food for thought is, perhaps what we need from Edtech is not to solve the problems of the past generations, but to change the way we educate ourselves.
This and the other engines seem to implement all the components of crawling, indexing, and searching strung together. Is there a reason for this? Wouldn't an option of, let's say, crawling + indexing made available separately, where others could built a search algorithm on top of, or just the crawling as a service made available. Are there stuff like these already available? Or is it just not a viable option?
Crawling can be done collaboratively, but there's not a lot of point to doing this. Crawling is the cheap and easy part.
As for the rest, in order to perform well, the indexer needs to be built specifically tailored to the what the search engine is doing. Often you're scrounging for places to cram in individual bits to encode some additional piece of information about the term.
If a DBMS tries to support every use case, a search engine index does the opposite, it supports a singular use case and cuts every corner imaginable and then some to make that happen with as much resource frugality as possible.
Kinda sucks that it's stuck in AWS with no easy way of exfiltrating the data from the Amazon ecosystem. Last I tried I got like 100 Kb/s on their HTTP mirror. At that rate, the download would take 12 years.
I just tried 2 http examples from https://commoncrawl.org/get-started for an old dataset and the most recent one and got 110Mb/s (my full download bandwidth):
I would love to read about how the orbital trajectories are calculated, and how is it done for co orbitals. Do you plan to write a blog on this?