HackerTrans
トップ新着トレンドコメント過去質問紹介求人

amadsen

no profile record

コメント

amadsen
·3 年前·議論
Sigh. This is a guy who is clearly passionate about his hobby and was excited to share it with us. Leave it to hn to shit all over it.

Some people fly to Africa and shoot elephants for fun - as far as hobbies go, this is fairly benign. If you care about the environment, I mean actually care, then you should recognize that policing how many computers someone have in their closet is counterproductive. I don't buy the "every little bit helps" argument because there is always an opportunity cost. Attention spans are limited and focusing on this non-issue does nothing but draw attention away from things that actually matter like meat consumption and fossil fuels.
amadsen
·3 年前·議論
Just to clarify: ArXiv is a pre-print server. By definition anything uploaded there has not (yet) undergone peer review. Posting papers there before they're published in a journal (which can take many months) is standard practice, not "bypassing publishing practices" or a "leak" per se. In this case there seems to be something fishy going on, but the fact that the papers were made public in this way is not strange in itself.

I also hear that it's not uncommon for superconductivity groups to intentionally include "errors" in their early drafts to avoid competitors copying their work before they're ready to publish.
amadsen
·3 年前·議論
Let me paint you a picture: You have data coming off the detectors at a rate of a couple of hundreds of GB/s (after pre-filters implemented in FPGAs etc) that needs to be processed and filtered in real time with output written to disk and tape at about one GB/s. We're talking really CPU intensive processing here: Kalman filters, clustering algortihms, evaluating machine learning models. The facility is one of a kind and operating cost is in the billions per year so downtime is unthinkable, this stuff needs to work. Offline, you're running very, very, detailed (and CPU heavy) simulations. All in all, you have some hundreds of petabytes of data that are constantly being processed and reprocessed for hundreds of different purposes. These systems have many millions of lines of code between them, a lot of which needs to be shared between them. Offline analysis needs to re-run online algorithms and so on - you need a single stack for all systems. You have some hundreds of thousands of CPU cores to run all of this. Due to how academia works, beyond a couple of large core datacenters, resources are mostly spread out in hundreds of locations globally so that each participating university can have maintain a cluster on their premises for teaching/research/funding reasons. You need an efficient way to get the data that a program needs to where it is running, or preferably move the program to where the data is. This is not a tech company, there's no revenue so throwing money at the problem is not an option - it's all funded by tax payers so efficiency is paramount. What language do you reach for? Matlab? Lol. The closest analogy I can think of are some big trading systems and large scale ML inference and content serving at FAANG and the like. That's all usually java or C++.

Oh, one more thing: There's very few professional developers dedicated to this. A lot of it is built and maintained by grad students and researchers in-between writing papers. They're smart people, and they can code, but they have neither time nor interest in learning a new language or framework every other year. They move around. A lot. It wouldn't work to have different tech stacks for different projects - you need to pick one solution, not just for one area but for the entire field. So people can spend less time learning and more time doing. There's no one available to migrate legacy code because some new cool language appeared or yesterday's cool library isn't maintained anymore. These projects run for decades. Whatever tech you pick you must be certain that it will still be around and supported 10, 20, 30 years later. That the code still runs and the data that you paid billions for can still be read.
amadsen
·3 年前·議論
Root is absolutely, mind-blowingly, amazing. It gets a bad rap because it forces you to use primitives that were designed back in the early nineties. If you're "just" trying to analyze some data, your experience will indeed be "horrible" compared to what's offered by Python, R, Matlab, or Julia. But beyond that... Root adds fully working reflection to C++. Root gives you dynamic library loading and reloading - you can fix a bug or add a new feature, recompile parts of your program and keep working without restarting it. Root has a feature complete C++ interpreter, with scripting and a REPL loop. You can work with it completely interactively. After prototyping you can save your code as a script. After identifying performance critical parts of your code, you can compile them and get the full power of bare metal C++, without changing anything about the code. Yes this is technically possible with e.g. python + numba as well, but not as straight-forward. Root is fully interoperable with Python and R - you can mix scripts and REPLs between the languages and pass objects between them. Root can serialize any object, without requiring any custom code whatsoever (some serious dark magic needed for this). In fact you can pause your entire program and save it to disk or send it over the network to keep running somewhere else. Root has its own file format for efficiently storing massive amounts of data in arbitrarily complex structures. It can stream it over the network too, with probabilistic read ahead and caching for maximum efficiency. Root comes with libraries for physics/math/stats that rival those of the largest commercial and open source offerings. Each one of these is a massive technical achievement and Root has had most of them for decades now. Oh, and it has largely maintained backwards compatibility through all this time as well.

Of course, very few people outside of CERN need all of this. Even within CERN, many projects don't. But for those who do, there are very few - if any - alternatives.
amadsen
·3 年前·議論
It doesn't really "generate" a field. The EM field is always there, permeating the universe. An acceleting electron will _disturb_ the EM field (depositing some energy and momentum into it), and this disturbance will propagate through the field at the speed of light (naturally, since at the right energy level such a disturbance is what we call light). At high energies the disturbance will be finely localized in space and behave like a particle, which we call a photon. It's fine to refer to it as such also at lower energies, but slightly misleading because at the very low energies that we talk about here ("radio") it is very spread out in space and behaves more like a wave (with a wavelength of ~meters). In the case of AC, electrons are moving "back and forth" over a short distance (somewhat simplified but useful picture) with the same effect. Think about moving your hand up and down through water - you will create a wave.
amadsen
·3 年前·議論
If you are looking for quality I suggest you look at the IPCC reports. Each word is carefully chosen, every claim backed by mountains of evidence. They're written to be read and understood by non-experts. They exist to inform decision making that will literally determine the fate of our species. As such, they may be failing at their goal, but not for a lack of effort by the authors.
amadsen
·3 年前·議論
Behind a paywall.