Hacker Newsnew | past | comments | ask | show | jobs | submit | more gte525u's commentslogin

It's line speed processing of multiple cameras in HW - it should be less power consumption than equivalent GPU or Jetson.


Somewhat related - but there are a ridiculous number of platform/systems that ship with derivative of Dinkum C++ standard library - MSVC (included). When you lookup the company behind it - it's basically small shop that seems to be primarily one guy up in MA.


That one guy even has it's own Wikipedia article https://en.m.wikipedia.org/wiki/P._J._Plauger


He wrote a very lovely book called "The C standard library". It contains a full implementation of the c standard library with lots of explenations and excerpts from the C standard.


That one guy has been at it for a very long time. I remember buying Dinkum around 2000.


This one guy has something like badge #10 in C++


Alternatively - you can get an export license for information to the particular person. Kind of like a TAA for a foreign employee. Previous employer had a European EW expert in the US office temporarily. Still not fast and lots of paperwork and limitations.


It may vary on your definition of major - but they definitely do in the southeast and lower midwest.


Out of curiosity - what were the rough edges in the distributed application space?


Performance.

Generally speaking, F# was actually very fast, and had nice concurrency support, but there were times that wasn't the case.

For example, in 2016 I was part of the initiative to rewrite the ad feed. We had to read in several Kafka topics, do some joining on our end, and emit to a separate Kafka topic. This isn't terribly hard to write, but we were dealing on the order of about ~100gb of data being pushed into memory. This is hardly "big data" stuff, but it's enough to highlight some issues.

Specifically, the built F# persistent map structure was simply too slow to get the performance we wanted. I really like that structure, it's really handy and nice, but I ended up having to make heavy use of the ConcurrentDictionary that was built into .NET. This wasn't that hard or anything, but it made me a little sad that I had to move to a mutable store to get the performance I needed.

There was also the fact that the `async` monad, while generally very good and useful, had bizarre bottlenecks that were hard to measure. It was difficult to know when the async task was actually started, and when you tried to measure performance bottlenecks you were really only measuring the scheduler, not the actual performance. This isn't really F#'s fault, this is an issue with any kind of cooperative scheduling system, but occasionally to get the performance we needed we'd have to move to lower level threads instead of the pretty monadic stuff. Microsoft eventually released the Task monad which generally performed a bit better.

There were other things here and there; the Kafka client libraries for .NET simply aren't as good as the Java ones. Jet actually open-sourced their own (https://github.com/jet/kafunk) which did make it a bit more functional and nice, but it had performance issues as well, so a lot of us ended up using Confluent.

There were little annoyances specific to F# as well; there's no real concept of a monad transformer, so if you wanted to do something like, for example, combine an Option and an Async into generalized syntax, you'd have to write your own wrapper monad thing, which wasn't that hard but was sort of ad hoc.

The general rule of thumb was that the first draft of software, we would try and keep as functional and pretty. If that was too slow, we allowed mutation but only within a function. If that was too slow, we'd allow global mutation but only with thread-safe stuff.


There is a python script[1] that pulls down LCSC parts as kicad symbols and footprints.

[1] https://github.com/uPesy/easyeda2kicad.py


Analog discovery series is cheap and good enough for a lot of tasks.


I've found Analog Discovery true to its name -- great for exploring analog. The scope portion is limited in channel sensitivity and frequency. It's also a bit of a kludge, in that the probes attach via a 2x20 (?) front-panel 0.1" center connector to an adaptor board that has BNC females for the scope probes.

I have one of those (AD2; there is a newer AD3 available), and it's quite a lot of 'stuff' in one package. I wish I had one when I was learning EE. But these days, I use them as 'data acquisition and control' modules to generate and capture signals under program (Python) control. I think of them sort of as a fancy Arduino -- although it can do many more analog tricks. Recommended.


uCOS-II and uCOS-III were open sourced a while ago as well https://github.com/weston-embedded


FWIW - ARINC429 is a common one way serial bus used in commercial aviation.


Thanks for this comment. It seems that ARINC 429 has been replaced by ARINC 644 in most new aircraft.

From reading the Wikipedia article, they are indeed logically one-way (although the underlying protocol involves two-way communication). It has no security at all.

However, it seems that communication between any avionics systems and anything user-accessible goes through a Network Extension Device (NED). These are required to either be physically (not only logically) unidirectional _or_ have built-in security.

So it might be physically impermeable or it might be a buggy 10-year old firewall. Doesn't exactly inspire confidence given the subject of the article.


Basically 'Ed Wood' reimagined?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: