Ever try to store an array of strings? Better to store it as one field and parse it in code!
If you're trying to store complex data structures in SQL, I would recommend protocol buffers. Imagine XML, but more compact, and with built-in support for versioning. It's open source too.
The cold, hard truth is the vast, silent majority of Americans are apathetic about personal privacy.
From what I can tell (discussing this issue with my non-technically-minded family members), they're not apathetic, they're cynical. The best response was from my mom -- "if they know everything about everybody, why can't they stop these damn telemarketers from calling me?"
the NSA walks into the room and starts getting names of people in attendance, then goes back and digs into PRISM and finds what those people are doing. And then, ultimately, either uses it for their own agenda or passes the information on to someone who will. is that really in the best interest of anyone who wants to retain not only their freedom but their civil liberties?
It's certainly not in the NSA's interest. The hackers they catch this way would not be the best and the brightest. It would also tip off the best and brightest that the NSA is doing something underhanded like this. That would cause them to strengthen their defenses and anonymity.
It's like misusing antibiotics; if you don't get all of them, the remaining ones will only become stronger.
Because the sort of programmer that's good at finding/fixing these bugs...is not the sort of programmer that the interview process determines would be a "good fit" for the organization.
The best way to get rid of "teh terroristz" is to
1. actually be honest and nice to other countries, and
2. not meddle with countries in such a way that they are created in the first place
[...]
How about that? Can you become like that again? For us?
We promise we'll be there for you and embrace you.
We know what you believe, Mr. Obama. You tried doing this and it failed miserably. Stop trying to sell it.
I dont see how his claim that the military will always expand its power holds water. The military is at the mercy of the executive branch with regards to policy and the legislative branch with regards to funding.
It's human nature to try and do the bare minimum in terms of boring drudge work.
Most of my career has been spent doing boring drudge work. That's why it's called "work". If it was fun, they'd call it "fun", and you wouldn't get paid for it.
Years ago, I discovered the secret to dealing with boring drudge work -- recreational levels of caffeine. No workplace I've ever been in has monitored my coffee consumption. HELL yeah!
The difference is, you have a choice! Don't like Gnome 3? (Me either.) There are a plethora of other desktop managers out there. I'm using XFCE right now. MS Windows doesn't give you a choice.
It's not the compiler, it's the programmers. Most programmers are Mort, unfortunately. Personally, I consider security in all of the code I write, but when I try to recommend that course of action to my fellow programmers, I mostly just get sullen glares.
For commercial software, there's the additional problem that 70% of employees are not actively engaged in their work.
It's current. Being the Sony guru at the company, I remember being asked to look at a co-worker's PlayStation 2 devkit that was mysteriously not working. He had it sitting on a subwoofer. I told him to move it far away from the powerful magnet. He looked at me like I was from Mars. We moved the devkit away from the subwoofer and it immediately started working.
Most programmers I've met in the industry can't program worth a crap either. Your lack of skills won't be noticed. (Except by people like me, but no one cares about my opinion, because I have a "bad attitude".)
Except this is unlikely to be true. The structure could reside in both CPUs cache, and thus be corrupted.
Except that this is exactly what lightweight-sync prevents...!
Learning new things are something I do continually, but obscure processors are quite far down my list:)
I don't think I've ever heard the PowerPC line of processors described as "obscure".
I am a mathematician first, programming is just something I do.
If you don't claim to be a professional computer programmer, I can forgive you for not being this hardcore. The vast majority of my co-workers over the years, though, have no such excuse.;-)
The sync only works on the specific core to provide a barrier to some internal state. But if the memory is cached in two different processors, both will be able to take that "lock" and not discover it.There is nothing magic about this, really. What should prevent this from happening?
Because only one thread can write to an instance of that structure at a time? Otherwise I'd need a real semaphore. It's called a "lock-free design", which is a lot more efficient than requiring an operating-system semaphore. Your multithreaded code must thrash the hell out of the operating system. Have you ever profiled any of it?
I have never had to work with [the PowerPC line of processors], so I really don't know why I should have read up on it.
General education? To improve the breadth of your knowledge? So that the principles you learn can be applied to other situations? Intellectual cross-training? These things really didn't occur to you?
You seem to me to be a perfectly normal computer programmer. Problem is, no one ever got anywhere by being normal.
Although I'm skeptical, I am reading about Erlang now.
One problem I see so far is the way messages are passed between processes. Since Erlang is defined to send the message and continue without stopping (and presumably without the possibility of losing the message), that implies dynamic allocations for message queues. That's unacceptable in a limited-memory embedded platform like a video game console. It may be fine in one of Ericcson's telephone switches -- presumably they have more memory and no hard response-time limits (e.g. making framerate).
Oh really. So if I write to my thread-communication structure through a pointer to volatile memory, do a lightweight sync, then write the flag that tells other threads that the structure is ready for use, then lightweight-sync again, you're telling me that's not valid?
I hope you know about lightweight-sync; it's part of the PowerPC architecture. That's only been around for nearly twenty years. The hot burning feeling is the realization that your obsolescence is measured in decades.
Protocol buffers are database-independent, i.e. using them keeps one from being tied to one particular database implementation.
You mean we're not going to blame...Sharknado?
This is the best thing about SQL: it's a standardized language letting you switch between different database vendors with fluidity.
That's the great thing about standards — there are so many to choose from.
Ever try to store an array of strings? Better to store it as one field and parse it in code!
If you're trying to store complex data structures in SQL, I would recommend protocol buffers. Imagine XML, but more compact, and with built-in support for versioning. It's open source too.
They've never seen the movie Crazy People, I guess.
The cold, hard truth is the vast, silent majority of Americans are apathetic about personal privacy.
From what I can tell (discussing this issue with my non-technically-minded family members), they're not apathetic, they're cynical. The best response was from my mom -- "if they know everything about everybody, why can't they stop these damn telemarketers from calling me?"
the NSA walks into the room and starts getting names of people in attendance, then goes back and digs into PRISM and finds what those people are doing. And then, ultimately, either uses it for their own agenda or passes the information on to someone who will. is that really in the best interest of anyone who wants to retain not only their freedom but their civil liberties?
It's certainly not in the NSA's interest. The hackers they catch this way would not be the best and the brightest. It would also tip off the best and brightest that the NSA is doing something underhanded like this. That would cause them to strengthen their defenses and anonymity.
It's like misusing antibiotics; if you don't get all of them, the remaining ones will only become stronger.
Here's another guy fantastic at explaining science in terms that normal people can understand -- Tim Lee is a comedian who used to be a scientist.
The Swedish people that make the ice hotel can turn this into a vacation resort!
Because the sort of programmer that's good at finding/fixing these bugs...is not the sort of programmer that the interview process determines would be a "good fit" for the organization.
The Chinese police concluded that he shot himself and then hid the gun.
The best way to get rid of "teh terroristz" is to
1. actually be honest and nice to other countries, and
2. not meddle with countries in such a way that they are created in the first place
[...]
How about that? Can you become like that again? For us? We promise we'll be there for you and embrace you.
We know what you believe, Mr. Obama. You tried doing this and it failed miserably. Stop trying to sell it.
I dont see how his claim that the military will always expand its power holds water. The military is at the mercy of the executive branch with regards to policy and the legislative branch with regards to funding.
Then you must have missed President Eisenhower's warning about the military-industrial complex. Things haven't changed much in 50 years.
Recreational amounts of caffeine.
No job I've ever been at has monitored my caffeine consumption.
;-)
It's human nature to try and do the bare minimum in terms of boring drudge work.
Most of my career has been spent doing boring drudge work. That's why it's called "work". If it was fun, they'd call it "fun", and you wouldn't get paid for it.
Years ago, I discovered the secret to dealing with boring drudge work -- recreational levels of caffeine. No workplace I've ever been in has monitored my coffee consumption. HELL yeah!
The difference is, you have a choice! Don't like Gnome 3? (Me either.) There are a plethora of other desktop managers out there. I'm using XFCE right now. MS Windows doesn't give you a choice.
Are you suggesting that MS Windows comes with a warranty? I'm pretty sure MS Windows is provided "as is".
For commercial software, there's the additional problem that 70% of employees are not actively engaged in their work.
It's current. Being the Sony guru at the company, I remember being asked to look at a co-worker's PlayStation 2 devkit that was mysteriously not working. He had it sitting on a subwoofer. I told him to move it far away from the powerful magnet. He looked at me like I was from Mars. We moved the devkit away from the subwoofer and it immediately started working.
They may not give you any money for it, but they'll take it off your hands, working or not.
Most programmers I've met in the industry can't program worth a crap either. Your lack of skills won't be noticed. (Except by people like me, but no one cares about my opinion, because I have a "bad attitude".)
Except that this is exactly what lightweight-sync prevents...!
I don't think I've ever heard the PowerPC line of processors described as "obscure".
If you don't claim to be a professional computer programmer, I can forgive you for not being this hardcore. The vast majority of my co-workers over the years, though, have no such excuse. ;-)
I'm like so wounded.
Because only one thread can write to an instance of that structure at a time? Otherwise I'd need a real semaphore. It's called a "lock-free design", which is a lot more efficient than requiring an operating-system semaphore. Your multithreaded code must thrash the hell out of the operating system. Have you ever profiled any of it?
General education? To improve the breadth of your knowledge? So that the principles you learn can be applied to other situations? Intellectual cross-training? These things really didn't occur to you?
You seem to me to be a perfectly normal computer programmer. Problem is, no one ever got anywhere by being normal.
Although I'm skeptical, I am reading about Erlang now.
One problem I see so far is the way messages are passed between processes. Since Erlang is defined to send the message and continue without stopping (and presumably without the possibility of losing the message), that implies dynamic allocations for message queues. That's unacceptable in a limited-memory embedded platform like a video game console. It may be fine in one of Ericcson's telephone switches -- presumably they have more memory and no hard response-time limits (e.g. making framerate).
Seems unnecessarily idiosyncratic.
Oh really. So if I write to my thread-communication structure through a pointer to volatile memory, do a lightweight sync, then write the flag that tells other threads that the structure is ready for use, then lightweight-sync again, you're telling me that's not valid?
I hope you know about lightweight-sync; it's part of the PowerPC architecture. That's only been around for nearly twenty years. The hot burning feeling is the realization that your obsolescence is measured in decades.