HNHacker News
TopNewBestAskShowJobs

pmb

855 karma · joined February 20, 2008

submissionscomments
pmb··on Ask HN: Is a phD a good way to focus & motivate you?
I agree: A PhD is too painful to complete one for non-work reasons. I defended 12 months ago, but I really like teaching at the college level, so I stuck it out. If you don't need one, you almost certainly don't want one. They don't teach you how to focus, they instead get rid of the people who can't. It's a winnowing process at least as much as it is a learning process.
pmb··on Ask HN: Share a gem. Teach me and you.
Accept the defaults. Or, at least, get so that you can use a computer within 5 minutes of being given the default configuration. It makes your life so much easier. A more general form of this is: choose your battles.
pmb··on Ask HN: How Do I Get Math?
You misunderstand me. I am not saying that Indian Universities properly prepare you for a lifetime of success. I am saying that it is certain you can get the mathematical knowledge you want from them. As to whether that is the career you want or whether you want to be a mathematician - I have no idea. But if you want to learn and understand proof-based math, Indian universities are as good as everyone else's, and the good ones are quite good.
pmb··on Ask HN: How Do I Get Math?
Don't sell Indian universities short. It is very hard to get a job in mathematics, which means that even at "bad" universities the mathematics faculty can be quite good.
pmb··on Ask HN: How Do I Get Math?
You want to go take a proof-based college math class. Or sit in on one. Or find videos of one. It is hard to guarantee that a course will be like that, unless its name is either "Analysis" or "Abstract Algebra". Don't sell Indian universities short - it's so hard to get a good job in mathematics that you have to go very far down the hierarchy to find a place with bad mathematicians.

And you do need to memorize techniques - the only issue is that the techniques you need to memorize are at a much higher level than you are currently being taught. Techniques include "induction", "contradiction", "diagonalization", "construction", etc. Mathematics is a toolset, and the techniques and facts you learn are the tools required. They are beautiful in themselves, and can bootstrap to better tools, but if you aren't a mathematician then you should be memorizing solution techniques, just at a higher level than you currently are.

pmb··on Who Can Name the Bigger Number?
9876543210!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
pmb··on The United States is completely unprepared to fight a cyberwar
Cyberwar? I still don't understand what that would be. Dueling TCP stacks? Bluetooth snipers? DDOS?

The word gets used as if it's well defined, but I have never heard a non-metaphorical description. "A war fought in cyberspace"? That means nothing. "A shootout on the info superhighway"? That means even less.

pmb··on You are Probably Mis-Diagnosing People as Stupid
Thank you for that. Getting linked to a Cosma Shalizi article is always good for an hour of brain stretching, and that one is particularly wonderful.
pmb··on Will Wall Street require Python?
This is definitely a strongly-typed-language situation.
pmb··on Polynomial Time Algorithm for Graph Isomorphism Testing
Anyone can post to the ArXiv. So now wait a few weeks. One test: does his algorithm work for bipartite graphs? Another test: his algorithm uses real numbers. This is sketchy, as real numbers can't actually be represented in a computer.

The paper is pretty poorly written for two reasons: English is clearly not this guy's first language (no crime there, as it is said that the language of science is "heavily accented english") but he is also using a little too much handwaving for my comfort. This is a pretty math-heavy result, and this is not an airtight proof in any sense.

Basically: I agree with everything you said about it not being compelling enough for me to spend more time with it.

Fun fact so that I'll say more than "I agree": if GI is in P, the the polynomial hierarchy collapses to a level that I forget, and if GI is NPC it collapses to a PI_2! Neat!

pmb··on The young and the jobless
He said "summer" job. 10 weeks * 40 hours/week * $12/hour = $4800

And that's if you can get a $12/hour job in the current economy. Working halftime certainly can make a little dent in your debt, but it also makes it hard to take a full load of hard classes.

pmb··on Lessons from teaching CS 1: Code fast
Because slow programmers don't program first. They program last, and do "big design up front" on paper. This is because the cost of a bad idea is hours wasted, and despite the logical coherence of various "expected value" arguments, students are loathe to risk having wasted multiple hours doing the wrong thing. Because humans' internal risk functions and utility evaluation functions are not linear and bayesian, people who code slowly also code differently, and those differences further slow them down with the goal of having less wasted time. In an effort to reduce their variance, they unknowingly increase their time-to-solution.
pmb··on Lessons from teaching CS 1: Code fast
Something is wrong with your logic, both because I can't follow it and because it contradicts all the "anecdata" I have collected during my career.
pmb··on Lessons from teaching CS 1: Code fast
That's true. But it (generally) doesn't let you discard your wrong ideas quickly, which is where the approach I was trying to describe gets most of its benefit. What you describe is much more akin to a waterfall model with a bunch of pseudocode and design up front but without an automated tool (the computer) actually able to run your program and tell you if it is going well.
pmb··on Lessons from teaching CS 1: Code fast
It applies to all levels, actually. Seniors have this problem too, not just CS1 students.
pmb··on Lessons from teaching CS 1: Code fast
Hi Matt! No worries. Thanks for posting this to HN! It's always nice to feel like I am not just shouting into the void, but it feels too self-promoting and vaguely spammy to post my own stuff. So I've been very glad that people (both here and on Facebook - I must figure out how to unify comments) have found this interesting.
pmb··on Lessons from teaching CS 1: Code fast
Also that they refuse to experiment by trying out ideas which may or may not work. Instead, they bang their heads and don't type a lick until they have found what they regard as "the" solution. Which is often not even "a" solution, but because they haven't been coding their ideas as they go, they have no way of finding that out until they slowly and painfully implement their idea and it doesn't work.
pmb··on Lessons from teaching CS 1: Code fast
Yes! That is the kind of speed and skill to which I was referring. The ability to use code as a medium for thought and exploration rather than just viewing it as a final product.
pmb··on Lessons from teaching CS 1: Code fast
What I was getting at was that increased speed in coding has nonlinear effects n your time-to-solution and that students should code sooner --- before they have the solution in hand --- rather than waiting until they think they know the right answer.

Coding for classes should be done quickly and exploratively. But because students either can't code fast or won't code before they have the whole solution mapped out, this (measurably better) solution technique is unavailable to them.

pmb··on Lessons from teaching CS 1: Code fast
It's not just prom teaching CS1, it's also from teaching algorithms and OS and every other course I've taught. A willingness and ability to code fast and fail fast is universally applicable and useful.
pmb··on Ask HN: Advice for freshmen entering college
Olin is designed to be challenging, and your fellow students are all going be selected from the top tier. This means that you have a 50% chance of being worse than the median (and probably the mean, too). You may need to learn how to learn from your peers, and learn how to act when you are not the smartest person in any given room. It may be the very first time either of those two situations has come up for you!

To get to graduate school, you'll need at least a 3.0 and good recommendations. The good recommendations is pretty easy at a place like Olin as long as you are enthusiastic, but the 3.0 may be difficult given the average GPA at Olin in combination with point 1.

You can have any two of: friends, grades, and sleep. I recommend the first two, but make sure you sleep enough to maintain a baseline of bodily health, or else you will lose out on all 3.

pmb··on Text Messaging and a $130 billion profit pool waiting to be disrupted
SMS takes place on the control channel and not the data channel, which has a far more limited bandwidth. This means that SMS messages have to be queued up with control messages, and that a flood of SMS messages can disrupt all cell service in a region. What a stupid design.

And how about that price collusion, eh? They've gone up by a factor of 2 in a year for no reason at all related to either CAPEX or OPEX...

pmb··on What makes programming so difficult - and can we make it easier?
Because the tasks that we ask the computer to do increase as our ability to handle more complex problems increases. I can ROCK almost any programming assignment and task of 20+ years ago given today's languages and hardware. But the problems are now bigger and more complex.

"Difficult" and "Easy" are moving targets.

pmb··on Distribute GPL'd software with closed source library?
If they are "one program", a distinction which seems clear but ends up being a judgement call, then no, you can not do this. If they are separate programs, then yes, you can do this. Plugins seem to be okay as well, but are a gray area. But your app's core functionality must be GPL'd or GPL-able or else you could be in trouble when you distribute it.
pmb··on Do you guys know of any website blocking software?
Trust your employees to act like adults.
← PreviousPage 6 of 6