The “challenge” has been on for 7 days. The stats say there are 1,779,796 IPs collected by 221 participants. That means on average each of these participants had to submit 1,150 IP location pairs, per day. How is that even possible?
258 karma · joined October 23, 2021
The “challenge” has been on for 7 days. The stats say there are 1,779,796 IPs collected by 221 participants. That means on average each of these participants had to submit 1,150 IP location pairs, per day. How is that even possible?
I thought the art of making wildly inconvenient UX assumptions on behalf of users had largely stayed in software, eg. websites doing “copied to clipboard!” completely unprovoked overwriting whatever you have kept in system clipboard. A few years ago I had a Realtek wifi adapter that would sometimes do this too on Windows though at least it didn’t try to hide the network device. It’s hilarious that this design trend has even found its way into silicon, though I suspect it’s rarer these days now.
https://www.softether.org/1-features/1._Ultimate_Powerful_VP...!)
I wish I could’ve taken the major version but, alas, I wasn’t offered a spot in UW’s CSE program despite all my passion and effort. I will refrain from turning this comment into a lament of the university’s capacity constrained major system.
[0]: https://code.kx.com/dashboards/
[1]: https://www.aemelectronics.com/products/software-aemnet/aemd...
> The system is for a Formula SAE (FSAE) Electric style race car. FSAE is a collegiate competition, and I'm part of a US Pacific Northwest team. Our car uses a 550 V battery and is 4WD. Most of our electronics and firmware/software are in-house besides motors and inverters. I lead the telemetry project and work with 1-2 other members on the system.
> The system consists of an on-vehicle computer (Raspberry Pi or NXP i.MX) and a ground station (Rockchip RK3588S). We use Python heavily and the real-time dashboard part is done with InfluxDB and Grafana. Both computers and any user devices are on a Wi-Fi network made with a long-range WISP access point.
> Our team is unfortunately very light on public tech blogs and how I wished I can change that... There is plenty of information on FSAE electric cars, vehicle telemetry, and both on the internet and they were a source of inspiration as I designed my own solution.
The system consists of an on-vehicle computer (Raspberry Pi or NXP i.MX) and a ground station (Rockchip RK3588S). We use Python heavily and the real-time dashboard part is done with InfluxDB and Grafana. Both computers and any user devices are on a Wi-Fi network made with a long-range WISP access point.
Our team is unfortunately very light on public tech blogs and how I wished I can change that... There is plenty of information on FSAE electric cars, vehicle telemetry, and both on the internet and they were a source of inspiration as I designed my own solution.
SQLite's reputation and adoption makes me comfortable to assume its operational correctness so I can focus on data itself, not reader/writer logics for it. Even though a SQLite database's schema may change, I'm glad knowing that the database file can still be easily opened and read many years into the future, something that custom formats may not guarantee.
On CSV: Syntax and library differences aside, SQLite almost works like a drop-in replacement for CSV since a single table database can be essentially treated as a glorified spreadsheet/CSV if wished. My post processing data pipeline is built with pandas so it is virtually the same for me to read a SQLite database vs. a CSV file.
Lots of folks put work into a car and they all have metrics of interest to tell how their systems perform. An ideal telemetry system for us captures all this information and makes it available both in real time and analysis.
This setup is easy to put together but might not be optimal. I don't have a lot of experience with SQLite performance tuning, and I wonder if it will be faster to have worker threads pass everything thru IPC to a writer thread, which batches rows and writes to a centralized database.
> An SQLite database is highly resistant to corruption. If an application crash, or an operating-system crash, or even a power failure occurs in the middle of a transaction...
Quite often after a run the entire car is turned off and, on next power up, the databases are left as .db and .db-journal files. The code has no problem processing or even continuing on logging with DBs in this state.
SQLite is the only solution for me so far that provides a structured data store for mixed data types, is power loss safe (important to an embedded system,) and is a high-quality and portable industry standard. Let along the SQL language itself, which has proved to be hugely useful for first-pass post processing given the amount of data that I ingest.
Perhaps there are other technology that will work just as well or better: maybe Protocol Buffers and alike? Yet SQLite currently ticks all my boxes and I'm quite happy with it.
Prior to SQLite I tried CSV files and raw binary formats. None of them could match the flexibility, ease of use, and throughput of SQLite. My setup has been in use for several weeks now and has processed numerous rows of data. As the SQLite project outlines on its website:
> SQLite does not compete with client/server databases. SQLite competes with fopen().
An official guide on integrating the Raspberry Pi RP2040 microcontroller into one’s own circuit design. Essentially a series of worked examples that touch on pretty much every hardware feature of the chip, with a good amount of advice transferable to other microcontrollers. Provides steps and justifications. The RP2040 datasheet is equally fantastic: straightforward wording, minimum abuse of passive voice commonly seen in microcontroller literature, and accompanying C/asm examples.
[0]: https://datasheets.raspberrypi.com/rp2040/hardware-design-wi...
So there was an alarm for barn temperature but not for the ventilation system itself? I can’t think of any industrial system that doesn’t raise an alarm upon failure.
The attempts were made to the forum's mobile login endpoint using different IP addresses from a proxy pool. Strangely the attacker would rotate the username once or twice every hour but stick to the same password, x4ivygA51F. The admin later modified the forum software to hash the plaintext password locally before sending it to the server, and the attacks promptly stopped. First of all, I don't think the admin realized validating a hash from the client without hashing it twice would actually make security worse.
From what I can tell, this is largely Discuz's login flow:
- Server has `sitekey` and `authkey`; they are unique and permanent for each Discuz site
- Generate `formhash = md5(timestamp_days / 115, user_id, sitekey)` and embed in HTML
- Client POSTs username and password with `formhash`
- Server validates
- Server generates `discuz_auth_key = md5(authkey, user_agent)` which is used to encrypt user ID and password
- Server hands out `auth` cookie with the encrypted string
The cookie is used on subsequent visits to authenticate. My guess is the attacker created throwaway accounts on the forum to perform a known-plaintext attack on the forum's sitekey and authkey.
Hah, I’d never thought of the power connector coming loose but I can see how it will be a real issue in an industrial environment, or on vehicles. I’ve also heard a lot of stories of the Pi’s SD card corrupting or dying, though I agree that actual products might use eMMC instead.
I think the Pi is better suited for less portable products like NAS, or TV boxes, although we already have popular inexpensive SoCs for those.
[1]: https://www.raspberrypi.com/for-industry/
[2]: https://www.industrialshields.com/industrial-plc-raspberry-p...
The Tempo do lack the ALC’s smart features but they couldn’t get the latter to work anyway...
While I don’t own a Framework I welcome this change and find it quite interesting, partly because it seems like every laptop and PC maker these days are putting an ALC chip on their boards. You also don’t see computer companies announcing “we’re ditching chip X for chip Y” often and this is very informative transparency.
It feels like Realtek puts a lot of red tape around its chips. Most notably, it’s very hard to look up a datasheet for an ALC chip unless it’s a very popular part. Realtek also seem to only provide stock and support to their biggest customers like Dell and Gigabyte, because it sounds like Framework struggled to secure stock, probably from a one-off source, for their first batches and couldn’t get in touch with Realtek to implement the Smart DSP feature.
The Tempo chip on their other hand is much more open. The datasheet is right on the product page, and the chip has first-class Linux support. In the integrated sound card market where Realtek is to codec as Clorox is to bleach, I welcome attempts to diversify the market share.