I've heard that a co-worker of mine upgraded his MBP's SSD and RAM.
This website, http://www.everymac.com/systems/apple/macbook-air/macbook-air-faq/macbook-air-mid-2012-how-to-replace-upgrade-ssd-storage.html, seems to imply that the only thing you need is a funky screwdriver.
Back in the 90s, when computers cost $5,000-$10,000 in today's dollars, it made sense to keep upgrading them. Now the top-of-the-line computers are cheap enough that it's easier to just buy one that you can afford to replace every 4 years or so.
Let's not forget how bug free a framework used widely by thousands will be - there's no job security there at all if there's no bugfixing! But if we write our own, then there will surely be some horrific bug in the field that we can work until 4AM to fix, and management will call us heroes!
Counter that with the amount of time I've spent wresting design flaws due to well-known but poorly-chosen frameworks.
Don't pick a framework because you assume that you're supposed to:
- Choose correct design patterns
- Prefer well-encapsulated libraries with clear purposes
- Only use frameworks that directly add value to your chosen design patterns
The issue with frameworks is that they often touch all layers of a program, or product. If the wrong framework is chosen, (or built,) then the entire project must be refactored to recover from the mistake. That is why it's critical to understand the correct design pattern before choosing a framework or building your own.
18 months ago, I wanted to buy a BlackBerry that ran Android, but they didn't exist!
IMO, I think it would have made sense to test-market a BlackBerry that ran Android. I'd really like real buttons on my phone.
I was able to get business-class internet through my employer. It's cheaper than consumer-grade internet, and doesn't force me to buy crap like a TV subscription. If you work for a large company, it might be available through your employee discount program.
I don't know what my cap is, but if I have one, it's much higher than I will ever hit. We use most of our bandwidth for streaming video.
Start locking your computer when you walk away from it.
Spend time thinking about the different between Software Engineering vs. Computer Science. It's kind of like the difference between Physics and Mechanical Engineering. Some schools now offer degrees in Software Engineering for this reason.
One of the most useful classes I took was an entry-level Mechanical Engineering class. The reason is that the "Engineering" approach and mindset is needed in application development; yet a "Science" degree often doesn't emphasis this enough.
When you're past the hurdle of math classes, look at fun engineering classes outside of the Computer Science discipline. You'll actually learn lessons that you can apply outside of college. For me, "Technology of Alpine Skiing" turned out to actually be useful, and I got to go skiing for a grade!
My understanding is that 256 or 360kbps AAC is, for all intents and purposes, highly accurate.
Something that the discussions don't really cover are "lossless" formats like DTS and Dolby Digital HD. These formats tend to use about 6-1000 kbps, yet don't incorporate the phase-changes that MP3 and AAC do. From what I understand, the resulting sound is more accurate than merely decimating 24bit to 16bit.
Buy "disposable" stuff. Technology breaks, gets obsolete, gets lost, gets stolen, ect.
Example: A few years ago, I bought a $2500 42" TV. It broke after 3 years, so I replaced it with a $1000 55". I didn't miss much, because both TVs are just basic HDMI without a lot of features.
Likewise, with your computers, make sure that they are capable of using some kind of magic cloud backup so that you can quickly get your stuff back. Dropbox runs on Windows, Linux, and Mac.