rabidgnat
As a child, I loved the idea of computer programming. I got books at the library that told you how, but they always needed equipment I didn't have. I actually wrote fake programs in Ami Pro because of sample code I found in books! My parents were cutting-edge with computer purchases, but were otherwise nontechnical. They didn't know that toy programming languages existed, and probably didn't care. They just wanted me outside!
Time passed, and in 8th grade I needed to sign up for high school classes. I saw "Computer programming" in the class listing and I registered immediately. I didn't want to enter the class knowing nothing, so I researched C++ (the language taught by the class) and came across DJGPP. I spent a lot of nights that summer careening through internet tutorials and wrote a mountain of crap, but it was fun!
The first day of school was very disappointing - I got the syllabus, and saw that I'd already learned everything on the sheet. I was equally disappointed 2 years later when I signed up for the AB C++ exam and realized I knew nothing on the sheet. The next year was the worst yet - I knew everything on the AB Java exam, but I had to spend the year relearning it all in Java! Yuck!
Remote storage and/or processing: GMail, Google Docs, Weather.com, Reddit.com, Hacker News, Outlook web client, Google.com, DuckDuckGo, Delicious, Facebook, Github, tens of blogs/articles, online help documentation for, well, everything
Local storage and/or processing: Windows+Linux, Firefox, Chrome, Outlook, Visual Studio, Emacs, Python (or other dynamic languages), Acrobat, Amarok, random Unix utilities, various games
Most of my applications exist solely to present data stored elsewhere. I see no reason the trend won't continue: for instance, why would I compile C++ code on my machine when I can farm it out? Why would I store flat code files on my machine when I can have synthesized views of the code I need to see at one time?
Split up by time, most of my attention is spent manipulating or displaying data from somewhere else (or that could be stored somewhere else)
Games show that there are exceptions
Concurrent programming ends up in the data center, fussed over by the (relatively) small core of engineers and software developers. Everyone else just queries this data and makes it look good. Concurrently fetching data doesn't need a paradigm shift, just a good library. If you still need a few threads, you can use the same crummy techniques we've always used.
Cloud computing will alter Moore's Law on most devices. Devices may need twice as many transistors every 18 months, but the transistors are no longer on your desktop. They're mostly in some data center.
I do agree that brainpower won the war - our cryptology was stronger, resource management between the Pacific and European fronts was superb, and the Allies had a knack for picking battles and battlefields where they could excel
Look at it this way: crude principles applied at the macro level have extended our lifespan by decades. As scientists get better and better at piecing together the building blocks from the bottom, they'll likely find principles at the micro level that improves our lifespan as well
Chris Okasaki
http://www.eecs.usma.edu/webs/people/okasaki/jfp99.ps
It shows how to construct Red-Black trees in an extremely simple manner in Haskell. I tried this technique in C++ and I was finished within an hour!
Towards the end of point 5, Bram really points out the strength of Vim over Emacs - it is small enough that it could be refactored to be embeddable. This is the real slight towards Emacs - Emacs will never be embeddable, not in a hundred years. It is the all-purpose consumer that provides little benefit to outside programs. I think Bram saw a niche in creating a 'libvim' that other programs could use
I've almost lost control a few times - mostly because of vacations- and I'm certain that I'll hit a tipping point where my time doesn't scale to my inbox size. I couldn't handle my boss' email load, for instance...
Are there any good techniques that scale for dealing with email?
First, I'd stare at the Clojure webpage, and try some examples in the REPL. I'd feel like I'm not grokking idiomatic Clojure, so I'd try some Google searches, but find nothing compelling. I'd hit random Clojure links on Hacker News and Reddit for a few weeks, but give up and move to a language with a more active community.
A year later, I'd accidentally find it at the bottom of an unrelated post and yell "If only I had that a year ago!"
"There's nothing sadder to me than associations held together by nothing but the glue of postage stamps. If you can't see or hear or touch a man, it's best to let him go" ~ East of Eden
After reading this, I lost all guilt about losing some old friends due to moving around the country.
I've taken this approach with PayPal. I'd use them for person-to-person finances, but I've heard so many small-business horror stories that I'd invest the time to make a merchant account if I made a startup. It's not exactly scientific, but PayPal's not exactly flooding the market with data either
I experienced a lot of that, but in retrospect my parents managed it pretty well by rewarding hard work. If I got a trophy for a bad sports season, they gave me the option to throw it out. I always did. When I was little, I earned an allowance by doing chores and yardwork. When I was in high school, I was expected to work in the yard if I didn't have a weekend job, so I was always working, but only sometimes getting paid. I was given cash rewards for quarterly grades through high school, but a B paid so much less than an A that it was more of an insult.
I came out the other end a little backwards: I dislike getting awards, and I feel uncomfortable if someone tells me I did a good job.
In the end, child development always comes down to parenting. If the child's environment isn't pushing them hard enough, they can do something about it
Over the years, subsystems will get converted one-by-one to C++/Python/Java, and programmers will get converted one-by-one to C++/Python/Java programmers. Google would have a lot of good arguments for playing by the rules - they would be able to leverage scalable computing and storage at scales ITA could only imagine, and the rest will fall into place
I'm sure he's no saint, but his most famous rants were responses to sniping. The Minix/Linux debate was started by Tanenbaum, Bram Cohen picked a fight over merge strategies in a list discussion, and the 'C++ sucks' rant was in response to some flamebait.
I also have 'evasive action' that works well. When I feel pain typing, I immediately stop and give the offending hand a workout with a stress ball for 5 minutes. Then I massage the tendons in my forearm and then stretch my wrist on all axes. I haven't had significant RSI pain in a few years, and at this point I'm not brave enough to test which part of the routine helps most :D
Probably not. The Jobs-o-grams that I've seen are terse. Jobs probably would have written something like:
"Mark should not be hacking. We wouldn't want a Captain greasing a ship's engine."
I agree that the tools on Windows aren't stable: I've had to help debug at least 3 or 4 git installs of TortoiseGit-esque tools. I personally just use it from the command line.
Moving forward, we'll train people to use git when they go offsite with other developers, or if they're curious. Part of our job involves spending days away from an Internet connection, so they'll suddenly be sink-or-swim and probably never turn back :)
Kudos to Github for providing one less excuse to holdouts!
It's also a great environment for early risers. I get in at 8, and I'm a machine through 10:00 every day
Fetching http://mysite.com/static/ returned the plaintext template of my index.html file, which I must have accidentally copied in some manual hackery during a broken push (none of my scripts copy it normally)
However, I almost missed the warning: Skipfish complained because the page lacked a content type, and it was buried in several similar warnings. I'd like it to recognize potentially templated files, which is a much more serious vulnerability than missing a 'text/plain' content type. Years of staring at unimportant compiler warnings might cause people to miss gems like this.
Or as my father put it, "The people you meet on the way up are the people you meet on the way down."