Except that's exactly the reason you'd hire a software developer in the first place: to figure out what "Make sure input is validated" means. If you have to spell everything out in English, and you can actually work out the implications, then these "developers" aren't developers at all, they're just glorified translators -- which is even worse if they don't have a solid grasp on English.
Now, I did have an Indian coworker who was perfectly capable of everything any American is capable of doing, and I've never worked with an outsourced team, but I do know that much -- yes, we need clear specs, but if the spec actually spells out everything, why not just write the spec in something Turing-complete?
There is an opportunity, I think. Sure, you wouldn't raid from this, but you might craft or do something casual. I can definitely see wanting to do that on a train ride to work, definitely instead of a single-player game.
But you may be right -- I'm not sure this has anything that any Android device doesn't, other than raw power (maybe), but you don't need raw power in a portable anyway.
Otherwise, it's pretty much exactly the same story for any other handheld out there.
Seriously, the Kotaku article is a big steaming pile of FUD about why no one wants to port to Linux. Not a single reason given applies more to this handheld than it does to Android.
On top of everything else, this means users cannot run servers of any sort. Even if we assume Skype can punch through double-NAT, this means any sort of peer-to-peer technology, or any attempt to host anything inside one of these ISPs and connect to it from outside (like remote desktop / ssh, a home fileserver, etc), all requires at least the coordination of one external server.
About as useful as saying "Doctor, it huurts!" Are you one of the people who calls up tech support and says "It's broken! Fix it!"
So, how doesn't it work in practice?
Because almost every gateway router drops multi-cast packets.
Almost every ISP-level router is doing something to at least identify BitTorrent packets. Why shouldn't we start asking for routers that do multicast?
Because multi-cast is only efficient if there is more than one recipient on the same subnet downloading the file at the same time.
Nope, it's still efficient for the sender if there's at least two recipients through the same gateway -- any gateway, including the one directly in front of the sender.
It's a hell of a lot more efficient than BitTorrent.
Because synchronizing the assembly of milti-cast downloads that were initiated at different times (as in, 1 second apart) would require as much work as implementing the bittorent protocol.
I don't think that is a blocker, seeing the enormous amount of efficiency gained over BitTorrent, but I don't think this is true. The recipient who starts one second later just has one second worth of data from the beginning of the file that they still need. It certainly doesn't take as much work as a tracker to simply notice that they're still listening and start the broadcast again.
Honestly, multi-cast was only really thought out for machines sharing a private network.
How big of a network? It seems to me that the larger the network, the larger the gains. If everyone's wired into the same netmask, it buys you nothing over broadcast, or am I fundamentally misunderstanding how multicast works?
Well, or treat it as a cheaper form of seeding -- start multicasting something the first time someone asks for it, and loop through constantly until nobody's listening anymore.
In other words, why wouldn't Netflix want to do this for every movie they have, rather than unicasting it?
And I'm still wondering why. Wouldn't it be far easier for ISPs to support and encourage multicast than deal with the absurd amount more bandwidth that torrents require?
Not quite. The world I live in is a college campus, so a bit smaller. The rest of the town, I have "free" public transportation to.
However, I did take a break of a few years, during which I lived and worked in a small town. All that really changed was the amount of time -- 20-30 minutes -- but still walking distance.
I'm not saying no one should ever need one, not even that I never will. I'm just answering the question -- I'm not likely to buy any sort of car soon.
Put me in an environment where I can't walk or bike, and give me enough money to afford to buy and own a car, and we'll talk.
Till then, I'm on a beautiful campus with more sidewalks than roads, and I can get anywhere I care about in less than 10 minutes. I don't even want a bike -- that'd cut it from 10 minutes to 2, which just isn't enough to care.
Outside this range, the closest thing I care about is 2-3 hours away (outside the range of many electrics), and beyond that, long enough that I'd rather fly.
Aside from the obligatory XKCD, you're committing a No True Scotsman fallacy right here. I consider myself rational, and I do go online and do what I want, stupid or otherwise, and very, very rarely make any attempt to avoid linking it to my true identity -- I can stand by what I said, or I can admit to being wrong.
Just because someone disagrees with you does not make them irrational. Just because they do something bold does not automatically make it rash.
I do support this test in one respect: If they weed me out because of something I've said, that's one less place I'd have wanted to work anyway. If they can accept who I am, warts and all, we can do business.
Agreed, with voice. Text is a whole new level, because you're looking at the phone instead of the road, not just thinking about the phone instead of a road. And if the phone is in your lap, it's that much worse.
Strawman -- did I ever say Flash is dead or dying?
No, I said it is holding the Web back. The fact that it should die doesn't mean it will, unless you're implying that if it's still around in 5 years, that's evidence that it shouldn't die.
There's a much better short-term solution to legacy pages -- IETab. Another one is, as I mentioned, Chrome Frame.
Google can and does use HTML5 for nearly everything. Does your app need video?
They "synergize" in the same way that ActiveX "synergizes" with a standards-compliant web -- it destroys it with IE-only pages. The fact that a proprietary plugin exists everywhere doesn't reduce the dangers of monoculture or vendor lock-in, or the practical realities of wanting our content to be free.
I don't have the time or energy to really pursue this, but your article doesn't do much else to improve the situation. In particular: "The web is ruled by designers not developers."
Huh? Your presence here alone refutes that fact. Do you have any idea how much development work has gone into Slashcode to make this possible? Let alone your browser, OS, network connection... Can you show me a counterexample?
Yes, designers need to be able to work. But if you don't also have developers, you may as well have a static page.
Scrolling down... Seriously, preloaders? And that's first on your list of what's holding HTML5 back? I despair for humanity if this is actually a priority for anyone, anywhere, when choosing a technology. Suppose one of Direct3D or OpenGL had less-accurate progress bars -- would that really be a driving force behind anyone's decision to choose either? Would it be a factor at all?
It's also not true, and can be hacked around, but... really?
And another point in Flash's favor is Flashblock. Really? (And... NoScript. Duh.)
Which of your bits of anti-HTML5 FUD prevents you from simply offering Chrome Frame to IE users?
I'd also be curious which demos you've seen which only work on Safari, or only work on Chrome. It seems like they "only" work anywhere except IE, and some even work with newer versions of IE.
And yes, if you build your apps for AIR, they'll run on modern desktop OSes -- if people install it. Which would make them morons, because if it's really something for which HTML would be a viable alternative, why would I want to install your app instead of bookmarking it? Is it that hard to see that one of these options is both more convenient and secure?
If you run them in a plugin, that means you are part of the problem -- you are part of a phenomenon which holds the Web back.
...possibly? It seems to work now, at least. Maybe it was only on that page?
I did try ctrl+v, middle click, and right-click->paste. I even opened up the developer tools and manually changed the attribute. Nothing worked other than manually re-typing into the box.
Not necessarily. In fact, HDCP is independent of HDMI, and works just fine over DVI-D. The reverse is also true -- HDMI can work as essentially DVI + audio, without HDCP at all.
a good rule is to put always double quotes around all your parameters.
I don't see how that's improved over other languages, though. A good rule in Ruby is to always make system calls using the multi-arg version of system. A good rule in any language with SQL bindings is to use bind variables instead of string interpolation.
Actually, I find those options to be better, because it's a way of doing things that I have to remember, not that little syntactical thing of remembering quotes. It's why I much prefer bind variables to having to remember to quote and run some escaping routine around user data.
Right. But you do still have the case that the user can specify an argument there -- of=/somewhere/bad comes to mind.
For me interactive is a shell with a prompt and non interactive is one without prompt, and then that's a running shellscript.
Well, no. For instance, the shell as invoked by Perl/Ruby/C when using an insecure "system" function is noninteractive, but not necessarily running a shell script -- which I interpret as a self-contained program in a separate file.
I made a quick search on the net and only found a quite small entry for system call. I wonder if everybody programming in ruby is aware what "is subject to shell expansion" has as consequences.
Possible. I'm not sure it's important -- most Rubyists tend to avoid invoking other processes without good reason.
What to do when there are only bad programmers available?
Teach them to be good programmers. If all are unwilling or incapable to learn, find a new line of work -- or better yet, withdraw from society, because someone's embedded system bug is likely to kill you.
I've gone back to school, and I can tell you that there are plenty of good and bad -- definitely plenty of students who genuinely do want to learn, and care about getting it right.
I only see one patent on Ethernet, which should've expried in, what, 1995?
There are all sorts of other ways of wiring computers together -- the physical connection almost doesn't matter. So long as I can connect to at least one router plugged into the public Internet, I can talk to anyone else there, even if I only use Token Ring and everyone else only uses Ethernet.
But I do find the timing interesting -- the first consumer broadband service didn't happen until 1996, though we had dialup earlier. So good ideas certainly will thrive, even if patented, but often they won't truly fulfill their promise until the patents expire.
No? Then I don't know that I care.
Except that's exactly the reason you'd hire a software developer in the first place: to figure out what "Make sure input is validated" means. If you have to spell everything out in English, and you can actually work out the implications, then these "developers" aren't developers at all, they're just glorified translators -- which is even worse if they don't have a solid grasp on English.
Now, I did have an Indian coworker who was perfectly capable of everything any American is capable of doing, and I've never worked with an outsourced team, but I do know that much -- yes, we need clear specs, but if the spec actually spells out everything, why not just write the spec in something Turing-complete?
There is an opportunity, I think. Sure, you wouldn't raid from this, but you might craft or do something casual. I can definitely see wanting to do that on a train ride to work, definitely instead of a single-player game.
But you may be right -- I'm not sure this has anything that any Android device doesn't, other than raw power (maybe), but you don't need raw power in a portable anyway.
I went from 1600x1200 to 1920x1200. Only question is whether we're losing vertical resolution per dollar.
Run Windows? That won't end well.
Otherwise, it's pretty much exactly the same story for any other handheld out there.
Seriously, the Kotaku article is a big steaming pile of FUD about why no one wants to port to Linux. Not a single reason given applies more to this handheld than it does to Android.
Because there's a finite and very limited IPv4 multicast space, and no protocol in sharing.
...huh. I guess I need to read more about this.
With true "on demand" it just doesn't work.
True, but neither does BitTorrent, which was the point. It's not about streaming, it's about downloading.
On top of everything else, this means users cannot run servers of any sort. Even if we assume Skype can punch through double-NAT, this means any sort of peer-to-peer technology, or any attempt to host anything inside one of these ISPs and connect to it from outside (like remote desktop / ssh, a home fileserver, etc), all requires at least the coordination of one external server.
And yeah, 65536 ports won't last you long.
Because multi-cast doesn't work in practice.
About as useful as saying "Doctor, it huurts!" Are you one of the people who calls up tech support and says "It's broken! Fix it!"
So, how doesn't it work in practice?
Because almost every gateway router drops multi-cast packets.
Almost every ISP-level router is doing something to at least identify BitTorrent packets. Why shouldn't we start asking for routers that do multicast?
Because multi-cast is only efficient if there is more than one recipient on the same subnet downloading the file at the same time.
Nope, it's still efficient for the sender if there's at least two recipients through the same gateway -- any gateway, including the one directly in front of the sender.
It's a hell of a lot more efficient than BitTorrent.
Because synchronizing the assembly of milti-cast downloads that were initiated at different times (as in, 1 second apart) would require as much work as implementing the bittorent protocol.
I don't think that is a blocker, seeing the enormous amount of efficiency gained over BitTorrent, but I don't think this is true. The recipient who starts one second later just has one second worth of data from the beginning of the file that they still need. It certainly doesn't take as much work as a tracker to simply notice that they're still listening and start the broadcast again.
Honestly, multi-cast was only really thought out for machines sharing a private network.
How big of a network? It seems to me that the larger the network, the larger the gains. If everyone's wired into the same netmask, it buys you nothing over broadcast, or am I fundamentally misunderstanding how multicast works?
it also offers more than multicast, especially time-shifting. What if you PC wasn't online for the srart of the multicast?
Then, at the end of that multicast, you ask the server to send another. Treat it as a better form of seeding, essentially.
Well, or treat it as a cheaper form of seeding -- start multicasting something the first time someone asks for it, and loop through constantly until nobody's listening anymore.
In other words, why wouldn't Netflix want to do this for every movie they have, rather than unicasting it?
And I'm still wondering why. Wouldn't it be far easier for ISPs to support and encourage multicast than deal with the absurd amount more bandwidth that torrents require?
Why has no one mentioned this?
Not quite. The world I live in is a college campus, so a bit smaller. The rest of the town, I have "free" public transportation to.
However, I did take a break of a few years, during which I lived and worked in a small town. All that really changed was the amount of time -- 20-30 minutes -- but still walking distance.
I'm not saying no one should ever need one, not even that I never will. I'm just answering the question -- I'm not likely to buy any sort of car soon.
Put me in an environment where I can't walk or bike, and give me enough money to afford to buy and own a car, and we'll talk.
Till then, I'm on a beautiful campus with more sidewalks than roads, and I can get anywhere I care about in less than 10 minutes. I don't even want a bike -- that'd cut it from 10 minutes to 2, which just isn't enough to care.
Outside this range, the closest thing I care about is 2-3 hours away (outside the range of many electrics), and beyond that, long enough that I'd rather fly.
Aside from the obligatory XKCD, you're committing a No True Scotsman fallacy right here. I consider myself rational, and I do go online and do what I want, stupid or otherwise, and very, very rarely make any attempt to avoid linking it to my true identity -- I can stand by what I said, or I can admit to being wrong.
Just because someone disagrees with you does not make them irrational. Just because they do something bold does not automatically make it rash.
I do support this test in one respect: If they weed me out because of something I've said, that's one less place I'd have wanted to work anyway. If they can accept who I am, warts and all, we can do business.
Agreed, with voice. Text is a whole new level, because you're looking at the phone instead of the road, not just thinking about the phone instead of a road. And if the phone is in your lap, it's that much worse.
Strawman -- did I ever say Flash is dead or dying?
No, I said it is holding the Web back. The fact that it should die doesn't mean it will, unless you're implying that if it's still around in 5 years, that's evidence that it shouldn't die.
There's a much better short-term solution to legacy pages -- IETab. Another one is, as I mentioned, Chrome Frame.
Google can and does use HTML5 for nearly everything. Does your app need video?
They "synergize" in the same way that ActiveX "synergizes" with a standards-compliant web -- it destroys it with IE-only pages. The fact that a proprietary plugin exists everywhere doesn't reduce the dangers of monoculture or vendor lock-in, or the practical realities of wanting our content to be free.
I don't have the time or energy to really pursue this, but your article doesn't do much else to improve the situation. In particular: "The web is ruled by designers not developers."
Huh? Your presence here alone refutes that fact. Do you have any idea how much development work has gone into Slashcode to make this possible? Let alone your browser, OS, network connection... Can you show me a counterexample?
Yes, designers need to be able to work. But if you don't also have developers, you may as well have a static page.
Scrolling down... Seriously, preloaders? And that's first on your list of what's holding HTML5 back? I despair for humanity if this is actually a priority for anyone, anywhere, when choosing a technology. Suppose one of Direct3D or OpenGL had less-accurate progress bars -- would that really be a driving force behind anyone's decision to choose either? Would it be a factor at all?
It's also not true, and can be hacked around, but... really?
And another point in Flash's favor is Flashblock. Really? (And... NoScript. Duh.)
Which of your bits of anti-HTML5 FUD prevents you from simply offering Chrome Frame to IE users?
I'd also be curious which demos you've seen which only work on Safari, or only work on Chrome. It seems like they "only" work anywhere except IE, and some even work with newer versions of IE.
And yes, if you build your apps for AIR, they'll run on modern desktop OSes -- if people install it. Which would make them morons, because if it's really something for which HTML would be a viable alternative, why would I want to install your app instead of bookmarking it? Is it that hard to see that one of these options is both more convenient and secure?
If you run them in a plugin, that means you are part of the problem -- you are part of a phenomenon which holds the Web back.
Two DHTML popups (or AJAX, if you like) before I saw so much as the headline.
Yeah, fuck you, Phoronix. Not worth reading the article, since you clearly value your content so very, very little.
...possibly? It seems to work now, at least. Maybe it was only on that page?
I did try ctrl+v, middle click, and right-click->paste. I even opened up the developer tools and manually changed the attribute. Nothing worked other than manually re-typing into the box.
I'm glad some bugs were fixed, but it seems I now can't paste into Slashdot comment boxes. Chrome bug or Slashdot bug?
HDCP comes alongside HDMI,
Not necessarily. In fact, HDCP is independent of HDMI, and works just fine over DVI-D. The reverse is also true -- HDMI can work as essentially DVI + audio, without HDCP at all.
a good rule is to put always double quotes around all your parameters.
I don't see how that's improved over other languages, though. A good rule in Ruby is to always make system calls using the multi-arg version of system. A good rule in any language with SQL bindings is to use bind variables instead of string interpolation.
Actually, I find those options to be better, because it's a way of doing things that I have to remember, not that little syntactical thing of remembering quotes. It's why I much prefer bind variables to having to remember to quote and run some escaping routine around user data.
Right. But you do still have the case that the user can specify an argument there -- of=/somewhere/bad comes to mind.
For me interactive is a shell with a prompt and non interactive is one without prompt, and then that's a running shellscript.
Well, no. For instance, the shell as invoked by Perl/Ruby/C when using an insecure "system" function is noninteractive, but not necessarily running a shell script -- which I interpret as a self-contained program in a separate file.
I made a quick search on the net and only found a quite small entry for system call. I wonder if everybody programming in ruby is aware what "is subject to shell expansion" has as consequences.
Possible. I'm not sure it's important -- most Rubyists tend to avoid invoking other processes without good reason.
What to do when there are only bad programmers available?
Teach them to be good programmers. If all are unwilling or incapable to learn, find a new line of work -- or better yet, withdraw from society, because someone's embedded system bug is likely to kill you.
I've gone back to school, and I can tell you that there are plenty of good and bad -- definitely plenty of students who genuinely do want to learn, and care about getting it right.
I only see one patent on Ethernet, which should've expried in, what, 1995?
There are all sorts of other ways of wiring computers together -- the physical connection almost doesn't matter. So long as I can connect to at least one router plugged into the public Internet, I can talk to anyone else there, even if I only use Token Ring and everyone else only uses Ethernet.
But I do find the timing interesting -- the first consumer broadband service didn't happen until 1996, though we had dialup earlier. So good ideas certainly will thrive, even if patented, but often they won't truly fulfill their promise until the patents expire.