The Way We Were
So if you have read earlier entries in the blog, you know that I once reviewed learning styles as categorized by David Kolb. They were all lengthy thoughts on how each person learns differently and how each person may respond better to certain teaching styles. And I think there is something to what was said there.
But there was a news report not long ago about how Google (or rather the "internet search"; let us not get into the habit of calling all photocopies "Xeroxes") is changing the way our brains work, by wiring them to go for the instant knowledge gratification. The thought is that rapid information access is making short term memory less effective because we use the internet as a crutch. And I thought at the time, "Oh maybe, but that's only for idiots that learn programming by reading those stupid Dummies books. Proper learners like me will always take a class and read quality books written by guys like Steve McConnell and Andrew Troelsen, and take our time learning and refrain from writing code until we have a body of knowledge about the language."
The Calculator Discovered
Then I started picking up Linux and PHP and MySQL. And when I ran into problems, I found that under desire to complete tasks I couldn't help but go to the internet for rapid information access. And then I remembered what I used to think about learning, and I realized I was the idiot.
I was using the internet to glean knowledge from others, even so much as stealing functional and useful scripts through the browser. I could get things done fast, and while I had to use my brain, it was significantly less work than forging painfully through arcane documentation and numerous trial and error sessions fighting with the script parser. Shortly after that, I realized I had become a script kiddie. And I liked it.
It was like I'd become Bradley Cooper's character in Limitless; I could pull down references from all over the world in seconds. I could make my bash script in a fraction of the time that it would have taken to build it from scratch by using what others had done. I could search for what I wanted to do via MySQL's mysqladmin, and I could get exactly or almost exactly what I needed quickly. It felt a little like cheating, but I was getting real work done. It sucks to be wrong, but being a script kiddie has its benefits, not the least of which is a material immediacy that matches the American culture's thirst for NOW.
You Gain more Wisdom from Failure than Success
AND YET...
Isn't there something missing in the new way of learning? I don't mean the obvious things like, "What the heck are you going to do on a camping trip when you're an automaton that can't tie shoes without internet help, you don't have connectivity, and a bear is chasing you?" I mean things like what Carl Feynman and Michelle Feynman were probably thinking about when they came up with the title of the book about Richard Feynman, The Pleasure of Finding Things Out. Smarter guys than me have said that sometimes the journey is more important than the destination. No one seems to care if you finish in second place, but if you learned a boat load on the way there, isn't that enrichment worth more than a red ribbon (or blue if you're in Canada [thanks, quick internet search!])?
In programming, when we copy a script or follow a script that doesn't also explain why something is the way it is, we lack the history of the issue and thus the context that helps us understand why we do the things we do, or perhaps that gives us the knowledge we need to know when something is extraneous and can be removed or changed for efficiency.
But does all of that even matter anymore? Software development, except in the very few places that truly revere quality over deadlines, has been transformed by corporations into the world's second sloppiest profession (the first is law. Sit on a jury or even jury panel selection sometime and then tell me I'm wrong). I can only think of one development shop that dared to say, "Design is law," and it is out of business. Two other shops have a quality focus, and even they're changing. Id Software and Apple Computer both like to say, "It'll be done when it's done." Id's latest releases might be technical marvels, but they've proven Id is more about programming than game development. And Apple, although one of the best at managing the convergence of hardware and software, has nevertheless taken criticism recently for an underwhelming iPhone 4 release, perhaps finally showing that even they can succumb to market pressures to put date before quality and innovation.
We are all Script Kiddies now
The world moves at pace that I've heard referred to as "internet time" or "web time". Example: "Two years in web time is an eternity." Given that, can developers afford a classical style of learning? For that matter, are calls for educational reform just about class sizes and getting teachers more money, or are they also considering the way the internet is changing the way we learn and calling for a major paradigm shift in the way we teach?
Another report I've heard is that our youth today may seem superficially proficient with technology, but that while there are indeed some brilliant coders in their ranks, there are even more that are actually just comfortable "users" of technology, rather than masters of it. They can dig into menus and launch apps with the best of them and can seem, and are, supremely functional with their technology. They can text at lighting speeds, slap photos onto facebook in a heartbeat, and find a nearby restaurant on Google Maps, but they can't replicate the tech and most of them probably are as lost as their elders at configuring items in the deep recesses of the sub menus. It reminds me of the Issac Asimov story about the society in which everyone used calculators and only one person knew how to perform math by hand; he killed himself under the burden of the knowledge.
In the end, is becoming a script kiddie a turn to being a cheap, lazy programmer or is it just being an efficient one? Is it simply accepting that this is the way the world works and that you'd better adjust to compete? The truth is somewhere between the extremes, where it usually is. But I fear more people are turning to the script kiddie way and that it can lead to side effects, and a whole different kind of "dependency injection", that we're not preparing for.
Friday, January 06, 2012
Sunday, November 06, 2011
The Linux Adventure: Part 1 - Hardware
Ok, so I'm finally going to get more involved in using more operating systems and some languages on the side for learning purposes.
To help a friend out with some projects I've picked up an HP laptop, the DV6 6047cl and I'll be dual booting with Windows 7 64bit Home Premium and openSUSE 11.4. I'll catalog this adventure in a series of posts that will encompass a review of the laptop, the various steps taken to install Linux, and any roadblocks I encounter on the way.
Part 1 - Hardware
Picking the damn notebook was 75 percent of the battle. I went back and forth over several details and surveyed several units I found online and at retail outlets. Time was a bit of a constraint because my friend is already way ahead of me with the whole LAMP install and is already trucking along with his code.
The toughest parameters to agonize over were the laptop specs and price. I wanted a notebook with a big screen because I want something that's easy on the eyes and would look good if I needed to run videos or work with graphics. I expect to be hashing out a lot of php, perl, and MySQL code, so I wanted a good processor too.
For a while I was leaning toward a really high-end machine with all the goodies, but I just couldn't get it to the $1000 mark. Getting the big monitor, good video card, Intel i7 processor, backlit keyboard, Bluetooth, and HDMI support in one machine for that price was not possible in the places I looked. Even raising the price, it was still hard to find notebooks that put all that into one bundle for less than $1200.
I finally decided on the DV6 6047cl on sale at SAM's Club for $900 (originally $1000). Intel i7, 8GB RAM, switchable graphics between the Intel onboard video and an ATI Radeon HD 6770M, and 1TB hard drive. Also got the Bluetooth chip and HDMI port and some USB 3.0 ports, but missing a backlit keyboard (this is such a handy feature, why is it considered such a luxury item by both Dell and HP? You had to go very expensive to even get the option on the custom builds).
The 15.6 inch screen was disappointing after salivating over the 17.3 inch panels that the high-end Dell and HP units have at full HD (1900 x 1080). But after working with it a bit, the 1366 x 768 resolution isn't terrible (ok, it does seem a little squashed height-wise) and the images are crisp enough. I gave up on the 17.3 inch screens when I realized they wouldn't fit in the cases and backpacks that I use now. I don't expect to carry the notebook through a bunch of airports but I did want a reasonable amount of portability. At just under 5.8 pounds, it's not too bad for carrying.
Realistically, I probably could have been well satisfied with a much lesser machine. SAM's Club had an HP unit running the AMD A6 3400M chip whose integrated video capability is superior to the Intel onboard video...and it was $300 less. But when I looked at the CPU ratings on notebookcheck.com, I just saw how far below even the newer i3 chips the AMD was, and I decided for the i7. Maybe that was stupid, cause I don't plan to run a lot of games on this, but I had these visions of me doing MySQL backups and running compilers and just sitting around with my thumb up my ass and an hourglass on the screen and I just decided to buy the i7. Besides, I still would be using Windows, and that bloated thing will eat all the processor you give it.
The $900 wasn't a fun hit to take, but over a decade ago I bought a Dell Inspiron Pentium 233Mhz laptop for about $2300, so I just shut up and bought the damn thing. Was it worth it? Read on.
Hewlett Packard DV6 6047cl Review
I suspect SAM's dropped the price to flush out the notebooks that had been sitting in inventory for about six months, but I could be wrong about that. I made the purchase in August 2011, and since then, the SAM's I visit hasn't gotten any new stock but the prices went back to normal and haven't changed much. The notebooks they have there are just sitting around and don't seem to be moving...although it might hurt, SAM's has got to realize that tech generally doesn't hold its value well. Lots of even cheaper and newer notebooks at Best Buy are coming out with new circuitry that give them Bluetooth, 802.11 b/g/n, WiDi, and even WiMax support. This DV6 gets the former two but not the latter two; WiDi and WiMax are luxuries but would be great features to have if you travel and do presentations.
Physical composition
I can't lie here; most of the reviews of the DV6 series that I've read seem favorable but I disagree. For what would have been $1000 when it first came out, I'm a little disappointed in the build quality. Everything on the notebook is made from plastic. The lid feels flimsy and the unit falls way short of the Apple stuff; it's not as expensive, but at a grand, it is close enough in price to be better than it is. Disappointing, especially considering that comparably priced DV7 units, while also plastic, tended to look better. Guess HP had to cover Mark Hurd's golden parachute somehow. However, like most Wintel stuff it's serviceable and everything worked correctly out of the box.
In retrospect, I probably should have sprung for the larger monitor. I think the number one computer component to spend money on is probably the monitor: it's what you subject your eyes to for hours on end. The DV6's 15.6 inch screen is plenty crisp and clear but I think the higher resolution on the 17.3 inch screens would involve less scrolling and certainly some apps (games, photos) would look better.
That said, I'm appreciative of the DV6's relatively portable dimensions. It's not too heavy and it fit into my old notebook backpack.
The keyboard is a chicklet-style keyboard (I've also heard some refer to it as a "floating island" keyboard). I do like this keyboard a lot. Typing is fairly easy to do and I like that it includes a numeric keypad. The navigation keys aren't anywhere you recognize from your desktop keyboard, but such is life with most notebooks. One quirky thing is that the function keys appear to be set to control notebook functions by default and to make them trigger regular functions (for example, F1, F2,...etc), you have to hold down a "Fn" toggle key. Weird. I am used to the application software functions being the default slaving, and the notebook controls (brightness, music controls, volume) requiring a special function key. This might be configurable but I haven't delved through all of the DV6's documentation yet.
I must give a thumbs-down to the touchpad. It is from hell. In both Windows and Linux, its default setting must be called "annoy." It is painfully sensitive, causing the focus to jump to wherever the mouse cursor is when you are typing. I don't know how even the most patient human being could use this touchpad and not want to commit suicide within a couple hours; the most fundamental function in computing, to enter text via keyboard, is compromised. The only reason I haven't returned the notebook due to the touchpad is because I've progressively been able to improve its performance through configuration tweaking.
- In OpenSUSE, I was able to toggle off a "tap to click" option that has successfully stopped the touchpad from making the cursor jump everywhere.
- In Windows, I've yet to completely solve the problem but I've been able to reduce it somewhat by tinkering with the sensitivity settings. Although I disabled the same "tap to click" functionality I found on the OpenSUSE side, the Linux drivers seem to have handled this particular malady much better than Win 7.
Performance
The DV6 fares well here. Obviously the i7 2630 QM is a big factor, but the ATI 6770M helped too. The Windows 7 experience index scores 5.9, which is what a lot of quad-core PCs not using solid state drives will rate. All the individual categories outside of drive performance rate higher.
Windows 7 runs smoothly and so does openSUSE (I'm running the KDE Plasma UI). I really didn't notice many issues with the system stalling or waiting around a lot.
I haven't tried many games on it yet but the one I did was Civilization V. I was pleased here. Civ V really kicks my desktop's ass. While the desktop is not comparable to modern screamers, it's not too slouchy for a two-year-old PC: an HP with an AMD Phenom II X4 3.0Ghz CPU, 8GB RAM, and an nVidia 9800 GT. But Civ just kills it. The HP DV6 runs Civ V in a less demanding resolution, but it's significantly smoother even at high detail settings. So score a point for the notebook.
Battery Life
The DV6 uses the newer switchable graphics system. It comes with both an Intel integrated video chip and an ATI Radeon HD 6770M discrete graphics card. The notebook is supposed to be smart enough to know when to switch between the two automatically to preserve battery life.
So far, I've noticed that it seems to work ok in Windows 7. You can configure power profiles with the included "Configure Graphics" utility available at the context menu when secondary mouse-clicking on the desktop. Typically when the notebook is unplugged it will switch to using the Intel onboard chip, and when plugged in will use the ATI card. Preliminary tests show this to be the case, but I'm not impressed. I am getting about three to four hours of battery time when using the Intel graphics. Hardly what was advertised, but then I suppose there is a price to pay for the i7's strong performance.
Note: HP notebooks in the 61xx series (mostly DV7 but also some DV6 units) are said to have issues with the switchable graphics. It's possible my unit does also, as I haven't tested trying to run on the Intel chip and then see if running a game causes it to automatically switch to the discrete chip. HP is working on it, but apparently the fixes so far are reportedly less than optimal.
Battery life under Linux is a different story. I'm still tinkering with the setup, but it appears there isn't a definitive support stack for the switchable graphics system yet, and so both cards are powered at all times, draining the battery in less than two hours. More on this later in the Linux portions of the article series; it's not a high priority to fix at the moment but I would like to address it at some point.
Features
I'm pleased with the DV6's showing as an all purpose machine under both operating systems. Web browsing, office work, music, games, and video all seem to run great. The DV6 is quite versatile. The Blu Ray drive supports LightScribe and DVD burning, so you can do a lot with it, though it is understandably slower than my desktop's drive.
This is also one of the notebooks featuring "Beats Audio by Dr. Dre" whatever that is supposed to mean. I'm an old fart that associates names like Bose and Yamaha to the quality audio gear, and I don't know much about Dr. Dre (besides that he's a rapper) and HP's infatuation with him, but I will say the notebook sounds nice. Notebooks have tiny speakers, so they're not really supposed to sound all that great, but this one seems to do better than the average notebook. Actually, I'll say that I like the sound very much. The notebook seems to have multiple speaker ports: two in front and possibly another under a grille that stretches across the back of the notebook.
Conclusion
I'll keep the DV6. Parts of it were disappointing but the performance is good and so far dual booting is working out well. It's also a well-appointed notebook with good multimedia support and plenty of ports. The two USB 3 ports are nifty; I tried out copying an 8GB file from a friend's USB 3 portable hard drive and it took just over a minute which blows away the USB 2 performance.
Linux guys, please do not all attack me here, but I will say that while Linux has clearly come a long way in being install-friendly, so has the Microsoft OS. Win 7 wins the comparison in ease of use. I had no problems whatsoever getting drivers and hardware to work, and except for the touchpad, everything just plain worked without hassles. Linux is great, and I only gain more appreciation for it as I continue to work with it, but I had to fiddle with things a bit to get the WiFi and Bluetooth to work, and I'm not sure yet if USB 3 and the DV6's fingerprint reader work under Linux.
Sunday, June 26, 2011
Terms for the New IT Dictionary
I'm going to save this space to copyright a few terms I've come up with that have consistently amused my peers in IT. I'll add them as I find them.
Outlook Jockey
This is what I call project managers that only superficially perform their duties. They organize meetings and send emails. But they don't control scope, they don't understand the business or the users, they don't forge relationships with stakeholders and then carry forward and foster those relationships with the other parties on the project. They don't communicate regularly with everyone and then help break down barriers between developers and users. In short, they aren't doing much work at all except to look busy setting up and running meetings and emailing status reports. They're glorified messengers, getting a status from one party and passing it to the next.
No, I'm not talking about the top ten percent of you that do a great job. But the rest of you must qualify for the rating, because when I use the phrase "outlook jockey" I always get a reaction. People don't laugh at something because it's funny, they laugh because it's true.
Requirements Sentence
Forget about requirements documents.
If you're doing it right, you've moved on to more effective forms of requirements capture that span everything from use cases and graphics to wikis and co-locating developers and users.
If you're doing it like everyone else, then you're probably going off what I now call the "requirements sentence" because that's usually what you get: one sentence describing the system that's wanted. "I want a system that will do ERP and take care of everything from beginning to end and be fast and work just how I want and do leverage and acquisitions and stuff. No, I don't have time to help with requirements." Uh huh. Thanks, Mr. Big Picture Guy. Maybe you can get your buddy Mr. Vision Guy to help out between shopping for inspirational office wall posters.
To Earn More and Learn More
It's what you say when people ask why you are leaving a job. "Because I want to earn more and learn more." This one isn't a joke. When good employees leave, this is usually the real reason!
Monday, March 28, 2011
Employment, Then and Now
Employment 1960
- Be loyal and your company will take care of you.
- Sacrifice for your company and you will always have a job and be advanced.
- Get a college degree.
- Stay with the same company and work hard.
- A pension and full health coverage are expected benefits.
- Quality is job one.
- You are valued on merit.
- You are a family member.
- Blondie.
- The company does not believe in layoffs.
- Our policy is to pay for performance.
- You get a bonus to stay.
- Accountability.
Employment 2011
- Be dedicated to your task, but loyal only to your friends and family.
- Be committed but not crazy.
- A degree is nice, but who you know is more valuable.
- To advance or get a raise you'll need to move; many times.
- You get some help with healthcare and a 401k, after that you're on your own.
- Make your dates even if you have to cut corners; no one ever got fired for making a deadline. We have insurance and a legal department for mistakes.
- It is better to be lucky than good.
- Hello, employee #1741349.
- Dilbert.
- Don't let the door hit you in the ass.
- Failure is rewarded.
- You get a bonus to retire early.
- Plausible deniability.
Monday, January 17, 2011
Magic and Technology
Arthur Clarke is known for his theory that says:
Any sufficiently advanced technology is indistinguishable from magic.
Sorry Arthur, I disagree. Here's Dy's Corollary:
Technology is easily distinguishable from magic. Stress test it; if it breaks, it's technology, probably software.
Wednesday, July 21, 2010
More from Karl Weigers
Karl Weigers, the author several books and articles on software requirements, has written another article found via a link on Dr. Dobbs.
It's more good advice, but as one of the commenters noted, it's advice that Weigers and others have been espousing for years, and I don't know about the dedicated software shops, but I know most IT shops are still missing the mark.
It's also interesting to note that Weigers talks about getting as much as you can right from the start, and of course it didn't take long for an agilist or two to point a finger and yell, "Waterfall!". Weigers tries to tell those posters that he didn't say "all the requirements have to be up front" but that there needs to be a solid foundation before people start hacking out code. But I don't think he needs to apologize for anything he said. Even Joel Spolsky has said he's been successful with BDUF.
Of course both sides have a point; it is also not wrong to prototype quickly (although in impatient organizations there is the danger developers will be told, "Oh, that looks good, put that prototype into production.") But how much of the requirements should be done up front? I think the severity of the cost of failure should have a play in how much needs to be done up front; if you're building the Saturn V rocket program for the Apollo space mission, or the F-15E Strike Eagle program, or medical systems software, damn it, you'd better have your ducks in a row up front or it's going to mean lost lives.
If you're a one-person team making a fairly simple card game as freeware on your own time, well, by all means, start hacking.
Somewhere in between those extreme examples are these silly things called multi-billion dollar companies that use software for everything from accounting to operations to customer service. I could be a real joker and say that perhaps it's good for the economy that so many corporate systems are broken and need lots of people to support them. But if you're one of the people stuck supporting broken systems, you might not find it funny as you spin your wheels trying to read arcane and undocumented hieroglyphics and wishing that you could be working instead on a new feature that would open up new options for the sales department.
Bad software is usually a result of poor requirements and it does cost companies more than they realize. But for a lot of them, the cost of failure is more payroll in maintenance and customer service...they're loath to pay it but some consider it just another cost of doing business. And if they're willing to pay it, then accept it, keep plugging, and refactor where you can.
It's more good advice, but as one of the commenters noted, it's advice that Weigers and others have been espousing for years, and I don't know about the dedicated software shops, but I know most IT shops are still missing the mark.
It's also interesting to note that Weigers talks about getting as much as you can right from the start, and of course it didn't take long for an agilist or two to point a finger and yell, "Waterfall!". Weigers tries to tell those posters that he didn't say "all the requirements have to be up front" but that there needs to be a solid foundation before people start hacking out code. But I don't think he needs to apologize for anything he said. Even Joel Spolsky has said he's been successful with BDUF.
Of course both sides have a point; it is also not wrong to prototype quickly (although in impatient organizations there is the danger developers will be told, "Oh, that looks good, put that prototype into production.") But how much of the requirements should be done up front? I think the severity of the cost of failure should have a play in how much needs to be done up front; if you're building the Saturn V rocket program for the Apollo space mission, or the F-15E Strike Eagle program, or medical systems software, damn it, you'd better have your ducks in a row up front or it's going to mean lost lives.
If you're a one-person team making a fairly simple card game as freeware on your own time, well, by all means, start hacking.
Somewhere in between those extreme examples are these silly things called multi-billion dollar companies that use software for everything from accounting to operations to customer service. I could be a real joker and say that perhaps it's good for the economy that so many corporate systems are broken and need lots of people to support them. But if you're one of the people stuck supporting broken systems, you might not find it funny as you spin your wheels trying to read arcane and undocumented hieroglyphics and wishing that you could be working instead on a new feature that would open up new options for the sales department.
Bad software is usually a result of poor requirements and it does cost companies more than they realize. But for a lot of them, the cost of failure is more payroll in maintenance and customer service...they're loath to pay it but some consider it just another cost of doing business. And if they're willing to pay it, then accept it, keep plugging, and refactor where you can.
Saturday, July 17, 2010
Break Time
I just finished Susan Sontag's The Volcano Lover. It's an interesting book based on the lives of Sir William Hamilton, his wife Emma, and British naval hero Horatio Nelson. Sontag deftly blends the fictional with historical and does it with sumptuous prose. Sontag's life has been marked with some controversy and I don't agree with all her comments, especially those regarding 911, but I find her to be a brilliant writer and thinker. The book is peppered with interesting observations about life, and in taking a little break from work I'll capture some quotes here.
I'd read Sontag said "True art has the capacity to make us nervous." In the book, there is a passage that says the same thing in different words. I don't know if the quote is actually from the book and paraphrased, or if this is just Sontag saying it later in a different way, but it's a concept I've always found fascinating:
"...the news is always a little unreal, which is why we can stand to bear so much of it."
"A man who has to admire in order to desire is likely to have led a modest sexual life."
"You can look at the most apalling things in art. Whatever art shows, it is not going to get any worse. The knives are out...but his tormentors haven't started yet...to cut. Not even one tiny morsel of flesh. His monstrous punishment is forever only seconds away."
I'd read Sontag said "True art has the capacity to make us nervous." In the book, there is a passage that says the same thing in different words. I don't know if the quote is actually from the book and paraphrased, or if this is just Sontag saying it later in a different way, but it's a concept I've always found fascinating:
"We admire, in the name of truthfulness, an art that exhibits the maximum amount of trauma, violence, physical indignity. (The question is: Do we feel it?) For us, the significant moment is the one that disturbs us most."
"Acting is one thing, being civilized (which includes acting) is another."
"Nothing is more admirable than mercy."
Subscribe to:
Posts (Atom)