Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
cpgxiii
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
17 ms
·
151.
▲
by
cpgxiii
3y ago
Availability is often strongly correlated with technical maturity. Small brushless motors with FOC didn't become widely available and mature until really the late 2010s. Arguably the foundation of nearly all of DJI's product lines
152.
▲
by
cpgxiii
3y ago
In 2003, small brushless DC motors were way less mature and available as they are now, particularly for low-speed/high-torque applications*. Brushless controllers are much more complicated than brushed controllers, particularly on the
153.
▲
by
cpgxiii
3y ago
In C++, Eigen comes pretty close to this interface for defining vectors and matrices and mixing size-at-compile-time and dynamically sized quantities. And then, given the size of the vectors/matrices being used, dispatching the appropr
154.
▲
by
cpgxiii
3y ago
For parallel code, the obvious answers are static and dynamic analyzers. E.g. for C and C++ you'd use TSAN and MSAN. The Rust borrow checker is essentially a memory/thread safety static analyzer baked into the compiler. Particular
155.
▲
by
cpgxiii
3y ago
It is much the same case with security requirements, though. You can have all the tests of intended behavior, but they won't necessarily tell you anything about unintended behavior. You need better tooling and specifically focused test
156.
▲
by
cpgxiii
3y ago
At the end of the day, no matter what kind of code you are writing, you either have tools and processes in place that reduce the risk/mitigate the impacts of bugs, or there is always the risk of serious problems being introduced. An un
157.
▲
by
cpgxiii
3y ago
Sure, OpenMP and GCD provide different interfaces around the same concept of a managed threadpool. Given both, one would use them for different tasks (in the same way one actually uses OpenMP and std::async for complementary purposes). But
158.
▲
by
cpgxiii
3y ago
> If you are doing ML you will be calling into native code which can also do it just fine. This is exactly the use case. You can only parallelize in the native code if the boundary between Python and native code is absolute. But in pract
159.
▲
by
cpgxiii
3y ago
I mean, OpenMP dates back to 1997 (1998 for C and C++). Apple, however, has never supported it for what can only be selfish reasons (particularly since Clang has a quite good implementation provided by Intel, which can easily be installed o
160.
▲
by
cpgxiii
3y ago
Itanium failed in the market because it wasn't fast enough running general purpose code (HPC workloads were a different story). As a consequence, it's ability to run existing x86 code was poor (both in hardware and software emulat
161.
▲
by
cpgxiii
3y ago
The difference in couplers between the US and Europe is a fascinating bit of history. The US mandated automatic couplers in 1893, taking effect in 1900, since the existing manual couplers were a major cause of industrial accidents. Even tod
162.
▲
by
cpgxiii
3y ago
ISA certainly isn't the most important factor, but your ISA has to be a good enough baseline. History is littered with ISAs that made bad enough choices that were limiting at the time (VLIW, Itanium) or handicapped future generations c
163.
▲
by
cpgxiii
3y ago
The Swiss reap the benefits of consistent investment in their rail infrastructure. - Switzerland is very small, yet with massive elevation changes. Conventional trains can only handle gentle inclines (while the Swiss have lots of unconventi
164.
▲
by
cpgxiii
3y ago
> into precise violent force without the need for some significant portion of the population tacitly approving by participating This has existed for years in the form of "foreign legions". Arguably French foreign policy in Afri
165.
▲
by
cpgxiii
3y ago
I would say the biggest problem with trying to regulate or prohibit "killer robots" is that almost no one involved can precisely define what a "killer robot" actually is. Aside from the terminators and assassin droids of
166.
▲
by
cpgxiii
3y ago
This and the parent are mistaking the "how" all([]) is True for the why. The code is the "how", but it doesn't just exist . It could just as easily end in return len(L) > 0 instead, which would obviously
167.
▲
by
cpgxiii
3y ago
> why not just move the guns so they do not shoot through the props? You can mount guns in the wing, as seen on many WWII fighters, or run through the center of propeller shaft. These approaches have significant benefits, notably the rat
168.
▲
by
cpgxiii
3y ago
Notably, some pre-glass cockpit military aircraft had (and some still have, e.g. B-1B) analog "tape" displays for these values as well. Only in the civilian sector were round dial gauges the standard right up to glass cockpits.
169.
▲
by
cpgxiii
3y ago
I don't want to be too cynical about the state of hardware for ML, but I don't see where this is going. Nvidia does not lack for competitors trying (and sometimes nominally succeeding) to build faster/cheaper/more effici
170.
▲
by
cpgxiii
3y ago
That's not the operation being performed on GPUs that is the problem. The issue is that fundamentally GPUs allow for high performance operations using atomics, but this comes at the cost of nondeterministic results. You can get deter
171.
▲
by
cpgxiii
3y ago
Except the issue is inextricably linked to GPUs. All of the work in practical DNNs exists because of the extreme parallel performance available from GPUs, and that performance is only possible with non-deterministic threading. You can'
172.
▲
by
cpgxiii
3y ago
That only works in some cases, if the boundary between Python and native code is absolute. In many cases users want to extend/configure the behavior of that native code, e.g. through callbacks or subclassing, and the GIL makes the beha
173.
▲
by
cpgxiii
3y ago
> Nobody has ever chosen Python for its runtime performance. No, they choose it for the ease of using its performant extensions. And those extensions are fundamentally limited in performance by the existence of the GIL. And the authors o
174.
▲
by
cpgxiii
3y ago
I'm sure there are a lot of hacky extensions out there (particularly hiding in proprietary codebases), but letting the entire future of Python be held hostage to the poor SWE choices of third parties who almost certainly contribute not
175.
▲
by
cpgxiii
3y ago
> Most C extensions and embeddings will require major structural changes or even rewrites. A lot of those important "extensions" are actually C and C++ libraries designed for parallelism in their native use which have been made
176.
▲
by
cpgxiii
3y ago
Machined unibody laptops aren't rugged hardware. They look nice, and are reasonably robust to minor wear and tear, but they definitely aren't "rugged". Put enough force info the body to bend it, and it's never the
177.
▲
by
cpgxiii
3y ago
> the second crash was caused by Boeing’s choice to do a big PR push to prevent regulatory action and keep the planes in the air You mean the intervening time in which every single operator of the 737MAX was told to review emergency proc
178.
▲
by
cpgxiii
3y ago
OpenMP versus std::thread/pthread/etc isn't this distinction. Both are thread-based parallelism; that OpenMP implementations do so cleverly via a threadpool approach is secondary. Any loop you can write using OpenMP you could
179.
▲
by
cpgxiii
3y ago
This isn't necessarily a free software versus open source issue. Apple could have just as easily continued to ship a GCC version with OpenMP disabled. Sure you could build your own with-OpenMP GCC from source, just like you can build M
180.
▲
by
cpgxiii
3y ago
Convex optimization can be a really amazing tool. We use optimization extensively, both on actually convex problems, and on non-convex-but-practically-solvable problems in robotics. The math surrounding optimization is great; however, the r
More ›