Hacker News new | past | comments | ask | show | jobs | submit | dmarto's comments login

Here is the author's latest update and the revelation of the mystery:

https://devnonsense.com/posts/asymmetric-routing-around-the-...


There is also the OpenEEG project[0], the boards are way cheaper (sub 100eur[1]) and also they are both open source and open hardware.

[0] - https://openeeg.sourceforge.net/doc/index.html

[1] - https://www.olimex.com/Products/EEG/OpenEEG/


is is possible measure EEG with 8 bits ADC ?


I've been wondering about this for a while.... have you tried?

I'm not a EEG designer but I've experimenting and learning about it. Sounds like you make PiEEG? This is really cool and I appreciate the docs on the github.

After amplification, you could get the signal 0-100uV to ~0-Vanalog; so then the entire 8-bit range could ideally be used. Realistically, after filtering, due to roll-off / artifacts one could probably use 3/4ths of that space -- so ~ 192 voltage levels that can be determined by the ADC per sample. Does this sound right?

It'd probably depend on what level of control / reliability one would want from the EEG data; I imagine that you could probably cut a lot of corners if, say, you were only measuring for hemispheric coherence in a small set of frequency bands, or stages of REM sleep (and maybe ERPs like p300).

I don't know, this is in my upcoming experiments. Originally this was an attempt to build an EEG amplifier / filter circuit for an atmega328p 10-bit ADC but for my purposes I settled for a 12-bit (and possibly hardware oversampling) on an EFM32.


With an active electrode, it should be good enough. After all, we are talking about hobby-grade results.

The Olimex ones are 10-bit (supporting both active and passive electrodes), while it's claimed[0] that 12-bit resolution is sufficient for EEG.

However, it's worth noting that there are obvious advantages to the higher resolution.

[0] https://www.biosemi.com/faq/24bitsystem.htm


EEG in microvolts, if ADC 12 bits, then reference for ADC should be in millivolts


He mentions active probes. Active probes have amplification.

As his link makes clear, your ADC just needs enough resolution to measure the signal when the (amplified) offset voltages don't saturate it.


yes, I told about digital EEG device from this website. To clarify analog device, I need a little more time


Kinda relevant, as I saw few comments about how safer languages are the solution.

Here[0] is a very simple example, that shows how easy such supply chain attacks are in Rust; and lets not forget that there was a very large python attack just a few days ago[1].

[0] - https://github.com/c-skills/rust1

[1] - https://checkmarx.com/blog/over-170k-users-affected-by-attac...


I am very concerned about Rust.

Rust’s “decision” to have a very slim standard library has advantages, but it severely amplifies some other issues. In Go, I have to pull in zero dependencies to make an HTTP request. In Rust, pulling reqwest pulls in at least 30 distinct packages (https://lib.rs/crates/reqwest). Date/time, “basic” base64, common hashing or checksums, etc, they all become supply chain vectors.

The Rust ecosystem’s collective refusal to land stable major versions is one of the amplifying issues. “Upgrade fatigue” hits me, at least. “Sure, upgrade ring to 0.17” (which is effectively the 16th major version). And because v0.X versions are usually incompatible, it’s not really possible to opt not to upgrade, because it only takes a short while before some other transitive dependency breaks because you are slow to upgrade. I recently spent a while writing my code to support running multiple versions of the `http` library, for example (which, to be fair, did just land version 1.0). My NATS library (https://lib.rs/crates/async-nats) is at version 34. My transitive base64 dependency is at version 22 (https://lib.rs/crates/base64).

This makes it nearly impossible for me to review these libraries and pin them, because if I pin foo@0.41.7, and bar needs foo@0.42.1, I just get both. bar can’t do =>0.41, because the point of the 0.X series is that it is not backwards compatible. It makes this process so time consuming that I expect people will either just stop (as if they did) reviewing their dependencies, or accept that they might have to reinvent everything from URL parsing to constructing http headers or doing CRC checks.

Combine this with a build- and compile-time system that allows completely arbitrary code execution, which is routinely just a wrapper for stuff like in the zx attack (look at a lot of the low-level libs you inevitably pull in). Sure, the build scripts and the macro system enables stuff like the amazing sqlx library, but said build and macro code is already so hard to read, it really takes proper wizardry to properly understand.


You have perfectly put into words, all my thoughts.

I have been thinking about ways to secure myself, as it is exhausting to think about it every time there is an update or some new dependency.

After this attack, I think the only sure way is to unplug the computer and go buy goats.

The next best thing? Probably ephemeral VMs or some Codespaces/"Cloud Dev Env thingy". (except neither would save me in the xz case)


> In Rust, pulling reqwest pulls in at least 30 distinct packages

This would be less of a problem if each dependency (and in turn, their dependencies) were individually sandboxed, and only allowed to access specific inputs/files at runtime in the capability security (https://en.wikipedia.org/wiki/Capability-based_security) fashion.

This way the attack surface would be hollowed out as much as possible, and exploits limited to the (sub)program output or specific accessible (writable) files.


Or you vendor everything.

You don't automatically download anything at build or install time, you just update your local source copies when you want to. Which to be clear I know means rarely.

It's 1970 all over again!


Vendoring is nice, and I usually prefer it, but you don't always have the time or people for it.

Vendoring + custom build system (Bazel?) for everything is basically googles approach, if what I have read is correct. Definitely better than everything we have, but the resources for it are not something most can afford.

P.S also what mrcus said, if we trust the upstream build process, we may as well trust their binaries.


That was what the 1970 crack was about.


Yes, but this doesn’t prevent issues like the xz issue, where the code looks fine, but the build scripts alter it.


> One single RPi was sent back to his owner in California (was some kind of a limited edition, valuable first batch device).

By the magic of HN, there is not a small chance that person is here and can tell the story of this RPi.


> One that isn't tied to a specific platform, or preferably even a specific company, and that I trust will still be around until I'm done programming.

That is Geany[0]: no opinions, no company affiliations, no editor wars. It has been around forever, works on everything, and is open-source.

[0] https://geany.org/


Got curious, turns out their WordPress theme adds a wild

  <link rel="shortcut icon" href="https://insidegovuk.blog.gov.uk/wp-content/themes/gds-blogs/favicon.ico">
at (or near) the bottom, and that is the old favicon.


Interesting, good spot. I might try to find a way to notify them, lest someone gets hanged for treason.


You laugh, but then I found this when following a link on the page to learn more about Royal Cyphers...

There are simply thousands of Pillar Boxes across the United Kingdom and the best way to date them is to look at their cypher. This will identify the Monarch that was on the throne during their creation. When the monarch changes, new pillar boxes do not replace old but are added to those in use, and this is why Britain has such an array of boxes.

You will find, however, that in Scotland pillar boxes do not have ‘EIIR’ on them. This is because some Scottish people did not accept Queen Elizabeth as the second monarch of her name, since Queen Elizabeth I was never ruler of Scotland. Earlier pillar boxes with the cypher were vandalised and even blown up, and because of this they instead depict the Scottish Crown.


Related trivia there is that you'll still find some postboxes with royal cypher - usually GR, ER, or VR (George, Edward & Victoria) across Ireland. But painted green.


Are they in use by An Post or just disused relics?


There's apparently some still in use - the oldest still in use is in Kent train station in Cork, which has a 160yo postbox.

They're increasingly rare - which makes sense, given they have to be 100+ years old by definition. But they're out there.


I'll pop them a message, assuming you haven't found their contact details already. :)


Nope, go for it.


For cached majesté


I do the same, but for a different reason. In my mind, they are less accessible, as the end of the line usually has metal guardrails, thus leaving the closer and easier-to-reach carts for other people.

On the other hand, in my area, I have never seen a broken cart, perhaps because they require coins to operate.


In my area they also require coins, yet they're often busted in some way.

I think the root of the issue is the people who use them, coins or not.


The 'globe icon' feature could be useful for channel names (et al.) in multinational companies where English is not the native language.

Even if most of the communication occurs in English, names and titles are often in the local languages.

Not sure if it was intended for such cases or just for i18n.


I may be on a bit of a tangent here, but the "bar is below the floor" effect (if I can call it that) is often the result of continued experience in multiple (so-called Tier I, in the author's version of it) companies. It leads to stagnation and a lack of concern for the product or result of their work. In other words, if they pay me, and they don't care about the work, why should I?

Such environments can demotivate and sap the joy from most mental work. I guess this is one of the reasons the author is committed only to part-time work. To paraphrase him - this is how he stays sane.


Also some backstory from the author - https://paulrobertlloyd.com/2023/272/a1/classnames/


Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: