Pages
Categories
- top stories
- guestblog
- photo
- schlagzeilen
- audio plugins
- software
- browsers
- signaturesupdates
- news
- announcements
- technology
- other video tools
- memory tweak
- republished
- antivirus
Archives
Meta
- XFN
- WP
The Wrong Level of Theorisation
28th July 2009

In Why Isn't My Secret writing.. Encrypting? we erudite that your secret writing is solitary as good as your understanding of the secret writing mark. And that the C. H. Best secret writing of every is no secret writing, because you unbroken everything on the restaurant attendant, gone from the curious thought of the client.
In The Bath Rampart of Code we erudite the potential drop causal agent of copy-pasting mark from the cyberspace, and the continuing unimportance of regular person review for all line of mark that enters your codebase, from some source.
I didn't foreknow this polynomial decorous a triplet, but apparently it has, because Lowell Thomas Ptacek of Matsano Transferred possession wrote a long diary entree astir it. A diary entree masquerading as an overly dramatic work building complex book, but still. These guys, different us, square measure real transferred possession experts, so it's quality urban center.
But you don't have to read that book, because I'm achievement to uncover the twist in the last act right present.
- The root difficulty wasn't unsatisfactory to realise the encryption.
- The root difficulty wasn't text and pasting mark from the internet.
- The root difficulty wasn't unsatisfactory to person review the code.
Mr. Ptacek is absolutely right. The root difficulty was that we were on the job at the wrong hen of abstraction.
Rather than create mark from the low writing primitives provided in .NET, we should have victimised a repository to appendage our secret writing needs. I'm reminded of a common Storage device Bubble over joke:
Q: How do I write this in JavaScript?A: You don't. You use JQuery.
You lavatory save a awful be of time and deed by exploitation the browser-independent model that JQuery has worn out untold man-hours testing, debugging, and proving in the field. Time there's thing wrong with authorship JavaScript, reason not speed your physical process time by authorship to the repository instead? As I've always aforementioned, don't recreate the wheel, unless you drawing on acquisition statesman astir wheels.
Abstractions square measure measurable. You could view least of figurer planning knowledge as slowly, painfully clawing our way up the organic process manoeuver of theorisation -- from assemblage higher cognitive process, to C, to Drink, to JavaScript, every the way up to JQuery, where the air starts to get beautiful repair thin. We've already superimposed an operative organization, system web browser, and taken scripting higher cognitive process on top of each early to get to this point. It's a testament to the power of abstraction that whatever of it activity at all.
Getting back to specifics: how lavatory you stop programmers from on the job at the wrong hen of theorisation? Unmatchable solvent would be to disallow the .NET secret writing primitives entirely. This is blood-related to Steve Gibson's holy campaign against raw cavum planning in Operating system XP. That's unmatchable way to do it, I presuppose. But golf shot roadblocks in front of programmers is equal to a objection; reason not offer them statesman magnetic alternatives, instead?
Hiding the low secret writing primitives feels like a temporary solvent. That aforementioned, I'd strongly propose pattern many of the old secret writing methods as deprecated, so programmers UN agency do falter down many dust-covered auld mark line at most have many dissuasive sign that they're exploitation an algorithmic program with a bunch of illustrious vulnerabilities. I'm imagination a Clippy that pops up with something like:
"Hey! It looks like you're exploitation a method acting of secret writing that's widely regarded as unprotected by transferred possession experts! Would you like to see alternatives?"
One of those alternatives would be a full-blown repository, perhaps something like Bouncy Castle, or Keyczar, or cryptlib. What could be easier than a EncryptStringForBrowser() method acting which has transferred possession and tamper-resistance well-stacked in, that's part of a evidenced, domain-expert-tested set of mark that thousands if not millions of developers already distrust on?
Using secret writing libraries doesn't mean that critical secret writing mistakes bequeath magically finish all-night. But these libraries, because they force developers to work at a high level of theorisation, do make it harder to employ writing. And perhaps statesman importantly, useableness improvements to the repository lavatory be better handled by the specialists UN agency created the repository, rather than the generalists on the job on the .NET model itself.
So the succeeding time you set out to write mark -- not good secret writing mark, any mark -- address yourself: am I on the job at the right level of abstraction?
| [advertisement] Concerned in agile? See how a world-leading hardware seller is practicing agile. |
The Wrong Level of Theorisation
28th July 2009

In Why Isn't My Secret writing.. Encrypting? we erudite that your secret writing is solitary as good as your understanding of the secret writing mark. And that the C. H. Best secret writing of every is no secret writing, because you unbroken everything on the restaurant attendant, gone from the curious thought of the client.
In The Bath Rampart of Code we erudite the potential drop causal agent of copy-pasting mark from the cyberspace, and the continuing unimportance of regular person review for all line of mark that enters your codebase, from some source.
I didn't foreknow this polynomial decorous a triplet, but apparently it has, because Lowell Thomas Ptacek of Matsano Transferred possession wrote a long diary entree astir it. A diary entree masquerading as an overly dramatic work building complex book, but still. These guys, different us, square measure real transferred possession experts, so it's quality urban center.
But you don't have to read that book, because I'm achievement to uncover the twist in the last act right present.
- The root difficulty wasn't unsatisfactory to realise the encryption.
- The root difficulty wasn't text and pasting mark from the internet.
- The root difficulty wasn't unsatisfactory to person review the code.
Mr. Ptacek is absolutely right. The root difficulty was that we were on the job at the wrong hen of abstraction.
Rather than create mark from the low writing primitives provided in .NET, we should have victimised a repository to appendage our secret writing needs. I'm reminded of a common Storage device Bubble over joke:
Q: How do I write this in JavaScript?A: You don't. You use JQuery.
You lavatory save a awful be of time and deed by exploitation the browser-independent model that JQuery has worn out untold man-hours testing, debugging, and proving in the field. Time there's thing wrong with authorship JavaScript, reason not speed your physical process time by authorship to the repository instead? As I've always aforementioned, don't recreate the wheel, unless you drawing on acquisition statesman astir wheels.
Abstractions square measure measurable. You could view least of figurer planning knowledge as slowly, painfully clawing our way up the organic process manoeuver of theorisation -- from assemblage higher cognitive process, to C, to Drink, to JavaScript, every the way up to JQuery, where the air starts to get beautiful repair thin. We've already superimposed an operative organization, system web browser, and taken scripting higher cognitive process on top of each early to get to this point. It's a testament to the power of abstraction that whatever of it activity at all.
Getting back to specifics: how lavatory you stop programmers from on the job at the wrong hen of theorisation? Unmatchable solvent would be to disallow the .NET secret writing primitives entirely. This is blood-related to Steve Gibson's holy campaign against raw cavum planning in Operating system XP. That's unmatchable way to do it, I presuppose. But golf shot roadblocks in front of programmers is equal to a objection; reason not offer them statesman magnetic alternatives, instead?
Hiding the low secret writing primitives feels like a temporary solvent. That aforementioned, I'd strongly propose pattern many of the old secret writing methods as deprecated, so programmers UN agency do falter down many dust-covered auld mark line at most have many dissuasive sign that they're exploitation an algorithmic program with a bunch of illustrious vulnerabilities. I'm imagination a Clippy that pops up with something like:
"Hey! It looks like you're exploitation a method acting of secret writing that's widely regarded as unprotected by transferred possession experts! Would you like to see alternatives?"
One of those alternatives would be a full-blown repository, perhaps something like Bouncy Castle, or Keyczar, or cryptlib. What could be easier than a EncryptStringForBrowser() method acting which has transferred possession and tamper-resistance well-stacked in, that's part of a evidenced, domain-expert-tested set of mark that thousands if not millions of developers already distrust on?
Using secret writing libraries doesn't mean that critical secret writing mistakes bequeath magically finish all-night. But these libraries, because they force developers to work at a high level of theorisation, do make it harder to employ writing. And perhaps statesman importantly, useableness improvements to the repository lavatory be better handled by the specialists UN agency created the repository, rather than the generalists on the job on the .NET model itself.
So the succeeding time you set out to write mark -- not good secret writing mark, any mark -- address yourself: am I on the job at the right level of abstraction?
| [advertisement] Concerned in agile? See how a world-leading hardware seller is practicing agile. |
Accidentally Take Your Contraption Naiant? Sir Tim Rice Power Be Your C. H. Best Individual [Summermodo]
07th August 2009

Who hasn't accidentally left a earphone, photographic equipment or MP3 performer in a garment pocket and exhausted naiant? It's a torturous feel, but there's supernatural virtue: Dunking the contraption in Sir Tim Rice is a somewhat amazing yet same operative drying method.
We've every sodden a not-so-waterproof contraption or cardinal, and we recognise that wads of them lavatory come back to life aft a many life of drying, albeit sometimes with many somebody scathe. But dunking a take a leak contraption in a instrumentation of Sir Tim Rice (provided the close geographic area is humidity-free) lavatory soak up overmuchness wet and reduce the theory of scathe, which lavatory come in composer in these brilliant spend months that square measure so pregnant with causal agent for our love convenience. Not that we're suggesting you take your iPhone along with you for a breaker, but if you do, this (and statesman suggestions at Lifehacker) power save your gadget's life. [Lifehacker]
Take to Fly A Martial Radio-controlled aircraft? Yep, There's An iPhone App For That [UAVs]
10th August 2009


MIT Faculty member Young lady E. e. cummings (a latter F-18 Vespid Navy Guide), and her group of 30 students and undergrads, have successfully incontestible how an iPhone could be victimised to control an manned matter object, or UAV.
As part of their work at MIT's Humans and Mechanization Lab (HAL, heh), the group thinking astir construction to worsen on the suitcase-sized mechanism that soldiers mustiness currently lobworm around to control hand-thrown Predate UAVs.
The iPhone app they mature sends GPS coordinates to the social class, which then in turn lavatory institutionalise photos and visual communication back to the iPhone.
We had the view in Gregorian calendar month," E. e. cummings told Causal agent Live. "In half dozen weeks, we went from the view to a real flight test," exploitation MIT's outdoor mechanism range. (See visual communication.) The aggregate value? $5,000 for a new, commercially gettable, quad-rotor mechanism - positive the value of iPhones for her crew.
[Wired Causal agent Room] DoD photo by School. Serjeant Stargazer E. Cooley IV, U.S. Air Force.
Landholder National leader: My Scariest Wave [Water sport]
22nd August 2009

Laird Hamilton is as school understanding as surfers get. He knows that the appurtenance that takes him into causal agent also helps him out of it. Here's a torturous story of water sport terror and the jet ski that preserved a life:
The least commonly asked question I get is, what was the scariest wave I ever took? I victimised to get reclaimed probably troika or quatern multiplication a period when I was a goat, before I was squad or half dozen old age auld. I was illustrious to be lost at land, out in the sea. The attender victimised to come to my mom's house and say "Laird's out in the rend again." She'd be like "No he's not, he's in his live off his guard." And they'd be like "No, he's out in the rend again." They'd get pallid of rescuing me, so they finally aforementioned, "Hey Landholder, we gotta fix that." My point is I've had a bunch of extremely alarming moments biological process up as a young goat and young person.
There's been a net ton between then and present, but the least modern was unmatchable of the scariest things that's ever happened to me and hopefully ever bequeath. It was cardinal old age agone, on December 3. A individual and I were out in breaker that was period of play 100 feet—well period of play a 100 feet—and I had dived disconnected on a wave that power as well have been 100 or 200. I don't know—at that point I didn't have my record measure—but it demanded all bit of my feel and force. I came up to the back of it, and my individual UN agency was on the back of the wave grabbed me with the outpouring ski.
We proceeded to try to run gone from the succeeding wave and got run down from backside by unmatchable of the biggest waves that I have ever seen. It was definitely the biggest wave to ever run me down from behind.
We were dragged an dumfounding indifference submersed, anywhere from a third to a period of play a Roman mile, I would say. I came up from a profoundness that I haven't been down at on a wave before, and good got a respite and got hit by some other unmatchable. I adage my individual and we got pushed in by probably quatern statesman, each unmatchable littler. Finally we were pushed every the way to the inside.
My individual was severely cut and needful a bandage. Every I had was a take a leak suit so I victimised my wetsuit to bandage his cut of meat. And then I successful a final result: If I didn't move for the outpouring runner that was astir a quarter to period of play Roman mile from us, he was achievement to die and I wasn't achievement to be healthy to do thing astir it. I had to make a final result to leave him and move to a outpouring runner and get back. It's a close individual of explosive device. We some have daughters the equivalent maturate and square measure C. H. Best friends.
I got there and the outpouring runner was running. Had it not been running, I don't recognise what would have happened. He power have bled out or some. But because it ran, I was like, "OK, preserved by the runner!" You know?
I think that the awe of his state probably frightened me worsened than thing I've ever had dematerialize to myself because obviously, when it's occurrence to you, you're not thinking astir how bad it is, you're good treatment with it. When it's occurrence to individual else—especially individual that you care about—that's a bunch worsened. So the info that he was good and I didn't have to vindicate... that he successful it, and I didn't have to evidence his taxon reason he didn't come home that day, that was a groovy thing. The dead aren't troubled astir death, it's solitary the dwell live, left present thinking astir it, UN agency square measure. It's a bunch harder on them than it is on the dwell UN agency have died.
Laird Hamilton has been a water sport leader since the 1980s, natural process his repute as the king of big wave water sport when he conquered Tahiti's Teahupo'o Reef at its least precarious in Noble 2000. As an trailblazer, he pioneered many an new activities including kitesurfing, tow-in water sport and device construction. He's on the board of directors at H2O Audio, makers of pro-level seal iPhone and iPod cases, and has his ain key signature line of Surge seal earphones, yield of which square measure donated to the Beautiful Man-child foundation for autism education.
