I was checking the comments to see if anybody had mentioned that yet, as I was going to say the same thing myself.
I *highly* recommend that link, as well as the book from whence it came, Surely You're Joking, Mr. Feynman. In fact I think that book should be required reading for any self-respecting nerd.
When did C lose its status as an open source language? or do we mean languages for web apps?
O'Reilly picked the languages. My guess is it is because these langs are closely associated with their book sales and attendant web sites/blogs.
As for the contest itself... I am glad I don't actually have to endure it. It's just like those old Budweiser ads (tastes great/less filling) modulo the scantily clad women duking it out in a swimming pool.
And safety is really easy to come by in a hotel in Somalia.
I'm sorry, did you have some kind of point? The story was talking about San Francisco.
Were you kidding?
If US passport data can be easily acquired in San Francisco (where US citizens generally don't carry them), then it follows that said data will be abundant in areas where people are likely to carry passports. Somalia was just an example. Replace it with your favorite vacation getaway spot, if you like.
What if I post a blog entry saying there is a cool painting at museum X?
You'd be fine because nobody would ever find your blog, since linking to it would be illegal.
Re:Electronic Health Records is very hard
on
IT and Health Care
·
· Score: 1
Yeah. Sadly, that is the rule, not the exception. Once somebody has an MBA or some high-level position, they get a disease that makes them think they are qualified to do interaction design. Unfortunately since they are also in a position of power, they will win any arguments that come up. This is actually the reason I left my job for grad school. I just couldn't stand it any more.
It is pretty rare to find management types that will let designers do their job without harassment.
If Stephen Hawking says something about physics, do you require a citation from him? Nielson is recognized as one of the leading experts in his field.
Nielsen is not universally revered in HCI (/usability) circles, and we don't really have a Steven Hawking-like figure. He has done some pretty solid work in the past, but that only goes so far. A lot of UI/UX/ practitioners I know don't think highly of his recent stuff. So, [citation needed] is right, but [open mind needed] is as well.
I love my field, but it is really fluffy---most of what we accept as "true" is really just "things we generally accept or don't want to argue about any more". Like most pundits, Jakob is taking an extreme position to get practitioners to think about alternative methods of designing user interactions.
Re:Electronic Health Records is very hard
on
IT and Health Care
·
· Score: 1
I took what he said as shorthand for "some sort of glitch". Certainly "human error" happens very often, especially when the user interface was designed by chimpanzees. But hardware failures or unknown software bugs really do happen, and do not always manifest in immediately obvious ways.
Personally, the more I experience from the M.D. community, the more I think they are largely just witchdoctors. My perception is that physicians substitute confidence for competence, and that many of them lack ethical standards for practicing medicine. And it's not like I just haven't gotten to know medical docs: I have friends in med school, and another just took on a job as an attending. This is a "crisis of the profession" that really, really should be addressed.
A friend of mine also has an undiagnosed digestive tract issue, which may or may not be related to a hormonal (thyroid) problem. She's been to several doctors, none of whom have been helpful at all. She has explicitly requested certain tests and was told either (a) they were unnecessary because other tests or symptoms did not indicate the test would yield anything, or (b) that maybe she's not being forthcoming about what her symptoms really are.
I don't understand what the motivation is for (a). These are not expensive, time consuming tests. I suspect it has something to do with preserving the ego of the doctor. In one case, a doctor refused to do a test because he simply didn't believe that the condition exists (reverse T3). Last fall I spent several weeks doing observations in the ER of what is considered a really good hospital. At one point I overheard a conversation between one of the residents and one of the med students. He explained that doing a diagnosis is really just following a bunch of if-then rules. He even brought up a web site that used Bayesian Networks that tell the doctor what to do next. Some of the possible diagnoses were made less likely by some information, and if there is insufficient evidence for a condition, it means that condition won't be tested until enough other factors have been ruled 'out'. Right there, I can see a bug in his program: in the 18 yo girl's case, Crohn's might have been ruled 'out' because of an unlucky biopsy sample, until nothing looked possible. (Is this *really* something a seasoned veteran doctor does??)
Part (b) is equally troubling. Her doctors would tell her to start exercising and stop stuffing her face with pastries (but more politely). Maybe they assume she is a liar, or maybe they think she is a hypochondriac. But in reality, she works out 3-4 times a week, jogs often, and is obsessive about eating right. She used to be a professional tennis player, for Christ's sake.
At this point she is in pain about 70% of the time, and has given up trying to find a competent doctor until she can move back to the US. There she will (hopefully) be able to shop around for a doctor who might engage a brain cell or two and put the decision tree down.
Take a look at NewYorkCountryLawyer's blog. He's been covering the RIAA's silly legal war for quite some time and is something of a Slashdot fixture. The blog is a great resource for learning about the absurdity that is the recording industry.
Thanks for those links, that was really interesting. Since this whole thing started, the media seemed to present two diametrically opposed views on this woman. It is good to see that there are still journalists out there who know how to do a little bit of analysis.
Garbage collection is the process freeing objects that are no longer referenced by the program.
I think some of the other responses still might be a bit too technical. I'll give some code.
Most languages these days have a concept of 'scope', which limits the visibility and viability of a variable. Say you want to implement the mathematical function f(x) = x^2 + 3x + 4. One way you might do this is to calculate each individual term, store it in a temporary variable, and add up all the temp variables at the end to get the result you really want. Every time you want to store a value in a variable, you have to first allocate space for it, and use up even more space remembering where you put it. After calling 'f', the temp variables are still there in the 'f' function's scope, but they're not accessible any longer. If that memory isn't freed, it means you will eventually run out of RAM and start paging to disk. In pseudo-code (fake code to illustrate the point) this might look like:
define f(x)
first_term = x^2// temp var - turns into garbage
second_term = 3x// temp var
third_term = 4// temp var
result = first_term + second_term + third term
return result done
a = f(5)// calculate f(x) where x = 5 b = f(6)// and so on...
A garbage collector is a language/interpreter tool that can automatically identify the variables that are no longer in scope and are just wasting space that you might need in the future. Building a good GC is tricky, because it takes up processing power and memory of its own, and if it runs at an unfortunate time, it might cause latency in your program.
I was interested in reading the analysis that led to the $100,000/month loss per month the guy's work was offline. So doing what you do, I clicked on the link and found it grandly hilarious to receive a 500 error stating: "Error establishing a database connection". Oh, the irony.
It looks like this article is implementing the system that Jeff Han made about a few years ago and famously presented at TED. I'm glad to see this DIY article out there since it is getting lots of people interested in physical hacking, but I wish it would have referenced what came before. Here's the UIST paper:
Han, J. Y. 2005. Low-cost multi-touch sensing through frustrated total internal reflection. In Proceedings of the 18th Annual ACM Symposium on User interface Software and Technology (Seattle, WA, USA, October 23 - 26, 2005). UIST '05. ACM, New York, NY, 115-118. DOI= http://doi.acm.org/10.1145/1095034.1095054
I feel obliged to mention my colleague's PhD thesis project from CMU, which he's now (I think) in the process of commercializing. It's called roblocks at the moment, and it's a modular robotic construction kit. Each block is an autonomous robot with onboard computation. Some blocks have sensors, others are actuators, and others can perform math. You can build different behaviors by connecting them together.
Roblocks are incredibly cool. Some may go so far as to say they are rad.
"The Pattern On The Stone: The Simple Ideas That Make Computers Work" by Danny Hillis.
It is a masterful piece on computation, and how computers work, and uses mathematics and logic in a very down-to-reality way that I think is certainly readable by a motivated high school student.
I'd write more but my laptop battery is about to die. It's a great book!
Here's an article that was particularly influential on me and some of my friends: Brooks, R. 1991. Intelligence Without Reason. MIT AI Memo num 1292. Even though it is 'just' a tech report, it is frequently cited. He had another one, Intelligence without Representation, which is also good.
Somebody else mentioned the McClelland and Rumelhart PDP (neural networks) book, and it is also still quite good in spite of its age.
The interesting thing about AI (to me) is the funny mix of domain expertise. You have philosophers, sociologists, cognitive scientists, psychologists, computer scientists, and mathematicians. That's not a complete list---I'm in human-computer interaction and design research.
But because of the motley crew of domains you have a hundred people speaking a hundred different dialects. Some people put everything in really mathy terms, and their journal articles look (to me) like they are written in Klingon. Then you have others who write in beautiful prose but don't give any specifics on how to implement things. Still others express everything in code or predicate logic.
The oldest school of AI holds that you can reduce intelligence to a series of rules that can operate on any input and make some deterministic and intelligent sense of it. That works to a degree, but it falls apart at some point partly because of the computational complexity (e.g. the algorithm works if you have a million years to wait for the answer). Another reason it falls apart is because there are some kinds of intelligence that can't be reduced to rational computation (e.g. I love my wife because of that thing she does...).
There's a newer kind of AI that is based on having relatively simple computational structures that eat lots of data, "learn" rules based on that data, and are capable of giving fairly convincing illusions of smartness when given additional data from the wild. Neural nets fall into this category.
A third kind of AI brings these two schools together in the belief that there are fundamental computational structures like Bayesian Networks that can model intelligence* but those structures by themselves are insufficient and must be able to adapt based on exposure to real data. So instead of having a static BN whose topology is defined at the start and remains the same throughout the life of the robot, we can have a dynamic BN whose structure changes based on the environment.
I remember reading a recent article by John McCarthy arguing that all this statistical business is hogwash, and that the old school positivist, reductionist approach will eventually win. He's a smart guy, inventor of LISP and a Turing Award recipient. It seems his view is in the minority, but I'm not one to say he's wrong. However, my inclination is that the third hybrid group is probably going to be the one to make the most progress in the years to come.
The reason for my preference to the hybrid school could probably be best explained by Lucy Suchman's Plans and Situated Actions. I can't really do her thesis justice in a few sentences, but the short version of her argument is that there are plans (the sequence of steps that we think we are about to carry out before performing some task) and actions, which is the set of things we actually do. In my mind, a plan corresponds roughly with the underlying computational mechanism, but the actions correspond with how that mechanism executes and what happens when the underlying structure is insufficient, wrong, misleading, or fails.
Hope that helps.
Gabe
* None of this is to say that computational structures that we implement with software/hardware ar
If I could mod you up (and if you weren't at +5 to me) I'd give you points. People have no disincentive for anti-social behavior because we've let our legal system castrate us.
This topic always makes me recall how Buzz Aldrin was confronted by a moon landing denier, and Buzz jacked him. Personally I think the world would be much more pleasant if there was a legal basis for bloodying the nose of somebody who desperately needs it.
If you spend all your class time surfing the web, you should fail.
Thanks, I was scanning the replies to see if anybody suggested this. One more thing, though.
A lot of schools, both at the undergraduate and 'professional graduate' levels are in the business of collecting money in exchange for a degree. Only in a lamentably diminishing set of cases does the degree actually hold some correlation with scholarly aptitude.
A diploma has become nothing more than a receipt.
This presents a problem for institutions that actually have the fortitude to maintain levels of quality. My girlfriend teaches in a business school, teaching MBAs and undergrads. The MBAs have an attitude that they can do anything, and the university (not my university!) supports it. Once she enforced standards of quality in her MBA class and she was brought into the dean's office much like a fifth grader gets sent to the principle for shooting spitballs. Since then, the MBAs get away with murder.
Earlier, before giving a test in an undergrad (junior/senior) class, we joked that a student would come to her during the test and ask "what's this funny symbol". Frighteningly, this happened. The student didn't know capital sigma!
Teachers need institutional support for upholding standards. The inmates are running the asylum!
This is strange for me to see right now, because I just discovered that Street View now works in Pittsburgh. If you pan the camera a little bit, you can see the roll of duct tape keeping my side mirror on my car. My dad would be proud.
On one hand, this is a little spooky, but I can't really quantify why. I suppose if I put a stone tablet in my yard named 'robots.txt' it would not help.
On the other hand, street view could be very useful for people moving to new cities. I got my place in Pittsburgh off craigslist sight unseen because I was too poor to afford plane tickets and hotels and the like. I got incredibly lucky, but I could have ended up in a rathole in a horrible area of town (of which there are many). I'm about to move to Montreal, and it would be very nice to have a way of checking out the city so I know (vaguely) which areas I like.
"If we can't restrict the use of the words "f***" and "s***" during prime time, Hollywood will be able to say anything they want, whenever they want." -- Kevin Martin, FCC chairman, June 5 2007
Self-deprecating nerds should also enjoy it, assuming there's available stack space :)
I was checking the comments to see if anybody had mentioned that yet, as I was going to say the same thing myself.
I *highly* recommend that link, as well as the book from whence it came, Surely You're Joking, Mr. Feynman. In fact I think that book should be required reading for any self-respecting nerd.
O'Reilly picked the languages. My guess is it is because these langs are closely associated with their book sales and attendant web sites/blogs.
As for the contest itself... I am glad I don't actually have to endure it. It's just like those old Budweiser ads (tastes great/less filling) modulo the scantily clad women duking it out in a swimming pool.
Were you kidding?
If US passport data can be easily acquired in San Francisco (where US citizens generally don't carry them), then it follows that said data will be abundant in areas where people are likely to carry passports. Somalia was just an example. Replace it with your favorite vacation getaway spot, if you like.
blackraven's comment is +5 insightful IMO.
You'd be fine because nobody would ever find your blog, since linking to it would be illegal.
Yeah. Sadly, that is the rule, not the exception. Once somebody has an MBA or some high-level position, they get a disease that makes them think they are qualified to do interaction design. Unfortunately since they are also in a position of power, they will win any arguments that come up. This is actually the reason I left my job for grad school. I just couldn't stand it any more.
It is pretty rare to find management types that will let designers do their job without harassment.
Nielsen is not universally revered in HCI (/usability) circles, and we don't really have a Steven Hawking-like figure. He has done some pretty solid work in the past, but that only goes so far. A lot of UI/UX/ practitioners I know don't think highly of his recent stuff. So, [citation needed] is right, but [open mind needed] is as well.
I love my field, but it is really fluffy---most of what we accept as "true" is really just "things we generally accept or don't want to argue about any more". Like most pundits, Jakob is taking an extreme position to get practitioners to think about alternative methods of designing user interactions.
I took what he said as shorthand for "some sort of glitch". Certainly "human error" happens very often, especially when the user interface was designed by chimpanzees. But hardware failures or unknown software bugs really do happen, and do not always manifest in immediately obvious ways.
Personally, the more I experience from the M.D. community, the more I think they are largely just witchdoctors. My perception is that physicians substitute confidence for competence, and that many of them lack ethical standards for practicing medicine. And it's not like I just haven't gotten to know medical docs: I have friends in med school, and another just took on a job as an attending. This is a "crisis of the profession" that really, really should be addressed.
A friend of mine also has an undiagnosed digestive tract issue, which may or may not be related to a hormonal (thyroid) problem. She's been to several doctors, none of whom have been helpful at all. She has explicitly requested certain tests and was told either (a) they were unnecessary because other tests or symptoms did not indicate the test would yield anything, or (b) that maybe she's not being forthcoming about what her symptoms really are.
I don't understand what the motivation is for (a). These are not expensive, time consuming tests. I suspect it has something to do with preserving the ego of the doctor. In one case, a doctor refused to do a test because he simply didn't believe that the condition exists (reverse T3). Last fall I spent several weeks doing observations in the ER of what is considered a really good hospital. At one point I overheard a conversation between one of the residents and one of the med students. He explained that doing a diagnosis is really just following a bunch of if-then rules. He even brought up a web site that used Bayesian Networks that tell the doctor what to do next. Some of the possible diagnoses were made less likely by some information, and if there is insufficient evidence for a condition, it means that condition won't be tested until enough other factors have been ruled 'out'. Right there, I can see a bug in his program: in the 18 yo girl's case, Crohn's might have been ruled 'out' because of an unlucky biopsy sample, until nothing looked possible. (Is this *really* something a seasoned veteran doctor does??)
Part (b) is equally troubling. Her doctors would tell her to start exercising and stop stuffing her face with pastries (but more politely). Maybe they assume she is a liar, or maybe they think she is a hypochondriac. But in reality, she works out 3-4 times a week, jogs often, and is obsessive about eating right. She used to be a professional tennis player, for Christ's sake.
At this point she is in pain about 70% of the time, and has given up trying to find a competent doctor until she can move back to the US. There she will (hopefully) be able to shop around for a doctor who might engage a brain cell or two and put the decision tree down.
I'm not sure if you were being sarcastic or not.
Take a look at NewYorkCountryLawyer's blog. He's been covering the RIAA's silly legal war for quite some time and is something of a Slashdot fixture. The blog is a great resource for learning about the absurdity that is the recording industry.
Thanks for those links, that was really interesting. Since this whole thing started, the media seemed to present two diametrically opposed views on this woman. It is good to see that there are still journalists out there who know how to do a little bit of analysis.
I think some of the other responses still might be a bit too technical. I'll give some code.
Most languages these days have a concept of 'scope', which limits the visibility and viability of a variable. Say you want to implement the mathematical function f(x) = x^2 + 3x + 4. One way you might do this is to calculate each individual term, store it in a temporary variable, and add up all the temp variables at the end to get the result you really want. Every time you want to store a value in a variable, you have to first allocate space for it, and use up even more space remembering where you put it. After calling 'f', the temp variables are still there in the 'f' function's scope, but they're not accessible any longer. If that memory isn't freed, it means you will eventually run out of RAM and start paging to disk. In pseudo-code (fake code to illustrate the point) this might look like:
define f(x)
first_term = x^2
second_term = 3x
third_term = 4
result = first_term + second_term + third term
return result
done
a = f(5) // calculate f(x) where x = 5 // and so on...
b = f(6)
A garbage collector is a language/interpreter tool that can automatically identify the variables that are no longer in scope and are just wasting space that you might need in the future. Building a good GC is tricky, because it takes up processing power and memory of its own, and if it runs at an unfortunate time, it might cause latency in your program.
I was interested in reading the analysis that led to the $100,000/month loss per month the guy's work was offline. So doing what you do, I clicked on the link and found it grandly hilarious to receive a 500 error stating: "Error establishing a database connection". Oh, the irony.
It looks like this article is implementing the system that Jeff Han made about a few years ago and famously presented at TED. I'm glad to see this DIY article out there since it is getting lots of people interested in physical hacking, but I wish it would have referenced what came before. Here's the UIST paper:
Han, J. Y. 2005. Low-cost multi-touch sensing through frustrated total internal reflection. In Proceedings of the 18th Annual ACM Symposium on User interface Software and Technology (Seattle, WA, USA, October 23 - 26, 2005). UIST '05. ACM, New York, NY, 115-118. DOI= http://doi.acm.org/10.1145/1095034.1095054
I feel obliged to mention my colleague's PhD thesis project from CMU, which he's now (I think) in the process of commercializing. It's called roblocks at the moment, and it's a modular robotic construction kit. Each block is an autonomous robot with onboard computation. Some blocks have sensors, others are actuators, and others can perform math. You can build different behaviors by connecting them together.
Roblocks are incredibly cool. Some may go so far as to say they are rad.
"The Pattern On The Stone: The Simple Ideas That Make Computers Work" by Danny Hillis.
It is a masterful piece on computation, and how computers work, and uses mathematics and logic in a very down-to-reality way that I think is certainly readable by a motivated high school student.
I'd write more but my laptop battery is about to die. It's a great book!
Also seconded. Russel & Norvig. Artificial Intelligence: A Modern Approach is a good book, well illustrated, and generally lacks the undecipherable academia-speak that pervades lots of AI literature.
Here's an article that was particularly influential on me and some of my friends: Brooks, R. 1991. Intelligence Without Reason. MIT AI Memo num 1292. Even though it is 'just' a tech report, it is frequently cited. He had another one, Intelligence without Representation, which is also good.
Somebody else mentioned the McClelland and Rumelhart PDP (neural networks) book, and it is also still quite good in spite of its age.
The interesting thing about AI (to me) is the funny mix of domain expertise. You have philosophers, sociologists, cognitive scientists, psychologists, computer scientists, and mathematicians. That's not a complete list---I'm in human-computer interaction and design research.
But because of the motley crew of domains you have a hundred people speaking a hundred different dialects. Some people put everything in really mathy terms, and their journal articles look (to me) like they are written in Klingon. Then you have others who write in beautiful prose but don't give any specifics on how to implement things. Still others express everything in code or predicate logic.
The oldest school of AI holds that you can reduce intelligence to a series of rules that can operate on any input and make some deterministic and intelligent sense of it. That works to a degree, but it falls apart at some point partly because of the computational complexity (e.g. the algorithm works if you have a million years to wait for the answer). Another reason it falls apart is because there are some kinds of intelligence that can't be reduced to rational computation (e.g. I love my wife because of that thing she does...).
There's a newer kind of AI that is based on having relatively simple computational structures that eat lots of data, "learn" rules based on that data, and are capable of giving fairly convincing illusions of smartness when given additional data from the wild. Neural nets fall into this category.
A third kind of AI brings these two schools together in the belief that there are fundamental computational structures like Bayesian Networks that can model intelligence* but those structures by themselves are insufficient and must be able to adapt based on exposure to real data. So instead of having a static BN whose topology is defined at the start and remains the same throughout the life of the robot, we can have a dynamic BN whose structure changes based on the environment.
I remember reading a recent article by John McCarthy arguing that all this statistical business is hogwash, and that the old school positivist, reductionist approach will eventually win. He's a smart guy, inventor of LISP and a Turing Award recipient. It seems his view is in the minority, but I'm not one to say he's wrong. However, my inclination is that the third hybrid group is probably going to be the one to make the most progress in the years to come.
The reason for my preference to the hybrid school could probably be best explained by Lucy Suchman's Plans and Situated Actions . I can't really do her thesis justice in a few sentences, but the short version of her argument is that there are plans (the sequence of steps that we think we are about to carry out before performing some task) and actions, which is the set of things we actually do. In my mind, a plan corresponds roughly with the underlying computational mechanism, but the actions correspond with how that mechanism executes and what happens when the underlying structure is insufficient, wrong, misleading, or fails.
Hope that helps.
Gabe
* None of this is to say that computational structures that we implement with software/hardware ar
If I could mod you up (and if you weren't at +5 to me) I'd give you points. People have no disincentive for anti-social behavior because we've let our legal system castrate us.
This topic always makes me recall how Buzz Aldrin was confronted by a moon landing denier, and Buzz jacked him. Personally I think the world would be much more pleasant if there was a legal basis for bloodying the nose of somebody who desperately needs it.
Thanks you two, that was a good read.
Don't forget the Polish help as well:
Pulaski and Kosciuszko did amazing things for freedom in general and are regrettably forgotten by many.
Right on. mod up parent, grand parent, great grandparent, and buy yourself a pony too. You deserve it.
Possession of Casio watches? Wearing ugly clothes? I wonder if they could have picked people up for listening to Milli Vanilli.
Right below that paragraph (on page 17) it says a guy was arrested for being a cook's assistant for the Taliban.
Every day, I feel a little more seditious.
Thanks, I was scanning the replies to see if anybody suggested this. One more thing, though.
A lot of schools, both at the undergraduate and 'professional graduate' levels are in the business of collecting money in exchange for a degree. Only in a lamentably diminishing set of cases does the degree actually hold some correlation with scholarly aptitude.
A diploma has become nothing more than a receipt.
This presents a problem for institutions that actually have the fortitude to maintain levels of quality. My girlfriend teaches in a business school, teaching MBAs and undergrads. The MBAs have an attitude that they can do anything, and the university (not my university!) supports it. Once she enforced standards of quality in her MBA class and she was brought into the dean's office much like a fifth grader gets sent to the principle for shooting spitballs. Since then, the MBAs get away with murder.
Earlier, before giving a test in an undergrad (junior/senior) class, we joked that a student would come to her during the test and ask "what's this funny symbol". Frighteningly, this happened. The student didn't know capital sigma!
Teachers need institutional support for upholding standards. The inmates are running the asylum!
This is strange for me to see right now, because I just discovered that Street View now works in Pittsburgh. If you pan the camera a little bit, you can see the roll of duct tape keeping my side mirror on my car. My dad would be proud.
On one hand, this is a little spooky, but I can't really quantify why. I suppose if I put a stone tablet in my yard named 'robots.txt' it would not help.
On the other hand, street view could be very useful for people moving to new cities. I got my place in Pittsburgh off craigslist sight unseen because I was too poor to afford plane tickets and hotels and the like. I got incredibly lucky, but I could have ended up in a rathole in a horrible area of town (of which there are many). I'm about to move to Montreal, and it would be very nice to have a way of checking out the city so I know (vaguely) which areas I like.
"If we can't restrict the use of the words "f***" and "s***" during prime time, Hollywood will be able to say anything they want, whenever they want." -- Kevin Martin, FCC chairman, June 5 2007