Being reminded that this game exists and seeing that the project is still going makes me super happy.
313 karma · joined August 11, 2010
Working for a large, established company in software development.
Being reminded that this game exists and seeing that the project is still going makes me super happy.
My approach is actually fairly consistent across languages/etc., and it usually gets me up to speed/gets me to a point where I know enough to work with something, but certainly doesn't make me an expert in the language or framework.
I start by doing a hello-world equivalent, usually with some sort of input and output. (E.x. "What's your name?"->"Dave"->"Hello Dave!")
Then, I usually go through some sort of basic program to get an idea of how the language features work and how things are done in the language. Exactly what depends on the framework or language; but usually of comparable difficulty to a dynamically resizeable array with basic algorithms like 'sort' (merge, quick, etc.) in C. The idea is to write something you're fully capable of knocking off in less than two or three hours, and is <1000 lines of code but isn't trivial. My reasoning for this intermediate step is that a large project needs to have some sort of structure, and if I don't have at least a rudimentary understanding of how things work in the language, then I'm going to have a bad time.
After I've done that, I get started on the actual program or project: I start by constructing a rough framework of how I want to structure the program and then slowly add in the parts that I want, restructuring if it's necessary.
Throughout the process, I look at websites/books/documentation/code examples/etc., particularly if I don't know how to do something or think there's a better way than what occurred to me.
Presumably those who were enabling the leisure of others would be reasonably economically rewarded. I think the idea is that you should ensure that everyone has their basic needs met, so that they can use their time solely on things that increase their quality of life in some way, not that you should force 1 in 10,000 people to work. If that means that some "necessary" jobs don't get done because they're so unpleasant that only people who need the money from them to survive would do them? Then that just puts even more pressure on automating them away, which is a net win for everyone, because those are /exactly/ the jobs that we should be automating away first.
I think that 1 in 10,000 might be a bit unrealistic at this point in time, but I think the level of automation in our society could easily be increased greatly... and probably will be. We've already started doing just that: a super easy example that comes to mind is automated checkout, which replaces 6-10 workers with one person making sure the checkout line is running and checking identification and the like. Even if the economy still more or less needs 1 in 10 people contributing, that enables 9 people to learn, make art, or just sleep all day. If whatever they're doing instead of the unnecessary job improves society? Then that's a net win, and presumably they would then receive economic benefits because of that. If it wasn't? Then they would still have a place to sleep, access to healthcare, enough food, etc.
I was under the impression that they never really existed in any meaningful way. The example that Reagan used, which is when most people think the idea entered the popular lexicon (although there's no record of him actually using the term) was of someone who was essentially committing identity theft on a large scale in order to collect welfare for something like 30 different people.... which just makes an argument for good oversight and unified systems to prevent that kind of fraud, which the kind of large scale networked computer systems we have now could make much more difficult.
I think that it would be a mistake to say that computer science has truly been around for 160 years, though. A few people (there was also an Italian who was interested in Babbage's work, although I'm not sure what his contributions ended up being, if any) does not a field make, and the fact that any progress in it was more or less put on hold until the early 20th century (when mathematicians started working on what you could calculate or construct in a finite number of steps), and you didn't get (untyped) lambda calculus and turing machines until 1936, which is probably the best place to truly start the idea of computer science as a field. (And since you got early devices that were sort of primitive mechanical computers in the late 30s, early 40s as part of the whole Bletchley Park cryptography work by the Brits.)
A very large debate around the turn of the century was if mathematics that you couldn't specifically construct in a finite (or countable) manner were, which became particularly heated after Cantor's set theory work (showing that the real numbers were uncountable) and then things like Russel's paradox (showing contradictions in Cantor's naive set theory if you allowed sets that contained themselves). I'd argue (without firm, researched proof that it was definitely the intent and case) that the spirit of early computer science (lambda calculus, turing machines, etc.), which was concerned with what you could and could not compute with a finite algorithm, came in spirit from those sorts of debates. (See finitism, intuitionism, constructivism, etc. for parts of this debate; traces of it remain in modern day mathematics with some people's concerns about if the Axiom of Choice is a valid or reasonable axiom to have)
I'm a faculty brat (professorial parents) at one of the top public universities in the nation. There are always students that will complain to professors that things are too hard, or that grading schemes are unfair, or etc. with very little cause. Possibly worse is that sometimes people's /parents/ will call or email their professor to appeal a grade.
It does seem to be somewhat major dependent: I have /never/ seen it occur in a math class, for instance, whereas it apparently routinely occurs in my mother's English classes. (She's known for grading more stringently than many other English professors. Complaints also don't usually work.) However, I think that it's a mark of an experienced teacher that they don't let bullshit like that faze them: the one time I've seen it really affect how a class was taught, it definitely made the class worse as a learning experience. (Some vocal computer science majors thought that an algorithms course was too difficult, and the professor made it easier, which definitely was a net loss for everyone. I'm very glad that I wasn't enrolled in it.)
I think it's disgusting. Sometimes professors make mistakes: in class structure, or assignment load, or grading something, or the like, and bringing that up politely is appropriate. But if they know they are assigning hard, long assignments, or the grading is fair, or the like, then it's usually for a good reason. The professors who don't care about teaching usually also don't teach hard courses or grade harshly, because it means more work for them.
I agree that generally the people who do things like this are less likely to do well post-college. Either because their parents are hovering over them (see parental phone calls) and they won't ever learn self-discipline and reliance, or because they expect that if they complain, the world will magically bend itself to their will. I think some of it happens when people are taking courses they don't want to take for a requirement, but I agree that there are a good number of people who get sold on the "college degree -> good job and happiness and money."
It makes, in my opinion, a much more lucid argument than this article as to why a firm background in math, particularly theoretical math, is important for programmers of all sorts. It's definitely something I'd read if you're thinking about the role of math in computer science and programming as fields.
The article is here: http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EW...
There have been numerous submissions of it to HN, of varying popularity. The ones I could find with the most comments are: http://news.ycombinator.com/item?id=6838434 (three weeks ago) http://news.ycombinator.com/item?id=3553983 (one year ago) http://news.ycombinator.com/item?id=1666445 (three years ago)
Asking someone to drop everything for a week (particularly with what is likely a month of notice, if that, given how long hiring processes seem to take) seems ridiculously presumptuous about what people's motivations/etc. are. I'd imagine that many good candidates also just have other things in their life: such as responsibilities related to children. I know that I have a hard time re-arranging my responsibilities (to my grad classes, both part time jobs with very flexible hours, and to a lesser degree to extracurricular organizations) so that I'm free to spend a day or so travelling for a day long interview with a month's notice: and I'm a student with (supposedly) all the free time in the world and a much more flexible schedule. I don't see where working professionals with (supposedly) more rigid schedules and more obligations (work, sure, but also family or any other obligations in their lives) would find the time to spend a full week interviewing (assuming the weekend is spent travelling, so that the full work week is available).
On a more relevant note, there has been more and more fMRI work on identifying the actual issues within the brain. I know less about unipolar depression, but some results have shown that bipolar patients actually have slightly different brain structures and vastly different neural activity during an episode. Science is actually working on figuring out the black box mind-thing, and hopefully it'll keep getting better at it. Treatments just have to slowly catch up.
(Edited: grammar/spelling, due to writing on a tablet.)
I'd also actually put the 2 piece suit with tie over a 3 piece suit (with or without tie) in terms of formality/business-attire-ness: 3 piece suits are also not traditional business wear, while 2 piece suit+tie is the IBM/'50s iconic business look, and what you'd see most CEOs/etc. wearing.
Malignant cancer will probably either be dealt with or kill you on a time scale of 5-10 years, and although mortality rates vary, your chances of surviving many forms of it, particularly if it's caught before it metastasizes, are decent. Yes, there's a chance that it has gone into remission and might come back, but that chance goes down every year it hasn't happened, to the point where you're generally considered 'out of the woods' if you've been cancer free for more than 5 years. It's in many ways an acute disease: you have it, and it either kills you or you get better. Treatment is acutely unpleasant, but unlikely to kill you and although it can leave you with health concerns (if I remember correctly, it can cause osteoporosis in some people), for the most part you are done with it after less than a few years of chemo+radiation therapy.
Compare that to being diagnosed with bipolar disorder at the age of 20. Life expectancy in the US is almost 80. You don't really get better from bipolar disorder: you can be stable for a long time, but you never get to the point where you're considered to be 'out of the woods' with regards to having more mood episodes. That gives 60 years of dealing with a disease that has a high mortality rate and incredibly unpleasant symptoms; mania sounds great until you realize that it can mean experiencing full blown psychosis: walls melting, seeing people where they aren't levels of crazy. About one in three (25% to 50%) of bipolar patients attempt suicide at least once; one in five will die from suicide. As has been pointed out elsewhere, that is a higher death rate than some cancers, and that is -one of- the ways it can kill you.
The treatments, too, although not as immediately unpleasant as chemotherapy, are honestly potentially worse and cause more chronic concerns. They can cause other chronic problems that can kill you (liver failure, weight gain, weight loss, diabetes, thyroid dysfunction, lithium toxicity/lithium, weight gain, diabetes, associated heart issues/depakote+antipsychotics, PCOS in women/depakote) or be debilitating (dystonia, tardive dyskinesia/antipsychotics). It should be a sign of the severity of some symptoms that it's considered an acceptable trade off to have muscle spasms or uncontrollable facial movements for the rest of your life, sometimes in ways that are debilitating enough that you won't be able to walk. Note that these aren't the disease, these are the side effects that're considered 'less bad' than experiencing the actual symptoms of bipolar disorder. Many of them are permanent and will continue even if the medication that caused them is stopped.
These are some of the -common- serious side effects, not all of the common side effects (there are lots of other common ones that effect quality of life, including hair loss, sexual dysfunction, memory failure, etc.). With regards to rarer side effects, lamictal can (rarely; 1 in 1000 or 1 in 10000) cause your skin to fall off, particularly if your dose is increased too quickly.
Schizophrenia is generally worse than bipolar disorder, and the treatments are often similar (less lithium, more antipsychotics).
Both are chronic conditions that, when they are bad, can keep you from working, finding housing or living a normal life for however much longer you live.
I wouldn't wish cancer or bipolar disorder or schizophrenia on anyone. But I'd probably wish for cancer over severe bipolar disorder or schizophrenia.
(I now use arch almost exclusively, but used #! until I switched. The rolling release system is the main reason I did.)
Stigma is almost entirely a cultural thing: I know of someone who's first manifestation of mania (bipolar disorder, type 1) was in a religious setting... so when she said she heard God talking to her, they were reportedly thrilled. It didn't come out that it was a problem until she was on the plane home and was blessing the passengers (edit: details slightly obscured/changed).
However, overall flexibility seems to be a longer term condition than just pre-workout stuff. Stretching post-workout or daily but disconnected from pre-strenuous exercise seems to make you more limber/capable of movements that require more flexibility to safely/correctly do. In particular, most of the serious dancers I know stretch(ed) a huge amount (often daily) and also did fairly strenuous dance (often daily), but the static stretching and actual exercise were highly removed from each other. There are also a lot of movements in most types of dance that are either impossible or dangerous without a certain amount of prerequisite flexibility.
Pre-workout warmups are also seem important for avoiding injury: if your muscles are tight/tense and you throw yourself into a strenuous exercise, my experience and everything I've heard says you're going to have a bad time. From personal experience, but every time I've injured/hurt my muscles it was during exercise where I hadn't warmed up or had done a bare minimum of warmup.
Source: Mainly personal experience and what I've seen as a former competitive swimmer (high school varsity, butterfly, fairly serious), former dancer (modern; not serious, but I know some people who were part of larger dance companies), and someone who is currently involved in fairly intense bodyweight strength training (think gymnastic conditioning).
My experience has been that the Men's Rights Movement's good parts are often what is basically non-radical feminist activism repackaged, and its bad parts are reprehensible. (Note: radical feminism is things like the SCUM manifesto; most feminism isn't particularly radical)
The article does make the important point that there aren't a lot of places for (straight) men to discuss cultural ideas of masculinity and its possible ill effects. (In my experience, gay men often have a better understanding of male dynamics than straight men, and there's more of a cultural discourse about masculinity in some parts of gay culture.)
Said professor has made serious contributions to modern algebra and is probably about as close to "the forefront of modern mathematics" as anyone. Not everyone who's good at math is good at lecturing.
I'd note that that's different from having a rigorous understanding of arbitrary dimension differential geometry, and being able to rigorously show new (if simple/uninteresting) results.
I wasn't trying to imply that you can't read a textbook (or any math text, for that matter) and not learn the material at as deep a level as anyone who's main reference is that text. It's a bit like reading someone's code after very heavy optimization, though: it's easy to miss little parts of how or why the algorithm works, and if you go over it once, without trying possible inputs/etc., then you're likely to miss something.
Instruction and interpretation are like comments in code when you're dealing with specific proofs (they make it easier, but it isn't impossible without them). The thing that is harder (but not impossible) to get without some sort of feedback is a deep understanding of when a proof is rigorous and mathematical aesthetics.
A marathon is usually run in about four and a half hours. The best marathon runners in the world (i.e. current record holders) ran one in about 2 hours.
The university that I'm at has about 45-48 hours of classroom instruction per semester; you're expected to spend between two and three times that preparing; that's an assumption of between 135 and 192 hours of work per semester. I find that for my upper level mathematics courses (first year graduate), I spend about 2-3 hours outside of class working on problem sets and reading the material. This is also, as far as I can tell, about how much the other students in my courses are working. My understanding is that this is the expectation across most high tier universities and math programs.
If we assume that the average marathon runner is roughly equivalent to a normal mathematics student in terms of experience, saying that you learned (and completely understood the implications of) an entire semester of mathematics in a day (16-20 hours) is equivalent to claiming you are able to run a marathon in 40 minutes. For the record, that's a rate of about 1 mile every minute and a half.
This is an imperfect metaphor, since math has the same benefits that CS has of being able to absorb material faster the more you already know. On the other hand, my experience (and what most professors I have asked also say) is that most hard math requires a sort of 'processing' time to really start to get it, so the actual case might be worse: I don't think you'd actually learn much math if you just spent 135 consecutive hours (with sleep as required) working on learning math.
Suffice to say: I don't think what he claimed to do is within the realm of reason.
Personal bio, as to why I'm a semi-reputable source: I'm currently both finishing an undergraduate degree in mathematics and a masters in math at highly ranked public university (in general and in math). Most of my time is currently spent learning math, either in class or self taught (for a seminar). The professors I interact with regularly are about as mathematically talented as it is possible to get.
----
The above being said:
I would, however, say that someone with a good handle on multivariable calculus and differential equations, along with a really good background in math, could learn a decent amount of applied differential geometry in a weekend. Similarly, you could learn/memorize a lot of the results of number theory in a weekend.
Both of the above could give you the illusion of having learned all of a subject without building a deep understanding of it. Both are also in line with the 'hacker tendency' to be able to stuff a lot of information in your head in a short amount of time. The computer science equivalent would be learning that there exists an algorithm called quicksort that runs in O(nlog(n)) that doesn't work well on sorted data without modification, but without learning how to implement it.
The take away is that it's very easy to fool yourself into thinking you've learned a lot from a math book when you're reading it like a novel. In practice, though, if you aren't doing the exercises (or if they don't exist, working through your own), then you probably aren't actually engaging with the material in any deep and significant way.
I actually think this is in line with many of his other claims: he seems to be a person who seems to believe he has learned everything important about a field in a relatively short amount of research time, without having a deep background in it already, either through reading a single textbook or by spending a few hours/days/weeks researching and reading. I think most of his claims should probably be considered in that light.
(It says 200 grams of carbs, 65 grams of fat, 50 grams of protein)
Something like 'longterm damage' is something that can be quantified and measured (correlation, at least). There are a variety of psychological examinations (such as those for trauma, underlying biases, etc.) that you could use to see if early (or earlier) self reported access to pornography in fact correlates to different mental/emotional states later in life. At that point you have quantified changes and can point to them and argue societal values.
The moral argument would be "Children should not be exposed to pornography simply because it is not suitable for people under (age)", not positing things about potential, unquantified 'longterm damage'. We can argue all day about the morals and societal expectations, and it's perfectly reasonable to do so with regards to pornography, but if someone makes a quantifiable argument, they should provide evidence to back it up, or a compelling reason as to why evidence isn't available and why acting without it is still important. (Such as how long it might take to get the evidence, or why it isn't possible to, or why there is a dire and immediate need to act before evidence can be gathered.)
As someone who is an undergraduate TA (for computer science), this doesn't terrify me any more than overworked and underpaid graduate students grading assignments, or overworked research faculty who don't have any incentive to grade well. My anecdotal experience has been that it's generally the top 1-3% of undergrads who end up TAing or grading (in CS, at UVa; mileage elsewhere may vary), and those who do take it pretty seriously (here, at least, we're paid and it's a job). Most of the people I've TA'd with (and myself) take at least one graduate course and actually know the material better than most graduate students (since we've taken the course and universally done very well in it). UVa also rotates graduate TAs out after a year (to research or other things), whereas undergraduate TAs can stay on the same course for two or three years, which offers much more continuity for the professor and fewer TAs who are completely lost. I might be biased (see also: I get paid to do exactly what terrifies you), but I think that if the undergraduates aren't just unpaid volunteers, you get better results than using graduate students for the same things. Unpaid volunteers are much worse: you don't have to pay much, but paying someone for something makes it a job, which switches people's headspace from 'I can drop this' to 'This is my job, and I will do it well'.
However, even that hasn't completely met the needs of the current enrollment deluge: I'm glad I got my requirements out of the way early on, because there are an absurd number of CS enrollments. They recently capped one of the major tracks (the BA) because there were simply too many students.
Edit: Undergraduate at UVA. Also, I think undergrads are possibly a better option than grad students: since we have actually taken the course, unlike most grad students.
It's surprising how quickly smart people can learn if they're interested and focused. At a summer camp called CTY (run by Hopkins), I saw a few hundred late middle and early high school students learn the equivalent (or more) of a semester's worth of college material (some at the upper undergraduate level at a top tier college) in three weeks.
Covering the equivalent of a semester long intro-CS and basic digital logic circuits in three weeks is hard for anyone (or a full abstract algebra course, or a theory of computation course, etc.), but it's possible to do as a smart 8th grader. Given sufficient drive and time every day (CTY does 7 hours of classroom time every weekday), you could cover almost three college semesters of material with smart 8th-11th graders: there's almost no doubt that with smart adults you could do more. That's certainly enough time to take them from the basics to knowing enough about a single technology to make large projects in it. My only concern is that it probably isn't future proof: they would probably have a somewhat hard time learning a new technology because of the compressed learning experience. In general, I'd say overall retention rates from really compressed courses like the ones I mentioned above are much lower, so unless they kept building iOS apps immediately after the course they might have a harder time picking them back up than a person who learned the same material over a longer period.
I'd second the 'if the meds aren't working, try new ones' advice. If all they've put you on is a cocktail of SSRIs, there are other options (MAOIs are effective, but a pain to deal with in terms of other medications, and are as a result less often proscribed) Also, if your depression has been periodically occurring for a long time and doesn't respond well to traditional medications, it might be worth looking at the symptoms of bipolar disorder to see if they fit. I know several people who were treated for unipolar depression for years before they were diagnosed with bipolar depression: and the medications and treatments are very different. Bipolar depression also is rather famous for not responding well to talk therapy. On the similar note of things that wouldn't respond to medication but are treatable in other ways: if you haven't been checked for hyper and hypo thyroidism, those can also cause depression-like symptoms that don't respond to traditional medication, and sleep disorders like apnea can make minor depression much worse.
An observation that I've made after using (a later, the first one broke) netbook with a conventional build versus the same netbook with a SSD is that with a hard drive, netbooks are painfully slow. Once you've swapped that for a really fast SSD, and stopped using Windows on it, it boots in 10-15 seconds and programs usually launch almost-instantaneously. I've found it to be almost as nice to use as my (much nicer and newer, quad core with a nice graphics card) desktop. There are exceptions to the 'almost as nice': flash doesn't work well, screen size is an annoyance sometimes, and you clearly aren't going to be doing much with CUDA. But considering it cost ~$550 with the SSD (which was almost as expensive as the netbook), as compared to well over $1000 for the desktop+screens, it's pretty awesome (and portable, too) for someone who doesn't always have extra cash (students don't have the best salary).
I'd say it's probably more dynamic typing versus static typing. Dynamic typing matches up very well with the sort of fuzzy proofs that occur in analysis ("well this is less than that, and that is less than the other, so this is less than the other by a little bit" seems close to "quacks like a duck"), and static typing seems very much like an algebraic idea.
But, as someone working on a math masters, I can say that I prefer analysis and really like dynamically typed languages, so this might just be my pet theory of matching the world to myself.
The main objection that I and most people I've talked to have is that the BOV hasn't given a good reason for its actions. It may very well be that Sullivan deserved to be fired. It may very well be that there needed to be more drastic changes than she was willing to make (although for an appropriate idea of how hard drastic, top down change is at a top University, see my description of faculty consensus above). But without releasing any concrete reason, backed up by publicly available data, and by essentially saying "shut up and trust our judgment", they showed a fundamental disconnect between their idea of acceptable governance and the rest of the university's idea of acceptable governance. For the record, I think that if you look at them as the board of a corporation replacing a CEO, their actions are totally reasonable (and I wouldn't be surprised if this was, in part, how they viewed themselves; this doesn't really say much for their case, though, because that still shows a massive cultural disconnect between them and the university body).