I agree here. One easy example is computing an average: add up the numbers and divide by N. What if you have no numbers to average and N == 0? That doesn't mean the average is zero, it means you don't have an average. You always have to check for/0 errors, not because you want to keep the program from crashing but because you need to handle all the special cases. It's usually (not always) better to crash to alert you to an un-handled condition than to pretend nothing is wrong.
Should all null pointer exceptions or segfaults be handled quietly in some arbitrary way, in order to make software more "robust?"
Nah, the power output tells you if it can support the water heater's current draw while running, but not how much water you can heat. He needed to know the total energy stored in the batteries and the size of the water heater to estimate how many gallons of hot water could be heated and used for the weekend. They were big batteries, and it was enough for some 20 gallons of water or so.
There's a grey area here. Celsius is much more nearly metric than Fahrenheit. Most of the time in the engineering world when you're using temperature in calculations it's temperature differences that are important, and for that Celsius is just fine while Fahrenheit is a pain in... well you first convert to Celsius. Doing thermal calculations entirely in the US customary system is trickier and generally not even taught. A friend was recently going to a vacation home and asked me for help working out the problem of how many gallons of water could be heated by a battery-powered generator operating a water heater. Do you start by converting gallons and Fahrenheit into kg and Celcius, or do you work the other direction and convert Volt-Amperes into Btu/h? That's a rhetorical question.
If you're working in a more academic field than you'll use whatever temperature units are convenient for your purposes. You can't say "... Rankine is better than..." without being very specific about the area of study.
Similar arguments apply to other kinds of units when thinking about the US "going metric." There isn't only one way to do it, and it doesn't have to be an all-in or all-at-once thing. Considering all of the machine shops and the like, a realistic transition will take decades before we get mostly there. It starts with little things like posting speed limits in Kph (as well as Mph) and selling milk in liters (gallons also labeled). For most units like distance and mass/weight, metric is no more or less "natural" than the US customary system. You do have a merited argument with Fahrenheit vs Celsius, but it's a weak one and lots of folks have become accustomed to C.
If we were ever to make this transition, it might help a tiny bit to de-mystify science. Even just to internalize concepts like force (weight) versus mass. You can't convert pounds to kilograms without assuming some value of g. Pounds convert directly to Newtons, and kilograms convert to slugs.
But on the other hand, if we ever started making metric screw sizes, as one example, then a lot more globalization may start to kick in which is not necessarily a good thing. Maybe it would be, but it's hard to predict accurately. We historically lose manufacturing jobs. Is it advantageous for us to be out of sync with the rest of civilization?
I think you've stated the main argument about stuff moving faster than c. But more abstractly, consider two events that are separated in both space and time, A and B. Let's say A happens first and "causes" B. Maybe A is "someone throws a ball" and B is "someone catches it." Or perhaps A and B could be sending and receiving a communication. In any case if B is outside of the light cone of A, meaning that light or anything slower could not travel from event A to event B, then there is a reference frame in which events A and B happen at the same place. But when you "boost" into this frame of reference, you'll find that B happens before A. Faster-than-light communication implies that effect can precede cause. Maybe that could be true, but regardless that's what we're up against. Part of this is a conceptual difficulty: the nature of space-time is slightly more complex than our intuition allows for. A better intuition might involve a different definition of "now" that is dependent on where you are in space. Your "now" is a little behind mine, and vice-versa. Or something like that.
Thanks for this explanation. I was wondering earlier that if the problem was only as bad as "decimation", had scientists considered the various unintended consequences of this treatment? But seeing that the disease is likely anthropogenic, and that it is really wiping out entire populations, it sounds like this treatment can only be a Good Thing.
The claims that Snowden attempted to use the proper channels are disputed by the NSA. I think it's extremely likely that Snowden's version of the story is closer to the truth, but I have to keep in mind that there's some uncertainty there. The outcomes of the leaks are harder to dispute, and I think the net effect was a positive outcome.
And I still recall Obama's speeches that change had to come to Washington, not from it. Heh. But did he live up to his campaign promises any less or any more than other presidents have? I guess good presidents need to work with compromise and internal politics well while in office. I think Nixon was pretty good by that measure.
I think Comcast and others like them argue that our thought-model of the internet is too simplistic. It's not the case that if Netflix just buys more bandwidth, all content consumers benefit. Comcast says that they want Netflix to pay for them to add additional infrastructure so that their bandwidth-intensive traffic is handled on new routes that are more direct for various residential areas.
But your arguments are also correct, that by Comcast charging Netflix an additional fee for this infrastructure (or worse, for the right not to be throttled), they are creating an unfair means of passing costs onto customers and perhaps also being anti-competetive with respect to other residential ISPs. In some ways Comcast wants to be free to use extortion (pay us to not throttle your traffic), but in other ways there is real potential for building out better internet service.
I think the trick is finding a fairer means of economically building out the kind of infrastructure that best delivers content to the consumers. I suppose it would be fair if Comcast added the extra infrastructure for those companies like Netflix that consumers are pulling heavy traffic from, and then being honest and public about this -- using it as a selling point to differentiate them from their competition. This should lead to a higher demand for their service, which should lead to them justifying the capital investment.
The "stifle innovation and restrict freedom" argument is very typical GOP BS. They feel like less regulation is a panacea and are blind to anti-competitive tactics and the kinds of regulations that would keep a free market both free and efficient.
The problem is that a lot of the behind-the-scenes tinkering and established-over-decades code in scripts is going out of the window and one huge set of binaries are trying to replace it WHILE also stepping in to replace an awful lot of other pseudo-related systems. Systemd is tying into everything from initial boot to how to configure your soundcard.
Those established-over-decades init scripts are fragile and difficult to maintain. My observation is that this is what drives system developers to push for systemd. Well, this and the order of startup, dependencies, etc.
Maybe we need a fork of systemd that takes some of the more common complaints seriously enough to do something about them. I see limitations of plain-text logging systems, but can't these be addressed with a text-based, human-readable log that uses some kind of mark-up for timestamps, PIDs, etc? While there may be some small efficiency gains by incorporating more services into systemd like networkd and such, we could set a higher bar for module inclusion -- there has to be an overwhelming argument for tight integration. And so on.
I wonder how this is different from channel bonding / link aggregation? I looked into this a few months ago and don't remember all the details but there's a "bonding" kernel module, which can run in some modes entirely in kernel space, or in a user-space-assisted mode. There is a round-robin mode but there are several others that include fault tolerance and load balancing. LACP can be used in cooperation with other network elements including switches if you want something that spans a local network.
I had limited success with this myself, so I wonder what new technology the Fault Tolerant Router brings?
I doesn't sound to me like it's specific enough in its references to be primarily a satire or parody. IMO If it isn't obviously and specifically satirical, then Kahn should have obtained permission before publishing. Failing that, leave the power rangers tie in an unwritten one that's strongly hinted at. A fair use(?) Austin Powers clip: "It looks like Godzilla, but due to international copyright laws - it's not."
So it's a parody of the response that it would evoke by being an arguably infringing work? That's prescient! If this were actually enough to prove that it's non-infringing (it's not IMO) then maybe the parody fails and then makes the short infringing again on the original grounds, which...
Sorry I tried to make a temporal paradox out of it. Best I could do.
But don't forget the context. It isn't "I want to write a program that splits a string on commas," but "I want to write a program that will grow in complexity." Like most programmers, I read a whole lot more code than I write. I like to read code that is expressive enough that the little things (like string splitting) are simple statements while the over-arching objectives and design issues are stated in comments. Also anything that's subtle should be commented, but not "// This splits a string. Check my work please!" Or "// Opening a TCP socket," etc.
C++ allows you to write very clever code, which is admittedly fun to do. But it's wearisome to read that stuff because you have to both figure out what it's doing and also prove to yourself that it's correct and handles malformed data properly. Unless you're optimizing some crucial piece of code (which C++ is potentially good for), it's much better to write expressive code.
I haven't done too much with QT, but I think it is well structured and helps you to learn to write good C++. Some will say that's an oxymoron. But I've seen what can only be judged bad C++, and know that QT could have been a whole lot worse than it is.
Library dependencies -- that's another subject. You're going to have them one way or another. Picking your libraries well is a matter of taste and what you're long-term plans are.
I'm not sure what models you're referring to. My last three or four laptops have been Lenovos, and I never experienced any roadblocks installing Linux on them. I think the BIOS on at least one of these supported a whole-disk encryption but that doesn't even try to prevent you from reformatting and installing an OS.
My vague understanding is that Superfish is Windows software, not part of BIOS or the Windows bootloader, and certainly not grub. You can also apparently uninstall superfish: http://www.cnet.com/how-to/len...
My current model is a T440, which is fine except for the tragicomical touchpad. It's by far the worst touchpad I've ever, well, touched. I keep a wireless mouse with me at all times because that pad is nearly useless. Previous models were good.
Re:Great if optimizing the wrong thing is your thi
on
HTTP/2 Finalized
·
· Score: 1
I feel like there's something important in the observation that advertising usually funds communication/information technologies. It seems like a kind of economic failure to me. But I can't quite put my finger on exactly what it is.
This got me to thinking: if we can invent a "good enough" electronic voting system, and in an age where communication is cheap and easy, why not go farther and consider a democratic system where every citizen is allowed to vote on any issue directly, if they choose, or a person could elect their own personal representative. So there would still be room for professional politicians. But some people would prefer to read blogs containing oppinions on issues, or decide on a per-issue basis to cast their vote independently from their chosen representative. Representatives would probably have a maximum limit of representees to avoid over-concentration of personal power. Political parties would either have no legal support or might even be legislated against. I don't know, I'm just thinking out loud so to speak.
For me, the two biggest problems with US politics are (1) lobbying and campaign finances and (2) the effectiveness of propaganda. The power of lobbying would be weaker if citizens retained their right to vote directly and independently on any issue they choose to. That would also encourage legislators to blog about what they are supporting and why. This might help them gain representees as well as swinging independent votes. The effectiveness of propaganda is a much tougher issue to deal with, but I believe that disrupting a two-party system would help, as would the teaching of propaganda analysis as part of the standard curriculum at the high school level. Hopefully others have better ideas.
And before you say "That'll never happen!" let me agree on that point but then refuse to let that stop me from dreaming. In modern times, what would a more effective democracy look like? The foundation of democracy is that people are intelligent and capable of self-government. Is that even a valid principle? If so, how could we implement it better?
I was reading Kohn's article on this just a couple days ago, and thought he made a lot of good points. It might help to know that one perspective of Kohn's is realizing the limitations and over-utilization of testing, and standardized testing in particular. "Grit" may be, in proper moderation, a good thing. But the positive feedback cycle that relentless accountability and academic assessment provides can go haywire here, rewarding students for being persistent to a fault and rewarding teachers and schools for producing such students.
The main difficulty with testing in schools, AFAICT, is that the skills, character traits, and knowledge that are most worth teaching are generally not ones that are easy to assess. Combine this with the fact that all teachable test outcomes become their own measure of success, regardless of their inherent value to a person. This makes it easy for us, as a society, to lose sight of what's really important in education.
I agree this article is mostly foolishness, but underneath this is a substantial issue with Android. It would be much easier for a provider to push a security patch if it were backported from the latest-greatest release to some of the still-active prior releases. Even then there would be a substantial time delay. The manufacturers do some initial porting of newer Android releases to their hardware, and then the providers take that software and customize it further. Most of what the providers add is best described as bloatware (and some spyware like carrierID), but some of this is network-specific support. Lots of testing happens at each stage, especially by the manufacturer.
Porting to a new Android platform actually requires a lot of additional work as often the hardware interfaces (HAL) are modified and expanded. In addition each manufacturer has a highly customized version of Android at various levels, and porting all of this takes significant effort.
Because of all this, there is no quick way for Google to "release" a patch to people's phones (except for the Nexus phones). Google could help to hurry some security patches by backporting them, but manufacturers could also do the same. It is not, technically, Google's job to do anything but support their Nexus line. They also keep most of the platform code open (publicly available anyway), allowing other manufacturers to follow along or do as they please. And because porting does require such effort, Google also needs to continue to find ways to provoke the major manufacturers into keeping up the work.
This model for Android platform software has been successful, but is obviously flawed when it comes to distributing prompt security patches to users' devices. It's easy to gripe about this but difficult to come up with practical solutions.
Well, I'm sorry for the EFF, then, but everyone knows what the terms are to get an app in the iOS App Store.
This sounds, to me, like the EFF allowing slavish adherence to their principles to prevent them from doing something that might actually help real people in the real world advance those principles in meaningful ways.
Their specific complaints about Apple's license agreement make it sound to me like a practical, real-world problem. I don't think the petition will garner any response from Apple directly, but it's useful for educating people who don't bother to read carefully the entire agreement before signing up. There are certainly a lot of things in that agreement that will cause me not to click Agree.
Their first objection alone makes it obvious why the EFF cannot provide the equivalent iphone app: "Ban on Public Statements" is a promise not to publicly discuss the license agreement itself. It's a recursive problem. It they intend to raise issues with any of the license agreement, they cannot agree to it in the first place, which is part of what makes it objectionable, which is why they are compelled to raise issues with it.
I think sterile neutrinos are among the least-exotic explanations that hasn't been ruled out yet. Still, I'd love more information here: Why hasn't this been seen before? What theories predict x-rays at these energies? What kinds of confirmation are feasable?
I think what you're pointing out is really important from a broad economic perspective, since it's not always money that motivates us.
But I also think that TFA calling the software economy a "failed" one is technically accurate. One perspective on this that I've been pondering for a long time is the idea of Pareto optimality and the free market hypothesis. The hypothesis is that a free (unregulated) market economy becomes Pareto-optimal. A market segment that becomes sub-optimal is called a "failed" market. I think it's by that definition that the software market fails. Not that it's completely broken, just sub-optimal. Traditionally this defines where a government can step in to impose regulations to, for example, deter monopolies or prohibit cartels.
I am not an economist, and I cannot prove this, but I think that one of the assumptions underlying the free market hypothesis is that any good has a non-zero production cost. In hand-waiving terms, the concept of scarcity underlies economic theory. But a lot of our economy today is in goods that have either zero production costs, or production costs that are dwarfed by development costs. Software is the prime example, but music, movies, news, and more are also examples of this. There are other industries that are in a gray area, like microchip manufacturing, where development costs and capital investments are huge.
Pareto efficiency, as I understand it, can be thought of as a test of whether or not at any snapshot of time a redistribution of goods could theoretically be made in such a way as to make folks, on average, happier. Again I'm hand-waiving, and IANAE, etc. But if software is produced and distributed at nearly zero cost, then by giving more people who want the software, but not badly enough to pay for it, a free copy, or a free site license, we make some people happier without taking away from anyone else. Remember this is a momentary redistribution-thought-experiment, not a sales model. So any kind of commercial software, it seems to me, fails the test for Pareto optimality, and therefore the software market has "failed."
I'm not saying that commercial software is bad or evil or even unhelpful, just that a traditional free market economy does not, can not, regulate the software industry in an efficient way. We can do better. I don't know how, but I'm pretty sure there's significant room for improvement. In a sense, the success of free software (forgive the sloppy term) is a proof of this. I also tend to think of software that's paid for by advertisement revenue (free apps, web sites, all of Google) as another case study of a failed market. But that's a tangent.
I really like the idea of Snowdrift.coop. I like that they take a game theory approach to this problem and have what seems like a reasonable solution. I don't, however, think it solves the problem entirely by recovering an efficient software market. Their primary case study, OpenSSL, is not the kind of software that is by itself innovative or disruptive. It needs to work and work well, but it is a solution to a common and well-known problem. One of the key features of a free market is that it allows and even encourages failure. I don't (yet) see how the Snowdrift.coop concept will similarly encourage experimentation and failure.
To touch back on your point that we are not entirely motivated by money -- Yes of course that's true and it's important to not feel governed by the economy. If our basic needs are met then often we can focus on higher goals and motivations. But I'd still like to see a world where software and other industries like news media can thrive on equal footing with the more traditional industries. As these newer industries continue to grow, I think we need for them to be efficiently regulated.
If I were clever enough, I would like to be able to propose some modification to a market economy that can generalize to industries with zero production costs. I've thought a lot about this in spare moments here and there, but I haven't gotten anywhere. Has anyone else?
This and the original question Gladwell was answering reminded me again of a basic question I've had since youth: why a political dichotomy anyway? Why not three types of people, or just individual issues that we have independent opinions on? Haidt explains some of this from the perspective of personality traits, but I wonder if another part of the answer lies in the most common voting system in the US: plurality voting. That system has the feature of a 3rd-party-spoiler effect, where a 3rd political party worsens the election chance of their most closely-related parties. Okay this is a bit of a stretch, but my reasoning is that this causes a two-party system to be a kind of stable equilibrium. This shapes the political landscape and makes things like mud-slinging propaganda to be unusually effective. With a simple conservative-liberal dichotomy, politicians (and advertisers to a lesser degree) can speak in terms of belonging to one group or another, about us-versus-them, and who-you-are rather than what-you-think.
Granted, Haidt does have some good points. But when Gladwell pointed out that Canadians aren't so obsessed with the liberal-conservative dichotomy I started to wonder.... Okay, I see that Canada also has a plurality voting system, so I'm likely full of... it. Eh, I'll post this anyway.:)
About design patterns: In my own experience, I learned about design patterns only after many years of programming experience. I had already encountered and/or invented all the patterns I later read about. But reading about them was good because it allowed for a common language to communicate with other programmers as well as a kind of self-reflection and ability to think about design patterns more conscientiously and methodically. I'm glad to have learned about these when I did, and not sooner.
It's just fine, IMO, to teach programming as a self-discovery, unguided hacking, kind of thing. This is a "constructivist education" approach, and works extremely well in many cases.
The same comments apply to a lesser degree about teaching multiple languages and general programming language concepts. I would not teach a second programming language before a young student had the chance to explore and get comfortable with their first. That may or may not take long.
There's actually a lot of potentional scientific correct stuff in the Bible. Yet, discussing them usually gets frowned upon by either team - it seems (for atheist scientists) a lot easier to discard the bible as 'rubbish' instead of an historical document - where the religious camp tends to take this same history book too literal, despite all translation issues.
I need to disagree with your referring to the Bible as a "history book." Even though it contains a lot of historical narratives (combined with folklore), the purpose of the authors never (?) seems to be to document some piece of history but rather to highlight some moral idea, to explore our relationship to God, to help a nation have hope and stay together in times of exile, to stir up questions and provoke thought, etc. The stories told are never recent events at the time of writing, but reflect strongly and relate to the political landscape of the times they were written in. Also the style of writing is generally distinct from the style of other ancient-contemporary documents that were written to preserve history.
What I feel is a more helpful approach to the Bible is to read it like it were poetry. What analogies are being used? What is this really about? How does this change my ideas or motives? I know this conflicts with a "literal" interpretation, so I know many will violently disagree with this idea, but I can't fathom why. The Bible contains a wide range of conflicting theological opinions. We don't read cookbooks like they are philosophical treatises, and we don't read science fiction like a newspaper. Why do so many people... Okay I'll stop. No, I won't. Consider for example the book Job, a non-historical narrative, that challenges the theology of divine retributive justice, and how that relates to the new-vs-old thought in the New Testament. Then think about the two creation myths in Genesis not as right-or-wrong histories but as stories that provide windows into human nature and the human condition.
I like the rest of your ideas. It's important to keep an open mind. Just make sure you're equally open to conflicting ideas and avoid falling into the trap that because something's possible, or because you believe it for some reason, it's true. Every good theorist hopes for the day their theory gets taken seriously enough to be experimentally proven false. Maybe in religion we should all hope for a time when we understand things well enough to realize our former beliefs were all poppycock. It's hard to find a higher (philosophical) aspiration than that.
I agree here. One easy example is computing an average: add up the numbers and divide by N. What if you have no numbers to average and N == 0? That doesn't mean the average is zero, it means you don't have an average. You always have to check for /0 errors, not because you want to keep the program from crashing but because you need to handle all the special cases. It's usually (not always) better to crash to alert you to an un-handled condition than to pretend nothing is wrong.
Should all null pointer exceptions or segfaults be handled quietly in some arbitrary way, in order to make software more "robust?"
Nah, the power output tells you if it can support the water heater's current draw while running, but not how much water you can heat. He needed to know the total energy stored in the batteries and the size of the water heater to estimate how many gallons of hot water could be heated and used for the weekend. They were big batteries, and it was enough for some 20 gallons of water or so.
There's a grey area here. Celsius is much more nearly metric than Fahrenheit. Most of the time in the engineering world when you're using temperature in calculations it's temperature differences that are important, and for that Celsius is just fine while Fahrenheit is a pain in ... well you first convert to Celsius. Doing thermal calculations entirely in the US customary system is trickier and generally not even taught. A friend was recently going to a vacation home and asked me for help working out the problem of how many gallons of water could be heated by a battery-powered generator operating a water heater. Do you start by converting gallons and Fahrenheit into kg and Celcius, or do you work the other direction and convert Volt-Amperes into Btu/h? That's a rhetorical question.
If you're working in a more academic field than you'll use whatever temperature units are convenient for your purposes. You can't say "... Rankine is better than ..." without being very specific about the area of study.
Similar arguments apply to other kinds of units when thinking about the US "going metric." There isn't only one way to do it, and it doesn't have to be an all-in or all-at-once thing. Considering all of the machine shops and the like, a realistic transition will take decades before we get mostly there. It starts with little things like posting speed limits in Kph (as well as Mph) and selling milk in liters (gallons also labeled). For most units like distance and mass/weight, metric is no more or less "natural" than the US customary system. You do have a merited argument with Fahrenheit vs Celsius, but it's a weak one and lots of folks have become accustomed to C.
If we were ever to make this transition, it might help a tiny bit to de-mystify science. Even just to internalize concepts like force (weight) versus mass. You can't convert pounds to kilograms without assuming some value of g. Pounds convert directly to Newtons, and kilograms convert to slugs.
But on the other hand, if we ever started making metric screw sizes, as one example, then a lot more globalization may start to kick in which is not necessarily a good thing. Maybe it would be, but it's hard to predict accurately. We historically lose manufacturing jobs. Is it advantageous for us to be out of sync with the rest of civilization?
I think you've stated the main argument about stuff moving faster than c. But more abstractly, consider two events that are separated in both space and time, A and B. Let's say A happens first and "causes" B. Maybe A is "someone throws a ball" and B is "someone catches it." Or perhaps A and B could be sending and receiving a communication. In any case if B is outside of the light cone of A, meaning that light or anything slower could not travel from event A to event B, then there is a reference frame in which events A and B happen at the same place. But when you "boost" into this frame of reference, you'll find that B happens before A. Faster-than-light communication implies that effect can precede cause. Maybe that could be true, but regardless that's what we're up against. Part of this is a conceptual difficulty: the nature of space-time is slightly more complex than our intuition allows for. A better intuition might involve a different definition of "now" that is dependent on where you are in space. Your "now" is a little behind mine, and vice-versa. Or something like that.
Thanks for this explanation. I was wondering earlier that if the problem was only as bad as "decimation", had scientists considered the various unintended consequences of this treatment? But seeing that the disease is likely anthropogenic, and that it is really wiping out entire populations, it sounds like this treatment can only be a Good Thing.
The claims that Snowden attempted to use the proper channels are disputed by the NSA. I think it's extremely likely that Snowden's version of the story is closer to the truth, but I have to keep in mind that there's some uncertainty there. The outcomes of the leaks are harder to dispute, and I think the net effect was a positive outcome.
And I still recall Obama's speeches that change had to come to Washington, not from it. Heh. But did he live up to his campaign promises any less or any more than other presidents have? I guess good presidents need to work with compromise and internal politics well while in office. I think Nixon was pretty good by that measure.
I think Comcast and others like them argue that our thought-model of the internet is too simplistic. It's not the case that if Netflix just buys more bandwidth, all content consumers benefit. Comcast says that they want Netflix to pay for them to add additional infrastructure so that their bandwidth-intensive traffic is handled on new routes that are more direct for various residential areas.
But your arguments are also correct, that by Comcast charging Netflix an additional fee for this infrastructure (or worse, for the right not to be throttled), they are creating an unfair means of passing costs onto customers and perhaps also being anti-competetive with respect to other residential ISPs. In some ways Comcast wants to be free to use extortion (pay us to not throttle your traffic), but in other ways there is real potential for building out better internet service.
I think the trick is finding a fairer means of economically building out the kind of infrastructure that best delivers content to the consumers. I suppose it would be fair if Comcast added the extra infrastructure for those companies like Netflix that consumers are pulling heavy traffic from, and then being honest and public about this -- using it as a selling point to differentiate them from their competition. This should lead to a higher demand for their service, which should lead to them justifying the capital investment.
The "stifle innovation and restrict freedom" argument is very typical GOP BS. They feel like less regulation is a panacea and are blind to anti-competitive tactics and the kinds of regulations that would keep a free market both free and efficient.
The problem is that a lot of the behind-the-scenes tinkering and established-over-decades code in scripts is going out of the window and one huge set of binaries are trying to replace it WHILE also stepping in to replace an awful lot of other pseudo-related systems. Systemd is tying into everything from initial boot to how to configure your soundcard.
Those established-over-decades init scripts are fragile and difficult to maintain. My observation is that this is what drives system developers to push for systemd. Well, this and the order of startup, dependencies, etc.
Maybe we need a fork of systemd that takes some of the more common complaints seriously enough to do something about them. I see limitations of plain-text logging systems, but can't these be addressed with a text-based, human-readable log that uses some kind of mark-up for timestamps, PIDs, etc? While there may be some small efficiency gains by incorporating more services into systemd like networkd and such, we could set a higher bar for module inclusion -- there has to be an overwhelming argument for tight integration. And so on.
I wonder how this is different from channel bonding / link aggregation? I looked into this a few months ago and don't remember all the details but there's a "bonding" kernel module, which can run in some modes entirely in kernel space, or in a user-space-assisted mode. There is a round-robin mode but there are several others that include fault tolerance and load balancing. LACP can be used in cooperation with other network elements including switches if you want something that spans a local network.
I had limited success with this myself, so I wonder what new technology the Fault Tolerant Router brings?
I doesn't sound to me like it's specific enough in its references to be primarily a satire or parody. IMO If it isn't obviously and specifically satirical, then Kahn should have obtained permission before publishing. Failing that, leave the power rangers tie in an unwritten one that's strongly hinted at. A fair use(?) Austin Powers clip: "It looks like Godzilla, but due to international copyright laws - it's not."
So it's a parody of the response that it would evoke by being an arguably infringing work? That's prescient! If this were actually enough to prove that it's non-infringing (it's not IMO) then maybe the parody fails and then makes the short infringing again on the original grounds, which ...
Sorry I tried to make a temporal paradox out of it. Best I could do.
But don't forget the context. It isn't "I want to write a program that splits a string on commas," but "I want to write a program that will grow in complexity." Like most programmers, I read a whole lot more code than I write. I like to read code that is expressive enough that the little things (like string splitting) are simple statements while the over-arching objectives and design issues are stated in comments. Also anything that's subtle should be commented, but not "// This splits a string. Check my work please!" Or "// Opening a TCP socket," etc.
C++ allows you to write very clever code, which is admittedly fun to do. But it's wearisome to read that stuff because you have to both figure out what it's doing and also prove to yourself that it's correct and handles malformed data properly. Unless you're optimizing some crucial piece of code (which C++ is potentially good for), it's much better to write expressive code.
I haven't done too much with QT, but I think it is well structured and helps you to learn to write good C++. Some will say that's an oxymoron. But I've seen what can only be judged bad C++, and know that QT could have been a whole lot worse than it is.
Library dependencies -- that's another subject. You're going to have them one way or another. Picking your libraries well is a matter of taste and what you're long-term plans are.
I'm not sure what models you're referring to. My last three or four laptops have been Lenovos, and I never experienced any roadblocks installing Linux on them. I think the BIOS on at least one of these supported a whole-disk encryption but that doesn't even try to prevent you from reformatting and installing an OS.
My vague understanding is that Superfish is Windows software, not part of BIOS or the Windows bootloader, and certainly not grub. You can also apparently uninstall superfish: http://www.cnet.com/how-to/len...
My current model is a T440, which is fine except for the tragicomical touchpad. It's by far the worst touchpad I've ever, well, touched. I keep a wireless mouse with me at all times because that pad is nearly useless. Previous models were good.
I feel like there's something important in the observation that advertising usually funds communication/information technologies. It seems like a kind of economic failure to me. But I can't quite put my finger on exactly what it is.
This got me to thinking: if we can invent a "good enough" electronic voting system, and in an age where communication is cheap and easy, why not go farther and consider a democratic system where every citizen is allowed to vote on any issue directly, if they choose, or a person could elect their own personal representative. So there would still be room for professional politicians. But some people would prefer to read blogs containing oppinions on issues, or decide on a per-issue basis to cast their vote independently from their chosen representative. Representatives would probably have a maximum limit of representees to avoid over-concentration of personal power. Political parties would either have no legal support or might even be legislated against. I don't know, I'm just thinking out loud so to speak.
For me, the two biggest problems with US politics are (1) lobbying and campaign finances and (2) the effectiveness of propaganda. The power of lobbying would be weaker if citizens retained their right to vote directly and independently on any issue they choose to. That would also encourage legislators to blog about what they are supporting and why. This might help them gain representees as well as swinging independent votes. The effectiveness of propaganda is a much tougher issue to deal with, but I believe that disrupting a two-party system would help, as would the teaching of propaganda analysis as part of the standard curriculum at the high school level. Hopefully others have better ideas.
And before you say "That'll never happen!" let me agree on that point but then refuse to let that stop me from dreaming. In modern times, what would a more effective democracy look like? The foundation of democracy is that people are intelligent and capable of self-government. Is that even a valid principle? If so, how could we implement it better?
This hits the issue on the nose. Thanks!
I was reading Kohn's article on this just a couple days ago, and thought he made a lot of good points. It might help to know that one perspective of Kohn's is realizing the limitations and over-utilization of testing, and standardized testing in particular. "Grit" may be, in proper moderation, a good thing. But the positive feedback cycle that relentless accountability and academic assessment provides can go haywire here, rewarding students for being persistent to a fault and rewarding teachers and schools for producing such students.
The main difficulty with testing in schools, AFAICT, is that the skills, character traits, and knowledge that are most worth teaching are generally not ones that are easy to assess. Combine this with the fact that all teachable test outcomes become their own measure of success, regardless of their inherent value to a person. This makes it easy for us, as a society, to lose sight of what's really important in education.
I agree this article is mostly foolishness, but underneath this is a substantial issue with Android. It would be much easier for a provider to push a security patch if it were backported from the latest-greatest release to some of the still-active prior releases. Even then there would be a substantial time delay. The manufacturers do some initial porting of newer Android releases to their hardware, and then the providers take that software and customize it further. Most of what the providers add is best described as bloatware (and some spyware like carrierID), but some of this is network-specific support. Lots of testing happens at each stage, especially by the manufacturer.
Porting to a new Android platform actually requires a lot of additional work as often the hardware interfaces (HAL) are modified and expanded. In addition each manufacturer has a highly customized version of Android at various levels, and porting all of this takes significant effort.
Because of all this, there is no quick way for Google to "release" a patch to people's phones (except for the Nexus phones). Google could help to hurry some security patches by backporting them, but manufacturers could also do the same. It is not, technically, Google's job to do anything but support their Nexus line. They also keep most of the platform code open (publicly available anyway), allowing other manufacturers to follow along or do as they please. And because porting does require such effort, Google also needs to continue to find ways to provoke the major manufacturers into keeping up the work.
This model for Android platform software has been successful, but is obviously flawed when it comes to distributing prompt security patches to users' devices. It's easy to gripe about this but difficult to come up with practical solutions.
Well, I'm sorry for the EFF, then, but everyone knows what the terms are to get an app in the iOS App Store.
This sounds, to me, like the EFF allowing slavish adherence to their principles to prevent them from doing something that might actually help real people in the real world advance those principles in meaningful ways.
Their specific complaints about Apple's license agreement make it sound to me like a practical, real-world problem. I don't think the petition will garner any response from Apple directly, but it's useful for educating people who don't bother to read carefully the entire agreement before signing up. There are certainly a lot of things in that agreement that will cause me not to click Agree.
Their first objection alone makes it obvious why the EFF cannot provide the equivalent iphone app: "Ban on Public Statements" is a promise not to publicly discuss the license agreement itself. It's a recursive problem. It they intend to raise issues with any of the license agreement, they cannot agree to it in the first place, which is part of what makes it objectionable, which is why they are compelled to raise issues with it.
Oops wish I could self-edit. The paper is short and easy to read. It answers pretty much all these questions.
I think sterile neutrinos are among the least-exotic explanations that hasn't been ruled out yet. Still, I'd love more information here: Why hasn't this been seen before? What theories predict x-rays at these energies? What kinds of confirmation are feasable?
I think what you're pointing out is really important from a broad economic perspective, since it's not always money that motivates us.
But I also think that TFA calling the software economy a "failed" one is technically accurate. One perspective on this that I've been pondering for a long time is the idea of Pareto optimality and the free market hypothesis. The hypothesis is that a free (unregulated) market economy becomes Pareto-optimal. A market segment that becomes sub-optimal is called a "failed" market. I think it's by that definition that the software market fails. Not that it's completely broken, just sub-optimal. Traditionally this defines where a government can step in to impose regulations to, for example, deter monopolies or prohibit cartels.
I am not an economist, and I cannot prove this, but I think that one of the assumptions underlying the free market hypothesis is that any good has a non-zero production cost. In hand-waiving terms, the concept of scarcity underlies economic theory. But a lot of our economy today is in goods that have either zero production costs, or production costs that are dwarfed by development costs. Software is the prime example, but music, movies, news, and more are also examples of this. There are other industries that are in a gray area, like microchip manufacturing, where development costs and capital investments are huge.
Pareto efficiency, as I understand it, can be thought of as a test of whether or not at any snapshot of time a redistribution of goods could theoretically be made in such a way as to make folks, on average, happier. Again I'm hand-waiving, and IANAE, etc. But if software is produced and distributed at nearly zero cost, then by giving more people who want the software, but not badly enough to pay for it, a free copy, or a free site license, we make some people happier without taking away from anyone else. Remember this is a momentary redistribution-thought-experiment, not a sales model. So any kind of commercial software, it seems to me, fails the test for Pareto optimality, and therefore the software market has "failed."
I'm not saying that commercial software is bad or evil or even unhelpful, just that a traditional free market economy does not, can not, regulate the software industry in an efficient way. We can do better. I don't know how, but I'm pretty sure there's significant room for improvement. In a sense, the success of free software (forgive the sloppy term) is a proof of this. I also tend to think of software that's paid for by advertisement revenue (free apps, web sites, all of Google) as another case study of a failed market. But that's a tangent.
I really like the idea of Snowdrift.coop. I like that they take a game theory approach to this problem and have what seems like a reasonable solution. I don't, however, think it solves the problem entirely by recovering an efficient software market. Their primary case study, OpenSSL, is not the kind of software that is by itself innovative or disruptive. It needs to work and work well, but it is a solution to a common and well-known problem. One of the key features of a free market is that it allows and even encourages failure. I don't (yet) see how the Snowdrift.coop concept will similarly encourage experimentation and failure.
To touch back on your point that we are not entirely motivated by money -- Yes of course that's true and it's important to not feel governed by the economy. If our basic needs are met then often we can focus on higher goals and motivations. But I'd still like to see a world where software and other industries like news media can thrive on equal footing with the more traditional industries. As these newer industries continue to grow, I think we need for them to be efficiently regulated.
If I were clever enough, I would like to be able to propose some modification to a market economy that can generalize to industries with zero production costs. I've thought a lot about this in spare moments here and there, but I haven't gotten anywhere. Has anyone else?
Well said.
This and the original question Gladwell was answering reminded me again of a basic question I've had since youth: why a political dichotomy anyway? Why not three types of people, or just individual issues that we have independent opinions on? Haidt explains some of this from the perspective of personality traits, but I wonder if another part of the answer lies in the most common voting system in the US: plurality voting. That system has the feature of a 3rd-party-spoiler effect, where a 3rd political party worsens the election chance of their most closely-related parties. Okay this is a bit of a stretch, but my reasoning is that this causes a two-party system to be a kind of stable equilibrium. This shapes the political landscape and makes things like mud-slinging propaganda to be unusually effective. With a simple conservative-liberal dichotomy, politicians (and advertisers to a lesser degree) can speak in terms of belonging to one group or another, about us-versus-them, and who-you-are rather than what-you-think.
Granted, Haidt does have some good points. But when Gladwell pointed out that Canadians aren't so obsessed with the liberal-conservative dichotomy I started to wonder. ... Okay, I see that Canada also has a plurality voting system, so I'm likely full of ... it. Eh, I'll post this anyway. :)
About design patterns: In my own experience, I learned about design patterns only after many years of programming experience. I had already encountered and/or invented all the patterns I later read about. But reading about them was good because it allowed for a common language to communicate with other programmers as well as a kind of self-reflection and ability to think about design patterns more conscientiously and methodically. I'm glad to have learned about these when I did, and not sooner.
It's just fine, IMO, to teach programming as a self-discovery, unguided hacking, kind of thing. This is a "constructivist education" approach, and works extremely well in many cases.
The same comments apply to a lesser degree about teaching multiple languages and general programming language concepts. I would not teach a second programming language before a young student had the chance to explore and get comfortable with their first. That may or may not take long.
There's actually a lot of potentional scientific correct stuff in the Bible. Yet, discussing them usually gets frowned upon by either team - it seems (for atheist scientists) a lot easier to discard the bible as 'rubbish' instead of an historical document - where the religious camp tends to take this same history book too literal, despite all translation issues.
I need to disagree with your referring to the Bible as a "history book." Even though it contains a lot of historical narratives (combined with folklore), the purpose of the authors never (?) seems to be to document some piece of history but rather to highlight some moral idea, to explore our relationship to God, to help a nation have hope and stay together in times of exile, to stir up questions and provoke thought, etc. The stories told are never recent events at the time of writing, but reflect strongly and relate to the political landscape of the times they were written in. Also the style of writing is generally distinct from the style of other ancient-contemporary documents that were written to preserve history.
What I feel is a more helpful approach to the Bible is to read it like it were poetry. What analogies are being used? What is this really about? How does this change my ideas or motives? I know this conflicts with a "literal" interpretation, so I know many will violently disagree with this idea, but I can't fathom why. The Bible contains a wide range of conflicting theological opinions. We don't read cookbooks like they are philosophical treatises, and we don't read science fiction like a newspaper. Why do so many people ... Okay I'll stop. No, I won't. Consider for example the book Job, a non-historical narrative, that challenges the theology of divine retributive justice, and how that relates to the new-vs-old thought in the New Testament. Then think about the two creation myths in Genesis not as right-or-wrong histories but as stories that provide windows into human nature and the human condition.
I like the rest of your ideas. It's important to keep an open mind. Just make sure you're equally open to conflicting ideas and avoid falling into the trap that because something's possible, or because you believe it for some reason, it's true. Every good theorist hopes for the day their theory gets taken seriously enough to be experimentally proven false. Maybe in religion we should all hope for a time when we understand things well enough to realize our former beliefs were all poppycock. It's hard to find a higher (philosophical) aspiration than that.
I've been running Gentoo on a few boxes at home for many years. Very often I need to restart a service. It often goes along these lines:
# /etc/init.d/someservice restart ... error. /etc/init.d/someservice start /etc/init.d/someservice stop /etc/init.d/someservice zap /etc/init.d/someservice start
Stopping
#
I'm sorry Dave, I'm afraid someservice is already running.
#
Fail
#
Well okay then. Whatever.
#
Success