Hacker News new | past | comments | ask | show | jobs | submit login
[dupe] Run Linux on hard disk firmware (2013) (spritesmods.com)
129 points by vasili111 on March 18, 2017 | hide | past | favorite | 35 comments



Here's an older thread with some interesting comments: https://news.ycombinator.com/item?id=6148347


As well as one from last year: https://news.ycombinator.com/item?id=12219599.


> jellybean part

...

> In the electronics industry, a "jelly bean" component is one which is widely available, used generically in many applications, and has no very unusual characteristics—as though it might be grabbed out of a jar in handfuls when needed, like jelly beans. For example, the μA741 might be considered a jelly bean op amp.

[Wikipedia]


The μA741 is still manufactured and it historically was a jellybean part, but I'm not sure it counts as one today. The performance is low and it's not something anybody is likely to use in new designs. I think the LM358 is a better example of a jellybean part. It's cheap and widely available and still commonly used, mostly because unlike the μA741 it works with a single-ended 5V supply (the μA741 needs both +5V and -5V).


Before I moved my career to embedded software I was always incredulous when I read articles claiming such and such device has 100s of chips in it. Now I know this to be true I am still amazed at how many "moving parts" each little device has (or to put it more intelligibly, how many semi-autonomous subsystems each computer system consists of) - it's a miracle we routinely manage to make them work. The pinnacle of processor cramming must the modern smartphone which just beggars belief. I'm more surprised there's only one microcontroller on that board.


It's a bit "scary" because this is a non optimized "controller" from 2013. With today's processes and market evolution, anything could be a multicore arm processor in disguise. You can never be sure about anything anymore since it can be virtual information generated by some logic/source.


(My nightmare is when nanotech gets good enough that you can't trust the written word on paper...)


That happens with emails. The future is here!

There was one time I booked a flight. A few days before departure, that particular flight had an accident (Asiana 214 at SFO): I need to check if my flight will still depart as scheduled, so I dig my mailbox and the reservation confirmation email I received months ago(!) now says "Your flight is canceled." Apparently emails can be retroactively rewritten, WTF.


Emails can't be rewritten by anyone except your mail provider, which is unlikely to ever happen.

What most likely really happened is that the mail included remote content which got reloaded - and thus changed.


Webmail provider*

Sorry for being pedantic, but if you sync your mail to your own device (or collect all of it onto your own mail server), you eliminate this risk.


The message you were sent probably just embedded a webpage. Still creepy as fuck, but explainable.


How is an email that loads remote assets "creepy as fuck"? It actually sounds useful in this case, all he had to do is look at an email to see what was going on with his flight. It doesn't have to be sophisticated, imagine an HTML email loading an image through a URL like so:

  /asiana/status?flight=214&date=2017-03-17
Pretty simple to return a standard "On Time", "Delayed" or "Cancelled" asset.


In part because it means that a property you take for granted in email (namely, that you can reference it later without it having changed) is violated. (This would permit all sorts of things involving documents being retroactively edited to whatever is convenient for the party sending the email.)

In part because you could use this to implement detection of an email having been "read" when the remote asset is fetched.

(These are just why I find those sorts of emails irritating and sometimes creepy.)


If you don't mind getting tracked, then you probably won't find it creepy.

I, on the other hand, get annoying letters form my bank saying I never open their emails, so they won't let me password reset via email anymore. Uh, OK, I'll waste the bank's money calling, I suppose...


...Well, because UI sucks, and email contents aren't supposed to change. If there's a small box saying "Current status of your flight", that would be one thing, but the whole contents of the email can change and (unless I check the raw HTML of every email) there's no indication which part is immutable. And I consider myself a computer-literate person. Mostly.

Imagine you book a hotel online, fly to another country, arrive at the hotel. "I have a reservation." "May I check your reservation?" "Sure, just a second." You take out your iPhone and open the email: but while you were flying the online booking site had a server meltdown and the data was corrupted.

"Uh, sir, the email says 'Unfortunately, there is no room available at this hotel now. Would you like to check other hotels in the area?' And it's dated three months ago."

"What the..."

I now always print flight/hotel reservations upon booking. That will be safe until nanomachine overlords arrive, I guess. Low-tech solutions FTW.


That shouldn't be possible. I wonder if they had put the message in there via an image on their site?


I tried to work out how to do that at one point. I didnt succeed. So you can sleep well. Far as concealment, there was a $50 spray that made envelopes translucent to point you could see what was inside them.

Unrelated note: I bought that book on Hamilton's methods. Finished it last night. Really enjoyed it outside of the filler, repetative, and overselling parts. The sections on requirements, specs, and spec-to-code (in abstract) were still accurate today for the most part. The HOS method itself reminded me of original LISP where its power and beauty came from how it reduced everything to a few primitives. Like LISP 1.0, there were severe usability & performance problems that prevented wider success. Fun to at least read on an early attempt.


Why bother changing the paper... climb into eyes and show the retina cells whatever you want...

---

Oh hey awesome! Could you see applications for e.g. sitting down with a non-technical person and having them construct working software? That was something that really interested me: the claim that non-programmers could use it.

What you say about how it reminded you of LISP is just fascinating. When I had refined my attempt to implement some HOS-like thing I eventually came up with something that I recognized (later, when I had learned LISP) as a crude subset of that.

Imagine a system that uses a stack, like Forth, but the words/functions are built out of the three primitives (Sequence, Branch, Loop) in, uh, "HOS-style". Give it S-expr syntax and squint and I see a crude proto-LISP. ;-D

    (seq ...)
    (branch (...) (...))
    (loop ...)


"Why bother changing the paper... climb into eyes and show the retina cells whatever you want..."

Alternatively a psychadelic reaction in the brain combined with something like Oxytocin's claimed properties for enhancing trust. Then the person that shows up convinces the person in contact with the paper that what they're told is true. Many possibilities.

" Could you see applications for e.g. sitting down with a non-technical person and having them construct working software?"

What I see is it's like a combination of old CASE tools, a bit of functional programming, logical composition (see LCF provers), and a pile of dishonest marketing (aka "overselling"). I'm currently in a discussion about it elsewhere given Dijkstra personally nuked it while others found problems. Email me if you want and I'll give you a summary of some of that along with controversies that aren't settled yet.


Maybe nature is secretly violating our privacy ..


Ugh, I do not wish for that day. Ouch!


In what sense do you think that you can trust it know?


I trust letters a lot, it's the words that worry me.


Now thats edging towards the gray goo scenario.


Frankly if one look at a 70s mainframe one have all the parts there, only running on transistors and tubes.

"All" we have really done is shrink said transistors, and the boards holding them, down to something that can fit on a fingernail.

Thing is that most of the people that are into computers these days don't know it, unless they dig into history. Because the mainframe world was so insular that microcomputers virtually started from a blank slate.

Most of the "cloud" stuff people are going gaga over right now could be done on a 80s mainframe.

Computing has been coasting on Moore's law for some 3+ decades.


Such tools have existed for long time. NSA tools catalog had a tool[1] that took control of HDD firmware and provided Application persistence across re-formatting. Date mentioned on the brochure[1] is June 2008. Of course most of your PC peripherals have their own processor, if sufficient documentation is available, PC peripherals can be easily weaponised. They can even have a wireless implant that allows HDD to communicate with outside world, and trigger exploit (send data, or trigger code execution), remotely.

https://leaksource.files.wordpress.com/2013/12/nsa-ant-irate...




Probably being hosted by its hard drive.


Things like this are why I will never trust any computer with privacy.

There are processors and memory systems everywhere. There are so many entry points for snoop attacks which can be completely invisible unless you know exactly what to look for.

If your freakin' hard drive can be running linux or a web server then how can you ever trust anything?


(2013) I suspect from the comments on that site. I've seen it before.


This one is old, but still extremely fascinating.

I wish I had the same persistence and willingness to dig as this guy obviously does when facing a challenge.

We need more people like this :)


This needs a (2013) tag.


Thanks—added.


Marked dupe, why?




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

Search: