I wonder how much Python malware there is... I suppose if OS X ever gets enough marketshare someone might start writing malware in Python. Or perl? TIMTOWTDI for malware might be interesting- polymorphic perl malware using LWP, curl to fetch new instructions/payloads. Could be crossplatform and work on Linux and Unix as well.
I don't see it as dirtying. Very often I don't need to comment my code because of all the logging - from the logs you'd know what the code is trying to do and sometimes what might be happening when it fails.
I often like descriptive messages in my logs, how would I do that if the logging is in an aspect and applied to all methods? The descriptive messages don't tend to apply to all methods.
Don't buy into Krugman's presupposition that "robots taking jobs" is evil. Robots are viable only to the extent that they increase productivity. It is PRODUCTIVITY that creates wealth and abundance, not jobs.
Robots can bring wealth, the question is to whom? Robots taking jobs is not automatically evil, but robots taking jobs is not automatically good either. It depends on what happens with the wealth.
If you think robots taking jobs is automagically good, just take the current world and assume the Chinese/Indian/Vietnamese/etc workers are "robots", and the US workers are "humans". So how well is the current plan working out for the "humans"? Is it all fine and well? Most of the stuff those Chinese workers do are the very jobs the robots will start to do first.
If many US humans aren't doing well competing with the Chinese humans, what are they going do when the Chinese humans themselves can't compete with the Chinese robots?
So don't treat all that "buggy whip" stuff as religion.
If we manage it well, perhaps we'd only have to work a day a week like in the Jetsons;). Or maybe not even have to work unless we wanted to.
Is the USA that bankrupt that it'll close down because it built "elevators"? So far they had no huge problems printing trillions of US dollars and mostly getting away with it.
Maybe the USA would close down if it tried to build space elevators;).
Oops forgot another feature- you can then allow users to put themselves up as a "Public Reviewer/Critic" (if they have rated enough stuff). Then others can choose to see the Amazon world through their eyes.
If they are popular enough (result in lots of purchases and _satisfied_[1] purchases) you might even give them $$$.
[1] Amazon can track that by the subsequent reviews- they know who used the viewpoint and who bought what.
If Amazon has enough spare computing power and resources I'd suggest that they allow and even encourage everyone[0] with an account to review and rate stuff.
Then what they do is crunch through all the numbers and figure out groups that have similar preferences (how coarse or fine is up to them). These are now your "ViewGroups" (viewpoints, but "points" can be confusing and you can't trademark viewpoints as easily;) ).
Then OPTIONALLY have someone clever name the top[0] X largest of these ViewGroups appropriately and make them either explicitly or indirectly (and other unnamed ones[1]) available to people to use as they wish when they are looking for stuff. This is optional, you can still have people use viewgroups without explicitly naming them.
So if you are looking for a present for your grand aunt, you just select the appropriate ViewGroup[1] and then search for stuff or her. You might be less likely to find "Call of Duty" but that's a feature.
And if you are looking for a gift for someone who likes "50 Shades", you do something similar. Or if you're being naughty you pick something "opposite";).
Lastly, ideas are easy, implementation and "polish" is difficult. Nowadays patents suck and slow down progress. I'm getting old, and lots of cool stuff just isn't happening soon enough. Too often it's because of stupid crap like "one click".
[0] You might need to tweak a bit for cleverer spammers and their sock puppets. The dumber spammers and sock puppets will just end up in their own ViewGroups that hardly anyone but researchers would use.
[1] You could have people go through a wizard/form to pick a ViewGroup (whether named or unnamed). The wizard could ask them what items are liked or disliked. e.g. "Likes 50 Shades", "Likes Hello Kitty", "Dislikes Harry Potter".
As far as I know successful shopping malls and office buildings don't run their elevator and escalator systems as profit centres (same goes for their toilets).
For similar reasons I think public transport (and many similar) systems shouldn't be run as profit centres. There should be safety, quality, availability and reliability standards, and good regulation. Cost should also be considered but mainly to see if someone is screwing up badly, or corrupt. Anyone not too stupid can figure out how much such things should roughly cost after a while. So why bother having some private corp skim off the profit? I can understand Californians not wanting to help pay for stuff in New York and vice versa (because they'd hardly use it) if they don't consider themselves part of the same country.
You don't go building roads and rail to nowhere all the time, BUT sometimes it makes sense to have a particular nowhere become a new somewhere. You don't want the decision to be based mainly on the opinions of bean counters that only count the profitability of that small section of the road/rail. You'd want it based on a proper independent economic study (or three) of the entire thing.
Most kids don't use instruction sheets or manuals...
An adult might go "hey wait a minute", but the kid will just start playing. And unless there are any "show stoppers" the instruction sheet is never going to be used, except as additional toy material.
This is setting a new intended default behaviour - e.g. extensions should ask permission. If you bypass this it makes it harder to argue that your extension isn't malware.
Most people and the Courts treat things differently depending on whether you broke a lock to enter a place or the door wasn't even latched in the first place.
But what I like to do when performance is not an issue is to log everything (DEBUG etc) into a context ring buffer. Then normally only log messages above the configured log threshold will appear in the logs (e.g. INFO, NOTICE, WARNING). The DEBUG stuff won't appear. BUT if a log message above a log the context threshold occurs (e.g. ERROR, CRIT) the contents of the context buffer is logged followed by the actual triggering log. This way I don't have to turn debugging on. It can always be on BUT I don't have my logs full of the debug level logs unless "stuff happens".
This context logging stuff is bad for performance, but so far it's not a problem for the stuff I do (and can be turned off). It does make it easier to figure out what happened while creating less DEBUG noise.
As part of my log messages I also have hashes and dots, e.g.: DEBUG = one hash = #........ INFO = ##...... NOTICE = ###.....
This way I can easily "grep" log files for logs above a particular threshold. If you're Google or Facebook scale you'll have to do things a bit differently because there'll be zillions of logs, you can't have half a million machines send logs to one log server;). So you'd need a way to summarize logs.
Just some basics that might open up student eyes to how things work in the real world and more importantly how things could fail, and how one might deal with them.
FWIW I didn't do CS. I did EE. So maybe this stuff is actually covered in some CS courses. I doubt it was covered in my colleagues CS courses though;).
True but I haven't seen much academic example code that has plenty of logging in them.
In the real world much good code is filled with exception handling and logs. Because for almost anything that you try or call something wrong/else could happen or something could send you a SIGTERM or similar. You'd leave out the logging in the high performance processing loops, but in the real world those often are only a very small part of the code.
So it's not just most real world code that sucks in the real world, most academic style code would also suck too.;)
Yes there are different logging systems, but you can pick one or two as examples - after all there are also many computer programming languages and most academic courses still teach at least one programming language.
It could create a popular alternative way to support artists, coders, whoever and so be even more profitable for Facebook (e.g. many more may actually use it).
For example artists can sign up formally with Facebook (so that they can get paid more easily) and Facebook takes a 30% cut (like Apple does for their stuff). Then the hordes of fans can easily send them money.
One problem with that could be money laundering (depending on the implementation).
The other problem is Facebook's system might not be suitable for financial transactions. Duplicated/failed comments/messages/status updates aren't a big problem. But duplicated money transfers could be:). This is probably solvable though.
For instance, before Windows 95, no other previous version of Windows had had a button to get to your programs.
Exactly! Can't you even see the difference? With Windows 95 there's a frigging new BUTTON on the screen. So you click on it, and certain stuff happens. Even though people found it amusing/strange that to shutdown you have to click on the "Start" button, it didn't really matter - new users can see the button and click on it.
With these corners you don't see anything.
The shills say "just use the search to launch programs". Hey if you have a user interface where you can only have one main foreground app, you don't get many clues, and it works better if you already know the names of the programs you want, then the interface is not much better than a frigging Unix CLI.
By that logic, nothing would ever change.
Who is asking for no change? I want real IMPROVEMENTS not step backwards or cosmetic crap. Interfaces should augment humans so that they can do way more than they'd otherwise be able to.
Any crappy OS can run one program at a time. A good OS can efficiently run from one to very very many programs at a time.
Similarly any crappy UI can help a user manage one task/program at a time, but a good UI allows users to easily do one task and far far more.
I wonder how much Python malware there is... I suppose if OS X ever gets enough marketshare someone might start writing malware in Python. Or perl? TIMTOWTDI for malware might be interesting- polymorphic perl malware using LWP, curl to fetch new instructions/payloads. Could be crossplatform and work on Linux and Unix as well.
I don't see it as dirtying. Very often I don't need to comment my code because of all the logging - from the logs you'd know what the code is trying to do and sometimes what might be happening when it fails.
I often like descriptive messages in my logs, how would I do that if the logging is in an aspect and applied to all methods? The descriptive messages don't tend to apply to all methods.
Hmm seems it's getting popular to dislike stuff because it's popular. What am I going to do when "everyone" does it. ;)
Don't buy into Krugman's presupposition that "robots taking jobs" is evil. Robots are viable only to the extent that they increase productivity. It is PRODUCTIVITY that creates wealth and abundance, not jobs.
Robots can bring wealth, the question is to whom? Robots taking jobs is not automatically evil, but robots taking jobs is not automatically good either. It depends on what happens with the wealth.
If you think robots taking jobs is automagically good, just take the current world and assume the Chinese/Indian/Vietnamese/etc workers are "robots", and the US workers are "humans". So how well is the current plan working out for the "humans"? Is it all fine and well? Most of the stuff those Chinese workers do are the very jobs the robots will start to do first.
If many US humans aren't doing well competing with the Chinese humans, what are they going do when the Chinese humans themselves can't compete with the Chinese robots?
So don't treat all that "buggy whip" stuff as religion.
If we manage it well, perhaps we'd only have to work a day a week like in the Jetsons ;). Or maybe not even have to work unless we wanted to.
If we don't, it's not going to be so great.
Is the USA that bankrupt that it'll close down because it built "elevators"? So far they had no huge problems printing trillions of US dollars and mostly getting away with it.
;).
Maybe the USA would close down if it tried to build space elevators
Oops forgot another feature- you can then allow users to put themselves up as a "Public Reviewer/Critic" (if they have rated enough stuff). Then others can choose to see the Amazon world through their eyes.
If they are popular enough (result in lots of purchases and _satisfied_[1] purchases) you might even give them $$$.
[1] Amazon can track that by the subsequent reviews- they know who used the viewpoint and who bought what.
If Amazon has enough spare computing power and resources I'd suggest that they allow and even encourage everyone[0] with an account to review and rate stuff.
;) ).
;).
Then what they do is crunch through all the numbers and figure out groups that have similar preferences (how coarse or fine is up to them). These are now your "ViewGroups" (viewpoints, but "points" can be confusing and you can't trademark viewpoints as easily
Then OPTIONALLY have someone clever name the top[0] X largest of these ViewGroups appropriately and make them either explicitly or indirectly (and other unnamed ones[1]) available to people to use as they wish when they are looking for stuff. This is optional, you can still have people use viewgroups without explicitly naming them.
So if you are looking for a present for your grand aunt, you just select the appropriate ViewGroup[1] and then search for stuff or her. You might be less likely to find "Call of Duty" but that's a feature.
And if you are looking for a gift for someone who likes "50 Shades", you do something similar. Or if you're being naughty you pick something "opposite"
Lastly, ideas are easy, implementation and "polish" is difficult. Nowadays patents suck and slow down progress. I'm getting old, and lots of cool stuff just isn't happening soon enough. Too often it's because of stupid crap like "one click".
[0] You might need to tweak a bit for cleverer spammers and their sock puppets. The dumber spammers and sock puppets will just end up in their own ViewGroups that hardly anyone but researchers would use.
[1] You could have people go through a wizard/form to pick a ViewGroup (whether named or unnamed). The wizard could ask them what items are liked or disliked. e.g. "Likes 50 Shades", "Likes Hello Kitty", "Dislikes Harry Potter".
As far as I know successful shopping malls and office buildings don't run their elevator and escalator systems as profit centres (same goes for their toilets).
For similar reasons I think public transport (and many similar) systems shouldn't be run as profit centres. There should be safety, quality, availability and reliability standards, and good regulation. Cost should also be considered but mainly to see if someone is screwing up badly, or corrupt. Anyone not too stupid can figure out how much such things should roughly cost after a while. So why bother having some private corp skim off the profit? I can understand Californians not wanting to help pay for stuff in New York and vice versa (because they'd hardly use it) if they don't consider themselves part of the same country.
You don't go building roads and rail to nowhere all the time, BUT sometimes it makes sense to have a particular nowhere become a new somewhere. You don't want the decision to be based mainly on the opinions of bean counters that only count the profitability of that small section of the road/rail. You'd want it based on a proper independent economic study (or three) of the entire thing.
Assuming the record is 200+ wpm then he'd need to hit keys at more than 20 keys per second (assuming average of 5 character words + 1 spacebar).
;).
If he can't beat that just by pressing keys as if typing at max speed but without caring for correctness, then dvorak isn't going to help him.
Lastly, I wonder if there are rules against the use of performance enhancing drugs for typing world records
Most kids don't use instruction sheets or manuals...
An adult might go "hey wait a minute", but the kid will just start playing. And unless there are any "show stoppers" the instruction sheet is never going to be used, except as additional toy material.
Any examples or details of how you do it?
This is setting a new intended default behaviour - e.g. extensions should ask permission. If you bypass this it makes it harder to argue that your extension isn't malware.
Most people and the Courts treat things differently depending on whether you broke a lock to enter a place or the door wasn't even latched in the first place.
Certain types of stomach surgery (bands, bypass) can cure type 2 diabetes. Google it.
It's risky of course so you might prefer the risk of this instead: http://articles.latimes.com/2011/jun/25/news/la-heb-diabetes-extreme-diet-06252011
Yeah I remember space theme lego back when the space shuttle was still new.
http://en.wikipedia.org/wiki/Lego_Space
Plenty of themes back then:
http://en.wikipedia.org/wiki/List_of_Lego_themes
Yeah I still have no idea how to do logging well.
But what I like to do when performance is not an issue is to log everything (DEBUG etc) into a context ring buffer. Then normally only log messages above the configured log threshold will appear in the logs (e.g. INFO, NOTICE, WARNING). The DEBUG stuff won't appear. BUT if a log message above a log the context threshold occurs (e.g. ERROR, CRIT) the contents of the context buffer is logged followed by the actual triggering log. This way I don't have to turn debugging on. It can always be on BUT I don't have my logs full of the debug level logs unless "stuff happens".
This context logging stuff is bad for performance, but so far it's not a problem for the stuff I do (and can be turned off). It does make it easier to figure out what happened while creating less DEBUG noise.
As part of my log messages I also have hashes and dots, e.g.:
DEBUG = one hash = #........
INFO = ##......
NOTICE = ###.....
This way I can easily "grep" log files for logs above a particular threshold. If you're Google or Facebook scale you'll have to do things a bit differently because there'll be zillions of logs, you can't have half a million machines send logs to one log server ;). So you'd need a way to summarize logs.
It might also be nice if the CS lecturers spend some time discussing the merits of different exception handling approaches in various scenarios. Instead of just stuff like this: http://www.cs.auckland.ac.nz/compsci105s2c/lectures/adriana/Lecture06.pdf
Doesn't need to be as detailed and extensive as this: http://www.amazon.com/Advances-Exception-Handling-Techniques-Computer/dp/3540419527
Just some basics that might open up student eyes to how things work in the real world and more importantly how things could fail, and how one might deal with them.
FWIW I didn't do CS. I did EE. So maybe this stuff is actually covered in some CS courses. I doubt it was covered in my colleagues CS courses though ;).
Nope, it's just NY Daily News being assholes, see this pic: http://www.apimages.com/OneUp.aspx?st=k&kw=NOEL%20JABBOUR&showact=results&sort=relevance&intv=None&sh=10&kwstyle=or&adte=1356199851&pagez=60&cfasstyle=AND&rids=54170f7043e5da11af9f0014c2589dfb&dbm=PY2000&page=1&xslt=1&mediatype=Photo
Because of them many people now think the kid is guilty.
Mod parent up! nydailynews should be punished for the misleading picture.
If they don't care if it interferes with such devices, then isn't it just a matter of increasing the power output on their transmitter?
Yep, nuke it from orbit. That definitely sends a signal that'll blast through the noise...
Brace position and spacing both are encompassed by the whitespace argument that I was referring to.
ORLY? Which diff are you using treats the following as the same?
if (a==b) {
doSomething;
}
As this:
if (a==b)
{
doSomething;
}
As for ignoring whitespace, just hope you never inherit a python project that's written by multiple people who don't follow the same standards ;).
True but I haven't seen much academic example code that has plenty of logging in them.
In the real world much good code is filled with exception handling and logs. Because for almost anything that you try or call something wrong/else could happen or something could send you a SIGTERM or similar. You'd leave out the logging in the high performance processing loops, but in the real world those often are only a very small part of the code.
So it's not just most real world code that sucks in the real world, most academic style code would also suck too. ;)
Yes there are different logging systems, but you can pick one or two as examples - after all there are also many computer programming languages and most academic courses still teach at least one programming language.
Anyway the story also reminds me of: http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html ;)
A 250lb JDAM dropped from a MQ-9 is treated completely differently (in the press) than the exact same 250lb JDAM dropped from an F-16.
Because the US president treats it differently too.
He doesn't consider using them an act of war requiring approval from Congress:
http://www.slate.com/articles/health_and_science/human_nature/2011/06/koh_is_my_god_pilot.html
http://www.washingtonpost.com/blogs/she-the-people/wp/2012/12/10/the-threat-of-drones-ushering-in-invisible-wars/
It could create a popular alternative way to support artists, coders, whoever and so be even more profitable for Facebook (e.g. many more may actually use it).
:). This is probably solvable though.
For example artists can sign up formally with Facebook (so that they can get paid more easily) and Facebook takes a 30% cut (like Apple does for their stuff). Then the hordes of fans can easily send them money.
One problem with that could be money laundering (depending on the implementation).
The other problem is Facebook's system might not be suitable for financial transactions. Duplicated/failed comments/messages/status updates aren't a big problem. But duplicated money transfers could be
So I guess outsourcing to India or China is out of the question? ;)
I'll be happy with it if the recipient gets a 70% cut.
Then it can become an alternative way to support artists, coders, whoever.
For instance, before Windows 95, no other previous version of Windows had had a button to get to your programs.
Exactly! Can't you even see the difference? With Windows 95 there's a frigging new BUTTON on the screen. So you click on it, and certain stuff happens. Even though people found it amusing/strange that to shutdown you have to click on the "Start" button, it didn't really matter - new users can see the button and click on it.
With these corners you don't see anything.
The shills say "just use the search to launch programs". Hey if you have a user interface where you can only have one main foreground app, you don't get many clues, and it works better if you already know the names of the programs you want, then the interface is not much better than a frigging Unix CLI.
By that logic, nothing would ever change.
Who is asking for no change? I want real IMPROVEMENTS not step backwards or cosmetic crap. Interfaces should augment humans so that they can do way more than they'd otherwise be able to.
Any crappy OS can run one program at a time. A good OS can efficiently run from one to very very many programs at a time.
Similarly any crappy UI can help a user manage one task/program at a time, but a good UI allows users to easily do one task and far far more.