You made me remember why I didn't like "end": vim's % key didn't work. Luckily I use emacs most of the time (vim only for occasional editing) and there are elisp packages that grok Ruby's syntax and correctly highlight the start and the end of blocks. So that turned out to be a very minor hassle.
About PHP: agreed. And why on earth they had to inflict the mandatory $this-> on us?
I looked at the examples and it could have mistaken it for Ruby with type declarations in the method definitions.
But then I noticed n = Integer.parseInt(args[0]) if args.length > 0
Why couldn't they add a to_i method to the String class (or Object, or whatever) and turn that line into n = args[0].to_i if args.length > 0 as in Ruby? All those Java's Class1.parseClass2 methods always looked funny to me.
No, it isn't and this is perhaps the first thing I noticed when I started using Ruby. However for some reason it makes the code immediately easier to read, and I was coming from about 20 years of C, Perl and Java. Maybe it's the useless { we're spared with: we usually know where a block starts, we just don't know where it ends and this is the problem of Python's invisible block endings (you mistype a space or tab and you don't understand why your program is not behaving as expected).
There is another bonus for getting rid of }: some national keyboards don't have { and } on their layout and programmers have to play with the ALT keys to get them (the details depend on the OS) or (software-)switch to the English keyboard and have their fingers know by hearth where the keys are (this is what I do in the editors). So internationally speaking not having { } is a good choice. Too bad Ruby uses { } to define the omnipresent hash tables. Maybe [ ] would have been good enough as the interpreted should be able to understand the difference between an array and a hash. Anyway {} is a much better choice than PHP's obnoxious array().
66% lower is very conservative indeed but maybe not in the way you think. I assume he wouldn't sell more copies if he had no free downloads. There are other authors that are selling and giving away the same book at the same time (e.g. Cory Doctorow, Peter Watts). They seem to believe that if they stop giving away ebooks the sales of the dead-tree copies would suffer, they wouldn't be as renowned and that would affect their income (e.g. Doctorow tours and gets paid to lecture). Those are proven and successful businesses so if I were starting a career as book author I'd follow their steps: almost no advertising costs, a lot of readers, a fair amount of money, sounds good.
Speaking of Tim O'Reilly, he has just published a detailed, quantitative study of the effect of free downloads on a single title. O'Reilly Media published Asterisk: The Future of Telephony, in November 2005, simultaneously releasing the book as a free download. By March 2007, they had a pretty detailed picture of the sales-cycle of this book — and, thanks to industry standard metrics like those provided by Bookscan, they could compare it, apples-to-apples style, against the performance of competing books treating with the same subject. O'Reilly's conclusion: downloads didn't cause a decline in sales, and appears to have resulted in a lift in sales. This is particularly noteworthy because the book in question is a technical reference work, exclusively consumed by computer programmers who are by definition disposed to read off screens. Also, this is a reference work and therefore is more likely to be useful in electronic form, where it can be easily searched.
That's why I believe that our author actually benefited from giving away all those copies for free.
By the way, I clicked on the link to download the book and discovered it is about Ubuntu 8.10. It's terribly outdated so it's not something somebody would buy nowadays but be sure that I wouldn't have bought it even two years ago when I switched from Win XP to Ubuntu 8.10. I'd be counted as one of those 445 free downloads per actual sales but I would have just deleted the file after having browsed through the pages. Downloading costs nothing so people just download, look, delete.
Or like the one in this book: 100% happy at all times and 100% unaware of the real consequences of its decisions. By the way, the link is to the full text of the CC-licensed book, by Peter Watts.
I programmed my 16 kB Sinclair ZX81 to play that game back in the '80s. It learned my game pattern quite well and I think to remember that it was winning about 60% of the games. The algorithm was quite simple: it recorded the frequencies of my chain of choices (depth 3 or 4?). Too bad I didn't knew about/. to come bragging on myself here:-)
Linux is already making inroads in casual users' phones (the Android kernel). Not that they know or care about it. As a Linux desktop user I'm fine with that and I'm just happy that about all the web applications I worked on in the last years are running on Debian servers or on Debian-derivatives.
I just don't believe that casual users will ever massively switch to Linux. Maybe they'll start to use Chrome OS tablets but they won't know about them being Linux-inside, just like almost all iPhone and iPad users don't know that those devices are Unix-inside. We might end up living in a world dominated by Unix derivatives but only a few techies like us will know it.
Linux has a lot going for it but the way things are going it risks being just another OS for retarded end users, just like windows. Where are the simple and effective distributions?
OSX is by definition aimed to retarded end users (don't touch it, it just works!) so if Linux and Windows are for retarded end users too what OS are we left with? But I disagree with you: I'm using Ubuntu 10.10 and I've been able to tweak the GUI to behave the way I like and that's probably a substantial tweak from the point of view of the GNOME team. So, the defaults could be for retarded people but there are ways to work around them (the defaults).
Oh, thanks for mentioning --preserve-root. I didn't know about it but I also never tried a sudo rm -fr / this century:-)
I have no problem doing without the maximize button because it's much easier and faster to double click on the title bar than aiming at a small button. I also agree that if you don't have any place to minimize a window to, you don't need the minimize button anymore but the real reason I have no problem with them removing it is that I'm not going to use Gnome Shell: it's just not the way I like to use a computer. A thing as simple as ALT-TAB becomes so complicate with windows moving, screen resizing, icons appearing. It's just unbearable. What's very wrong is that the desktop moves: everything must stay still and only the window I select must come on the top of all the others. And for virtual desktops, well, I always use two or three of them and I know where my windows are. So, no thanks, Gnome Shell is not for me. Not that Unity is much better but it looks that it will be easier to make it work the way I want, that is, just one panel at the bottom of the screen. I think that the default configuration of Unity will look good only on my small screen netbook.
I can't compare it to backup-manager because I never tried it. rsnapshot is based on rsync so you can use it to backup remote sites as well. I've made rsnapshot to run a command to dump the database of a remote server first and then rsync it to the backup disk on my local machine. It works also for server to server backups or client to server: rsnapshot must run on the server and be able to access the client, probably using ssh keys. I never tried that and yes, technically speaking rsnapshot is always running on the server but I think you understood my example:-)
[...] I also know of so many stories of people close to me who have lost their gmail accounts [...]
I know somebody who's got his gmail password stolen and changed. He's locked out from his mail now and no, there are no local backups. That made me like even more my habit of using gmail only as a POP3 server and download everything to my notebook. I sync it to my netbook with unison when I need my updated mail on the smaller box. I've got some gmail accounts (1 mine + a few customers) and some other POP3 ones for my own companies and but one can't leave anything important there. I'm at about 101,000 messages now. Local copies + (remote) backup are best.
I don't think this new interface is good for writing documents or programs or for working in Excel. But it looks good for controlling a media center TV from the couch. Gesturing with hands at icons or bubbles (or whatever they'll be) should be easier than using a 100 buttons remote. So I don't believe this interface will replace the desktop metaphor for doing office work but it might be good for about everything else. Maybe they'll find a way to make Windows 8 a double-interface (task oriented?) system. More likely this stuff will find its way only into Windows 9 or 10 or some special purpose device (XBox, TV, etc).
I was upset by Shotwell's inability of importing FSpot's database so I kept using FSpot. I didn't think about buying another computer instead. Furthermore that was a feature announced for future versions of Shotwell and it got it with Ubuntu 10.10.
By the way I can say now that Shotwell is much better and much faster than FSpot so it was a good decision from Canonical but they should have handled the transition better.
Right, that's why I put scrollbars on the left any time an application lets me do it, as in Gnome Terminal. But the close button must be on the right where I don't risk to click it by mistake. That's a thing I need to click only once per application so there isn't much time to save anyway. To maximize a window you can double click anywhere in the title bar. Iconize... well if you really have to iconize windows a lot then ALT-F9 does it (GNOME) and it's faster than grabbing the mouse or even sliding a finger on the touchpad.
I don't like many Apple's design choices so I don't buy Apple hardware because I know I can't fix the GUI they designed. Is that a bad thing for Apple or for me? It's hard to say but one thing is sure: if they left some space to configuration (no global menu, no application launchers at the bottom of the screen, no buttons on the left of the windows, and more) I might be using an Apple computer now. I concede that their choices played out well for them. Could have they done better if they left more freedom to customers? Nobody knows.
You are right but there are scenarios where even that doesn't work. An example: the Android app doesn't work on my Symbian phone. I won't buy a smartphone only for using gmail but I'll accept a present from Google (a Nexus S) and stop complaining:-)
I happened to be on vacation in Mongolia two years ago. I was in an Internet shop in a small town with no cell phone coverage (no international roaming there with my operator) but I could access gmail. I wouldn't be if this verification process was active. Luckily it is optional because it's a bad idea in some scenarios, as it binds your access to google services to your phone being online.
Exactly. I'm fine as long as emacs doesn't drop support for Ruby:-)
I tried to use Netbeans and other IDEs but I never liked all the clutter around the code window. I use them only for Java when the customer forces me to.
Furthermore we're still not at the point that anybody can go to the Moon by firing a rocket from the backyard, hide in a cave and start throwing boulders back to Earth. The guys you hit are going to know who you are and will retaliate by nuking your country on Earth, so what's the gain for investing all those resources to build that Moon base? If you can go to the Moon you probably can already shoot ICBMs with nuclear warheads.
I'm not sure that a doomsday device on the Moon is as effective as one on Earth. We still have one here in the form of thousands of ICBMs based in USA and Russia (used to be the USSR). It has worked very well so far in keeping us alive so we can say that it is believed to be very effective.
You can put backup missiles on the Moon but your enemy is going to do the same. The two Moon bases will bomb each other if anything bad happens on Earth. All you get for that investment is a chance to drop bombs on your enemy on Earth a second time two or three days after the start (and the end) of the war. Probably everybody is already dead by then. In turn that means that your enemy can spare the money to build a Moon base and spend them in another way, from more ICBMs to pop corns. The result of the war won't change: everybody die.
Weapons on low Earth orbit are much more effective because they have a shorter fly time compared to an ICBM (well, if you can make them orbit above the target at the right time). They were deemed effective enough to convince the USA and the USSR to agree not to use them because they would have doomed the MAD strategy and made military and governments willing to fire them before the other did it.
You can trust the system, but the system doesn't know what's happening to your car. It knows what's happening to the leading truck.
Suppose that a car in the convoy has a failure, a blown tire, anything that makes it slow down or change trajectory (maybe some bump or hole in the road). How do following cars avoid it if their drivers are sleeping, reading a book, having lunch? I know that people start car accidents while they are driving (texting, playing with music controls, having lunch) but I wonder if road trains are really safer than an equivalent number of cars each with its own driver. I think that this is the only safe road train.
You made me remember why I didn't like "end": vim's % key didn't work. Luckily I use emacs most of the time (vim only for occasional editing) and there are elisp packages that grok Ruby's syntax and correctly highlight the start and the end of blocks. So that turned out to be a very minor hassle.
About PHP: agreed. And why on earth they had to inflict the mandatory $this-> on us?
I looked at the examples and it could have mistaken it for Ruby with type declarations in the method definitions. But then I noticed n = Integer.parseInt(args[0]) if args.length > 0 Why couldn't they add a to_i method to the String class (or Object, or whatever) and turn that line into n = args[0].to_i if args.length > 0 as in Ruby? All those Java's Class1.parseClass2 methods always looked funny to me.
No, it isn't and this is perhaps the first thing I noticed when I started using Ruby. However for some reason it makes the code immediately easier to read, and I was coming from about 20 years of C, Perl and Java. Maybe it's the useless { we're spared with: we usually know where a block starts, we just don't know where it ends and this is the problem of Python's invisible block endings (you mistype a space or tab and you don't understand why your program is not behaving as expected).
There is another bonus for getting rid of }: some national keyboards don't have { and } on their layout and programmers have to play with the ALT keys to get them (the details depend on the OS) or (software-)switch to the English keyboard and have their fingers know by hearth where the keys are (this is what I do in the editors). So internationally speaking not having { } is a good choice. Too bad Ruby uses { } to define the omnipresent hash tables. Maybe [ ] would have been good enough as the interpreted should be able to understand the difference between an array and a hash. Anyway {} is a much better choice than PHP's obnoxious array().
66% lower is very conservative indeed but maybe not in the way you think. I assume he wouldn't sell more copies if he had no free downloads. There are other authors that are selling and giving away the same book at the same time (e.g. Cory Doctorow, Peter Watts). They seem to believe that if they stop giving away ebooks the sales of the dead-tree copies would suffer, they wouldn't be as renowned and that would affect their income (e.g. Doctorow tours and gets paid to lecture). Those are proven and successful businesses so if I were starting a career as book author I'd follow their steps: almost no advertising costs, a lot of readers, a fair amount of money, sounds good.
But I'm digressing. Let's back my position with some facts. This is an excerpt from http://www.locusmag.com/Features/2007/09/cory-doctorow-freekonomic-e-books.html (Sept 2007.)
Speaking of Tim O'Reilly, he has just published a detailed, quantitative study of the effect of free downloads on a single title. O'Reilly Media published Asterisk: The Future of Telephony, in November 2005, simultaneously releasing the book as a free download. By March 2007, they had a pretty detailed picture of the sales-cycle of this book — and, thanks to industry standard metrics like those provided by Bookscan, they could compare it, apples-to-apples style, against the performance of competing books treating with the same subject. O'Reilly's conclusion: downloads didn't cause a decline in sales, and appears to have resulted in a lift in sales. This is particularly noteworthy because the book in question is a technical reference work, exclusively consumed by computer programmers who are by definition disposed to read off screens. Also, this is a reference work and therefore is more likely to be useful in electronic form, where it can be easily searched.
That's why I believe that our author actually benefited from giving away all those copies for free.
By the way, I clicked on the link to download the book and discovered it is about Ubuntu 8.10. It's terribly outdated so it's not something somebody would buy nowadays but be sure that I wouldn't have bought it even two years ago when I switched from Win XP to Ubuntu 8.10. I'd be counted as one of those 445 free downloads per actual sales but I would have just deleted the file after having browsed through the pages. Downloading costs nothing so people just download, look, delete.
Or like the one in this book: 100% happy at all times and 100% unaware of the real consequences of its decisions. By the way, the link is to the full text of the CC-licensed book, by Peter Watts.
How about a link to this rant
http://blog.linuxolution.org/archives/117
I programmed my 16 kB Sinclair ZX81 to play that game back in the '80s. It learned my game pattern quite well and I think to remember that it was winning about 60% of the games. The algorithm was quite simple: it recorded the frequencies of my chain of choices (depth 3 or 4?). Too bad I didn't knew about /. to come bragging on myself here :-)
Linux is already making inroads in casual users' phones (the Android kernel). Not that they know or care about it. As a Linux desktop user I'm fine with that and I'm just happy that about all the web applications I worked on in the last years are running on Debian servers or on Debian-derivatives.
I just don't believe that casual users will ever massively switch to Linux. Maybe they'll start to use Chrome OS tablets but they won't know about them being Linux-inside, just like almost all iPhone and iPad users don't know that those devices are Unix-inside. We might end up living in a world dominated by Unix derivatives but only a few techies like us will know it.
Linux has a lot going for it but the way things are going it risks being just another OS for retarded end users, just like windows. Where are the simple and effective distributions?
OSX is by definition aimed to retarded end users (don't touch it, it just works!) so if Linux and Windows are for retarded end users too what OS are we left with? But I disagree with you: I'm using Ubuntu 10.10 and I've been able to tweak the GUI to behave the way I like and that's probably a substantial tweak from the point of view of the GNOME team. So, the defaults could be for retarded people but there are ways to work around them (the defaults).
Oh, thanks for mentioning --preserve-root. I didn't know about it but I also never tried a sudo rm -fr / this century :-)
I have no problem doing without the maximize button because it's much easier and faster to double click on the title bar than aiming at a small button. I also agree that if you don't have any place to minimize a window to, you don't need the minimize button anymore but the real reason I have no problem with them removing it is that I'm not going to use Gnome Shell: it's just not the way I like to use a computer. A thing as simple as ALT-TAB becomes so complicate with windows moving, screen resizing, icons appearing. It's just unbearable. What's very wrong is that the desktop moves: everything must stay still and only the window I select must come on the top of all the others. And for virtual desktops, well, I always use two or three of them and I know where my windows are. So, no thanks, Gnome Shell is not for me. Not that Unity is much better but it looks that it will be easier to make it work the way I want, that is, just one panel at the bottom of the screen. I think that the default configuration of Unity will look good only on my small screen netbook.
Not only email history but also the address book.
sudo apt-get install rsnapshot
I can't compare it to backup-manager because I never tried it. rsnapshot is based on rsync so you can use it to backup remote sites as well. I've made rsnapshot to run a command to dump the database of a remote server first and then rsync it to the backup disk on my local machine. It works also for server to server backups or client to server: rsnapshot must run on the server and be able to access the client, probably using ssh keys. I never tried that and yes, technically speaking rsnapshot is always running on the server but I think you understood my example :-)
[...] I also know of so many stories of people close to me who have lost their gmail accounts [...]
I know somebody who's got his gmail password stolen and changed. He's locked out from his mail now and no, there are no local backups. That made me like even more my habit of using gmail only as a POP3 server and download everything to my notebook. I sync it to my netbook with unison when I need my updated mail on the smaller box. I've got some gmail accounts (1 mine + a few customers) and some other POP3 ones for my own companies and but one can't leave anything important there. I'm at about 101,000 messages now. Local copies + (remote) backup are best.
I don't think this new interface is good for writing documents or programs or for working in Excel. But it looks good for controlling a media center TV from the couch. Gesturing with hands at icons or bubbles (or whatever they'll be) should be easier than using a 100 buttons remote. So I don't believe this interface will replace the desktop metaphor for doing office work but it might be good for about everything else. Maybe they'll find a way to make Windows 8 a double-interface (task oriented?) system. More likely this stuff will find its way only into Windows 9 or 10 or some special purpose device (XBox, TV, etc).
I was upset by Shotwell's inability of importing FSpot's database so I kept using FSpot. I didn't think about buying another computer instead. Furthermore that was a feature announced for future versions of Shotwell and it got it with Ubuntu 10.10.
By the way I can say now that Shotwell is much better and much faster than FSpot so it was a good decision from Canonical but they should have handled the transition better.
Right, that's why I put scrollbars on the left any time an application lets me do it, as in Gnome Terminal. But the close button must be on the right where I don't risk to click it by mistake. That's a thing I need to click only once per application so there isn't much time to save anyway. To maximize a window you can double click anywhere in the title bar. Iconize... well if you really have to iconize windows a lot then ALT-F9 does it (GNOME) and it's faster than grabbing the mouse or even sliding a finger on the touchpad.
I don't like many Apple's design choices so I don't buy Apple hardware because I know I can't fix the GUI they designed. Is that a bad thing for Apple or for me? It's hard to say but one thing is sure: if they left some space to configuration (no global menu, no application launchers at the bottom of the screen, no buttons on the left of the windows, and more) I might be using an Apple computer now. I concede that their choices played out well for them. Could have they done better if they left more freedom to customers? Nobody knows.
You are right but there are scenarios where even that doesn't work. An example: the Android app doesn't work on my Symbian phone. I won't buy a smartphone only for using gmail but I'll accept a present from Google (a Nexus S) and stop complaining :-)
Good point, agreed!
I happened to be on vacation in Mongolia two years ago. I was in an Internet shop in a small town with no cell phone coverage (no international roaming there with my operator) but I could access gmail. I wouldn't be if this verification process was active. Luckily it is optional because it's a bad idea in some scenarios, as it binds your access to google services to your phone being online.
It's Portal's credit song http://www.google.com/search?q=portal+still+alive
Exactly. I'm fine as long as emacs doesn't drop support for Ruby :-)
I tried to use Netbeans and other IDEs but I never liked all the clutter around the code window. I use them only for Java when the customer forces me to.
Furthermore we're still not at the point that anybody can go to the Moon by firing a rocket from the backyard, hide in a cave and start throwing boulders back to Earth. The guys you hit are going to know who you are and will retaliate by nuking your country on Earth, so what's the gain for investing all those resources to build that Moon base? If you can go to the Moon you probably can already shoot ICBMs with nuclear warheads.
I'm not sure that a doomsday device on the Moon is as effective as one on Earth. We still have one here in the form of thousands of ICBMs based in USA and Russia (used to be the USSR). It has worked very well so far in keeping us alive so we can say that it is believed to be very effective.
You can put backup missiles on the Moon but your enemy is going to do the same. The two Moon bases will bomb each other if anything bad happens on Earth. All you get for that investment is a chance to drop bombs on your enemy on Earth a second time two or three days after the start (and the end) of the war. Probably everybody is already dead by then. In turn that means that your enemy can spare the money to build a Moon base and spend them in another way, from more ICBMs to pop corns. The result of the war won't change: everybody die.
Weapons on low Earth orbit are much more effective because they have a shorter fly time compared to an ICBM (well, if you can make them orbit above the target at the right time). They were deemed effective enough to convince the USA and the USSR to agree not to use them because they would have doomed the MAD strategy and made military and governments willing to fire them before the other did it.
You can trust the system, but the system doesn't know what's happening to your car. It knows what's happening to the leading truck. Suppose that a car in the convoy has a failure, a blown tire, anything that makes it slow down or change trajectory (maybe some bump or hole in the road). How do following cars avoid it if their drivers are sleeping, reading a book, having lunch? I know that people start car accidents while they are driving (texting, playing with music controls, having lunch) but I wonder if road trains are really safer than an equivalent number of cars each with its own driver. I think that this is the only safe road train.