Re: The guiding principle
I could be wrong on the detail, it was getting on for a decade ago. I barely knew what JSON was at the time. I've not seen anything like that from Google since, I admit.
719 posts • joined 20 May 2011
Yep, definitely was my mistake. That was the lesson learned.
My only defense there was that I had only just started down the path to becoming a software developer. I was trying to cobble together a program in VBA (that'll invite the downvotes :D) to help out my team at the time.
Some things you only learn by making the mistake.
I got that lesson in sanitising my inputs very early on in my career.
Was working with Google's Search Console, getting a list of the top 10 search keywords used to find a client's website. Google provided it as a comma-delimited field in a JSON object. My code, confident that Google knew what it was doing, split the string on the comma and cycled through the array up to 10 times.
Except that one time when Google bloody sent through a keyword with a comma at the end of it, thus chucking an extra, empty element into the array that my software proceeded to choke on. You'd have thought that a company the size of Google would have thought to strip formatting characters out of the data being formatted, but no. Likewise, I was a dumb for not considering that I could get either crap or no data back and writing tolerant code for it.
Characterising God as "an eternal gun pointing at their head" is a very... unique viewpoint, I have to say.
I'm also not religious, but I don't have a problem with other people believing in higher beings.
For a lot of people, I think it boils down to a faith that someone is looking out for them, or that their is some kind of logic or order to their lives, some kind of grand plan that they're part of. These kinds of thoughts can be very comforting and supportive to people in times of stress. If believing in God helps someone be a better person, more power to them.
If believing in God makes someone behave like a terrible person, then they can likewise expect to reap the consequences of that. I don't think much of them trying to hide behind their beliefs when they're being shitty to other people.
Religion isn't the issue here. It's just the excuse.
As far as I understand it, they can track it in orbit reasonably well, mostly because there aren't many external forces acting on debris. This makes it's orbital track fairly predictable. Once it enters into the atmosphere, aerodynamics make it's path more chaotic. If the object is irregularly shaped and / or tumbling, or if it starts breaking up, it's path can get extremely chaotic very quickly, making it nearly impossible to accurately predict where it'll eventually come down.
I'm going to pretend that you're arguing in good faith for a moment...
Do you think that the issue here might be less about littering and more about the possibility of fragments of a 20+ tonne rocket booster dropping on someone's head at terminal velocity?
Do you think at all before posting?
It does, if used properly. The default stance isn't to immediately assume that someone is lying just because they could personally gain from doing so, or even just because they can for no good reason.
Occam's Razor isn't a law, rather it's a philosophical tool. It suggests that the hypothesis with the least number of assumptions is most likely to be true. Gaining evidence reduces the number of assumptions needed for a hypothesis, thus affecting how likely it is to be true compared to other hypotheses.
Sounds remarkably similar to a fault at Facebook a year or so ago. Every bit of security, from remote login to door locks, used the same core system. Which, when they mucked up their backbone routing (I forget exactly how) went offline.
Service went down worldwide. No-one could remote in. No-one could open a damn door on site. And no-one apparently understood what a single point of failure was.
We got hands-on in our first year at Elec Eng. The downside was that the teacher of that particular course just set us a spec, then ignored the lot of us until it came time to check and grade whatever we'd built. Funnily enough, although I'm reasonably sure our design should have worked, I didn't really understand how to test the various bits. So we just built the entire thing, then were flummoxed when it didn't work.
A few basic tips on testing individual elements of a circuit before going for the final build, or even debugging a "finished" board, would have done wonders.
Some stuff you can repair, with a bit of luck and persistence. I managed to fix a washing machine a few years ago, when it's door lock decided to stay locked. Opening up the machine, I managed to find a broken component on the mainboard and looked up the code on the internet. Thus I found out what a varistor was. A little bit of research later, I ordered a replacement part, soldered it on to the board and it came back to life (for another couple of years). Did something similar with the other half's standing dryer a few weeks ago (she's a dog groomer). The thing had blown the drive cap for it's fan, molten aluminium everywhere :). That didn't even need solder to swap out.
This is kind of where I fell down.
I did Electronics at GCSE and really enjoyed it, so leaped at the chance to do Electrical and Electronic Engineering at the University of Bath. I never finished. A combination of poor lecturers and exceptionally dry subject matter completely killed any kind of passion I had for the subject (try listening to a lecturer with a strong Chinese accent, who didn't give a toss about his subject or students, drone on about signal theory). I also had no idea of what kind of job would be waiting for me at the end, if any.
I had a decently paying part-time job alongside my degree, so I took that on full time when I dropped out. I landed in software development just because I started writing my own tools to help me in basic data processing office work.
Overall, Elec Eng just felt like an opportunity I couldn't quite bring myself to take advantage of. I often wish I'd taken CompSci instead and gotten a quicker boost into IT, but sometimes life takes us a roundabout route.
Same with coding as well.
I've had trainees who were told to produce a bit of code and then test it to make sure it worked. Cue a few hours spent with the trainee running their test, it failing, and them going back to the code to tweak it and try again. Eventually they asked for help, and it turned out that their initial code was fine. All the tweaks they'd added to it had changed how it worked, but not affected the (correct) outcome. They'd just omitted something critical in their test and hadn't thought to check that.
If you don't like them just use something else
Oh, we do. Frequently. We just get a little ticked off when Microsoft decides to try and change our mind for us and begins opening up Edge of it's own accord, regardless of the default browser.
My favourite is when I open up the Start menu and type the first few letters of the application I want and then hit return. Except I fat-finger a key, and suddenly Windows decides to open up a Bing search for "Excek" in Edge, rather than in the default Firefox.
If you like.
I love to dream big, but I'm also a software developer and trained as an engineer. The job is to take those dreams and try to make them real. That requires a great deal of pragmatism, of understanding reality and what you can feasibly achieve, because nothing is built on dreams alone.
That aside, perhaps you would like to argue the point and not the man? Why do you think it would benefit China to make a claim on Neptune and hold all knowledge about it to themselves, rather than share that knowledge and gain access to similar knowledge in return?
I'm pretty sure that any ability to utilise a resource as remote as Triton is so far in the future, and at such an undefined point in the future, that planning for it now is effectively pointless. China would have more to gain by sharing such scientific knowledge than it would likely gain by trying to enforce a claim over something that is on the outer edge of the solar system. Remember, we've not even utilised resources on the Moon yet, and that's a mere hop away compared to Neptune and Triton
And it's widely known that most cyber attacks tend to start with some form of social engineering. It's amazingly easy to persuade someone to part with some of their sensitive information. At least large companies tend to train their workers to be resistant to these kinds of attacks (yes, I know some don't. And that the training isn't always effective).
The above is a pretty good analogy, if you substitute the humans for machines. In a centralised location, you can take co-ordinated steps to secure data. If that data is spread amongst customers' machines, it's a more diffuse but an easier compromised target. And, potentially, an attack vector.
The author assumes that the only valuable data a business has is its customer database
I was thinking the same, just from reading the headline. An ex-employer of mine got hit with ransomware a while ago. They ran an e-com platform, which didn't actually store any data beyond a customer's address and order details. And that data was secure on a web server, segmented from the compromised internal network. No, the biggest damage that the ransomware attack did was the cost incurred from loss of production while the network and machines were cleaned of the nasty and restored from backups. The second biggest damage were some proprietary product design files that had been backed up to an online NAS disk. It being online, it was also compromised of course. There were offline backups of these files, but they were months old and nearly useless.
Neither of these issues would have been helped even slightly by "getting the customer to store their own data". As a course of action, it wouldn't even have been relevant.
Poor choice of words on my part, I did mean "size", rather than "scale". I think also drawing on knowledge from a GSCE Electronics class, circa 2004, and a visit to Sheffield University's semiconductor fabrication building a couple of years later might not have been quite enough for a properly informed opinion :-). Hopefully informed enough to illustrate that this isn't a feat that can readily be done by a single person.
I mean, the technology does exist for the hobbyist, to a certain degree. I was playing with acid-etching and UV lithography (i think, it's been a while) to create PCBs when I was still in school. The only general difference between that and the manufacturing of silicone chips is scale, and the huge number of problems that come with that.
Issues start with acquiring and using the silicone wafers, which are fragile, have to be of a very specific chemical makeup and have to be handled in a clean room. Even without getting any further into the manufacturing process (which coincidently is where my ignorance kicks in), those requirements make it pretty impractical to do without a dedicated lab, which is way out of the scope of the general population.
A similar thing happened to my dad a little over a year ago. He likewise made it through alive but had a longer recovery period. His infection had gone on long enough before really getting nasty that it did permanent organ damage. He elected to retire a couple of years early and is now taking it easy in rural NI, keeping himself occupied with household DIY and tinkering with classic motorbikes.
Happy to hear you made it through as well.
If you're the smartest person in the room...
...you will still be surrounded by people who know something that you don't. Even a complete moron may still possess skills or knowledge of value that you do not have.
I managed to fix it within an afternoon.
I was furnished with some database backups (A three-day-old full backup and a set of update snapshots, if I remember correctly). That got me back to the start of the morning. I managed to rebuild all but three order records from the wreckage of that day's data (cross-referencing with other systems). Those last three records were rebuilt by me begging Customer Services to call up the customers and confirm what it was they ordered. Fortunately, I have a good working relationship with our customer services team. The three affected customers were pretty good about it too, they appreciated being kept in the loop rather than us trying to hide the mistake.
All it ended up costing us was a few hours of lost work and a couple of grey hairs on my part.
Exactly, but it does also take quite a mature management structure to interpret it that way. I've known a few friends who have costed their respective companies tens or hundreds of thousands of pounds just because of one mistake. They survived with their jobs intact. I've also known friends who were fired for trivial mistakes with no material consequence.
I myself have managed to trash a core system database with the old UPDATE statement with no WHERE clause. The IT director almost shrugged. He just told me to go fix it, fix it quickly, and don't do it again.
I'm a damn sight more careful now.
Sounds like there's plenty of fault to hand around here. This wouldn't have occurred if any of the following had happened:
- James had not had his brilliant idea / decided to check with someone else before doing it on a critical system
- Harry had realised that letting a newbie loose on a critical system was a disaster in the making
- The company had a decent change-management / permissions system on their critical machines
All the holes lined up on the swiss cheese model here.
Not sure if this was a fire-worthy event though. Yes James made a very stupid mistake, but he made it with good intentions and the experience he got from it was hard-bought. If he was in any way competent, he is unlikely to ever make a similar mistake for the rest of his career. The next guy they get on board to replace him might. If this was the biggest in a line of similar mistakes for James though, yes he should be fired. And an even heavier look should be taken at whoever let him near those machines.
Wouldn't be effective with Starlink. Most of it's satellites are in a very low orbit - without station-keeping, they fall back in to the atmosphere in a few years. Exploding them would likely increase drag significantly, causing the debris to enter sooner. Also, because of the orbit, their debris is only likely to pose a threat to other Starlink sats (and possibly the ISS). It is faintly possible that debris would be kicked up into a higher orbit and pose a threat to other LEO sats, but this would be extremely unpredictable. China has it's own assets up there which may well be at risk.
While this is true, attacking a single ground station in another country's territory is likely to come with some rather severe political ramifications, and that's putting it mildly. This is likely the reason why Russia hasn't targeted ground stations for Starlink in Poland (which is where most of Ukraine's traffic is currently being routed).
I've had my eye on one of these for several months. Last month I went to pre-order one (remembering long lead times) and found that they'd gotten through the backlog and were now shipping almost immediately. I chose to wait until I had the cash instead, just in case something like this happened.
Luck was with me, and I already have one of the new machines on pre-order.
I'm also wondering about getting an external GPU enclosure. I'm wondering if the Framework will work well enough with that and my RTX-2060 to be a reasonable games machine. Has anyone here trodden that path before?
I used to work for a large multi-national company who sold websites alongside their main business. It was all highly templated stuff without many bells or whistles, the better to mass-produce them. Of course, said company also had an absolutely huge sales team, a few of which appeared to have no kind of respect for, or understanding of what a template was.
So despite the fact that the whizziest feature we could offer was a slide show on the Home page (and nowhere else), the sales team were promising all kinds of things like user accounts, custom image upload galleries, the works. And whenever the back office couldn't fulfil said ludicrous promises, the customer's wrath always came down on us. Senior management didn't bother to reprimand the sales team, because "they were the ones making the money".
I quickly arrived at the opinion that said company's name rhymed with "Hell" for a very good reason.
Biting the hand that feeds IT © 1998–2022