325 karma · joined February 14, 2008
I've been in a variety of shops over the past 20 years or so where new kids come in, thinking they're all that and a bag of chips, and systematically replace smart, well-engineered, and working modules with their new ones that will now take years to become as robust, and never be half as elegant.
They do this because they won't take an afternoon to spend the time to read and understand the original code.
Intelligence isn't wholly a matter of genetics—some of these earnest kids do eventually learn better in spite of their natures. They spend enough time with the real good guys to figure out they're not one of them, and then they start trying to figure out why. The fakes go on for years and years writing the worst stuff imaginable and even after shown direct evidence of their incompetency will refuse to reclassify themselves. They start getting defensive, paranoid, thinking they're the poor misunderstood artist. Whatever.
Coders who aren't willing to get into someone else's code to see the "whys" beyond the "hows" are the people I specifically exclude from my projects.
I think the author is confusing the Real Thing with the hubris-laden, self-proclaimed intelligent programmer. Programming is one of the tiny handful of fields where real intelligence (plus hard work) puts you at a significant advantage over the eager-but-average-intelligence hard-workers.
Programming is like writing or other arts in so many ways: it's easy for those who are competent to immediately recognize another gifted thinker, but the have-nots will dismiss the gifted work as "unintelligible" simply because they don't have the skill or capacity to appreciate it yet (Dunning-Kruger Effect).
You shouldn't expect to jump into the pool with the big dogs unless you can swim. Good talk is one thing, but if you can't back it up with genuine competency (unless you're working solo) you'll be found out fast and nobody will like you. At all. And you can forget about referrals after that.
I've worked large contract jobs for several years and love it. There are a few of us who follow each other around in my industry and we can spot the fakes pretty quickly. If you can really deliver on the goods--i.e., you're as productive as 5 or 6 average programmers and can communicate effectively--you'll be able to ask for what you want and get it most of the time.
This is the kind of science I love: figuring out what's right for everyone by looking at averages.
Babies have different kinds of cries and parents have different needs. I'll say for myself and my wife that letting them cry it out seemed to help them learn to sleep alone in a far shorter time than any of our peers' kids. Sure, maybe our kids are different, but when I see the kind of entitlement parenting that often goes with the "cater to every cry" method, I'm less and less astonished at the self-centered attitude of the modern teen.
On my other servers I use rsync just to keep a current mirror around. I always ask myself, "How hard would this be to recover if I lost it?" and "Will I need to go back in time for some things?" Depending on the answer to those questions I make my backup strategy for the server in question.
Yesterday's Daring Fireball post on the same topic said it best: "Every hard drive in the world will eventually fail. Assume that yours are all on the cusp of failure at all times. It’s good to be spooked about how long your hard drives will last."
Fwiw, the national student loan default rate for 2007 was only 6.7% (http://www2.ed.gov/offices/OSFAP/DCS/default.html and http://www2.ed.gov/offices/OSFAP/defaultmanagement/2007state... for per-state rates).
The low interest rates on Federal loans (hovering between 1.5% and 2.5% last I checked) make them far more attractive to the alternatives, especially since the vast majority of students pay off their loans. Scrapping Federal student loans entirely would only benefit the people who default.
We could have taken on a lot more debt, but chose to work most of our way through college instead. Graduation took longer, we never went out to eat, and drove a crappy old car. Isn't that what "having no disposable income" is supposed to look like?
http://scienceblogs.com/cortex/2009/12/willpower.php
I don't want to say "you can't do it" but I remember from my school days hitting the wall and there was nothing I could do about it until I'd had time to rest and recharge.
Here are some interesting links about gumption I've collected over the past few months (mostly from HN):
http://www.alistapart.com/articles/burnout/ http://sivers.org/dont-fight-it http://www.futurepundit.com/archives/006569.html
In short, 10 hours of mental work might be your limit. I know that if I can squeeze in 10 solid hours of good creative mental work, I've had an extremely good day. Most good days I'll eek out 6 hours. Average days are probably around 4.
You might look at options to reduce that 10 hours somehow. Some people drop out of school, some just skip a class a day, some drop a class from the schedule altogether, etc.
You also don't talk about what your 11th hour is. Finding something interesting to you, especially if you're out of gumption, will be critical.
When you're full of mental energy, you can do anything; when you're out mental energy, your choices of what you can do are limited to easy things that are interesting.
Good luck!
and again yesterday: http://news.ycombinator.com/item?id=978074
If I'm a good manager, I'll take you for who you are and evaluate you individually. I know a handful of awesome coders over 50 who are awesome primarily because they a) work really hard, b) learn new stuff all the time, and c) have a ton of valuable experience.
However, most of the programmers over 50 I know aren't good because they occasionally lack a), but nearly always lack b).
If I'm a bad manager, I'll likely lump you in with the majority of codgers I know and not give you a fair shake. I'm sorry, but I think most managers are bad managers, and most of the time people are going to judge you before they know you.
All of the good research I've read on online learning is done with self-selected groups of adults who would probably learn well regardless of their modality. All of the research I've read on K-12 studies suggest that computer use in the classroom lowers students' scores (though computer use as a supplement outside of the classroom can improve scores).
Besides that, this ethereal "software that provides a personalized learning experience just right for their abilities" doesn't exist.
I'd really really love for there to be some magical software that can figure out what a child needs and start from there, and we could probably hit a decent percentage of the population, especially those children created in our own (autodidactical) image, but if you spend any time in K-12 schools (I'm a founder and currently on the board of our local charter school and have 4 kids of my own), you'll notice that children have vastly different learning abilities, interests, needs, etc.
I would guess that more than half of what a K-12 teacher does doesn't have anything to do with teaching facts, but teaching about life and how to motivate, how to behave, how to stop flicking boogers on your friends, how to deal with disappointment when you can't "get it", etc. Learning for children is much different than learning for adults. And we're not even addressing more subjective education such as creativity, synthesis, and higher-order thinking skills. These don't translate well to computers because they require direct human judgement and some subjective evaluation.
;; how emacs behaves generally
(setq scroll-step 1)
(setq next-line-add-newlines nil)
(setq search-highlight t)
(setq-default indent-tabs-mode nil)
;; some niceties on the status bar
(display-time)
(setq column-number-mode t)
(setq line-number-mode t)
;; other shortcuts
(global-set-key "\C-^" 'enlarge-window)
(global-set-key "\C-c\C-w" 'compare-windows)
;; fix broken backspace
(global-set-key "\b" 'backward-delete-char)
(global-set-key "\C-xt" 'term)
;; UTF-8 goodness
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
;; I'm into Perl, but prefer cperl-mode over the default
(defun modify-alist (alist-symbol key value &optional search-cdr)
(let ((alist (symbol-value alist-symbol)))
(while alist
(if (eq (if search-cdr
(cdr (car alist))
(car (car alist))) key)
(setcdr (car alist) value)
(setq alist (cdr alist))))))
(modify-alist 'interpreter-mode-alist 'perl-mode 'cperl-mode t)
(modify-alist 'auto-mode-alist 'perl-mode 'cperl-mode t)
;; the one true indentation level
(setq cperl-indent-level 4)I also learned to cut people (and some companies) a little slack when I've been down the road they're on. We had a lot of customers who didn't cut us any slack, took their refund and left, which was their prerogative to do so, but found out for themselves that no company has 100% uptime (many came back, lucky for us).
It was truly an unexpected case (which was quickly fixed in the UPS hardware), but you know, life is one unexpected case after another, often coming in waves and in bizarre combinations. I don't believe in 100% uptime anymore :)