As for the SPI flash size: they are almost always given in Mbit, so 16Mbit is 2MB hence the confusion if I were to guess. You would be looking for a 128Mbit one to get 16MB.
considering there's only one of them, i'd imagine getting replacement parts is just as hard as getting common parts out bush here heh. minus the reality tv stuff of course
Kind of makes you think that the subject at hand is quite complex in its nature, thus untrained people might do best to steer away until properly trained.
Not necessarily more than any other card. As long as it's been running within component specs (especially temperatures), I wouldn't be worried.
It's obviously been running fine under high loads, so why would it just decide to stop working fine?
I think the major issue is that many cards have been running outside of specs for a long time. High loads tends to increase the risk of that, so the problem lies in figuring out the case for the card you're interested in.
> It's obviously been running fine under high loads, so why would it just decide to stop working fine?
I think most people don't really get how durability works with solid state electronics. It makes sense that a truck used under high loads for 2 years straight is going to show some issues. If I was buying a used tube guitar amp and the seller told me it had been left continously playing a test tone at maximum volume for years I'd assume the tubes and speaker cone are F'd.
The idea of "it's been running fine for 2 years under high load, so that's a good sign it will continue to run" is correct but very unintuitive.
As someone who used this feature every single day, for every single text input on the phone: I 100% agree.
The replacement method works, but it is indeed subpar. It annoys me that my 3 generation newer phone is a downgrade in this regard, but I can live with it.
I definitely used to think TCP was more “high-level” than it actually is. Yes it does much more than UDP but still, its job is to get a sequence of bytes from A to B. You can tune it for higher throughput or more sensitive flow control but anything concerning message passing, request/response, … is beyond the scope of TCP.
Sure, but from a "high level" or "sockets" perspective, especially as a beginner it shouldn't be something you need to care about. A bit simplified, the basic stuff you need to know is:
1) UDP uses packages/messages which may or may not reach its destination. If it reaches its destination the data is intact. Normally connectionless.
2) TCP is a stream protocol. There is no package/message boundary unless you create it yourself (my tip is to do a simple binary TLV (type length value) protocol using say a fixed 4 byte header). Requires a connection to be setup first.
3) Network byte order - really important to read about.
4) Nagles algorithm (TCP_NODELAY) and SO_KEEPALIVE - those are a couple of things to read about.
5) Start with the simple select() approach to handle the socket activity.
You can then go ahead and get more advanced by doing nonblocking I/O or do blocking I/O with each client in its own thread, figuring out pros and cons for your use case. You can add SSL/TLS on top of your TCP connection etc.
EDIT: The SO_KEEPALIVE part is perhaps least important thing to start reading about. I'm a bit biased due to NAT traversal problems as I wrote a secure remote access solution for a major company several years back, utilising STUN/TURN servers, public key authentication (basically certificate pinning), TLS etc.
Yes and even at 2) some subtleties start. You can set up a connection, send a chunk of bytes, and close it. If you reach a clean connection close, you can be sure that all your bytes have reached the other side. As soon as you start sending multiple logical messages over a persistent connection and an error occurs, you need to write application logic to figure out where to pick up again after you reconnect. Even if you want to know which parts of your stream have already reached the other side, you need to add logic for that. This “multiple transactions over a persistent connection” may sound really straightforward but it’s not built into TCP itself.
I think there's a confusion of terms, there's a big difference between 'deprecated' and 'obsolete'. They sure can be deprecated, which can be read as "not recommended for use and _may_ be removed in a future release", but that doesn't mean it has been removed/made obsolete.
As for the SPI flash size: they are almost always given in Mbit, so 16Mbit is 2MB hence the confusion if I were to guess. You would be looking for a 128Mbit one to get 16MB.
Nice work and keep on tinkering!