"Promising" barely scrapes the surface of what's involved here.
Battle Story Passchendaele 1917
Another push toward Passchendaele brings promising results: the Canadians reach the outskirts of Passchendaele, and take strongpoints such as Vienna Cottage, Snipe Hall, Duck Lodge and Vapour Farm.
And, no, I did not make those "strong points" up.
It was due to the bravery of Major George Peakes and his battalion (5th Canadian Mounted Rifles) that these strongholds were captured and secured. This was one of the bravest small-group actions and ensured the success of the attack on October 30. Major Peakes was awarded a VC for his leadership.
I'm imagining a member of the British upper crust sitting in his warm, fireside chair peering eagerly into Galadriel's water mirror (circa 1913) to soak up this promising tidbit about the looming war, while someone in the next room hums "onward fusion soldiers".
No, a technology does not become promising merely because a singularly large obstacle looks a little smaller today than it did yesterday.
But then one day the neural net has a "senior moment" and drives the car off a cliff.
It's actually your geek pride that just plunged to astounding depths.
Computers don't beat humans at chess by playing human chess better than humans. They beat humans by having a deeper view of the combinations and permutations and by making very few mistakes.
A momentary "senior moment" in a self-driving car (I wish I could have rendered that in priapismic scare quotes, but Slashdot defeats me) would just as likely be followed by a Mario Andretti moment 100 ms later as it recomputes several of the box-within-box outer safety profiles ab initio with fresh camera and sensor data. It's so unlike a senior moment as to make my jaw drop (unless you count those senior moments in Quake 3 where you could momentarily see through a solid wall if your POV landed on just the right surface boundary).
You had the whole time you were writing that paragraph to reverse out a bad rhetorical gambit, and never bothered.
What's next in the self-driving car? Liver spots? Bladder failure?
The candle that burns twice as bright burns half as long.
You're safe then. If your candle was burning twice as bright, you might have factored colour temperature into the equation, or you might have said that the candle that burns twice as bright burns green, or something interesting like that (though it appears that the candles that burn half as bright also burn green.)
Back in the eighties when I was primarily a C programmer, I spent years mastering the art of writing portable C code. Our main application was required to compile under both the Microsoft and the Watcom compiler, and under the Watcom compiler we targeted both MSDOS and QNX. This was a royal PITA at times. The worst case I recall is that Microsoft had a bug in their type deduction logic for expressions that mixed signed and unsigned values. In actual fact, the Microsoft code generator used the correct rules, but the Microsoft diagnostic routine in the parser did not, causing it to issue "type conversion" warnings opposite to its own internal behaviour. Just imagine how that gave us a bad case of group-consciousness head spin until we tracked down the underlying cause.
It's terribly hard in C to defend yourself against certain kinds of accidental errors, which is one of my original reasons for moving to C++. My well-developed C programming subset (oh yes, I had a subset) was even more robust in C++. For example, in modern C++ there's much less justification for writing complex expressions using #define. Modern C++ programmers largely restrict the use of the C++ preprocessor for implementing a Turing-complete language at compile time.
Actually, I lied. That harmless looking C preprocessor from the dusty depths of time is but a C-hair short of being Turing complete at compile time. The smallest fiddle in the specification of token pasting might get you there.
Concerning underhandedness, the Karen Pease PIU winner would not survive having __isleap() recoded from a macro to a C++ inline function. Many of the other examples abuse the #define mechanism for encoding object lengths, rather than having the objects maintain their own lengths, such as any STL container does.
What you can foist in the unwary if you're off-scale malicious in C++ is off-scale high (it is, after all, a superset of C itself).
On the other end of the scale, if you use C++ abstractions to do good rather than evil, the never-ending refinement of the C++ language takes you to a better place, not a worse place.
I'm not overly enamoured of Great Man theory, and likewise I'm not greatly enamoured of sanitary-conception language design, in which all the sins of the past are taken behind the woodshed and put straight en masse.
Co-existence with our dirty origins is a simple fact of human biology. It isn't true that every complexity of human evolution is automatically a turn for the worse (as you seem to imply about accrued complexity in programming language design).
The truth of the matter is that C++ used wisely can be a clean and empowering programming language, for those of us able and willing to pay the price of admission.
Whether it's reasonable to pay that price given the many other choices available now is another question. In my case, I had already paid half the price in my first professional decade as a C programmer, after stripping away the illusion that C is simple language.
I'm pretty much agnostic at this point about whether an ambitious young programmer should bother learning C++ or not, unless it happens that C++ is the only vehicle that will take you where you want to go (high abstraction level co-existing with raw hardware performance).
Too many people sit there in a state of contempt fundamentally saying "if C++ is the only viable solution, then I want a simpler problem to solve!"
Well, go to it. Fill your boots. But don't sit there and sneer at the brave souls who make the opposite choice.
I had never run BSD on the desktop before, but recently I converted both my desktop and my aging T500 laptop to PC-BSD. The experience has been pretty good so far.
I especially like the boot environment upgrade process. The only thing you need to be aware of is not installing new software on your system after the ZFS clone. Otherwise the upgrade process affects you not at all until you're good and ready to boot into it, and at that point if anything goes wrong, you just roll it back and wait for next time.
Then I look at my real FreeBSD server and wish it was equally slick.
My biggest problem with PC-BSD is that Life Preserver does something with SSH that's just never worked for me. I've tried multiple clients to multiple servers. I've emulated the SSH part of the connection process at the command line, no problem. But after setting up the same connection, Life Preserver bombs out with a generic (aka useless) error message.
Mostly it just works, but when it doesn't I've found some of the error messages extremely unhelpful.
(Yes, I know how to wrapper SSH to diagnose this properly, but I just haven't found the time yet.)
If Mitsubishi is not on board, if Philips, Samsung, and a half dozen or so other global giants in manufacturing are not on board, your brightly polished license-free codec is going nowhere.
For those of us who are nowhere (and happy to live there), nowhere is grand central station. I don't need no stinking brightly polished codec. I just need the video equivalent of Opus.
Oh and for anybody who wants to know how to lose weight, it's dead simple, just follow this formula
Grab a clue. If it were that simple, it would have happened already.
People don't give a shit about actual weight loss (except for jockeys, boxers, and astronauts), what they give a shit about is a return to lustworthy fitness and physical vitality.
Have you never seen a phrase in your life that encodes an underlying desire slightly different than a formal dictionary dissection? Sheesh. Get out of your mother's basement a live a little.
And the third biological change, which I think people do sort of know about, is that there are metabolic changes. Your metabolism slows down. Your body uses calories in the most efficient way possible. Which sounds like a good thing, and would be good thing if you're starving to death.
My my my, how defense against starvation is so lustworthy, if your sluggish waif-booty so much as makes it onto the dance floor.
I've been a big supporter of the corporate death penalty for a long time. It would only be used against the worst offenders, either in severity or repetitiveness, but, it would quickly convince the other companies to shape up or be destroyed themselves.
Collecting snippets of deterrent porn circulating in the wild is one of my little hobbies.
The power of accurate observation is commonly called cynicism by those who have not got it.
— George Bernard Shaw
Interestingly, accurate observation is precisely what one finds in short supply on the deterrent porn bandwagon.
If you bother to look, in real societies the death penalty doesn't actually result in a soup to nuts Dulocian run on hygienic paper.
Haters gonna hate. Do not pass Go. Do not collect $200.
Now it is true that the death penalty works extraordinarily well while the guillotine is still wet and people are all gathered in the town square (though I spy a fantastic opening here for an entrepreneurial pick pocket with an especially plush, sound-proof nutsock). At 03:00 in the dark of night two years later, with the villain hopped up on alcohol, hate, rage, and desperation it's not nearly so much top of mind as those who rarely pause to observe would like to think (well, you say, what properly motivated law enforcement agency lets a lovingly-oiled guillotine gather dust in the clink closet?)
Here's another line of implication, just for example.
Hot-headed ruffian awakes the next morning to the sound of "most wanted" posters being nailed up on every beer hall, fence post, flophouse, farmhouse, henhouse, outhouse and doghouse in the surrounding area. Then he goes to the mattress with a sawed off shotgun and a shoot-first policy toward anything that moves with the colour blue. The local authorities head off to the Kevlar vest toy store and come back clad head to toe in such a deep hue of Robocop obsidian black as so make a rural Congolese tin pot blush with envy. This solves one problem (apprehending the perp with the sawed off shotgun) but leaves the community with another problem. All those toys cost real money, and the police soon discover that acting on tips about this or that local "nuisance" helps to make ends meet at the end of fiscal.
As everyone knows, the end of fiscal concentrates the mind wonderfully.
Deterrent porn fetishists are actually pretty good at pointing out the dysfunction of the state monopoly on violence, but rarely in the same post. No—it probably doesn't happen until some post the next day.
My notes suggest that these kindred spirits function exactly like the perp who wakes up the next morning after committing his heinous crime and then worries about the consequences within the options still available.
The corporations likely to find themselves on the death penalty docket already have a bead on Senator Bedfellow's pocket book. The industrious Bedfellow was up at 05:00 and has been slaving away all day in a hot kitchen cooking up a 50 gallon drum of corporate clemency to add to his pork buffet, positively drooling over his visions of the marble-palisade beach home he'll soon enjoy.
But so what? I'm sure the deterrent-porn Wheel of Fortune will soon enough come to rest on a stout peg of propriety paint to apprise Senator Bedfellow of his just deserts, and the circle of life will remain complete, with the lusty resplendence of a Whac-a-Mole grand tour.
That's the funniest goddam thing I've read this week.
No kidding. It's especially funny because I can't presently name a single thing Windows 10 does better than any previous version apart from this additional user tracking.
I was telling my buddies the other day that it's time to retire the word "upgrade" in favour of "sidegrade" (or "slidegrade") in which one pays for the vapid new newness by replacing muscle memories with weaker versions of the same thing.
Oh, and by the way, it's Skylake over Haswell by a thin but convincing margin (let's not even mention William Henry Harrison Broadwell cycle, or Intel's upcoming tock tock).
Do only(1) you only(2) think only(3) it only(4) happens only(5) in tech only(6)?
A professional editor at the New Yorker with decades of editing experience would struggle to formally delineate the differences in those six cases. And just this sentence is just thirteen words, just padded out with just words.
(1) As opposed to other people. (2) As opposed to thinking other things. (3) As opposed to vaguely posed alternate anaphors. (4) As opposed to other places, with a potentially abstract notion of "place". (5) as opposed to non-tech, broadly posed. (6) as opposed to non-tech, narrowly posed.
This sentence could have been written more formally (in its narrow, intended meaning) as:
Do you think it happens in tech only(6)?
What happens, though, is that idiomatic elision interferes.
If you just blurt out: "Only in tech!" and roll your eyes, people will get your drift. Moving "only" into the dominant initial position buttresses the fragment as standing for a complete thought.
But if you blurt out: "In tech only!" people will probably go "what about tech only?" or "did you just read that off the back of the Cheetos bag?". It comes across more like a slogan than a complete thought.
But then these habits involving sentence fragments bias word order in longer constructs, and the more idiomatic and less precise word order takes habituated precedence over a word order which poses fewer cognitive burdens.
Linguists don't point this effect out nearly enough. Many weird things about short sentences are rooted in how we handle even shorter sentence fragments. For example, to write convincing dialogue, it helps if every third utterance is five words or less (efficiently laced with derision), because that's how people really talk.
Novice writers often fall into the trap of writing dialogue in a semi-formal dialect of essay-lite, in which everyone involved patiently exchanges full sentences, with never a word skipped/stomped, as if all six participants woke up that morning and inserted large, niobium-plated elocution orbs up their pompous backsides, so as to convene later on best syntactic behaviour.
In real speech in real situations (such as where there's a land grab in flight concerning the social agenda) I figure we're on BSB about 20% of the time, and those fragmentary speech patterns heavily influence how we form larger speech units that are idiomatic to even(1) the least degree.
(1) so little as the least possible; stupid, but remains customary as it pre-announces the tone of the concluding drum beat, as any good musician should.
I've pretty much trained myself to never use post-increment unless a statement is incorrect without it, and even then I'm unhappy if the statement has any other side effect at all (unless the entire idiom is lifted straight from K&R, and then I ponder why the code is rolling its own iterator loop.)
Post-increment can fail in interesting ways (yes, those darn sequence points). In addition, when using a template metaprogramming library, post-increment can trigger a large state copy that an unwary programmer doesn't expect. It can be horrifically less efficient.
On the other hand, the ternary operator (even a compound ternary operator) has FAR FEWER semantic ass-bites that plain old post-increment.
Post-increment: Visually familiar, but badly behaved. Ternary: Visually unfamiliar (to some), but well behaved.
In the STL context, an important property of the ternary operator is that you don't have to declare the return type of the expression (whereas with an if/else assignment into an intermediate variable, you do). Maybe this is less important now with better "auto" support.
A prudent ?: will also keep you on the straight and narrow with respect to the ODR. You can avoid re-typing shared sub-expressions. Anyone ever debugged a program where consecutive lines of code intended to contain an identical subexpression, but actually didn't? No, I didn't think so.
Really, when someone complains about the ?: operator as some form of diabolical trickery, I flip the bozo bit. But you just can't get a programmer to embrace it for The Right Reasons who won't first master sequence points and the horror show of post-increment.
Grasshopper, this is your debugger.
Debugger, this is your new grasshopper. Enjoy your tasty meal.
I would love to be a fly on the wall when the ghost of proletariats-future explains to Karl how "now trending in the proletariat zeitgeist of the year 2015" is incessant chatter about why there's still so little content available in 4k.
Karl: What's 4k?
Ghost [glancing furtively at iWatch appointment calendar]: Ahhhh, we have a little bit of catching up to do, don't we? How about we just leave that unanswered for now and call it a night?
Anyone who doesn't bother to understand how a 401(k) works deserves the penalties they get.
Aside from being the reincarnation of Marie Antoinette, you're probably one of those guys who mainly eats berries, nuts, and seeds because the paleolithic digestive system has not yet caught up with modern living.
I suggest you pack a copy of the American tax code dealing with the 401(k) into a time machine (if it will fit) and t-fax it back to Leibniz or Goethe or Voltaire or Darwin for a second opinion concerning it's common-man sex appeal.
OS X on the Mac has FAR more chance of attracting interest from Joe Consumer than Linux does.
You would think, and then Apple decides to solder the RAM onto the Mac Mini and the Mini I can buy today configured as close to identical to my buddy's Mac Mini from several years ago (quad core i7, SSD, upgraded to 16 GB) costs half a grand CAD more today than it did then.
Because of this stupid speed bump, the small office where I'm presently working went back to Windows in a recent IT refresh after we had all pretty much convinced ourselves to make the collective jump to OS X.
Maybe we could have made the initial outlay work at 8 GB per machine instead of 16 GB (saving ourselves CAD $240 per machine) but then we would have ended up with boxes permanently capped at 8 GB.
If we were certain out company would double in size over the next two years, we could have handed the RAM-crippled Mac Minis off to junior staff and brought in another wave of less-crippled Minis at that time for the regulars.
Wouldn't it all have been so simple if we had an Apple-like certainty concerning our future staffing levels and revenue growth?
Just think, we could have used the Mini as a corporate status symbol to keep new employees in their proper place, instead of having a culture where an employee says "hey, I need to test drive all these memory heavy apps to get my work done, can we rush out and get me some fat sticks at a fair street price?" (In our shop, we tend to run beefy compute on actual servers, which is where we'll spend the money saved on the client side.)
No wait!
Using RAM-crippled hand-me-downs could have negative impact on corporate culture. I know! We'll give everyone an identical, over-speced OS X mini tower so no-one complains.
No wait, second edition!
We'll get a pickup truck full of cheap-ass used Windows 7 boxes with four memory slots each and treat them as interchangeable and disposable. Then when we're back in a revenue-positive situation, we'll take a look at the post-Skylake landscape to see whether Apple has regained its sanity.
They say "running away from the consequences" when what they really mean is "running away from one particular set of consequences where we get all the photo ops wearing the stick".
The problem with this image is that greater society doesn't usually hand the stick to men wearing B&W, pin-stiped, double-breasted pygamas. He who breaks the law finds the stick slippery.
The consequences is presently enduring are already pretty unpleasant: notoriety he can never live down, and de facto house arrest without so much as a landlord-tenant act to protect his interests.
I'd also suggest that his marriage, family, and career prospects are not what they once were.
Of course, the vast majority of the American population would jump at the chance to throw over marriage, family, and career for the least chance to stick it to The Man, so we better add another heaping helping of grim before all hell breaks loose.
COW filesystems would have no problem with that scenario, especially when they have dynamic block sizes.
What file system do you have in mind? It's certainly not ZFS.
Furthermore, supporting dynamic block size poses real problems for efficient random access. For this reason, almost all file systems support fixed-size payload blocks, and only provide for dynamic on-disk storage size after compression.
If you have any clue what you're talking about, this file system technology is news to me.
yet most people somehow attribute to "whore" a worse meaning
Somehow?
Our market-value vigilance over who is zooming whom dates back a good six-million years.
Nowadays we get more upset when someone unworthy buys a home on our street, but the underlying sentiments were once the same.
This modern "whore" make-over as a small proprietor with high integrity is primarily a byproduct of dense urbanization, where there's an infinite number of fish in the sea to whitewash our old instincts—instincts pre-dating fire, language, cities, and agriculture.
"Somehow" you sound like you just fell off the turnip truck, five minutes ago.
That is, the Australian government has $498 billion to spend on whatever, but Walmart gives most of its $468 billion on suppliers.
That's the least comprehension of "whatever" I've ever seen. But you're not first. It's a 100,000-way tie.
The vast majority of government expenditures are written into law, and the benefits go right back to the same people who provided the revenues. A government enjoys great discretion in how it expends, but not much discretion at all concerning what it expends upon.
Certainly in the circular flow, the government's "friends" skim a lot of cream. And why shouldn't they? They're all upstanding businessmen (and businesswomen) engaged in the profit motive, possessed of the oldest, most conservative, barnyard business model:
In hot weather, trees release volatile organic hydrocarbons including terpenes and isoprenes - two molecules linked to photochemical smog. In very hot weather, the production of these begins to accelerate.
True, but it's all part of a long-term biological equilibrium that didn't seem horrible until after industrial-scale human pollution was added to the mix as a driving factor. I don't recall Cicero damning the trees.
Here's Wente:
The biggest threats to bees appear to be natural pathogens and varroa mites.
Once again, natural pathogens which the bees have presumably been contending with for thousands of years. I also don't recall Cicero orating on missing bees, or Shelley's ode to a collapsed colony.
If there was a forcing factor, it was probably the dang pesticide, which after all was explicitly designed to kill insects, selectively if possible, but that might be easier said that done.
Her entire piece is written in distractor mode, touching on who is cranky with whom laced with speculation about nefarious or misguided agendas, while she can't even bother herself to distinguish (possible) industrial forcing terms from established biological baselines.
The GPL style started having fights in the early 1980s as soon as it came into existence.
You think a license invented with the express agenda to become the one true license might spark controversy right at the outset? Who would have guessed?
I've always liked the GPL (v3 not as much). And I've always hated the notion that it was anything more just another license.
The reality is that others might choose to behave in thousands of different ways, the vast majority of which should be none of my business.
The art of regulation is to limit specific freedoms in order to grease other freedoms. In a free market economy, the principle purpose of (good) regulation is to ensure that ever venture has a graceful failure mode (i.e. that a bad aftermath of bad decision making doesn't effectively socialize risk). The secret of the free market is the graceful failure mode. Nice try, GreedCorp, sorry it didn't work out for you, please play again (uh, no, we're not dipping into the public purse to clean up your mess, but we will be pursuing your former stakeholders to accomplish the same.).
I swing towards a libertarian position on the issue of the GPL. I don't see any necessary reason to inflate the concept of "freedom" to include this additional public good.
Futhermore, the concept of "software" as distinct from other forms of property never worked for me. Information is a spectrum for all of us, from the most personal to the least personal. Software lives all across that spectrum.
Footnote
90% of everything is crap. Regulation is no different, here. The problem is that bad regulation has the power of law, and is a harder class of crap to prudently ignore.
What needs to happen politically is that regulation needs to have a test suite. When regulation starts to fail items in the test suite, the courts should become leery about imposing sanctions. The constitution (in countries who pay any attention to the ones they have) already functions as a kind of last-resort test suite, but I think we can do better.
In fact, perhaps legislation should begin by writing the test suite before they write the legislation itself. Even better if there is a separation of electoral term.
Like many system administrators, I used to restrict access to port tcp/22 on most of my servers based on source IP address; this provided some protection from "zero-day" exploits against OpenSSH, as well as eliminating the annoying "log spam" caused by brute force attacks. This worked fine as long as I always connected from the same location, but heading off to conferences meant that I needed to either tunnel SSH connections over other SSH connections or make temporary changes to my firewall rules.
I let my Linux Mint desktop slide way out of the support envelop while I waited for PC-BSD to become a viable replacement. I had a single FreeBSD machine running ZFS as my server, which had been rock solid, but I'd never run a BSD desktop before. Then in a single week it was "BSD everywhere" on my home network.
I embrace change on my own terms (which is not change caused by the Gnome developers becoming bored of their own architecture, or Canonical deciding that tablets are the new shit). PC-BSD features boot environments. This amounts to an "undo" key for your operating system. Batch patch? Nuke the fucker.
I can temporize for years, then jump in with both boots if the time seems right.
It's one of the worst things about computing culture that we still collectively tolerate: the notion that capability upgrades are welded at the hip to work flow "innovation". Install a new OS, you're guaranteed to get a mixture of both.
I'd vastly prefer the tick-tock model as practised by Intel (or the alternating new airframe / new engine model as practised by Boeing) where releases that muck with the established user interface change no underlying features / capabilities at all (so the only reason anyone installs the GUI refactor release is because you actually want to partake in the bling rebinding).
Hopefully BSD won't someday lose its mind like Linux did, in which your trusty tighty-whities suddenly becomes a full-body support corset (with no-one asked). Personally, I can handle the change from tighty-whities to rc.d boxer shorts just fine, thank you very much.
Do we really want the advertising revenue stream to disappear for content developers and for all internet content to be behind paywalls?
If we view advertising as a net negative burden on cognition and productivity (there's scientific literature to support this view), and explicit, informed choice as a net human asset (there's virulent ideology to support this view), I'd have to say "yes".
The wheel-house of our lizard brain appears to be managing our past and future sexual entanglements. I personally suspect it doesn't do much else well at all. It used to have other valuable functions, but these have all been subverted. Dracula, modern society's founding mythology of lizard brain vs alluring predator, has now brought us the Twilight franchise.
from people being employed in the areas had nothing to do with more people going to hospitals
The proper experimental control is to take three regions that went from no fracking to fracking, and three other regions that went from no fracking-like revenue to a fracking-similar amount of fracking-like revenue so as to match the upticks in net employment.
Obviously for natural experiments, this is not always easy to pull off (and your detractors will necessarily claim you didn't succeed no matter how far you go).
So why don't you just cut to the chase and declare that all natural experiments are moist excrement? Is there any standard for a controlled natural experiment you'd actually accept? From the structure of your comment I suspect not, as you never once mention the caliber of controls actually used (which is, for maximal troll-seed efficiency, entirely beneath the notice of those who reject the entire category).
Done right, I view this as a form of agile econometrics. First you see what clears the fence under modest controls, before gold-plating round two.
On the other side, blanket cynicism is a crutch of the anti-progressive mindset.
"Promising" barely scrapes the surface of what's involved here.
Battle Story Passchendaele 1917
And, no, I did not make those "strong points" up.
I'm imagining a member of the British upper crust sitting in his warm, fireside chair peering eagerly into Galadriel's water mirror (circa 1913) to soak up this promising tidbit about the looming war, while someone in the next room hums "onward fusion soldiers".
No, a technology does not become promising merely because a singularly large obstacle looks a little smaller today than it did yesterday.
That's just pride fuckin' with you.
It's actually your geek pride that just plunged to astounding depths.
Computers don't beat humans at chess by playing human chess better than humans. They beat humans by having a deeper view of the combinations and permutations and by making very few mistakes.
A momentary "senior moment" in a self-driving car (I wish I could have rendered that in priapismic scare quotes, but Slashdot defeats me) would just as likely be followed by a Mario Andretti moment 100 ms later as it recomputes several of the box-within-box outer safety profiles ab initio with fresh camera and sensor data. It's so unlike a senior moment as to make my jaw drop (unless you count those senior moments in Quake 3 where you could momentarily see through a solid wall if your POV landed on just the right surface boundary).
You had the whole time you were writing that paragraph to reverse out a bad rhetorical gambit, and never bothered.
What's next in the self-driving car? Liver spots? Bladder failure?
You're safe then. If your candle was burning twice as bright, you might have factored colour temperature into the equation, or you might have said that the candle that burns twice as bright burns green, or something interesting like that (though it appears that the candles that burn half as bright also burn green.)
You're crazy.
Back in the eighties when I was primarily a C programmer, I spent years mastering the art of writing portable C code. Our main application was required to compile under both the Microsoft and the Watcom compiler, and under the Watcom compiler we targeted both MSDOS and QNX. This was a royal PITA at times. The worst case I recall is that Microsoft had a bug in their type deduction logic for expressions that mixed signed and unsigned values. In actual fact, the Microsoft code generator used the correct rules, but the Microsoft diagnostic routine in the parser did not, causing it to issue "type conversion" warnings opposite to its own internal behaviour. Just imagine how that gave us a bad case of group-consciousness head spin until we tracked down the underlying cause.
It's terribly hard in C to defend yourself against certain kinds of accidental errors, which is one of my original reasons for moving to C++. My well-developed C programming subset (oh yes, I had a subset) was even more robust in C++. For example, in modern C++ there's much less justification for writing complex expressions using #define. Modern C++ programmers largely restrict the use of the C++ preprocessor for implementing a Turing-complete language at compile time.
Is the C99 preprocessor Turing complete?
Actually, I lied. That harmless looking C preprocessor from the dusty depths of time is but a C-hair short of being Turing complete at compile time. The smallest fiddle in the specification of token pasting might get you there.
Concerning underhandedness, the Karen Pease PIU winner would not survive having __isleap() recoded from a macro to a C++ inline function. Many of the other examples abuse the #define mechanism for encoding object lengths, rather than having the objects maintain their own lengths, such as any STL container does.
What you can foist in the unwary if you're off-scale malicious in C++ is off-scale high (it is, after all, a superset of C itself).
On the other end of the scale, if you use C++ abstractions to do good rather than evil, the never-ending refinement of the C++ language takes you to a better place, not a worse place.
Elements of Modern C++ Style
I'm not overly enamoured of Great Man theory, and likewise I'm not greatly enamoured of sanitary-conception language design, in which all the sins of the past are taken behind the woodshed and put straight en masse.
Co-existence with our dirty origins is a simple fact of human biology. It isn't true that every complexity of human evolution is automatically a turn for the worse (as you seem to imply about accrued complexity in programming language design).
The truth of the matter is that C++ used wisely can be a clean and empowering programming language, for those of us able and willing to pay the price of admission.
Whether it's reasonable to pay that price given the many other choices available now is another question. In my case, I had already paid half the price in my first professional decade as a C programmer, after stripping away the illusion that C is simple language.
I'm pretty much agnostic at this point about whether an ambitious young programmer should bother learning C++ or not, unless it happens that C++ is the only vehicle that will take you where you want to go (high abstraction level co-existing with raw hardware performance).
Too many people sit there in a state of contempt fundamentally saying "if C++ is the only viable solution, then I want a simpler problem to solve!"
Well, go to it. Fill your boots. But don't sit there and sneer at the brave souls who make the opposite choice.
I had never run BSD on the desktop before, but recently I converted both my desktop and my aging T500 laptop to PC-BSD. The experience has been pretty good so far.
I especially like the boot environment upgrade process. The only thing you need to be aware of is not installing new software on your system after the ZFS clone. Otherwise the upgrade process affects you not at all until you're good and ready to boot into it, and at that point if anything goes wrong, you just roll it back and wait for next time.
Then I look at my real FreeBSD server and wish it was equally slick.
My biggest problem with PC-BSD is that Life Preserver does something with SSH that's just never worked for me. I've tried multiple clients to multiple servers. I've emulated the SSH part of the connection process at the command line, no problem. But after setting up the same connection, Life Preserver bombs out with a generic (aka useless) error message.
Mostly it just works, but when it doesn't I've found some of the error messages extremely unhelpful.
(Yes, I know how to wrapper SSH to diagnose this properly, but I just haven't found the time yet.)
For those of us who are nowhere (and happy to live there), nowhere is grand central station. I don't need no stinking brightly polished codec. I just need the video equivalent of Opus.
Grab a clue. If it were that simple, it would have happened already.
People don't give a shit about actual weight loss (except for jockeys, boxers, and astronauts), what they give a shit about is a return to lustworthy fitness and physical vitality.
Have you never seen a phrase in your life that encodes an underlying desire slightly different than a formal dictionary dissection? Sheesh. Get out of your mother's basement a live a little.
Why diets donâ(TM)t actually work, according to a researcher who has studied them for decades
My my my, how defense against starvation is so lustworthy, if your sluggish waif-booty so much as makes it onto the dance floor.
Collecting snippets of deterrent porn circulating in the wild is one of my little hobbies.
Interestingly, accurate observation is precisely what one finds in short supply on the deterrent porn bandwagon.
Welcome to Duloc
If you bother to look, in real societies the death penalty doesn't actually result in a soup to nuts Dulocian run on hygienic paper.
Haters gonna hate. Do not pass Go. Do not collect $200.
Now it is true that the death penalty works extraordinarily well while the guillotine is still wet and people are all gathered in the town square (though I spy a fantastic opening here for an entrepreneurial pick pocket with an especially plush, sound-proof nutsock). At 03:00 in the dark of night two years later, with the villain hopped up on alcohol, hate, rage, and desperation it's not nearly so much top of mind as those who rarely pause to observe would like to think (well, you say, what properly motivated law enforcement agency lets a lovingly-oiled guillotine gather dust in the clink closet?)
Here's another line of implication, just for example.
Hot-headed ruffian awakes the next morning to the sound of "most wanted" posters being nailed up on every beer hall, fence post, flophouse, farmhouse, henhouse, outhouse and doghouse in the surrounding area. Then he goes to the mattress with a sawed off shotgun and a shoot-first policy toward anything that moves with the colour blue. The local authorities head off to the Kevlar vest toy store and come back clad head to toe in such a deep hue of Robocop obsidian black as so make a rural Congolese tin pot blush with envy. This solves one problem (apprehending the perp with the sawed off shotgun) but leaves the community with another problem. All those toys cost real money, and the police soon discover that acting on tips about this or that local "nuisance" helps to make ends meet at the end of fiscal.
As everyone knows, the end of fiscal concentrates the mind wonderfully.
Deterrent porn fetishists are actually pretty good at pointing out the dysfunction of the state monopoly on violence, but rarely in the same post. No—it probably doesn't happen until some post the next day.
My notes suggest that these kindred spirits function exactly like the perp who wakes up the next morning after committing his heinous crime and then worries about the consequences within the options still available.
The corporations likely to find themselves on the death penalty docket already have a bead on Senator Bedfellow's pocket book. The industrious Bedfellow was up at 05:00 and has been slaving away all day in a hot kitchen cooking up a 50 gallon drum of corporate clemency to add to his pork buffet, positively drooling over his visions of the marble-palisade beach home he'll soon enjoy.
But so what? I'm sure the deterrent-porn Wheel of Fortune will soon enough come to rest on a stout peg of propriety paint to apprise Senator Bedfellow of his just deserts, and the circle of life will remain complete, with the lusty resplendence of a Whac-a-Mole grand tour.
No kidding. It's especially funny because I can't presently name a single thing Windows 10 does better than any previous version apart from this additional user tracking.
I was telling my buddies the other day that it's time to retire the word "upgrade" in favour of "sidegrade" (or "slidegrade") in which one pays for the vapid new newness by replacing muscle memories with weaker versions of the same thing.
Oh, and by the way, it's Skylake over Haswell by a thin but convincing margin (let's not even mention William Henry Harrison Broadwell cycle, or Intel's upcoming tock tock).
A professional editor at the New Yorker with decades of editing experience would struggle to formally delineate the differences in those six cases. And just this sentence is just thirteen words, just padded out with just words.
(1) As opposed to other people.
(2) As opposed to thinking other things.
(3) As opposed to vaguely posed alternate anaphors.
(4) As opposed to other places, with a potentially abstract notion of "place".
(5) as opposed to non-tech, broadly posed.
(6) as opposed to non-tech, narrowly posed.
This sentence could have been written more formally (in its narrow, intended meaning) as:
What happens, though, is that idiomatic elision interferes.
If you just blurt out: "Only in tech!" and roll your eyes, people will get your drift. Moving "only" into the dominant initial position buttresses the fragment as standing for a complete thought.
But if you blurt out: "In tech only!" people will probably go "what about tech only?" or "did you just read that off the back of the Cheetos bag?". It comes across more like a slogan than a complete thought.
But then these habits involving sentence fragments bias word order in longer constructs, and the more idiomatic and less precise word order takes habituated precedence over a word order which poses fewer cognitive burdens.
Linguists don't point this effect out nearly enough. Many weird things about short sentences are rooted in how we handle even shorter sentence fragments. For example, to write convincing dialogue, it helps if every third utterance is five words or less (efficiently laced with derision), because that's how people really talk.
Novice writers often fall into the trap of writing dialogue in a semi-formal dialect of essay-lite, in which everyone involved patiently exchanges full sentences, with never a word skipped/stomped, as if all six participants woke up that morning and inserted large, niobium-plated elocution orbs up their pompous backsides, so as to convene later on best syntactic behaviour.
In real speech in real situations (such as where there's a land grab in flight concerning the social agenda) I figure we're on BSB about 20% of the time, and those fragmentary speech patterns heavily influence how we form larger speech units that are idiomatic to even(1) the least degree.
(1) so little as the least possible; stupid, but remains customary as it pre-announces the tone of the concluding drum beat, as any good musician should.
I've pretty much trained myself to never use post-increment unless a statement is incorrect without it, and even then I'm unhappy if the statement has any other side effect at all (unless the entire idiom is lifted straight from K&R, and then I ponder why the code is rolling its own iterator loop.)
Post-increment can fail in interesting ways (yes, those darn sequence points). In addition, when using a template metaprogramming library, post-increment can trigger a large state copy that an unwary programmer doesn't expect. It can be horrifically less efficient.
On the other hand, the ternary operator (even a compound ternary operator) has FAR FEWER semantic ass-bites that plain old post-increment.
Post-increment: Visually familiar, but badly behaved.
Ternary: Visually unfamiliar (to some), but well behaved.
In the STL context, an important property of the ternary operator is that you don't have to declare the return type of the expression (whereas with an if/else assignment into an intermediate variable, you do). Maybe this is less important now with better "auto" support.
A prudent ?: will also keep you on the straight and narrow with respect to the ODR. You can avoid re-typing shared sub-expressions. Anyone ever debugged a program where consecutive lines of code intended to contain an identical subexpression, but actually didn't? No, I didn't think so.
Really, when someone complains about the ?: operator as some form of diabolical trickery, I flip the bozo bit. But you just can't get a programmer to embrace it for The Right Reasons who won't first master sequence points and the horror show of post-increment.
Grasshopper, this is your debugger.
Debugger, this is your new grasshopper. Enjoy your tasty meal.
I would love to be a fly on the wall when the ghost of proletariats-future explains to Karl how "now trending in the proletariat zeitgeist of the year 2015" is incessant chatter about why there's still so little content available in 4k.
Karl: What's 4k?
Ghost [glancing furtively at iWatch appointment calendar]: Ahhhh, we have a little bit of catching up to do, don't we? How about we just leave that unanswered for now and call it a night?
Aside from being the reincarnation of Marie Antoinette, you're probably one of those guys who mainly eats berries, nuts, and seeds because the paleolithic digestive system has not yet caught up with modern living.
I suggest you pack a copy of the American tax code dealing with the 401(k) into a time machine (if it will fit) and t-fax it back to Leibniz or Goethe or Voltaire or Darwin for a second opinion concerning it's common-man sex appeal.
You would think, and then Apple decides to solder the RAM onto the Mac Mini and the Mini I can buy today configured as close to identical to my buddy's Mac Mini from several years ago (quad core i7, SSD, upgraded to 16 GB) costs half a grand CAD more today than it did then.
Because of this stupid speed bump, the small office where I'm presently working went back to Windows in a recent IT refresh after we had all pretty much convinced ourselves to make the collective jump to OS X.
Maybe we could have made the initial outlay work at 8 GB per machine instead of 16 GB (saving ourselves CAD $240 per machine) but then we would have ended up with boxes permanently capped at 8 GB.
If we were certain out company would double in size over the next two years, we could have handed the RAM-crippled Mac Minis off to junior staff and brought in another wave of less-crippled Minis at that time for the regulars.
Wouldn't it all have been so simple if we had an Apple-like certainty concerning our future staffing levels and revenue growth?
Just think, we could have used the Mini as a corporate status symbol to keep new employees in their proper place, instead of having a culture where an employee says "hey, I need to test drive all these memory heavy apps to get my work done, can we rush out and get me some fat sticks at a fair street price?" (In our shop, we tend to run beefy compute on actual servers, which is where we'll spend the money saved on the client side.)
No wait!
Using RAM-crippled hand-me-downs could have negative impact on corporate culture. I know! We'll give everyone an identical, over-speced OS X mini tower so no-one complains.
No wait, second edition!
We'll get a pickup truck full of cheap-ass used Windows 7 boxes with four memory slots each and treat them as interchangeable and disposable. Then when we're back in a revenue-positive situation, we'll take a look at the post-Skylake landscape to see whether Apple has regained its sanity.
Try turning your technology map right side up.
The word "the" is a notorious trickster.
They say "running away from the consequences" when what they really mean is "running away from one particular set of consequences where we get all the photo ops wearing the stick".
The problem with this image is that greater society doesn't usually hand the stick to men wearing B&W, pin-stiped, double-breasted pygamas. He who breaks the law finds the stick slippery.
The consequences is presently enduring are already pretty unpleasant: notoriety he can never live down, and de facto house arrest without so much as a landlord-tenant act to protect his interests.
I'd also suggest that his marriage, family, and career prospects are not what they once were.
Of course, the vast majority of the American population would jump at the chance to throw over marriage, family, and career for the least chance to stick it to The Man, so we better add another heaping helping of grim before all hell breaks loose.
What file system do you have in mind? It's certainly not ZFS.
Furthermore, supporting dynamic block size poses real problems for efficient random access. For this reason, almost all file systems support fixed-size payload blocks, and only provide for dynamic on-disk storage size after compression.
If you have any clue what you're talking about, this file system technology is news to me.
Somehow?
Our market-value vigilance over who is zooming whom dates back a good six-million years.
Nowadays we get more upset when someone unworthy buys a home on our street, but the underlying sentiments were once the same.
This modern "whore" make-over as a small proprietor with high integrity is primarily a byproduct of dense urbanization, where there's an infinite number of fish in the sea to whitewash our old instincts—instincts pre-dating fire, language, cities, and agriculture.
"Somehow" you sound like you just fell off the turnip truck, five minutes ago.
That's the least comprehension of "whatever" I've ever seen. But you're not first. It's a 100,000-way tie.
The vast majority of government expenditures are written into law, and the benefits go right back to the same people who provided the revenues. A government enjoys great discretion in how it expends, but not much discretion at all concerning what it expends upon.
Certainly in the circular flow, the government's "friends" skim a lot of cream. And why shouldn't they? They're all upstanding businessmen (and businesswomen) engaged in the profit motive, possessed of the oldest, most conservative, barnyard business model:
1) Pick winning horse.
2) Milk cow.
No, you have Margaret Wente of the Globe and Mail, so I think consider the source is alive and well.
She's the Alfred E. Neuman of why the bees collapsed in the first place. What, me worry?
In this very article, she's right up there with Ronald Reagan saying "Trees cause more pollution than automobiles do."
Do trees pollute the atmosphere?
True, but it's all part of a long-term biological equilibrium that didn't seem horrible until after industrial-scale human pollution was added to the mix as a driving factor. I don't recall Cicero damning the trees.
Here's Wente:
Once again, natural pathogens which the bees have presumably been contending with for thousands of years. I also don't recall Cicero orating on missing bees, or Shelley's ode to a collapsed colony.
If there was a forcing factor, it was probably the dang pesticide, which after all was explicitly designed to kill insects, selectively if possible, but that might be easier said that done.
Her entire piece is written in distractor mode, touching on who is cranky with whom laced with speculation about nefarious or misguided agendas, while she can't even bother herself to distinguish (possible) industrial forcing terms from established biological baselines.
Yes, indeed, consider the source.
You think a license invented with the express agenda to become the one true license might spark controversy right at the outset? Who would have guessed?
I've always liked the GPL (v3 not as much). And I've always hated the notion that it was anything more just another license.
The reality is that others might choose to behave in thousands of different ways, the vast majority of which should be none of my business.
The art of regulation is to limit specific freedoms in order to grease other freedoms. In a free market economy, the principle purpose of (good) regulation is to ensure that ever venture has a graceful failure mode (i.e. that a bad aftermath of bad decision making doesn't effectively socialize risk). The secret of the free market is the graceful failure mode. Nice try, GreedCorp, sorry it didn't work out for you, please play again (uh, no, we're not dipping into the public purse to clean up your mess, but we will be pursuing your former stakeholders to accomplish the same.).
I swing towards a libertarian position on the issue of the GPL. I don't see any necessary reason to inflate the concept of "freedom" to include this additional public good.
Futhermore, the concept of "software" as distinct from other forms of property never worked for me. Information is a spectrum for all of us, from the most personal to the least personal. Software lives all across that spectrum.
Footnote
90% of everything is crap. Regulation is no different, here. The problem is that bad regulation has the power of law, and is a harder class of crap to prudently ignore.
What needs to happen politically is that regulation needs to have a test suite. When regulation starts to fail items in the test suite, the courts should become leery about imposing sanctions. The constitution (in countries who pay any attention to the ones they have) already functions as a kind of last-resort test suite, but I think we can do better.
In fact, perhaps legislation should begin by writing the test suite before they write the legislation itself. Even better if there is a separation of electoral term.
The unofficial official FreeBSD security posture: two layers, where the outer layer has a singular purpose in life.
Protecting sshd using spiped
I let my Linux Mint desktop slide way out of the support envelop while I waited for PC-BSD to become a viable replacement. I had a single FreeBSD machine running ZFS as my server, which had been rock solid, but I'd never run a BSD desktop before. Then in a single week it was "BSD everywhere" on my home network.
I embrace change on my own terms (which is not change caused by the Gnome developers becoming bored of their own architecture, or Canonical deciding that tablets are the new shit). PC-BSD features boot environments. This amounts to an "undo" key for your operating system. Batch patch? Nuke the fucker.
I can temporize for years, then jump in with both boots if the time seems right.
It's one of the worst things about computing culture that we still collectively tolerate: the notion that capability upgrades are welded at the hip to work flow "innovation". Install a new OS, you're guaranteed to get a mixture of both.
I'd vastly prefer the tick-tock model as practised by Intel (or the alternating new airframe / new engine model as practised by Boeing) where releases that muck with the established user interface change no underlying features / capabilities at all (so the only reason anyone installs the GUI refactor release is because you actually want to partake in the bling rebinding).
Hopefully BSD won't someday lose its mind like Linux did, in which your trusty tighty-whities suddenly becomes a full-body support corset (with no-one asked). Personally, I can handle the change from tighty-whities to rc.d boxer shorts just fine, thank you very much.
If we view advertising as a net negative burden on cognition and productivity (there's scientific literature to support this view), and explicit, informed choice as a net human asset (there's virulent ideology to support this view), I'd have to say "yes".
The wheel-house of our lizard brain appears to be managing our past and future sexual entanglements. I personally suspect it doesn't do much else well at all. It used to have other valuable functions, but these have all been subverted. Dracula, modern society's founding mythology of lizard brain vs alluring predator, has now brought us the Twilight franchise.
Paywall or tweewall, name your poison.
The proper experimental control is to take three regions that went from no fracking to fracking, and three other regions that went from no fracking-like revenue to a fracking-similar amount of fracking-like revenue so as to match the upticks in net employment.
Obviously for natural experiments, this is not always easy to pull off (and your detractors will necessarily claim you didn't succeed no matter how far you go).
So why don't you just cut to the chase and declare that all natural experiments are moist excrement? Is there any standard for a controlled natural experiment you'd actually accept? From the structure of your comment I suspect not, as you never once mention the caliber of controls actually used (which is, for maximal troll-seed efficiency, entirely beneath the notice of those who reject the entire category).
Done right, I view this as a form of agile econometrics. First you see what clears the fence under modest controls, before gold-plating round two.
On the other side, blanket cynicism is a crutch of the anti-progressive mindset.