You are not getting best practices....Looking at someones code you will get the good stuff mixed with the half drunk, or just a bad day.
Best practices are good, but reading code is its own education. Reading forces you to think and care about how the code communicates its own organization and intent. In turn, this spurs you to really think about what your own code means instead of just what it does. While books and articles on best practices can teach you a lot about code formatting, language-specific idioms, platform-specific techniques, design patterns, packaging/delivery, etc, they usually do so separately: you have to look at actual working code to see how all of these techniques work at once.
In my opinion, struggling to understand real code (with plenty of successes and failures--the failures are important too) steps you closer to learning the gestalt of style... you gain skills that help you critically evaluated someone's "best practice" and determine where it is and is not efficacious to use it.
But then you'll face grandparent's point:
3. You do not have a goal. You can't just look at a program and say I know how it works... You really need a goal to fix something, otherwise you are looking at stuff blindly.
It just doesn't make sense to just look and try to understand some code unless you have an angle to it. How do I add feature X? How do I fix bug Y? How do I refactor this to fewer lines of code? Etc.
Scratching your own itches is possibly the best way to go. It gives you motivation, goals, and satisfaction.
This week I had to do a Win 98 install to test some software. My install came with IE4 and I had some fun trying various sites to see what would and wouldn't work. It was interesting to see how well (and not well) sites degraded to an utter crap view.
If 3000 employees all taking vacation/flex time at the same time the day after a major announcement they disagree with isn't a walkout, I'm not sure what is.
Fair enough, although the picture, even with all the walking employees, wasn't about that.
First, the picture in TFA is people walking out of the rented venue where employees were taken by buses to listen to the announcements. This isn't even Nokia premises. Of course they had to "walk out" of there!
Second, at another site, people just decided to go get dru^W^W home early, after the announcements, within their flex hours or whatever, not in huge protests. Much ado about nothing. Nobody would've gotten any real work done anyway, who would have?
Fortunately, before the battery went flat, my N900 had powered itself off when there was still enough juice on the battery to wake up for a few alarms...:p
It's not an article about Schmidt releasing some new antiprivacy system, it's just a point he's making that the internet makes your past easily accessible to everyone forever. Hell, it's more Facebook than Google who's responsible. But no. Feel free to shoot the messenger.
Is it really Facebook that is to blame? It just seems that everything ends up on the Internet these days. Even stuff that predates the www is put on the net. It freaked me out to find something I did in the early 90s on YouTube.
Eventually we're all going to have to learn to be open minded about other people's pasts and "private" lives.
Here in reality, forcing people to change their password every 30 or 60 or 90 days only has a few possible results:
(1) A lot more people writing down passwords and sticking them to their monitors. Who the hell can remember a new eight-digit string of nonsense every month?
(2) A lot more easy-to-guess passwords
(3) Incremented passwords (FuckTheSecurityGuys14)
Oh, I was using a script to flush the password history by randomly changing the password until my old password was good again.:)
AFAIK this scanning thing is a trial only for a small community. At least for now. But it's not April Fools, that's for sure.
Finnish postal service already provides a service for companies, institutions, etc. to send mail electronically to the postal service, who print out the stuff and deliver the snail mail to the end clients. This probably does save a bunch of CO2, and makes life easier for said companies.
NetPosti you refer to is an interface for receiving such mail electronically, opting out of the snail mail part altogether. Possibly the scanning service uses the same interface.
The scanning service mostly sounds insane to me, but I could imagine someone already using NetPosti wanting to archive everything there. (Like images of the 20 euros your grandma sent you. Eh.) I guess the people would still receive the snail mail, but maybe in batches once or twice a week instead of every weekday.
If you insist that KB = 1000 bytes, then get off our lawn. REALLY. You cannot be a nerd. Let me repeat that......YOU.....CANNOT......BE....A..........NERD
You dont care if it says KB or KiB
Heh, gotta take the bait. We all agree 1 KB = 1 KiB = 1024 B, per JEDEC.
Off-line use. I can refer to paper copies and make notes on them even when I'm not around the computer.
This is actually a pretty good reason. Making notes on paper is pretty handy.
Audit trail. Most document-management systems and e-mail systems have document retention policies that're under someone else's control. Sometimes I need to control copies of the documents independently of company policies (eg. anything related to HR, records that might prove inconvenient for management later (like my detailing of exactly why something they want to do is a Bad Idea), etc.).
I might not fully understand you here, but I don't really see why you couldn't accomplish this without making paper copies.
Change control. Many times documents can be changed in the computer and, while it records that there was a change, there's no record anymore of what the document said before the change. The paper copies in my drawer can't be changed and I can pull them out to prove that yes that was what was originally specified.
What is wrong with just saving a copy someplace else?
Space. My desk's a lot bigger than the computer monitor, and I can lay out a lot more papers and diagrams on it than I can have visible on the monitor at one time. Very useful, that.
Get a big monitor. They're cheap these days. Use virtual desktops. That way you can handle much more than the desk ever could. And you can easily switch between cluttered virtual desktops, unlike real ones.
Reliability. I don't have to worry about the contents of my desk drawers and noteboard going *poof* when a system upgrade goes south and it turns out the restore process requires things IT can't afford to do.
You know, if my house went down with flames, I'd still have plenty of data around. It'd be all the physical things that I'd lose.
Paperless office is probably never going to happen; paper is just too convenient.
The problem trying to be solved isn't lots of paper though, it's the environmental effects of printing and throwing away lots of paper.
I disagree. I am mostly paperless at work, and environment is not the main reason driving me to that. Paper is just *not* convenient. All the documents keep changing constantly, there's no point in printing them out. Where I work, you can't really leave all the paper lying around, either, for security reasons. Secure disposal of paper is a pain, too. One of the reference manuals is thousands of pages, who'd want to print that? You can't even search in the paper version.
Mostly I'd say it's about old habits that die hard.
Everything about it is done the way this 15-year Linux/Solaris admin thinks it should be done.
Ah, I see that you're still on honeymoon with your N900. It's got its wrinkles. Try 'cat/etc/sudoers' for a start. But I do agree with most of what you say. It is an amazing device.
I have physically removed the CapsLock, NumLock and Ins keys from my keyboard at both home and work.
Uh, why? My caps lock key is another ctrl, makes emacs use a bit friendlier for my left hand little finger. You could map the other keys to your liking as well. No need to break your keyboard.
Regarding TFA, it makes me wonder when they'll start removing other keys that are not useful for an average Windows/Office/Outlook user. A middle aged computer scientist using Emacs is becoming an endangered species I guess.
all of the consoles have reached the maturity/decline slope in their product life-cycle.
Really? "For years, Sony has argued that its video game consoles have 10-year lifecycles" says this interesting article, which mainly focuses on PS2's 9th birthday. Also, I don't see a big decline in sales in this console hardware sales chart (which, admittedly, might not be too accurate, but gives you a rough idea).
Frankly, I don't think we're nowhere near seeing what can be eventually squeezed out of PS3 or 360 or Wii. Remember the difference between early vs. later PS2 games?
And I don't realistically see what major upgrades in the main units would be beneficial for either the manufacturers or gamers in the near future, apart from cutting manufacturing costs and providing new kinds of controllers and accessories and online gaming modes. The current consoles will be with us for a long time, and they will sell huge numbers for years.
Yup. I'd go as far as saying readability is more important than correctness; fixing or improving easy to understand programs is trivial compared to trying to decipher spaghetti code. You write code for other people, and that other people might be you a few years from now.
I'm afraid you can't really force this attitude on people by using coding standards etc. though. I think it's something every coder needs to figure out for themselves. Like Pragmatic Programmer says, "care about your craft".
Virtualize, but go one step further: get your virtual server hosted for you. For example Gandi is pretty sweet. I'm sure there must be similar services in the US. No more worries about that box running in the basement.
If you insist on having the hardware in your house, QNAP offers wonderful NAS boxes with Debian Lenny support.
In six months we'll have all our lightweight desktop apps running on our phones and people will finally realize just how far ahead of everyone else Nokia really is.
Best practices are good, but reading code is its own education. Reading forces you to think and care about how the code communicates its own organization and intent. In turn, this spurs you to really think about what your own code means instead of just what it does. While books and articles on best practices can teach you a lot about code formatting, language-specific idioms, platform-specific techniques, design patterns, packaging/delivery, etc, they usually do so separately: you have to look at actual working code to see how all of these techniques work at once.
In my opinion, struggling to understand real code (with plenty of successes and failures--the failures are important too) steps you closer to learning the gestalt of style... you gain skills that help you critically evaluated someone's "best practice" and determine where it is and is not efficacious to use it.
But then you'll face grandparent's point:
3. You do not have a goal. You can't just look at a program and say I know how it works... You really need a goal to fix something, otherwise you are looking at stuff blindly.
It just doesn't make sense to just look and try to understand some code unless you have an angle to it. How do I add feature X? How do I fix bug Y? How do I refactor this to fewer lines of code? Etc. Scratching your own itches is possibly the best way to go. It gives you motivation, goals, and satisfaction.
This week I had to do a Win 98 install to test some software. My install came with IE4 and I had some fun trying various sites to see what would and wouldn't work. It was interesting to see how well (and not well) sites degraded to an utter crap view.
IE4? That's nothing. In my time...
If 3000 employees all taking vacation/flex time at the same time the day after a major announcement they disagree with isn't a walkout, I'm not sure what is.
Fair enough, although the picture, even with all the walking employees, wasn't about that.
Second, at another site, people just decided to go get dru^W^W home early, after the announcements, within their flex hours or whatever, not in huge protests. Much ado about nothing. Nobody would've gotten any real work done anyway, who would have?
You know... that sounds awfully familiar...
Are you saying that it's not, in fact, a bug?
And that it could be, instead, a feature?
Oh, that's it! The ultimate reason for giving up DST completely, for good. The iPhone can't handle it, we must drop DST!
If the battery had not died overnight.
Fortunately, before the battery went flat, my N900 had powered itself off when there was still enough juice on the battery to wake up for a few alarms... :p
Fixed the subject for you.
http://www.washingtonpost.com/wp-dyn/articles/A17073-2004Aug19.html
It's not an article about Schmidt releasing some new antiprivacy system, it's just a point he's making that the internet makes your past easily accessible to everyone forever. Hell, it's more Facebook than Google who's responsible. But no. Feel free to shoot the messenger.
Is it really Facebook that is to blame? It just seems that everything ends up on the Internet these days. Even stuff that predates the www is put on the net. It freaked me out to find something I did in the early 90s on YouTube.
Eventually we're all going to have to learn to be open minded about other people's pasts and "private" lives.
Here in reality, forcing people to change their password every 30 or 60 or 90 days only has a few possible results:
(1) A lot more people writing down passwords and sticking them to their monitors. Who the hell can remember a new eight-digit string of nonsense every month?
(2) A lot more easy-to-guess passwords
(3) Incremented passwords (FuckTheSecurityGuys14)
Oh, I was using a script to flush the password history by randomly changing the password until my old password was good again. :)
The announcement was made March 29th. It's real.
Don't know about Finland, but I mostly use the mail system for packages and magazines.
There's parody on this in Finland's main paper today. "The organically grown lamb you ordered arrived as an attachment."
Finnish postal service already provides a service for companies, institutions, etc. to send mail electronically to the postal service, who print out the stuff and deliver the snail mail to the end clients. This probably does save a bunch of CO2, and makes life easier for said companies.
NetPosti you refer to is an interface for receiving such mail electronically, opting out of the snail mail part altogether. Possibly the scanning service uses the same interface.
The scanning service mostly sounds insane to me, but I could imagine someone already using NetPosti wanting to archive everything there. (Like images of the 20 euros your grandma sent you. Eh.) I guess the people would still receive the snail mail, but maybe in batches once or twice a week instead of every weekday.
If you insist that KB = 1000 bytes, then get off our lawn. REALLY. You cannot be a nerd. Let me repeat that... ...YOU.....CANNOT......BE....A..........NERD
You dont care if it says KB or KiB
Heh, gotta take the bait. We all agree 1 KB = 1 KiB = 1024 B, per JEDEC.
But 1 kB = 1000 B.
Some of the reasons I still use paper:
Some counterarguments, if you don't mind! ;)
Off-line use. I can refer to paper copies and make notes on them even when I'm not around the computer.
This is actually a pretty good reason. Making notes on paper is pretty handy.
Audit trail. Most document-management systems and e-mail systems have document retention policies that're under someone else's control. Sometimes I need to control copies of the documents independently of company policies (eg. anything related to HR, records that might prove inconvenient for management later (like my detailing of exactly why something they want to do is a Bad Idea), etc.).
I might not fully understand you here, but I don't really see why you couldn't accomplish this without making paper copies.
Change control. Many times documents can be changed in the computer and, while it records that there was a change, there's no record anymore of what the document said before the change. The paper copies in my drawer can't be changed and I can pull them out to prove that yes that was what was originally specified.
What is wrong with just saving a copy someplace else?
Space. My desk's a lot bigger than the computer monitor, and I can lay out a lot more papers and diagrams on it than I can have visible on the monitor at one time. Very useful, that.
Get a big monitor. They're cheap these days. Use virtual desktops. That way you can handle much more than the desk ever could. And you can easily switch between cluttered virtual desktops, unlike real ones.
Reliability. I don't have to worry about the contents of my desk drawers and noteboard going *poof* when a system upgrade goes south and it turns out the restore process requires things IT can't afford to do.
You know, if my house went down with flames, I'd still have plenty of data around. It'd be all the physical things that I'd lose.
Paperless office is probably never going to happen; paper is just too convenient.
The problem trying to be solved isn't lots of paper though, it's the environmental effects of printing and throwing away lots of paper.
I disagree. I am mostly paperless at work, and environment is not the main reason driving me to that. Paper is just *not* convenient. All the documents keep changing constantly, there's no point in printing them out. Where I work, you can't really leave all the paper lying around, either, for security reasons. Secure disposal of paper is a pain, too. One of the reference manuals is thousands of pages, who'd want to print that? You can't even search in the paper version.
Mostly I'd say it's about old habits that die hard.
http://maemo.nokia.com/features/maemo-browser/gestures/
Everything about it is done the way this 15-year Linux/Solaris admin thinks it should be done.
Ah, I see that you're still on honeymoon with your N900. It's got its wrinkles. Try 'cat /etc/sudoers' for a start. But I do agree with most of what you say. It is an amazing device.
Now if I could just get Windows Vista booting on my TI-82!
Tell me when you're done, and I'll run it on the TI-82 on my N900. ;)
I have physically removed the CapsLock, NumLock and Ins keys from my keyboard at both home and work.
Uh, why? My caps lock key is another ctrl, makes emacs use a bit friendlier for my left hand little finger. You could map the other keys to your liking as well. No need to break your keyboard.
Regarding TFA, it makes me wonder when they'll start removing other keys that are not useful for an average Windows/Office/Outlook user. A middle aged computer scientist using Emacs is becoming an endangered species I guess.
all of the consoles have reached the maturity/decline slope in their product life-cycle.
Really? "For years, Sony has argued that its video game consoles have 10-year lifecycles" says this interesting article, which mainly focuses on PS2's 9th birthday. Also, I don't see a big decline in sales in this console hardware sales chart (which, admittedly, might not be too accurate, but gives you a rough idea).
Frankly, I don't think we're nowhere near seeing what can be eventually squeezed out of PS3 or 360 or Wii. Remember the difference between early vs. later PS2 games?
And I don't realistically see what major upgrades in the main units would be beneficial for either the manufacturers or gamers in the near future, apart from cutting manufacturing costs and providing new kinds of controllers and accessories and online gaming modes. The current consoles will be with us for a long time, and they will sell huge numbers for years.
I'm afraid you can't really force this attitude on people by using coding standards etc. though. I think it's something every coder needs to figure out for themselves. Like Pragmatic Programmer says, "care about your craft".
Finally scripting. I want scripting on my phone. a sequence to happen when number xx-xxx-xxxx calls me.
On the N900 you could use Python and listen for the D-Bus messages related to phone calls.
Virtualize.
Virtualize, but go one step further: get your virtual server hosted for you. For example Gandi is pretty sweet. I'm sure there must be similar services in the US. No more worries about that box running in the basement.
If you insist on having the hardware in your house, QNAP offers wonderful NAS boxes with Debian Lenny support.
In six months we'll have all our lightweight desktop apps running on our phones and people will finally realize just how far ahead of everyone else Nokia really is.
Some heavyweight as well.