You're asking two questions:
Why would North Korea attempt this, if it was indeed them?
North Korean society is not as isolated as it once was, in part thanks to smuggled IT, especially on the borders. North Korean population is starting to watch South Korean television and generally consume international news sources more and more, which means North Korean leadership is either finding themselves the ones at a certain informational disadvantage, not quite knowing if they are sitting on a powder keg of dissent, or they feel they know what's going on and want to reign public opinion in. Either way, showing they are still a player on the international stage, even with something so ridiculous as a "made you look" kind of stunt, probably does the job, sad as it is.
How would US investigators know that it is North Korea, if it was indeed them?
Not everything is being disclosed. It's possible that the investigators or those in charge of public relations on the western side are overplaying strength of evidence. In some way, if there is a desire to tie this to North Korean, then this is a perfect opportunity, regardless of whether it can proven or not. In that way, it makes sense from an international relations point of view. At the same time, there may well be counter-intelligence shedding light on this, that the western authorities don't feel they can disclose. What's peculiar about that, is that situations like this give governments good information without ability to act on it for fear of erasing an intelligence advantage somewhere else. This was the case with the Rosenbergs. At the time of their conviction and execution, intelligence officials knew of their innocence, but the evidence for that was obtained through covert means and could not have been used, thus the tragic events were allowed to unfold. In the end, it's very hard for anyone not involved in this to parse out what's really going on.
It should probably use all of those data points. Sometimes people want to branch off the main thread of discussion. Letting users create a new thread by changing the subject is a nice intuitive work flow.
Part of the problem is that a lot of standards around email are very old and focus on the mechanics of composing, transmitting, and accessing individual messages. If you're in the business of modernizing or even simply creating a normal modern email client, when it comes to more recent concepts like conversation threads, HTML, address books, calendar integration, documents, and other collaborative workflows, things aren't so clear. On the one hand, there are guidelines and room to innovate, on the other hand some ecosystems proliferate specific patterns that don't work at all in other ecosystems, but both are called email. The calendars are handled in Google domains vs Exchange are not the same, while solving same basic problems.
I had an interesting experience at my company this year. We switched from Exchange to Gmail and many people were initially excited about the possibility of using their own email clients of choice. It was always known that even if this was possible, many of our normal workflows would require using web interfaces beyond the native client. But even with that caveat, in the end our IT decided not to open IMAP to us for fear of end-user problems or complications they did not want to be responsible for.
DBs are not for chewing data -- they're for giving you just the data you need so you can chew on it. You use the right tool for the chewing job once you have the data. (Some DB pre-chew is fine in situations where it's efficient and easy -- group by's, mostly.)
Seems like there aren't many responses here talking about columnar databases. This a class of relational databases very well suited for data warehousing. I have been working with Vertica, which is a proprietary technology, but the license terms are much more favorable and fair than what you get out of Oracle (they aren't comparable anyway). It's a mindset change when you get into columnar databases, but on the whole they can be simpler than what you get trying to tune a traditional relational database for big data warehousing purposes.
You will still need to think about your ETL and reporting technologies. This can be difficult depending on the nature and stability of your data and reporting customers' needs. On the whole, some things to think about are adherence to standards, not being afraid to operate multiple data marts, separating different reporting functions into different applications (internal vs external, raw data extracts vs analytics, etc.), and look at some map-reduce technologies (some shared-nothing databases give you that under the hood for free, some make it explicit, like Hadoop).
This is barely a real problem. As someone else mentioned, it's not difficult to use revision numbers. Even today, there are inventory systems that understand compatibility between aftermarket manufacturers and OEM. I worked on a rudimentary system like that myself -- it's not rocket science. But there may be two things in this particular story that are worth looking into:
Firstly, did GM or its suppliers intentionally reuse a part number to obfuscate the change in design tied to known safety issues. Not saying they did. Maybe they didn't, but it would be great to clear that up in open court.
Secondly, is there a standard industry practice to reuse part numbers in general, where part numbers become misleading in relation to fit or compatibility? There is sometimes incentive on the part of manufacturers to publish obfuscated specifications or withhold this kind of information altogether as an anti-competitive measure against small repair shops (in favor of dealer networks) or to undercut aftermarket manufacturers' ability to improve on original designs.
I've yet to see a competently written math book. Most of them are written by and for people with PhDs in mathematics.
Sounds about right - as a programmer, I've always been appalled by how math is taught. If we taught programming the way we taught math, every program would be unmaintainable. Think about it:
- One letter identifiers for everything. Algebra teaches you to always use x, y, z for variable names. Calculus teaches you to do it for function names. If you run out of those, use greek letters, or just start making up symbols. - Everything is named after who discovered it, not what it does. Pythagoras's theorem, Newton's method, L'hopital's theorem, Cartesian co-ordinates, Euler's number... - Formulas are always crammed into a single line, without being spaced out. And without any in-line comments. You're forced to try and understand the entire formula in one shot, rather than piece by piece.
MatLab is a perfect example of why mathematicians shouldn't program. You can look at the source to certain functions (like calculating Euler's number) to see this in action.
I disagree with much of this. Naming things after discoverers is no worse than what's going on now with names for important libraries, frameworks, or products. Why should I make celery part of my architecture? I like tomatoes better anyway. Single-letter symbols can be confusing when used to denote specific things, but when applies to abstractions, computer science does the same thing. A good example of the latter is the contrast between common style conventions for Java class names as opposed to generics arguments. In mathematics, especially applied mathematics like engineering, more concrete variables are often given subscripts or longer variable symbols. Here's a good example.
Interesting point. My organization is probably neither on the forefront nor stuck in the past when it comes to enterprise architecture and development process. But what I'm witnessing is a desire to empower teams while maintaining a coherent operations structure. We want the best of both worlds -- flexible resource allocation and scaling, yet individualized development environments designed to fulfill needs of teams focused on specific areas of the whole enterprise before getting their stuff to a bigger integration point. Going ever deeper down the VM rabbit hole is how we plan to do it.
Not all organizations have the same needs, but this additional tier of virtualization is an interesting proposition. On the one hand, it has a lot of potential. On the other hand, we are already struggling to understand what goes on in our production environment during critical performance times or when troubleshooting complex problems or incidents. Are we overengineering it? Time will tell.
There are kids today going to middleschools around this country who can't read. There are kids today going to school. For free. And whether or not they meet the acadamic standards we expect from them - FWIW, "can't read at grade level" doesn't mean the same thing as "can't read" - We have very close to a zero illiteracy rate among legal citizens in the US, a quality unprecedented in human history and only even matched by a handful of countries today.
I suppose a lot depends on your definition of illiteracy. When I said "can't read", I meant "can't read". As in, cannot make sense of a paragraph of text and the school system is not going to help them. I know this because I work in the education industry and my wife is a teacher herself. We're not talking about "doesn't meet grade standard". We're talking about generations of kids leaving each successive grade further away from being able to succeed, nay function, in society and the schools still pouring all resources into additional assessing of kids without additional teaching. Was this your experience in school? It wasn't mine. Because I was fortunate enough to have been shielded from those schools by adults in my life who put me on a different path and made sure I stayed there. We're not talking about better schools and worse schools. We're talking about hundreds of thousands of forgotten kids without a future. If you want to compare that with the Middle Ages and say that our job is done, I call BS. People are suffering, so our job is not done. And what used to exist even less than a century ago, was a network of personal training through apprenticeships that all but guaranteed some decent living standard. This does not exist anymore.
please don't pretend that you understand the hardships of others from behind a lawnmower. I see you missed that at self-debasing humor, despite the winking smiley. Yes, I have it easy. I know that - Pretty much my entire point. We all have it easy. Even the homeless guy living beneath the overpass (an overpass! The luxury, he has a roof over his head covering a few thousand square feet!), thanks to our society of consume-and-dispose, has no shortage of goods and even money - Not only can he afford to eat, but drug overdose counts as the leading cause of death among the homeless! You bought any illegal drugs lately? They ain't cheap.
No, we don't all have it easy. Some of us do. You're speculating about the rest despite your smiley. Ever worked a minimum wage job for 60 hours a week outdoors without additional prospects? Ever got sick and couldn't do anything about it? Ever live with constant fear of the next day?
I don't claim everyone has it as easy as a white middle class DINK living in the burbs. Not everyone can afford a house and a family and more toys than they can keep out of storage at a time. But getting the necessities to stay alive has never come any easier.
Is that the bar you'd like to set for ourselves as a society? That we barely keep our destitute breathing?
Sure, we can debate and compare pros and cons of Google Docs and MS Office, but the really interesting conversation seems to be emerging about architecture and features:
- Who is responsible for storing and managing content?
- Who is responsible for managing the workflow around the content?
- What standards are needed and supported?
- Who are the content stakeholders beyond content producers?
- What are my budgetary constraints?
It seems that each of us figuring out the right solution for the task at hand should run through the above questions and arrive at something. It may end up being grabbing something off the shelf (free or otherwise, proprietary or open), it may mean building up a constellation of tools, or it may mean something heavily home-baked. Each approach can be valid depending on the circumstances. The world is still changing and organizations are still adapting. Sometimes low barrier to getting started on collaboration is important. Sometimes longevity of standards is important. Sometimes controlling presentation patterns is important. Etc, etc.
BTW, something was said about stylesheets and ODF-based tools not having that support. ODF supports XML-based stylesheets in terms of persistence. As far as GUI, LibreOffice and OpenOffice make it fairly easy to manage said styles. Making these styles interoperate with CSS (within reason) isn't terribly difficult. ODF being XML-based and truly open (unlike docx) is one of the main reasons I personally reach out for it more times than not.