I'm actually okay with us not using our nukes.
Agreed. I wouldn't change a thing. I spend my time worrying about my current project or my programming skills, not the layout of my keyboard. I internalized key positions decades ago, and I don't see any real benefit in trying to relearn what I've already got down pat.
There are a lot of slightly sub-optimal things in our lives that hang around due to simple inertia. The "pain in the ass" factor of learning a new keyboard layout probably outweighs potential efficiencies of completely or partially relearning how to touch-type. Most of us don't rely on maximum efficiency when typing, unless you happen to have a very specialized job in which you type a *lot*. A slightly more efficient layout probably won't make any substantial difference for most of us.
As a practical matter, choosing a non-standard keyboard layout is going to greatly inconvenience you in many ways. You'll have a dramatically limited selection of keyboards to choose from, and you're going to have problems every time you need to temporarily use someone else's standard qwerty keyboard.
I'm presuming there are no second graders here. Don't overthink it... it was just an example. Calculus, differential equations, etc. Even basic algebra is quite difficult for some. For others, it's logical, intuitive, and even beautiful. Math instructors would obviously tend to be of the latter group, and as such, might have trouble empathizing with students who "just don't get it".
Similarly, I've seen a lot of programmers who are convinced that *anyone* could easily learn to program, because *they* happen to find it easy.
I'm just not convinced that's the case. Not everyone finds the same things intuitive.
That's why I included parents in that topic (and teachers can also be helpful here). They're supposed to provide some wisdom and guidance about these sorts of things. Just have a conversation with your kids about being careful about what you post online, because those sorts of things can't *really* ever be deleted, and can have real-life consequences.
You need to start from that reality, and not with wishful thinking about being able to magically erase your past. It would be great if it were possible, but it's simply not.
Just to be clear, I do have some sympathy for people who are out in public, and are caught in an embarrassing situation not of their own making. Say, for example, a dog playing at the beach tugs at person's swimsuit and pulls it down. Pretty embarrassing, and not exactly anyone's fault. Someone films it with their smartphone and posts it online anonymously for kicks. Your situation is another good example.
This sort of thing can happen much more easily, because nowadays *everyone* has a handy videocamera available right in their smartphone. I'm perfectly fine with laws meant to protect people against that sort of abuse, or to compel services to remove photos or videos of that nature upon request. That being said, everyone has to understand that there's no way to permanently remove data from "the internet", only from a few specific sites. And anyone who downloaded that information could always upload it again. That's the hard reality of the world we live in. The information age provides some amazing benefits, but it certainly has downsides as well.
Part of this is a human problem as well. Who exactly posted these rumors on FB about you? Is passing a law about this going to fix the underlying problem here? That's sort of what I'm getting at. I'm saying that people need to understand that this is the new reality. Part of this needs to be some restraint in people NOT posting unfounded rumors about others online at the drop of a hat. I wouldn't shed a tear if the person who spread those rumors about you got reprimanded or fired because of pulling bullshit like that. Responsibility has to go both ways.
Kids & Teens: Don't post embarrassing photos or videos of yourself online, or put yourself in a position where others can post embarrassing photos or videos of you online. Don't think you can be anonymous online, because someone WILL recognize you or figure out who you are, given enough incentive. Consider it a valuable life lesson that you actually *can't* retract everything you do in life so easily.
Parent: Get involved and teach your children to be responsible online. Just like in the real world, there are rules for behaving safely and responsibly online. When things go public, there's no way to retrieve those images from everyone who may have gotten a copy, and no amount of legislation is going to change that reality, however much some people may wish it.
Legislators: Stop pretending that you can fix all the world's ills with the sweep of a pen. Start learning what IS and ISN'T possible in the online world. Or for God's sake, at least ask one of your younger tech-savvy interns before you make a fool of yourself with this sort of stuff.
Which by the way, might be able to fail itself, and keep the pilot from unlocking the tail section when it needs to be unlocked. Killing the pilot and co-pilot.Hellova world, eh?
True, but engineering is oftentimes about weighing risks against each other. The risk of pilot error in this case has been demonstrated to be a real threat. The mechanical interlock can also be designed with overriding backup systems that can be activated by the pilot in case it fails for some reason. It's far better to have the pilot use a dedicated toggle in case of a rare emergency than have to remember to flip a switch at the correct time on each flight or risk the destruction of the spacecraft.
Oh, don't misunderstand... I absolutely agree. I was simply giving an example of the benefits of higher-level language abstractions.
I'm a videogame programmer, and we generally use C++ for engine code and game systems, since it's a pretty good balance of performance vs abstraction. But we often use C#/.NET for tools, and various scripting languages for game content.
Essentially, I think a reasonable maxim is that a programmer should use the highest level of abstraction possible for the job at hand. Picking the right language for the job is important. I'd hesitate to call anything a "best mix", because it depends on the project at hand, the environment, and the team you'll be working with.
Thanks for the link. The report's gist seemed to be "Everyone should have realized that you shouldn't rely on the pilot to not flip a switch at the wrong time, the results of which will cause the spaceship to be destroyed", and then describing in detail the procedures that should have been in place to catch those sorts of issues, along with recommendations for future procedures to prevent this from happening.
As you said, it's a bit morbid, but this is generally how we learn how to make things better and safer on the bleeding edge of technology and engineering. After a serious accident, we examine the causes and look for ways we can do things better and more safely, at least in the ideal case.
Agreed. Swift makes it easier to program, but the notion that "anyone" can write apps is definitely a laugh. There are a lot of programmers who don't understand that some people have a really hard time with the core concepts and skills involved in creating software. It reminds me of math teachers who don't seem to understand that some people have a fairly difficult time with advanced mathematical subjects. People have different areas of competence, and not all are suited to be programmers. It's not just logic... you need to do some creative problem solving in formulating that logic, and you need to keep a LOT of complex things in your head all at the same time to get them to all mesh together at the end.
Still, I have no problems with the efforts to make programming easier. Anything that helps will not only make it easier for novices, but will also aid professional programmers. If you don't have to worry about the fiddly bits of the language (for instance, low-level memory management in C), then your attention can be directed to more important parts of your task. There's a reason higher-level languages are considered to be more productive for programmers.
I think some programmers get a bit defensive at the idea of novices stumbling into our professional domain. I honestly don't see it as a problem. We're nowhere near that magical "anyone can program" threshold, even with the "friendliest" languages people have tried to invent.
You can put ads on a site without being a jerk about it. Make them small, non-animated, silent, and keep them out of the way of the content. Only a small minority of people tend to object to advertisements like that. It's when you start actively shoving them in people's faces, animating them, making them play video or sound, interspersing them misleadingly throughout the content, creating pop ups or pop-unders, and all that other sort of nonsense... that's when people get irritated enough to install ad-blockers.
This isn't a binary choice. Advertisement works just fine as long as it's kept to a reasonable level of non-annoyance. But time after time after time, we see that they just can't resist pushing things a bit too far and in turn pushing people to the point of taking action
Yep, that one screamed "conflict of interest" pretty damn loudly.
I can't imagine the engineers who designed this wouldn't be aware of those consequences. In fact, I'd go so far as to call this a partial failure of the engineering department as well - specifically, the ones who created the cockpit controls. I mean, the spacecraft basically had a single lever in the cockpit which if pulled at the wrong time would result in the fiery destruction of the spacecraft and death to all aboard. That's a hell of a consequence for a single mistake in the cockpit.
Granted, clarity in hindsight and all that, but it just seems surprising to me that this possibility wasn't given more thought, given that this was a major feature of the spacecraft. You can imagine they're probably taking a second look at other systems and trying to figure out what the potential outcomes of human error might be and ways to mitigate those errors. At least, I hope they're doing that.
It's interesting as the unique tail section was actually touted as a "safety feature" by the company. I'm not necessarily saying it can't be the case, but like any feature, even a safety feature (see: exploding airbags), defects or improper use can cause more harm than in it's absence.
The moveable booms are intended to provide a fail-safe mechanism for positioning SpaceShipTwo during the fiery re-entry into the atmosphere. Scaled pilots were well aware of what could happen if they unlocked the feather too late, but training about its early release were ignored, accident investigations found.
It's a bit strange, as it seems like such a fundamental error - not some obscure feature that could be overlooked. What pilot would say to himself "Hey, I know I'm supposed to unlock the tail at time X, but what the hell, why not just do it now?" It seems really strange that they wouldn't have precise procedures for this, since it's such a critical part of the entire design.
It's a hard way to learn a lesson like this.
Yep, I agree. It's all about the data access, as I mentioned. When I said "there's no compiler on the planet" etc, I was talking about high-level optimizations, which tends to involve a lot of code and data restructuring at a fundamental level. It's a much simpler task by comparison to auto-parallelize/auto-vectorize loops, etc.
If the Cell SPUs had been cache-coherent and had direct access to DRAM
But that's a pretty big "if" there, as the SPUs didn't perform well under circumstances in which compiler-level micro-optimizations would normally work, as the overhead of the DMA transfers / context switches would tend to cancel out any potential gains. The reality for PS3 developers was that everything had to be excruciatingly hand-optimized for the peculiarities of that architecture.
Now, the relative similarity and simplicity of the PS4/Xbone are a blessing in comparison, because optimizations tend to work equally well on both platforms.