Get him to use Linux, and if he likes that, then start explaining how things work. Get him to do some basic stuff with sockets in C once he's comfortable with a Unix environment and the curiousity will evolve naturally. I would personally not put him in contact with any higher level programming paradigms just yet as he might get overwhelmed with way too many concepts, let him get used to the way computers work close to the hardware first, then introduce him to object oriented programming using a language of your choice (I would follow with C++, but that's my preference) and then slowly introduce dynamically typed languages and functional concepts to him. Whatever you do, just make sure that his bases are all properly laid before moving on to the next level. I believe C is a good starting language because it abstracts the programmer from architecture specifics without abstracting them from the fundamental way all computers work, and people get motivated when they understand that what they're playing with are the tools that everyone uses to build real stuff.
> nah, gentoo comes up with collision warnings all the time for various modules that are already installed but another module wants to install them too
A good system doesn't stop being good only because it is sometimes incorrectly used.
> Gentoo is for people who want to fart around twiddling their machine all day long
And the point is? I am not suggesting that people switch to Gentoo, only demonstrating that the problem being described in this thread has had a solution for a long time. The only reason why this problem persists is because people insist on using primitive package managers that do not split the package itself from the installation instructions. Packages should be distributed exactly the way their vendors deem appropriate, Portage is flexible enough to allow this, most other package managers are not.
As usual, Gentoo is a step ahead of the competition in this regard (and has been for a long time):
jps@karma ~ $ eix g-cpan * app-portage/g-cpan
Available versions: 0.13.01 0.13.02 0.14.0 ~0.14.1_rc1 ~0.15.0 0.15.0-r1
Homepage: http://www.gentoo.org/proj/en/perl/g-cpan.xml
Description: g-cpan: generate and install CPAN modules using portage
Since Portage is only a collection of installation instructions, any kind of vendor package is suitable for it; this is unlike the primitive package managers that come bundled with every other distribution that still have problems with vendor packages as well as software which they have no license to redistribute.
I've been using the term "radio on wheels" for a long time to describe vehicles comprised with too much of radio and too little of car, but this exceeds all the acceptable proportions for that term by some orders of magnitude, so much that I'm looking for a new term to describe this kind of aberration.
Switch back to Firefox / Thunderbird, setup your Gmail accounts as IMAP accounts on Thunderbird, install NoScript, and block all scripts and cookies form Google. If you want even more anonymity, use Tor.
Finally, go to about:config, type "referer" (yes, with a single R) in the Filter bar and change the value (which is 2 by default) to 0, which disables the "Referer" HTTP header (Google feeds its crawlers with information from this header too).
When I was at school there was an implicit code among students in which you could let all your friends get in the line AS LONG AS IT WAS IN FRONT OF YOU. Teachers couldn't understand how every student was fine with that, but since everyone accepted it and everyone benefited from it from time to time nobody ever complained.
As the owner of a 2-way SLI system I can claim that everything about SLI disappoints. As far as my experience is concerned, it only makes a difference at higher frame rates (i.e.: if the game is running at 40fps you can expect it to jump to 60-70fps). That's the case of Oblivion, which fluctuates between 50fps and 250fps on my system (it used to do only 30-140fps with one card). Crysis, however, which was the game that made me upgrade, doesn't benefit the slightest bit from SLI because the areas where I was having 15fps and needed a performance boost the most keep running at 15fps with two cards.
> SVN's branching and tagging works PERFECTLY, and it is actually extremely nice because the fact that it is simply copying is a nice form of closure, a branch (or a tag for that matter) is no different from any other copy of an object in the repository. This is a basic principal of good software design. (I know, most of you monkeys out there THINK you know something about that, heh, I look at your system designs and code, I know better...).
Copies are only useful when necessary. One of the goals of a version control system is to eliminate redundancy, and in this regard svn doesn't do well due to not supporting those features.
> So instead of just saying it needs 'proper branching' you gotta tell us what exactly you think is missing.
Actually I just did, but you could have gotten there without an explanation if you thought for a while.
> IMHO SVN clients could be improved in that they could use properties to keep track of merge points, or some other means to do that, but as long as you properly comment your branches and merges you will have no problem. And as long as you merge/branch from/to working copy and not directly in the repo you won't have any problems with messing up your repos.
What's lacking is the ability to associate release numbers with tags and branch points in the repository (because the client doesn't have to keep track of these things). Yes people came up with a hack, but the hack unnecessarily duplicating data.
> I've been using SVN exclusively since well before 1.0 on some LARGE and complex commercial code bases, and it has worked flawlessly.
I could say the same about CVS.
> The inclusion of working copy meta data in the working copy file system is simply common sense. Where else would you WANT those.svn files (or equivalent info). Someplace ELSE in your file system? No thank you! I can tarball a wc and put it on any machine with an svn client and it makes no matter, back up up onto tape, restore them, etc and not have any problems. The last thing I want is my meta-data off in some other place.
Don't think that's in response to any of my comments, so I'm skipping it.
> SVN is a highly pragmatic solution, and it works. I have no opinion as to what might be BETTER, but I know it works, it is widely supported, and it does what I want. THAT is what is important. It sure beats the **** out of CVS...
I can only assume that you have never used CVS, or if you have, it wasn't for long, because the advantages of SVN aren't that many. It can move/copy files and directories in the repository and keep the logs updated, it's faster, and it doesn't require as much access to the main repository as CVS does, but in the other hand it lacks support for branches, tags, and makes data a lot harder to access manually than CVS (which uses RCS files).
> Define "proper". Subversion does handle tags and branches a little strangely, but once I figured it out, everything works fine.
Proper tagging: a specific snapshot is marked with a name, only metadata is added to the repository. Improper tagging (SVN's hacked way): the whole repository is duplicated.
Proper branching: a specific snapshot is marked as being the root of a branch, only metadata and changes made since the branch was created are added to the repository. Improper branching (SVN's hacked way): the whole repository is duplicated.
I don't know about you, but the idea of having whole copies of the same repository in which only a few bytes differ is not appealing to me, and I would definitely not call that branching or tagging. I like the idea of being able to tag my projects as much as I want without having to worry about countless old snapshots cluttering up the repository, but that's just me.
I have lots of ideas and the required skills to implement them, and my mind is quick to understand most problems as well as to react to them, the problem is that I seem to lack the motivation or the discipline to keep myself focused on something. I start a project, write like 90% of it, and then when it comes to put the pieces together and make everything work I just give up...
Last time this happened was on the YopyNG project, I was porting the 2.4.28 Linux kernel to the Yopy YP3700 PDA and everything was going perfectly. The drivers were all working and the new kernel was responding much faster than the original one ported by G-mate (the manufacturer), but there was a final bug to resolve: for some reason people were reporting random kernel panics that I never managed to reproduce, and all of a sudden I lost interest in the project, especially when G-mate disappeared and the Yopy died.
For years I've wondered why this is happening to me and envied people like David Reveman (cmpiz's father) for their ability to remain focused on their personal projects as well as quiet about them until it's time to come out and show the community what they've made, and the culprit has always seemed to be my lack of discipline, but after reading this article I'm beginning to believe that perhaps there's more to it than what I thought, perhaps I have too much to entertain myself with and will have to accept the fact that no matter what I do, I'll never be like those people...
The only thing I want is the copyright changed to: 1 - Remove the DRM protection clauses (this applies to the DMCA and the likes); 2 - Make it intransmissible so that copyrights cannot be sold (this allows authors to choose how they wish to be rewarded).
I've been frenetically digging up incoming stories about this. This is nolonger about the key itself but one's freedom of speech. This demonstrates the worst of the DMCA and how it's being used to harm people's freedom and fair use rights.
> Your own link states that your assertion is incorrect. Only the Microsoft implementation is under restrictions making it Non-Free.
No it's not. The MARID working group was terminated precisely because of Microsoft's SenderID patent. The fact that they have such a patent basically means that they can sue anyone who develops SPF-aware software in the US.
3) On the issue of ignoring patent claims, the working group has at least rough consensus that the patent claims should not be ignored. Additionally, there is at least rough consensus that the participants of the working group cannot accurately describe the specific claims of the patent application. This stems from the fact that the patent application is not publicly available. Given this, it is the opinion of the co-chairs that MARID should not undertake work on alternate algorithms reasonably thought to be covered by the patent application. We do feel that future changes regarding the patent claim or its associated license could significantly change the consensus of the working group, and at such a time it would be appropriate to consider new work of this type.
And if the above isn't enough to convince you, here's another link with the Apache Software Foundation's position published at the MARID working group's mailing list.
This is why most free software MTAs developed in the US require third party modules or patches to be SPF-aware.
> SPF is, supposedly, a solution to this but the penetration seems pretty low.
SPF is part of Microsoft's SenderID patent and its license is incompatible with the GPL, therefore I will personally never republish an SPF record again.
The userbase is Liden's, if you want to "publish" your land on Second Life you'll have to connect your server to their network (and possibly pay for the privilege), otherwise you'll not benefit from their population. That's probably what they are aiming at.
How can a competent developer not understand operating system concepts?
Get him to use Linux, and if he likes that, then start explaining how things work. Get him to do some basic stuff with sockets in C once he's comfortable with a Unix environment and the curiousity will evolve naturally. I would personally not put him in contact with any higher level programming paradigms just yet as he might get overwhelmed with way too many concepts, let him get used to the way computers work close to the hardware first, then introduce him to object oriented programming using a language of your choice (I would follow with C++, but that's my preference) and then slowly introduce dynamically typed languages and functional concepts to him. Whatever you do, just make sure that his bases are all properly laid before moving on to the next level. I believe C is a good starting language because it abstracts the programmer from architecture specifics without abstracting them from the fundamental way all computers work, and people get motivated when they understand that what they're playing with are the tools that everyone uses to build real stuff.
> nah, gentoo comes up with collision warnings all the time for various modules that are already installed but another module wants to install them too
A good system doesn't stop being good only because it is sometimes incorrectly used.
> Gentoo is for people who want to fart around twiddling their machine all day long
And the point is? I am not suggesting that people switch to Gentoo, only demonstrating that the problem being described in this thread has had a solution for a long time. The only reason why this problem persists is because people insist on using primitive package managers that do not split the package itself from the installation instructions. Packages should be distributed exactly the way their vendors deem appropriate, Portage is flexible enough to allow this, most other package managers are not.
As usual, Gentoo is a step ahead of the competition in this regard (and has been for a long time):
jps@karma ~ $ eix g-cpan
* app-portage/g-cpan
Available versions: 0.13.01 0.13.02 0.14.0 ~0.14.1_rc1 ~0.15.0 0.15.0-r1
Homepage: http://www.gentoo.org/proj/en/perl/g-cpan.xml
Description: g-cpan: generate and install CPAN modules using portage
Since Portage is only a collection of installation instructions, any kind of vendor package is suitable for it; this is unlike the primitive package managers that come bundled with every other distribution that still have problems with vendor packages as well as software which they have no license to redistribute.
I've been using the term "radio on wheels" for a long time to describe vehicles comprised with too much of radio and too little of car, but this exceeds all the acceptable proportions for that term by some orders of magnitude, so much that I'm looking for a new term to describe this kind of aberration.
Switch back to Firefox / Thunderbird, setup your Gmail accounts as IMAP accounts on Thunderbird, install NoScript, and block all scripts and cookies form Google. If you want even more anonymity, use Tor.
Finally, go to about:config, type "referer" (yes, with a single R) in the Filter bar and change the value (which is 2 by default) to 0, which disables the "Referer" HTTP header (Google feeds its crawlers with information from this header too).
When I was at school there was an implicit code among students in which you could let all your friends get in the line AS LONG AS IT WAS IN FRONT OF YOU. Teachers couldn't understand how every student was fine with that, but since everyone accepted it and everyone benefited from it from time to time nobody ever complained.
Now you only need a decent text editor. I guess vim would do.
Sorry, couldn't resist.
A series that I'll never forget.
I'm sure that in 25 years you'll still be able to extract the audio out of them, and it won't be hard to find Spectrum emulators either.
As the owner of a 2-way SLI system I can claim that everything about SLI disappoints. As far as my experience is concerned, it only makes a difference at higher frame rates (i.e.: if the game is running at 40fps you can expect it to jump to 60-70fps). That's the case of Oblivion, which fluctuates between 50fps and 250fps on my system (it used to do only 30-140fps with one card). Crysis, however, which was the game that made me upgrade, doesn't benefit the slightest bit from SLI because the areas where I was having 15fps and needed a performance boost the most keep running at 15fps with two cards.
The bcm4328 chip, for example, isn't supported by that driver yet, so the only available option is NDISwrapper.
Another poster proved me wrong about the duplication, but this doesn't make the grandparent right either, since he was defending it.
Ok, you proved me wrong.
> SVN's branching and tagging works PERFECTLY, and it is actually extremely nice because the fact that it is simply copying is a nice form of closure, a branch (or a tag for that matter) is no different from any other copy of an object in the repository. This is a basic principal of good software design. (I know, most of you monkeys out there THINK you know something about that, heh, I look at your system designs and code, I know better...).
.svn files (or equivalent info). Someplace ELSE in your file system? No thank you! I can tarball a wc and put it on any machine with an svn client and it makes no matter, back up up onto tape, restore them, etc and not have any problems. The last thing I want is my meta-data off in some other place.
Copies are only useful when necessary. One of the goals of a version control system is to eliminate redundancy, and in this regard svn doesn't do well due to not supporting those features.
> So instead of just saying it needs 'proper branching' you gotta tell us what exactly you think is missing.
Actually I just did, but you could have gotten there without an explanation if you thought for a while.
> IMHO SVN clients could be improved in that they could use properties to keep track of merge points, or some other means to do that, but as long as you properly comment your branches and merges you will have no problem. And as long as you merge/branch from/to working copy and not directly in the repo you won't have any problems with messing up your repos.
What's lacking is the ability to associate release numbers with tags and branch points in the repository (because the client doesn't have to keep track of these things). Yes people came up with a hack, but the hack unnecessarily duplicating data.
> I've been using SVN exclusively since well before 1.0 on some LARGE and complex commercial code bases, and it has worked flawlessly.
I could say the same about CVS.
> The inclusion of working copy meta data in the working copy file system is simply common sense. Where else would you WANT those
Don't think that's in response to any of my comments, so I'm skipping it.
> SVN is a highly pragmatic solution, and it works. I have no opinion as to what might be BETTER, but I know it works, it is widely supported, and it does what I want. THAT is what is important. It sure beats the **** out of CVS...
I can only assume that you have never used CVS, or if you have, it wasn't for long, because the advantages of SVN aren't that many. It can move/copy files and directories in the repository and keep the logs updated, it's faster, and it doesn't require as much access to the main repository as CVS does, but in the other hand it lacks support for branches, tags, and makes data a lot harder to access manually than CVS (which uses RCS files).
> Define "proper". Subversion does handle tags and branches a little strangely, but once I figured it out, everything works fine.
Proper tagging: a specific snapshot is marked with a name, only metadata is added to the repository.
Improper tagging (SVN's hacked way): the whole repository is duplicated.
Proper branching: a specific snapshot is marked as being the root of a branch, only metadata and changes made since the branch was created are added to the repository.
Improper branching (SVN's hacked way): the whole repository is duplicated.
I don't know about you, but the idea of having whole copies of the same repository in which only a few bytes differ is not appealing to me, and I would definitely not call that branching or tagging. I like the idea of being able to tag my projects as much as I want without having to worry about countless old snapshots cluttering up the repository, but that's just me.
> SVN does what it does very well. What more could you really want from a centrally-managed versioning system?
Proper branching and tagging would help a lot.
I have lots of ideas and the required skills to implement them, and my mind is quick to understand most problems as well as to react to them, the problem is that I seem to lack the motivation or the discipline to keep myself focused on something. I start a project, write like 90% of it, and then when it comes to put the pieces together and make everything work I just give up...
Last time this happened was on the YopyNG project, I was porting the 2.4.28 Linux kernel to the Yopy YP3700 PDA and everything was going perfectly. The drivers were all working and the new kernel was responding much faster than the original one ported by G-mate (the manufacturer), but there was a final bug to resolve: for some reason people were reporting random kernel panics that I never managed to reproduce, and all of a sudden I lost interest in the project, especially when G-mate disappeared and the Yopy died.
For years I've wondered why this is happening to me and envied people like David Reveman (cmpiz's father) for their ability to remain focused on their personal projects as well as quiet about them until it's time to come out and show the community what they've made, and the culprit has always seemed to be my lack of discipline, but after reading this article I'm beginning to believe that perhaps there's more to it than what I thought, perhaps I have too much to entertain myself with and will have to accept the fact that no matter what I do, I'll never be like those people...
The only thing I want is the copyright changed to:
1 - Remove the DRM protection clauses (this applies to the DMCA and the likes);
2 - Make it intransmissible so that copyrights cannot be sold (this allows authors to choose how they wish to be rewarded).
I've been frenetically digging up incoming stories about this. This is nolonger about the key itself but one's freedom of speech. This demonstrates the worst of the DMCA and how it's being used to harm people's freedom and fair use rights.
No it's not. The MARID working group was terminated precisely because of Microsoft's SenderID patent. The fact that they have such a patent basically means that they can sue anyone who develops SPF-aware software in the US.
And if the above isn't enough to convince you, here's another link with the Apache Software Foundation's position published at the MARID working group's mailing list.
This is why most free software MTAs developed in the US require third party modules or patches to be SPF-aware.
> SPF is, supposedly, a solution to this but the penetration seems pretty low.
SPF is part of Microsoft's SenderID patent and its license is incompatible with the GPL, therefore I will personally never republish an SPF record again.
> Gamers don't drive adoption of OS's. Normal people buying PC's out of the box from retailers do.
You mean those people who are asking Dell to ship computers with XP and Linux instead?
The userbase is Liden's, if you want to "publish" your land on Second Life you'll have to connect your server to their network (and possibly pay for the privilege), otherwise you'll not benefit from their population. That's probably what they are aiming at.
> I feel sorry for all of the people with a wireless network using a SSID of "Linksys".
Aren't Linksys and Default free wireless broadband ISPs?