Had they been required by license (GPL) to keep the code open, then it could be fixed by other people.
Um, no. Random companies forking open source projects and keeping them GPL won't get free engineers just because they're open source. The BSD stacks have improved, and any of the companies using BSD stacks can still integrate them, but even if they were parts of OSS projects, it's not just going to magically happen just because they're GPL.
400 isn't so impressive. I just rebooted my DSL firewall (NetBSD/68k) with a 693 day uptime.:(
At my last company, we had a group from Microsoft come in to do a study on web site stability. At one point, they asked us how often we restart our web servers. At the time, we had Apache procesess reporting that they'd been running for over a year. One of the MS guys said, ``Yeah, but they're running Linux,'' (as if it were some kind of excuse). It was actually Solaris, but whatever.
The funny thing is that they said they believed SQL Server was their most stable product...more stable than NT. How they figured that, who knows.
C is definitely not as good of a general-purpose langauge as Java is. The fact that people use it for general programming does not make it appropriate.
C is a low level language that nearly nobody understands. Sure, anyone can look at the language as a whole and think they ``get it,'' but the number of buggy C applications out there speak for its complexity.
Java is a good high-level language. Most applications need to be written in high-level languages. That means that most developers should be using high-level languages to get these things written.
C is good for writing the low-level portions of operating systems, and perhaps some embedded work.
For those who still complain about the speed of java, look to languages like ocaml and the bigloo scheme compiler. In my tests, they both produce insanely fast code (slightly slower than the C from which I translated it, faster than anything else), but are high-level languages well suited for general application development.
2) I've been using H&R Block's TaxCut for the last two years. It was the first thing we found last year that supported OS X, and it seemed to work OK. The only real problem we had with it this year was that it didn't seem to care about the system's proxy config, which prevented it from being able to update itself. However, they provide a manual download for the updates.
BTW, we thought there was a problem with the manual downloads (stuffit would just not do anything at all with them, no logs, nothing), but it turns out we just needed a newer version of stuffit. No idea.
Anyway, haven't been arrested yet! (perhaps I should post anonymously).
Yeah, I've tried the autoconfig. I've got a bunch of computers at home on IPv6, on two subnets (802.3/3u and 802.11b) with an IPv6 router/firewall with three interfaces. Here's my config (subnets changed to protect the innocent):
Yes, I was just looking at my build a bit more and found the keyworded search. I figured I'd come back here to see all the people telling me I'm wrong.:)
I figure keyworded search makes up for lack of the search integration, I might be using this browser after all.
I just tried it again...it's pretty nice, but it's missing a couple features that I've made pretty core to my daily browsing (as far as I can tell, anyway).
In particular:
Integrated search in the open bar
Keyworded bookmarks
I also make pretty good use of the privacy menu bars in mozilla (editing cookies, etc...). Being able to limit cookies to n days is a great thing.
So what do you suggest to make programming more accessible to kids? Replace Windows with a BASIC shell on all new PCs?
Give them a smalltalk environment. Squeak smalltalk is an excellent implementation of an environment that was designed for teaching kids how to program, while still being a great environment in which adults can program.
You pick your set, I'll pick mine. C++ is hopefully getting ready to die. It's just not pleasant to use. I'm also waiting for the day when the world wakes up and realizes the cruel joke Larry Wall played on it with perl. While some of my most crucial application code is written in C, I've spent more time on it, and trust it far less than stuff I've thrown together in Eiffel.
At home, I've got code I rely on written in Java, Eiffel, C, Objective C, python, bourne shell, smalltalk (although the smalltalk code that I actually use the most I didn't write), tcl, scheme, etc... I've got some perl stuff, too, but I don't maintain it anymore (it asked me not to). This is just the stuff I use day-to-day, and much of it is server code I've written that just runs on its own (Java, C, python, eiffel).
So, that's my set. Anyone who disagrees, make up your own set, continue to research and find better ways to do things, and help us continue to improve computer science in general. Every time I learn a new programming language, I learn a little more about programming, and apply that knowledge to everything I do.
I've had three relatives ask me for opinions on computers before buying one. Each time, I gave a single, simple answer: iMac.
Each relative bought a PC from some local place (Best Buy, etc...)
Two of them called me asking what they could do when their system stopped booting because of some kind of corruption in Windows Explorer (something like that, I'm not a Windows user). Both called their respective tech support companies and were asked to reinstall their systems, having lost everything on their computer (not that they'd had them very long by this).
One of them was on his third or fourth computer when I last saw him. He keeps buying new ones with new versions of Windows because he feels the previous systems weren't stable enough.
The third one was nice enough to not call me, but was on her second machine within a year.
My point: They do exactly what you tell them not to do, then ask you for help when something goes wrong...even when it's something you told them to expect. It's disrespectful, and doesn't warrant my help.
I've been using pine since 1994. I've tried a few GUI mailers, but always end up waiting on them (Netscape mail, Mail.app, stuff like that). I've played with mutt a few times, but never found anything pine couldn't do, but had trouble getting it to do the basic stuff I care about. I read my mail from two different machines just about every day.
The most important features for me:
* Server-side config
* Multiple incoming folders (tab to flip through them)
* Multiple roles...and, of course, being able to use it it without thinking.:)
When my team was hit (a couple months after I started), the only people to be let go were ones who'd been working in the system for a very long time. Our software is fairly complex (pictures lots of clients speaking a proprietary bidirectional protocol on top of TLS doing all kinds of stuff all of the time). After the initial shock and all went away (a week or so), we got a *lot* more done. After my team was cut in half, we have cut our average processing times in half about three times now while adding consistently adding features and we're enjoying ourselves greatly.
At my last job, we went from over 100 engineers down to about 10 and got an absolutely incredible amount more work done. It was all good team dynamics and not spending so much time teaching the other 90 guys how to write code, or worse, rewriting everything they did attempt...
I don't think I've stayed until 1900 a single time yet, however. I don't really see what it would gain me. I'm not going to be productive feeling trapped in the office trying to make an unreasonable deadline. Instead, we keep our deadlines reasonable, and we make them, and people don't complain about us leaving on time.
That said, I was supposed to have today off, but I might have to go in because I never set up VPN access and my team broke something today. Ugh.
which means it only runs on expensive custom hardware
Don't confuse ``expensive custom hardware'' with ``hardware I don't have.'' Most of the arguments I've seen/had with people have basically boiled down to, ``I wish Apple would make this work on my computer so I can have this great product without giving them any of my money.'' Um, no.
It's interesting that OSX is more useful as a desktop Unix than Linux is (for the non-technically-inclined user, someone who may be technically competent but not used to ripping things apart and making them work when they're broken)
I haven't seriously used Linux in five or six years (well, I got a new job recently and I have to use it at work), but I consider myself a fairly technically inclined user. My previous desktop machines have always been SGI or NetBSD. I've been managing clusters of Solaris machines up until I became a full-time software developer. Now, I sit on my OS X box and write code in any of python, C, objective C, java, smalltalk, scheme, etc... (I've got a lot of projects). It is definitely the most useful desktop for me (even if I do spend most of my time in the X server).
4) Once you get hired, there's very high odds that you will be expected to produce lots of DOC files, so what's the point?
I have never in my life been required (or even expected) to produce a word document. Throughout my entire career I've been told that I will someday have to use Windows for my job. I have not yet.
I was a systems adminstrator for years, and now I'm a developer. I'm expected to write java, python, c, etc... I produce documentation in either html or pdf (via pdflatex or ghostscript from generated files) and nobody complains.
I may choose to work with criminals, but I will not be required to work with criminals. I have maintained my position and made it clear, yet I've never had any trouble getting a job. Since I've begun my career, the longest I've not had a job to go to was about a week (that was in 1998 when I was moving across country), yet I've never been forced to do anything I didn't feel comfortable doing....whatever makes you feel better, I guess, but you should at least learn to spell ``principle'' before telling people they should disregard them.
3. One of the requirements was a language that didn't require a CS degree to use. TMTOWDI helps that, I've noticed.
I have to disagree strongly here. TMTOWTDI generally means that two implementations of the same design are different enough that someone without a lot of experience probably wouldn't be able to tell that they were the same thing.
Having standard ways to do things makes it a lot easier to understand what's going on and makes it a lot eaiser to do things. Even in perl, people try to find a common way to do things, and it often ends up being regular expressions, even where there are far easier solutions.
Had they been required by license (GPL) to keep the code open, then it could be fixed by other people.
Um, no. Random companies forking open source projects and keeping them GPL won't get free engineers just because they're open source. The BSD stacks have improved, and any of the companies using BSD stacks can still integrate them, but even if they were parts of OSS projects, it's not just going to magically happen just because they're GPL.
400 isn't so impressive. I just rebooted my DSL firewall (NetBSD/68k) with a 693 day uptime. :(
At my last company, we had a group from Microsoft come in to do a study on web site stability. At one point, they asked us how often we restart our web servers. At the time, we had Apache procesess reporting that they'd been running for over a year. One of the MS guys said, ``Yeah, but they're running Linux,'' (as if it were some kind of excuse). It was actually Solaris, but whatever.
The funny thing is that they said they believed SQL Server was their most stable product...more stable than NT. How they figured that, who knows.
C is definitely not as good of a general-purpose langauge as Java is. The fact that people use it for general programming does not make it appropriate.
C is a low level language that nearly nobody understands. Sure, anyone can look at the language as a whole and think they ``get it,'' but the number of buggy C applications out there speak for its complexity.
Java is a good high-level language. Most applications need to be written in high-level languages. That means that most developers should be using high-level languages to get these things written.
C is good for writing the low-level portions of operating systems, and perhaps some embedded work.
For those who still complain about the speed of java, look to languages like ocaml and the bigloo scheme compiler. In my tests, they both produce insanely fast code (slightly slower than the C from which I translated it, faster than anything else), but are high-level languages well suited for general application development.
2) I've been using H&R Block's TaxCut for the last two years. It was the first thing we found last year that supported OS X, and it seemed to work OK. The only real problem we had with it this year was that it didn't seem to care about the system's proxy config, which prevented it from being able to update itself. However, they provide a manual download for the updates.
BTW, we thought there was a problem with the manual downloads (stuffit would just not do anything at all with them, no logs, nothing), but it turns out we just needed a newer version of stuffit. No idea.
Anyway, haven't been arrested yet! (perhaps I should post anonymously).
Yeah, I've tried the autoconfig. I've got a bunch of computers at home on IPv6, on two subnets (802.3/3u and 802.11b) with an IPv6 router/firewall with three interfaces. Here's my config (subnets changed to protect the innocent):
:raflags#0:rltime#3600:\
:pinfoflags#64:vltime#360000:pltime#360000:mtu#150 0:
ether:\
:mtu#1280:tc=default:
:addrs#1:\
:addr="3ffe:0b80:xxxx::":prefixlen#64:tc=ether:
:addrs#1:\
:addr="3ffe:0b80:xxxx:1::":prefixlen#64:tc=ether:
default:\
# interfaces.
ex0:\
tlp0:\
Behind that sits a variety of MacOS X, NetBSD, FreeBSD, Solaris, etc... systems. All of which are working fine.
How many distinct BSD based operating systems are there (just open source, for this discussion, commercial proprietary ventures don't count)?
OK, now how many distinct Linux based operating systems are there?
I don't think forking has been a valid argument for *years*, if it ever was.
Heh, OK, I'm an idiot. Thanks. :)
I may be thinking a bit out of context, but what is your SI? ...and why does it suck?
CodeTek VirtualDesktop provides ``focus follows mouse'' functionality.
I've been doing video editing (DV) on my powerbook's internal 60GB drive this weekend, and it's been just fine for me.
While I appreciate Lessig's intentions here, it usually takes a bit more than a wager to get Congress to pass a law.
Yeah, like an act of congress...
Welcome to cfengine. Systems don't even have to be particularly similar.
Yes, I was just looking at my build a bit more and found the keyworded search. I figured I'd come back here to see all the people telling me I'm wrong. :)
I figure keyworded search makes up for lack of the search integration, I might be using this browser after all.
In particular:
- Integrated search in the open bar
- Keyworded bookmarks
I also make pretty good use of the privacy menu bars in mozilla (editing cookies, etc...). Being able to limit cookies to n days is a great thing.So what do you suggest to make programming more accessible to kids? Replace Windows with a BASIC shell on all new PCs?
Give them a smalltalk environment. Squeak smalltalk is an excellent implementation of an environment that was designed for teaching kids how to program, while still being a great environment in which adults can program.
You like C, but not C++? Bwaaa haaha ahhaa ahaaa.
I don't like C, but I occasionally write apps in it. I don't mind objective C. I don't understand why someone must like C++ just to like C, though.
You pick your set, I'll pick mine. C++ is hopefully getting ready to die. It's just not pleasant to use. I'm also waiting for the day when the world wakes up and realizes the cruel joke Larry Wall played on it with perl. While some of my most crucial application code is written in C, I've spent more time on it, and trust it far less than stuff I've thrown together in Eiffel.
At home, I've got code I rely on written in Java, Eiffel, C, Objective C, python, bourne shell, smalltalk (although the smalltalk code that I actually use the most I didn't write), tcl, scheme, etc... I've got some perl stuff, too, but I don't maintain it anymore (it asked me not to). This is just the stuff I use day-to-day, and much of it is server code I've written that just runs on its own (Java, C, python, eiffel).
So, that's my set. Anyone who disagrees, make up your own set, continue to research and find better ways to do things, and help us continue to improve computer science in general. Every time I learn a new programming language, I learn a little more about programming, and apply that knowledge to everything I do.
I've had three relatives ask me for opinions on computers before buying one. Each time, I gave a single, simple answer: iMac.
Each relative bought a PC from some local place (Best Buy, etc...)
Two of them called me asking what they could do when their system stopped booting because of some kind of corruption in Windows Explorer (something like that, I'm not a Windows user). Both called their respective tech support companies and were asked to reinstall their systems, having lost everything on their computer (not that they'd had them very long by this).
One of them was on his third or fourth computer when I last saw him. He keeps buying new ones with new versions of Windows because he feels the previous systems weren't stable enough.
The third one was nice enough to not call me, but was on her second machine within a year.
My point: They do exactly what you tell them not to do, then ask you for help when something goes wrong...even when it's something you told them to expect. It's disrespectful, and doesn't warrant my help.
I've been using pine since 1994. I've tried a few GUI mailers, but always end up waiting on them (Netscape mail, Mail.app, stuff like that). I've played with mutt a few times, but never found anything pine couldn't do, but had trouble getting it to do the basic stuff I care about. I read my mail from two different machines just about every day.
...and, of course, being able to use it it without thinking. :)
The most important features for me:
* Server-side config
* Multiple incoming folders (tab to flip through them)
* Multiple roles
When my team was hit (a couple months after I started), the only people to be let go were ones who'd been working in the system for a very long time. Our software is fairly complex (pictures lots of clients speaking a proprietary bidirectional protocol on top of TLS doing all kinds of stuff all of the time). After the initial shock and all went away (a week or so), we got a *lot* more done. After my team was cut in half, we have cut our average processing times in half about three times now while adding consistently adding features and we're enjoying ourselves greatly.
At my last job, we went from over 100 engineers down to about 10 and got an absolutely incredible amount more work done. It was all good team dynamics and not spending so much time teaching the other 90 guys how to write code, or worse, rewriting everything they did attempt...
I don't think I've stayed until 1900 a single time yet, however. I don't really see what it would gain me. I'm not going to be productive feeling trapped in the office trying to make an unreasonable deadline. Instead, we keep our deadlines reasonable, and we make them, and people don't complain about us leaving on time.
That said, I was supposed to have today off, but I might have to go in because I never set up VPN access and my team broke something today. Ugh.
which means it only runs on expensive custom hardware
Don't confuse ``expensive custom hardware'' with ``hardware I don't have.'' Most of the arguments I've seen/had with people have basically boiled down to, ``I wish Apple would make this work on my computer so I can have this great product without giving them any of my money.'' Um, no.
It's interesting that OSX is more useful as a desktop Unix than Linux is (for the non-technically-inclined user, someone who may be technically competent but not used to ripping things apart and making them work when they're broken)
I haven't seriously used Linux in five or six years (well, I got a new job recently and I have to use it at work), but I consider myself a fairly technically inclined user. My previous desktop machines have always been SGI or NetBSD. I've been managing clusters of Solaris machines up until I became a full-time software developer. Now, I sit on my OS X box and write code in any of python, C, objective C, java, smalltalk, scheme, etc... (I've got a lot of projects). It is definitely the most useful desktop for me (even if I do spend most of my time in the X server).
I can see, the draw for open source fonts, however.
Hey! It's William Shatner!
4) Once you get hired, there's very high odds that you will be expected to produce lots of DOC files, so what's the point?
...whatever makes you feel better, I guess, but you should at least learn to spell ``principle'' before telling people they should disregard them.
I have never in my life been required (or even expected) to produce a word document. Throughout my entire career I've been told that I will someday have to use Windows for my job. I have not yet.
I was a systems adminstrator for years, and now I'm a developer. I'm expected to write java, python, c, etc... I produce documentation in either html or pdf (via pdflatex or ghostscript from generated files) and nobody complains.
I may choose to work with criminals, but I will not be required to work with criminals. I have maintained my position and made it clear, yet I've never had any trouble getting a job. Since I've begun my career, the longest I've not had a job to go to was about a week (that was in 1998 when I was moving across country), yet I've never been forced to do anything I didn't feel comfortable doing.
3. One of the requirements was a language that didn't require a CS degree to use. TMTOWDI helps that, I've noticed.
I have to disagree strongly here. TMTOWTDI generally means that two implementations of the same design are different enough that someone without a lot of experience probably wouldn't be able to tell that they were the same thing.
Having standard ways to do things makes it a lot easier to understand what's going on and makes it a lot eaiser to do things. Even in perl, people try to find a common way to do things, and it often ends up being regular expressions, even where there are far easier solutions.
Heh. I read the first line of the parent and jumped down to this post. How apropos.