HN user

bacon_waffle

1,221 karma

Electronics/software engineer in Dunedin, New Zealand.

https://github.com/ianrrees

https://ianrees.nz/tech

Posts3
Comments464
View on HN

Thanks for the link - PCBWay recently offered me sponsorship, and this video has provided some good inspiration to make use of it :)

I regularly notice bugs when using iOS Mail; one that springs to mind would display one email's body with the header info from another email, it seems to have recently been fixed but was easily reproducible for weeks if not months.

Location: South Island, Aotearoa/New Zealand

Remote: Yes

Willing to relocate: No

Technologies: Rust, electronics, insulation

Résumé/CV: https://ianrees.nz/tech/about.html

Email: code atsign ianrees dot en ze(e|d)

Microchip: please hire me to work on the Rust HAL for your ATSAM chips, which I currently volunteer the odd hour or two to help maintain. Between Rust bringing robust modular software in to embedded, and companies like Adafruit pumping out ATSAM boards, there's huge potential in this space.

https://github.com/atsamd-rs/atsamd

Usually the HAL is between the main firmware and the PAC, so whether the PAC methods are marked as unsafe could almost be considered an implementation detail.

But yes, there has been a lot of discussion around how to handle DMA peripherals - the embedded_dma crate offers some abstractions that I've found handy.

Ah, that helps, thanks.

It's a bit academic, but set theory doesn't really apply to such fuzzy human things as knowledge and experience. Repairing and designing are different pursuits which might have a lot of similarities, but I wouldn't presume that a design engineer could competently do the work of a technician.

Just consider that any particular field of engineering as might be described by a lay person, can be far too broad and deep for an individual to be competent in all facets of it. I'm reminded of my neighbour asking for some help configuring email for her new iPhone, because she knows I do computer work. Mainly firmware.

I've rebuilt several motors, transmissions, various other mechanical contrivances. Sometimes with decent documentation, sometimes not so much. Also done a bit of amateur machining, and worked as an engineer on physical products.

Under no circumstances would I claim that rebuilding a motor was essentially figuring out how to build one from scratch. In software, maybe that's like claiming that figuring out how to configure a new Linux box is essentially the same thing as figuring out how to write an OS.

Directly, the temperature isn't as big an issue for operating tapes/drives/computers, since they are inside temperature-controlled buildings. There are indirect problems though; the incredibly low relative humidity that results from heating outside air - that dryness leads to problems with static. Various solutions were tried to keep the tapes humidified, but in the end I think everyone was relieved to switch to hard drives :). South Pole is also fairly high elevation, which combined with the low humidity makes air cooling work a lot less well than it might in other places - the air just doesn't have as much heat capacity as in more moderate environments.

As far as transport, it's about a km (in winter, typically a walk) from the main station to the "dark sector" where the CMB telescopes and IceCube Lab are. As another comment points out, there are cables between the main station and the dark sector so typically data flows through them. When you do need to move equipment, it's usually not too big of a deal to carry it inside a parka or something if it's smallish, or arrange a vehicle for bigger items.

Things like cables can be a bit of a learning experience; a friend hand carried a PVC-insulated monitor(?) cable outside, coiled up, then promptly tried to uncoil it and found that PVC gets quite brittle at low temperatures...

If by "station wagon" you mean LC-130 ;) IceCube switched from tapes to hard drives I think in 2015 or 16.

In 2014 we spent a lot of time fiddling with tapes and drives... At that point, all the data was recorded to tape and flown North in the summer. Additionally, software at Pole filtered out the more interesting events to upload over satellite within hours. I assume it's still basically the same.

Imagine an elevator that moves up and down its shaft with a sinusoidal elevation over time. Riding in that elevator, one could detect frequencies with quite long wavelengths compared to the size of a person.

A less abstract example is a boat at sea.

It it goes wrong, you cannot buy a new one or hire repairperson at a sane price. If it has a software side, it will probably need maintainence.

It's not clear to me that the alternative provides these either. Just thinking about some of the appliance-type things I've had issues with lately: my oven would've made more sense to replace than hire a repair person, and my ISP-provided router is running their latest firmware which is horribly out of date...

On Craft 3 years ago

This sort of approach seems common in the Rust community, it's so much more professional/humane/sustainable/performant than any other corner of the industry that I've come across.

Edit: Check out Dasher for a much better interface to enter text with a cursor, compared to a virtual keyboard.

https://dasher.acecentre.net/ , source at https://github.com/dasher-project/dasher

---

I remember seeing a program years ago, which used the mouse cursor in a really neat way to enter text. Seems like it would be far better than clicking on keys of a virtual keyboard, but I can't remember the name of this program nor seem to find it...

Will probably get some of this wrong, but just in case it rings a bell (or someone wants to reinvent it - wouldn't be hard):

The interface felt like a side-scrolling through through a map of characters. Moving left and right controlled speed through the characters; for instance moving to the left extent would backspace, and moving further to the right would enter more characters per time.

Up and down would select the next character - in my memory these are presented as a stack of map-coloured boxes where each box held a letter (or, group of letters?), say 'a' to 'z' top-to-bottom, plus a few punctuation marks. The height of each box was proportional to the likelihood that letter would be the next you'd want, so the most likely targets would be easier+quicker to navigate to. Navigating in to a box for a character would "type" it. IIRC, at any instant, you could see a couple levels of letters, so if you had entered c-o, maybe 'o' and 'u' would be particularly large, and inside the 'o' box you might see that 'l' and 'k' are bigger so it's easy to write "cool" or "cook".

(I do hardware+firmware in Rust and regularly reference Richard Hamming, Fred Brooks, Donald Norman, Tufte. Could be up for a change)