This is a big suite of software used for nuclear physics experiments (gamma-ray spectroscopy). It was open-source before the term "open-source" was invented. I believe all the acquisition software for big gamma-ray detector arrays is also open-source stuff written mostly at Berkeley.
But the fact is that if it can't work like a standard bulb, they shouldn't make them like a standard bulb... directional for reading lamps and flashlights, maybe, but not a standard bulb.
I have one in my reading lamp. That's the classic example of an application it's designed for. It's not a general-purpose lightbulb. They make them compatible with a standard socket because standard sockets are what people have.
It is a serious problem when teachers, regardless of the subject, use their position to 'teach' about things they have no or insufficient knowledge of.
The blog entry does describe K-12 teachers whose job is to teach IT but are ignorant of open source. However, the issue in real life is much broader than that, and the blog's entry's topic is also much broader than that.
Something like 90% of all desktop users use Windows, and those Windows users include K-12 and college faculty and administrators. They tend to be clueless about the existence of anything other than Windows. It's like being in a wheelchair versus being able to walk. If you can walk, the barriers to wheelchair users simply don't impinge on your consciousness.
Teachers who teach English, or music, or biology aren't necessarily computer geeks. They don't necessarily enjoy fiddling with computers. They may see computers as an annoying, frustrating tool they can't avoid using in order to get their job done. Once they have themselves set up with a workflow that works for them on Windows+Office or something, this type of person has zero motivation to try anything else. Recently I pushed to replace Adobe Reader with Foxit on the Windows boxes at the community college where I teach, because AR is slow to load and has a history of security problems. Turns out there were bugs in Foxit, and also one faculty member had made an elaborate instructional video showing her students how to use AR. (I know, I know, but apparently it really was an issue for some of her students.) It would have cost these faculty time to deal with these Foxit issues, so they insisted on keeping AR as the default.
Students also generally have zero interest in open source. I have a mixture of school-supplied Windows machines and my own cheapo Linux machines in the room where I teach my labs, so students don't have to share a computer when they want to make a graph. Most of them already know Excel, and even though OOo is basically identical to Excel, and even though I supply them with written documentation on how to use OOo for graphing, most of them see Linux+OOo as a second-class alternative to Windows+Excel. Even if I offer to walk them through the steps on one of the Linux machines, some of them will just sit there in lab for an hour waiting for a Windows machine to open up.
When Mozilla backed PNG, many websites started replacing their old patent-encumbered GIFs with PNGs, and even IE started to support PNG format.
I think it was a good, positive thing that an alternative to GIF was created and widely implemented. However, let's be realistic about what it accomplished. As a user, there was never a viable option to run a browser without GIF support; if even one site you visit still uses GIFs, then you need a browser with a GIF decoder built in. As a web developer, the situation wasn't all that different. Say you're a professional web developer, and you're hired to do a site that has to work in IE x.y+ and Firefox z.w+. Well, you look at whether the browsers you're required to support will support PNG at all, and you also look at whether they support all PNG features properly, and whether you need the features that aren't supported properly in IE. Yes, you might be able to do the job without having a patent-encumbered LZW encoder. So there was a time when PNG was completely nonviable because of complete lack of browser support, possibly followed by a certain time when you might be able to get away with not having a patent-encumbered algorithm on your web development machine, and now the present period when the LZW patents have expired. That middle period was probably not just short for most professional web developers, it was probably nonexistent.
The basic problem was that there only had to some tiny number of cases where PNG wouldn't work, and that was enough to make anyone running a commercial web site demand that the site be designed so that it would work in a browser that supported GIF.
Similar issue with audio codecs. I recently digitized my LP collection, and also transferred my CDs to my computer so I could stop having piles of CDs around my living room. I decided to encode everything in a lossy format, because I wanted my backups to be a reasonable size, and I personally can't hear the difference between mp3/ogg levels of lossiness and CD quality. I was all fired up to use ogg, until I started confronting the realities. I have a portable mp3 player that works with mp3 but not with ogg. That simple fact was enough to make me decide on using mp3. It doesn't matter that my linux box supports ogg, and my network appliance I use as a music server also supports ogg. All it takes is one place where support is lacking, and I bite the bullet and go with the non-free format. And just as the LZW patent has already expired, the patents relating to mp3 are also starting to expire.
I'm glad that both png and ogg were created, but I don't think we should overestimate what they accomplished during the limited time when they were alternatives to patent-encumbered formats.
This statement in my post may be wrong or oversimplified: "... insert a link from the WP article to the web page, and it will drive up that page's page rank. " Here is some information in a (ahem) WP article about that. The exact policy seems to be different on different languages of WP. The article seems to imply that nofollow is not set on external links, but the external links from that article do have it set, so maybe the article is inaccurate or out of date.
Not true. The page rank algorithm has no notion of sites, only of pages and links between pages.
It's wholly unfair, and in some cases even dangerous that a wikipedia page is ranked higher than an accredited, accurate and comprehensive page on another site.
First off, Google has never claimed that page rank was an evaluation of whether a web page or a web site was accredited, accurate, or comprehensive. It's simply a popularity contest, and they've never pretended it was anything else. They've never claimed it was "fair" in the sense you're using, only that it was useful, i.e., its search results were of much better quality than the competition's. If you want a way to find sites whose quality has been fairly evaluated by someone impartial, try dmoz.org. But guess what -- pages on dmoz.org have a high page rank, so pages linked to from dmoz generally get a high page rank as well. Anyway, if you come across a web page that you think is better than the WP article, insert a link from the WP article to the web page, and it will drive up that page's page rank.
My issue is that neither Gnome nor KDE come up to the standards of OS X. Dozens of applications which are part of the core suite of applications on Ubuntu don't fit in with the desktop environment. Firefox is XUL, OpenOffice is Java.
Sure, that's a valid point. Open-source programmers are free spirits, and there's just no way you're going to get them to conform to standards as closely as developers who either work directly for Apple or work using a system set up by Apple. However, the converse of your statement is also true sometimes -- sometimes Linux does much better than MacOS X at making everything work in a consistent way, so I can just get my work done. The three most prominent examples in my mind are packaging, key bindings, and shared libraries.
When I do a new install of Ubuntu, I cut and paste a single command that installs about a hundred applications, plus all their prerequisites. On MacOS X, you'd be spending hours clicking around on those little.dmg thingies, running install wizards, etc.
Shared libraries: I believe the standard on MacOS X is that every executable application is statically linked. On Linux, dynamic linking is the norm. That means that on Linux, every gtk application uses a consistent set of libraries, so it works consistently, looks consistent, and has the same bug fixes applied. Same for kde. As gtk and kde get better, every application that uses their libraries automatically gets better and stays consistent. It doesn't matter that I don't actually run gnome or kde; many of the applications I use still use their libraries.
As far as key bindings, virtually every Linux application I use supports the emacs keybindings that I have permanently burned into my muscle memory. (For firefox, you need to use a plugin. In gnome, there's a way to make gconf do it, but actually I find that virtually all gtk applications seem to do it by default.) This may seem like a trivial thing, but I've had problems for many years with tendonitis in my right hand from using the mouse, and the solution that works for me is to use the keyboard to edit, not the mouse.
Thank God Linux gives you choices about this kind of thing. One of the reasons I would never even consider switching from back Linux to a proprietary OS is that on Windows or MacOS, you don't get any choice about which desktop or window manager to run. Bought a Mac but don't like the Finder? Tough luck.
Personally I dislike having a screen littered with little icons representing files, and I also seem to have much higher expectations about performance than a lot of people. That's why I use fluxbox. Linus can choose kde and then switch to gnome if kde has what he feels is a bad release. I don't have to agree with Linus, Linus doesn't have to agree with me, and likewise for everyone else.
Sometimes OSS is about zero cost, sometimes it's about freedom, but sometimes it's just about being able to change something because only you know what's right for you. It's exactly like the famous story about Stallman's indignance about the closed-source laser printer at MIT. He knew what was right for him as a user. He knew that the printer was on a different floor of the building, so he needed a good way to find out the printer's state without having to go and look at it. Xerox couldn't anticipate his situation, and he didn't want them to; he simply wanted to be able to modify what his university had bought from them so that it would be appropriate for them as users.
If i understand correctly , the problem is the some students cheat by copying over the tests and homework.
All the teacher has to do is give different tests and homework for each class. How hard can that be ? My teachers always worked this way.
Well, keep in mind that I do think what the teacher is doing sounds ridiculous, but it's not quite as simple as that. The story is about a high school teacher. I'm a college physics teacher, but I think some of the same issues are involved. When I'm trying to come up with a good exam question, the process is usually something like this. I think it up. Then I give the question on an exam. Then I decide I need to make some revisions to improve it. E.g., maybe a student comes up during the exam to ask for clarification on a certain point, and I agree that it is ambiguous, so I write a clarification on the board. Maybe I find out that the question is harder than I thought, because aspects of it that I thought were trivial were not so trivial to my students. Maybe I see that many students are messing up in the same way, so in order to help them out, I add a part to the question that explicitly tells them to do a certain check on their answer. It's just like a computer program -- it's not going to be perfect the first time you write it. I'm not going to use the same question on an exam the very next semester, but it will certainly go in my computer file, and at some point in the future I'm going to use version 2.0 on an exam.
For a high school teacher, this kind of thing becomes an even bigger issue, because the teacher may be teaching the class for five periods every day. That's a heck of a lot of exam questions to come up with if you never reuse one.
Another issue in my case is that I don't like grading on a curve, because it sets one student against the other in a zero-sum game. But that means that I have to very accurately judge the difficulty of the exam questions I set. The way I do that is to keep statistics on each problem. That way I can fairly reliably predict how a class will do on an exam consisting of a certain mix of questions. If I never reused an exam question, I could never do that.
Now what this teacher is doing still seems bogus for a lot for reasons. I'm absolutely baffled by why he would want to take back lecture notes. And as far as homework, there's nothing preventing anyone from making photocopies before they hand it in.
With exams, the way I handle it is that I return the exams, I spend about 40 minutes of class time having students present correct solutions on the board, and then I immediately take the exam papers back again. During the time when they solutions are being presented, I ask everyone not to take notes. No, it's not a perfect system, but I think it's a reasonable way of discouraging people from making exam files of every exam question I've ever used.
Companies can offer their own branded software platform based on Linux. If Microsoft is getting 75 percent margins, you would like some of that high-margin business, too.
This makes absolutely no sense. First, there is no reasonable way to calculate a profit margin on a copy of Windows or Office. This is not a car or a book. The incremental cost of producing one copy of Windows is nearly zero. There's no way to quantify MS's investment in their software. What would you do, try to estimate how many man-hours MS programmers have worked since 1975, and divide the cost of employing them by the number of copies of Windows they've sold?
And even if you believed this 75% figure, it's silly to think it applies to Linux. Asus doesn't say, "OK, we paid $x for the rights to Linux, and now let's mark that up so we have a 75% profit." Asus didn't pay any money for the rights to the Linux kernel, or Firefox, or Gnome, and anyway Asus doesn't sell an OS, they sell computers with an OS on them. I assume Asus does pay money to Xandros, but if amounts to any significant amount of money per Eee PC, then Asus is a bunch of complete idiots, because they could have just used Ubuntu instead for free. If they're paying money to Xandros, it had better be some small amount that accurately reflects the market's supposed perception that Xandros is somehow marginally better than Ubuntu.
Now let's imagine that Asus says, "OMG, Xandros is teh hotness, let's profit by jacking up the price because people are getting heart palpitations from wanting it so much. And we'll cut a deal with Xandros to call it Xeeeandros, cause then it's our brand, and users will pay extra." Well, no. People buy a Eee PC because they want something dirt cheap. They're not going to pay much more for Xandros than the zero cost of Ubuntu, and they're not going to pay much more for Xeeeandros than they would for Xandros.
I also don't buy this stuff like, "MS had layoffs, that means Linux is eating their lunch." Come on, now. Linux's share of the desktop is something like 1%. That's not enough to do anything at all to MS's margins. MS's real competition on the desktop is Apple. It's also fairly difficult to buy a PC from a retailer without Windows installed, so many people running Linux are paying the MS tax anyway. At most, Linux presents a very indirect, hypothetical threat to MS's future, if, e.g., Vietnam goes heavily towards Linux. Today, having Linux, Firefox, and OOo around are probably actually good for MS's profits, because it gives them something to point to when they get hassled about antitrust.
I want a little, tiny device, which I'll call the "shutter-offer," that plugs into the wall and has an AC socket that you can plug, e.g., a TV into. When the RMS current passing through the shutter-offer falls below 250 mA for one hour, it opens a switch, and it's as if the TV had been unplugged completely. When you walk into the room and want to watch TV, you push a button on the shutter offer to close the switch again. It's a hassle to remember to physically unplug your TV every time you're done watching TV, but it's not a big hassle to have to push a button on the shutter-offer before you turn on the TV -- and if you forget, the TV won't turn on, and you'll realize why.
This could be useful for a lot of other devices as well. I have a stereo amp that draws 20 W passively, and computer speakers that draw a similar amount of power if I don't remember to turn them off.
To make it really super convenient, you could have a wireless device similar to the keychain widget that remotely unlocks your car; this can be done with extremely low power, I think, since I haven't had to replace my car's keychain widget's battery in many years. You'd simply stick the wireless device on top of the power switch of the TV with some adhesive, and by pushing the button you'd simultaneously transmit a signal both to the shutter-offer and to the TV's power switch.
The idea is this I think, more or less: Vala feels a fair bit like Java and C# - the syntax borrows heavily from C# for instance - but is completely statically compiled to C. So, unlike Java or C#, it doesn't need a separate runtime installed, you just get a normal, self-contained binary. JS is a lot more lightweight than the Python/Perl/Ruby trio, and the interpreter is even small enough to easily be embedded into the binary if needed. It means you can write a self-contained "traditional" binary using both a modern language and dynamic scripting with no need for extra runtime stuff.
I think the article is mixing up two things. One is the question of what's a good language to use for scripting and extensions. Another is the question of what's a good language to write all the high-level parts of your application in. The article describes using JS for both.
Let's say you have a program written mainly in C++, and you're looking for a language to use for scripting. I agree that throwing a Python/Perl/Ruby interpreter into your app for that purpose is just nuts. JS would be a reasonable choice (as would Lua or Guile).
On the other hand, if your program is written mainly in Ruby, with some C or Vala for a few time-critical routines, and you're looking for a language to use for scripting -- well, obviously you just use Ruby.
What the article seems to be proposing as well is that you use JS to write most of the code of your app, and that seems to me like an idea that's guilty of stupidity until proven innocent. I can imagine certain advantages of JS in certain cases (e.g., you want your app to run both on a Gnome desktop and as a web app), but in general JS is just not the best choice if you're looking for a high-level language to write a large GUI app.
JavaScript is actually a sweet programming language. It's got a very clean design, nice straightforward syntax, and good support for both OO and FP. (I think people get a bad impression of it from seeing it used by people who learned to do stupid web page tricks from JavaScript for Dummies. Also, people who believe in the One True Way of OO tend not to like it because it doesn't do OO the same way as Java. There are also many horrible problems with DOM incompatibilities, none of which have anything to do with JS per se.)
The thing is, I don't understand the logic of using JS for high-level tasks and Vala (basically glorified C) for low-level stuff. The thing is, JS is a very small, austere language. The whole advantage of having a high-level language is lost when you use something as bare-bones as JS. JS is also much, much slower than Perl and Python, so you'd end up having to do only a very small percentage of your programming in JS, and the rest in Vala, in order to get decent performance.
To me it makes a lot more sense to write 100% of your program in, say, Perl. (s/Perl/Python/g or s/Perl/Ruby/g is that's what turns your crank.) You pull in some CPAN libraries, many of which have the time-critical stuff written in C for good performance, but you don't have to touch the C. If there does turn out to be some very time-critical loop that you really want to optimize, and it's not something generic that's available in CPAN, then you write it in C and interface it to your Perl program. You end up writing 99.9% of your own code in a nice high-level language, and 0.1% in a crufty low-level language, and you get good performance.
To me the most interesting part of the whole article is the idea of using Vala rather than C as a low-level language. Manual memory management sucks.
I would recommend against [using Google to host school email], and I would be adamant about it. [...] School email can require the same level of reliability and availability as business email, at least at the college level: financial aid notices, graduate school applications, job applications, etc.
The real question is whether the school's self-managed email would attain that level of reliability. It's one thing if you're at MIT, another if you're at a community college like the one where I work, with understaffed IT.
There are free-as-in-beer email servers, even for very high volumes of mail, that any competent IT staff could maintain with minimal effort and better reliability than GMail.
Frankly, not all schools have a competent IT staff. They tend not to pay well, so they don't attract the best talent.
It's a half assed install that was doomed from day one, and now he's bitching about it.
Actually, if you read the article, he's not complaining about it at all, he's just giving some numbers.
I used to have a solar home. Step 1 is knowing your EXACT load before you start. [...] Finally your biggest step to solar is you REDUCE YOUR CONSUMPTION.
I have photovoltaics on my house. The problem with what you're saying is that your two pieces of advice conflict with each other. Making your house more efficient is going to be an ongoing process. LCD displays get cheap, so you replace your CRT with one. Then compact fluorescents come out, and you replace all your incandescent bulbs. More years pass. Your pool pump dies, and you get a new one that's got a more energy-efficient variable-speed motor. More time passes. Your kids head off to college. LED lighting becomes feasible for more and more applications. All of this is going to be an evolving process, and you can't just freeze it at one point in time and say what your energy use is going to be forever.
Step 2 is to understand the solar rating for your location, then cut it by 1/4 and use that number.
Your knowledge may be out of date here. I got my PV system about 1.5 years ago, and they were really pretty high tech about projecting production. They took a camera up on the roof, took pictures from various spots, and ran them through computer software that predicted how much shade we'd get at various times of day and times of year. They designed for 90% of what we thought our average yearly load was going to be. (Going over 100% is a bad thing for my state and my utility, because the utility won't pay you for the excess.) After one year of operation, our system produced exactly what they'd projected it would. No way do they have 25% error bars on these estimates these days.
(Or other strange things, like my mother just moved into a retirement community and her housing rules say solar panels are not allowed because they're unsightly, but directTV antennas and satellite dishes are just fine. One must have priorities I suppose. Television is obviously more important than renewable energy.)
I have photovoltaics, and you can't even see them from the sidewalk or from a car in the street. To see them, you have to walk across the street and stand on the sidewalk on the other side.
Thanks for the useful link! I didn't understand this:
The commercial licenses will still be available, however, for developers who don't wish to be constrained by the terms of the LGPL.
Can anyone suggest any realistic situation where the LGPL would be undesirable for a commercial app? According to the WP article, if you link your code to an LGPL library, the "non-(L)GPLed program can then be distributed under any chosen terms if it is not a derivative work," and it's not a derivative work if all you do is link to the library. All I can think of is that some commercial software house might want to make custom modifications to the source code of Qt, but then not release those modifications. However, that seems extremely farfetched to me. The most likely reason for such custom modifications would be that something in Qt was simply not working right on a particular OS or hardware. In that situation, I'm having a hard time imagining why the developer would want to take on the task of maintaining their own fork of Qt forever, instead of just committing their patches to the Git repository and being done with it.
A point that nobody seems to be mentioning is that the Linux world has essentially gone off in two different directions. On a default install of Ubuntu, almost everything is GTK. On a KDE-oriented distro, almost everything is Qt. Users generally want their apps to look similar, work the same way, and interoperate properly with their WM. So at least for Linux users, I would expect this to have relatively little effect.
The delay in shipping Perl6 is killing the language.
Perl is dead, Netcraft confirms it.
But seriously, why does it make perl any less viable a language if a production-quality perl 6 takes a long time? Perl 5 continues to be lovingly maintained. Perl 6 will be able to run perl 5 modules in compatibility mode. Perl 6 is already out, and if you want to use it, you can; it's just not yet up to the same very high standards of quality and performance as perl 5.
I tried it in Nov. 2007, and wrote this review. At that time, gOS was by far the worst part of the WalMart PC that came with gOS preinstalled. I don't know how much that's improved since then. Their site says this is the third revision of the OS. I did notice that in the new screenshots, they've fixed one annoying usability problem I encountered, which was that the three buttons to maximize, kill, and minimize a window all looked the same. One thing to watch out for is that at that time, they had their WM available as a package you could install on top of Ubuntu, but if you did that, it would replace the gdm login screen with one that prevented you from starting any other WM, so even if you wanted to go back to Gnome, you couldn't do it without locating an obscure configuration file and editing it by hand.
The article linked to in the slashdot summary barely rises above the level of cut and paste. The photos came from here, and the content is just a paraphrase of what the register and some blogs also have.
None of the nearly identical articles tell me anything useful about what the heck the eee keyboard is supposed to be good for. It doesn't look like something you want to lug around in a briefcase or backpack, unless it comes with some kind of protective cover. The screen is too small for real websurfing. Is it basically supposed to be like a PDA for people who hate typing on anything less than a full-size keyboard? But why would you want a PDA that leaves out the "P?"
Asus has to do whatever they've got to do to make a profit, but personally I'm less excited about new products like this than I would be about better pricing and availability of previously announced products. They originally claimed they were going to price the eee Box at $269, but the suggested retail price seems to be $320-ish, with Amazon selling it for $300. For what you're getting, I think the right price is actually more like $150, and at that price I would have bought several. At $300, it's just not compelling, unless you really have a strong need for the tiny form factor. The quantities available also seem to be small, and I don't know if that's because they're having trouble meeting demand, or if they just decided not to produce very many.
...then you've probably already figured out another solution. Looking at the OpenID Explained site, I see a bunch of explanation of why it's useful. "You choose how much web sites get to see about you." I already have a solution to this. If it's a site I don't trust, I use a disposable Yahoo email account. "Won't bother you for the same information over and over again." Not a big deal. I have about 100 username-password pairs in an encrypted file. This is how many I've collected over roughly a decade. Entering my name and address, etc., an average of ten times a year is not a big deal to me. "You only have to remember one username and one password." Not a big deal. That's why I have the encrypted password file. To use the encrypted password file, I only have to remember one password. "Now, you might already use one username and one password online, but OpenID lets you do this in a secure way. That's because you only give your password to your OpenID provider." Anyone who uses the same username and password for every online account (including important ones like banking, etc.) is extremely naive, and isn't the kind of person who will have heard of OpenID. "Whenever someone sees your OpenID in use, anywhere on the Internet, they'll know that it's you." To me, this seems like a bug, not a feature. It's a single point of failure. E.g., recently I had some trouble with my Amazon account. (Their software was convinced that I had an mp3 file I needed to download, and it kept insisting on trying to make me download it, failing every time.) I called their tech support, and got someone in India who either didn't understand what I was saying or didn't know how to help me. No big deal. I just munged the password on that Amazon account and created a new one. There are lots of other reasons you might want to start over fresh with a different identity on a certain site, e.g., you're being harassed by some other user. But with OpenID, starting over fresh would eliminate the supposed advantage of the system. You'd either have to start over fresh with your entire OpenID setup (meaning you need to get a new account on every site), or you'd have to create a second, special-purpose OpenID (which is contrary to the one-ID-to-rule-them-all raison d'etre of OpenID).
It's great to see competition in the market for DRM-free music. Until now, the only DRM-free option with a comprehensive catalog was Amazon. I've been using Amazon for a while, and there are definitely some significant pros and cons:
Con: You can't use it if you're outside the U.S.
Pro: I find it much easier to use than iTunes. YMMV.
Con: The only format is MP3, no option for less lossy formats.
Con: Although I was able to help my daughter figure out how to buy MP3s on Amazon via her Linux box and put them on her iPod, it was a real pain.
Unfortunately Amazon makes you use special software if you want to download an entire album at the album price (which is cheaper than buying the individual tracks). But fortunately they explicitly support Linux. But unfortunately their Linux support sucks, and if you call with a problem, you get a tech support person in India who insists that Amazon's own web page lies, and there's no support for any browser other than IE. But fortunately there's third-party software called clamz that works better than the software Amazon supplies.
It will be interesting to see if the advent of competition encourages both Apple and Amazon to improve.
Darcs has some cool and unique ideas in it. E.g., you can rename a function that's referred to in every file in your project, and that renaming becomes a patch. That patch can then be applied either before or after other patches, and it doesn't matter whether the people who did the other patches were working with versions that had already had the rename patch applied. It's a shame that the shortcomings in Darcs's implementation are getting in the way of letting people enjoy that kind of functionality. One can hope that the ideas will eventually be implemented in other RCSs.
This is a big suite of software used for nuclear physics experiments (gamma-ray spectroscopy). It was open-source before the term "open-source" was invented. I believe all the acquisition software for big gamma-ray detector arrays is also open-source stuff written mostly at Berkeley.
I have one in my reading lamp. That's the classic example of an application it's designed for. It's not a general-purpose lightbulb. They make them compatible with a standard socket because standard sockets are what people have.
The blog entry does describe K-12 teachers whose job is to teach IT but are ignorant of open source. However, the issue in real life is much broader than that, and the blog's entry's topic is also much broader than that.
Something like 90% of all desktop users use Windows, and those Windows users include K-12 and college faculty and administrators. They tend to be clueless about the existence of anything other than Windows. It's like being in a wheelchair versus being able to walk. If you can walk, the barriers to wheelchair users simply don't impinge on your consciousness.
Teachers who teach English, or music, or biology aren't necessarily computer geeks. They don't necessarily enjoy fiddling with computers. They may see computers as an annoying, frustrating tool they can't avoid using in order to get their job done. Once they have themselves set up with a workflow that works for them on Windows+Office or something, this type of person has zero motivation to try anything else. Recently I pushed to replace Adobe Reader with Foxit on the Windows boxes at the community college where I teach, because AR is slow to load and has a history of security problems. Turns out there were bugs in Foxit, and also one faculty member had made an elaborate instructional video showing her students how to use AR. (I know, I know, but apparently it really was an issue for some of her students.) It would have cost these faculty time to deal with these Foxit issues, so they insisted on keeping AR as the default.
Students also generally have zero interest in open source. I have a mixture of school-supplied Windows machines and my own cheapo Linux machines in the room where I teach my labs, so students don't have to share a computer when they want to make a graph. Most of them already know Excel, and even though OOo is basically identical to Excel, and even though I supply them with written documentation on how to use OOo for graphing, most of them see Linux+OOo as a second-class alternative to Windows+Excel. Even if I offer to walk them through the steps on one of the Linux machines, some of them will just sit there in lab for an hour waiting for a Windows machine to open up.
LEDs are directional. Are you saying it was 10 times dimmer *within its illuminated area*, or were you expecting it to light up the whole room?
We're already one human generation past that point. In 1980 I had a Radio Shack computer that was plenty fast enough for word processing.
I think it was a good, positive thing that an alternative to GIF was created and widely implemented. However, let's be realistic about what it accomplished. As a user, there was never a viable option to run a browser without GIF support; if even one site you visit still uses GIFs, then you need a browser with a GIF decoder built in. As a web developer, the situation wasn't all that different. Say you're a professional web developer, and you're hired to do a site that has to work in IE x.y+ and Firefox z.w+. Well, you look at whether the browsers you're required to support will support PNG at all, and you also look at whether they support all PNG features properly, and whether you need the features that aren't supported properly in IE. Yes, you might be able to do the job without having a patent-encumbered LZW encoder. So there was a time when PNG was completely nonviable because of complete lack of browser support, possibly followed by a certain time when you might be able to get away with not having a patent-encumbered algorithm on your web development machine, and now the present period when the LZW patents have expired. That middle period was probably not just short for most professional web developers, it was probably nonexistent.
The basic problem was that there only had to some tiny number of cases where PNG wouldn't work, and that was enough to make anyone running a commercial web site demand that the site be designed so that it would work in a browser that supported GIF.
Similar issue with audio codecs. I recently digitized my LP collection, and also transferred my CDs to my computer so I could stop having piles of CDs around my living room. I decided to encode everything in a lossy format, because I wanted my backups to be a reasonable size, and I personally can't hear the difference between mp3/ogg levels of lossiness and CD quality. I was all fired up to use ogg, until I started confronting the realities. I have a portable mp3 player that works with mp3 but not with ogg. That simple fact was enough to make me decide on using mp3. It doesn't matter that my linux box supports ogg, and my network appliance I use as a music server also supports ogg. All it takes is one place where support is lacking, and I bite the bullet and go with the non-free format. And just as the LZW patent has already expired, the patents relating to mp3 are also starting to expire.
I'm glad that both png and ogg were created, but I don't think we should overestimate what they accomplished during the limited time when they were alternatives to patent-encumbered formats.
This statement in my post may be wrong or oversimplified: "... insert a link from the WP article to the web page, and it will drive up that page's page rank. " Here is some information in a (ahem) WP article about that. The exact policy seems to be different on different languages of WP. The article seems to imply that nofollow is not set on external links, but the external links from that article do have it set, so maybe the article is inaccurate or out of date.
Not true. The page rank algorithm has no notion of sites, only of pages and links between pages.
First off, Google has never claimed that page rank was an evaluation of whether a web page or a web site was accredited, accurate, or comprehensive. It's simply a popularity contest, and they've never pretended it was anything else. They've never claimed it was "fair" in the sense you're using, only that it was useful, i.e., its search results were of much better quality than the competition's. If you want a way to find sites whose quality has been fairly evaluated by someone impartial, try dmoz.org. But guess what -- pages on dmoz.org have a high page rank, so pages linked to from dmoz generally get a high page rank as well. Anyway, if you come across a web page that you think is better than the WP article, insert a link from the WP article to the web page, and it will drive up that page's page rank.
Sure, that's a valid point. Open-source programmers are free spirits, and there's just no way you're going to get them to conform to standards as closely as developers who either work directly for Apple or work using a system set up by Apple. However, the converse of your statement is also true sometimes -- sometimes Linux does much better than MacOS X at making everything work in a consistent way, so I can just get my work done. The three most prominent examples in my mind are packaging, key bindings, and shared libraries.
When I do a new install of Ubuntu, I cut and paste a single command that installs about a hundred applications, plus all their prerequisites. On MacOS X, you'd be spending hours clicking around on those little .dmg thingies, running install wizards, etc.
Shared libraries: I believe the standard on MacOS X is that every executable application is statically linked. On Linux, dynamic linking is the norm. That means that on Linux, every gtk application uses a consistent set of libraries, so it works consistently, looks consistent, and has the same bug fixes applied. Same for kde. As gtk and kde get better, every application that uses their libraries automatically gets better and stays consistent. It doesn't matter that I don't actually run gnome or kde; many of the applications I use still use their libraries.
As far as key bindings, virtually every Linux application I use supports the emacs keybindings that I have permanently burned into my muscle memory. (For firefox, you need to use a plugin. In gnome, there's a way to make gconf do it, but actually I find that virtually all gtk applications seem to do it by default.) This may seem like a trivial thing, but I've had problems for many years with tendonitis in my right hand from using the mouse, and the solution that works for me is to use the keyboard to edit, not the mouse.
Thank God Linux gives you choices about this kind of thing. One of the reasons I would never even consider switching from back Linux to a proprietary OS is that on Windows or MacOS, you don't get any choice about which desktop or window manager to run. Bought a Mac but don't like the Finder? Tough luck.
Personally I dislike having a screen littered with little icons representing files, and I also seem to have much higher expectations about performance than a lot of people. That's why I use fluxbox. Linus can choose kde and then switch to gnome if kde has what he feels is a bad release. I don't have to agree with Linus, Linus doesn't have to agree with me, and likewise for everyone else.
Sometimes OSS is about zero cost, sometimes it's about freedom, but sometimes it's just about being able to change something because only you know what's right for you. It's exactly like the famous story about Stallman's indignance about the closed-source laser printer at MIT. He knew what was right for him as a user. He knew that the printer was on a different floor of the building, so he needed a good way to find out the printer's state without having to go and look at it. Xerox couldn't anticipate his situation, and he didn't want them to; he simply wanted to be able to modify what his university had bought from them so that it would be appropriate for them as users.
Well, keep in mind that I do think what the teacher is doing sounds ridiculous, but it's not quite as simple as that. The story is about a high school teacher. I'm a college physics teacher, but I think some of the same issues are involved. When I'm trying to come up with a good exam question, the process is usually something like this. I think it up. Then I give the question on an exam. Then I decide I need to make some revisions to improve it. E.g., maybe a student comes up during the exam to ask for clarification on a certain point, and I agree that it is ambiguous, so I write a clarification on the board. Maybe I find out that the question is harder than I thought, because aspects of it that I thought were trivial were not so trivial to my students. Maybe I see that many students are messing up in the same way, so in order to help them out, I add a part to the question that explicitly tells them to do a certain check on their answer. It's just like a computer program -- it's not going to be perfect the first time you write it. I'm not going to use the same question on an exam the very next semester, but it will certainly go in my computer file, and at some point in the future I'm going to use version 2.0 on an exam.
For a high school teacher, this kind of thing becomes an even bigger issue, because the teacher may be teaching the class for five periods every day. That's a heck of a lot of exam questions to come up with if you never reuse one.
Another issue in my case is that I don't like grading on a curve, because it sets one student against the other in a zero-sum game. But that means that I have to very accurately judge the difficulty of the exam questions I set. The way I do that is to keep statistics on each problem. That way I can fairly reliably predict how a class will do on an exam consisting of a certain mix of questions. If I never reused an exam question, I could never do that.
Now what this teacher is doing still seems bogus for a lot for reasons. I'm absolutely baffled by why he would want to take back lecture notes. And as far as homework, there's nothing preventing anyone from making photocopies before they hand it in.
With exams, the way I handle it is that I return the exams, I spend about 40 minutes of class time having students present correct solutions on the board, and then I immediately take the exam papers back again. During the time when they solutions are being presented, I ask everyone not to take notes. No, it's not a perfect system, but I think it's a reasonable way of discouraging people from making exam files of every exam question I've ever used.
This makes absolutely no sense. First, there is no reasonable way to calculate a profit margin on a copy of Windows or Office. This is not a car or a book. The incremental cost of producing one copy of Windows is nearly zero. There's no way to quantify MS's investment in their software. What would you do, try to estimate how many man-hours MS programmers have worked since 1975, and divide the cost of employing them by the number of copies of Windows they've sold?
And even if you believed this 75% figure, it's silly to think it applies to Linux. Asus doesn't say, "OK, we paid $x for the rights to Linux, and now let's mark that up so we have a 75% profit." Asus didn't pay any money for the rights to the Linux kernel, or Firefox, or Gnome, and anyway Asus doesn't sell an OS, they sell computers with an OS on them. I assume Asus does pay money to Xandros, but if amounts to any significant amount of money per Eee PC, then Asus is a bunch of complete idiots, because they could have just used Ubuntu instead for free. If they're paying money to Xandros, it had better be some small amount that accurately reflects the market's supposed perception that Xandros is somehow marginally better than Ubuntu.
Now let's imagine that Asus says, "OMG, Xandros is teh hotness, let's profit by jacking up the price because people are getting heart palpitations from wanting it so much. And we'll cut a deal with Xandros to call it Xeeeandros, cause then it's our brand, and users will pay extra." Well, no. People buy a Eee PC because they want something dirt cheap. They're not going to pay much more for Xandros than the zero cost of Ubuntu, and they're not going to pay much more for Xeeeandros than they would for Xandros.
I also don't buy this stuff like, "MS had layoffs, that means Linux is eating their lunch." Come on, now. Linux's share of the desktop is something like 1%. That's not enough to do anything at all to MS's margins. MS's real competition on the desktop is Apple. It's also fairly difficult to buy a PC from a retailer without Windows installed, so many people running Linux are paying the MS tax anyway. At most, Linux presents a very indirect, hypothetical threat to MS's future, if, e.g., Vietnam goes heavily towards Linux. Today, having Linux, Firefox, and OOo around are probably actually good for MS's profits, because it gives them something to point to when they get hassled about antitrust.
I want a little, tiny device, which I'll call the "shutter-offer," that plugs into the wall and has an AC socket that you can plug, e.g., a TV into. When the RMS current passing through the shutter-offer falls below 250 mA for one hour, it opens a switch, and it's as if the TV had been unplugged completely. When you walk into the room and want to watch TV, you push a button on the shutter offer to close the switch again. It's a hassle to remember to physically unplug your TV every time you're done watching TV, but it's not a big hassle to have to push a button on the shutter-offer before you turn on the TV -- and if you forget, the TV won't turn on, and you'll realize why.
This could be useful for a lot of other devices as well. I have a stereo amp that draws 20 W passively, and computer speakers that draw a similar amount of power if I don't remember to turn them off.
To make it really super convenient, you could have a wireless device similar to the keychain widget that remotely unlocks your car; this can be done with extremely low power, I think, since I haven't had to replace my car's keychain widget's battery in many years. You'd simply stick the wireless device on top of the power switch of the TV with some adhesive, and by pushing the button you'd simultaneously transmit a signal both to the shutter-offer and to the TV's power switch.
I think the article is mixing up two things. One is the question of what's a good language to use for scripting and extensions. Another is the question of what's a good language to write all the high-level parts of your application in. The article describes using JS for both.
Let's say you have a program written mainly in C++, and you're looking for a language to use for scripting. I agree that throwing a Python/Perl/Ruby interpreter into your app for that purpose is just nuts. JS would be a reasonable choice (as would Lua or Guile).
On the other hand, if your program is written mainly in Ruby, with some C or Vala for a few time-critical routines, and you're looking for a language to use for scripting -- well, obviously you just use Ruby.
What the article seems to be proposing as well is that you use JS to write most of the code of your app, and that seems to me like an idea that's guilty of stupidity until proven innocent. I can imagine certain advantages of JS in certain cases (e.g., you want your app to run both on a Gnome desktop and as a web app), but in general JS is just not the best choice if you're looking for a high-level language to write a large GUI app.
JavaScript is actually a sweet programming language. It's got a very clean design, nice straightforward syntax, and good support for both OO and FP. (I think people get a bad impression of it from seeing it used by people who learned to do stupid web page tricks from JavaScript for Dummies. Also, people who believe in the One True Way of OO tend not to like it because it doesn't do OO the same way as Java. There are also many horrible problems with DOM incompatibilities, none of which have anything to do with JS per se.)
The thing is, I don't understand the logic of using JS for high-level tasks and Vala (basically glorified C) for low-level stuff. The thing is, JS is a very small, austere language. The whole advantage of having a high-level language is lost when you use something as bare-bones as JS. JS is also much, much slower than Perl and Python, so you'd end up having to do only a very small percentage of your programming in JS, and the rest in Vala, in order to get decent performance.
To me it makes a lot more sense to write 100% of your program in, say, Perl. (s/Perl/Python/g or s/Perl/Ruby/g is that's what turns your crank.) You pull in some CPAN libraries, many of which have the time-critical stuff written in C for good performance, but you don't have to touch the C. If there does turn out to be some very time-critical loop that you really want to optimize, and it's not something generic that's available in CPAN, then you write it in C and interface it to your Perl program. You end up writing 99.9% of your own code in a nice high-level language, and 0.1% in a crufty low-level language, and you get good performance.
To me the most interesting part of the whole article is the idea of using Vala rather than C as a low-level language. Manual memory management sucks.
The real question is whether the school's self-managed email would attain that level of reliability. It's one thing if you're at MIT, another if you're at a community college like the one where I work, with understaffed IT.
Frankly, not all schools have a competent IT staff. They tend not to pay well, so they don't attract the best talent.
Actually, if you read the article, he's not complaining about it at all, he's just giving some numbers.
I have photovoltaics on my house. The problem with what you're saying is that your two pieces of advice conflict with each other. Making your house more efficient is going to be an ongoing process. LCD displays get cheap, so you replace your CRT with one. Then compact fluorescents come out, and you replace all your incandescent bulbs. More years pass. Your pool pump dies, and you get a new one that's got a more energy-efficient variable-speed motor. More time passes. Your kids head off to college. LED lighting becomes feasible for more and more applications. All of this is going to be an evolving process, and you can't just freeze it at one point in time and say what your energy use is going to be forever.
Your knowledge may be out of date here. I got my PV system about 1.5 years ago, and they were really pretty high tech about projecting production. They took a camera up on the roof, took pictures from various spots, and ran them through computer software that predicted how much shade we'd get at various times of day and times of year. They designed for 90% of what we thought our average yearly load was going to be. (Going over 100% is a bad thing for my state and my utility, because the utility won't pay you for the excess.) After one year of operation, our system produced exactly what they'd projected it would. No way do they have 25% error bars on these estimates these days.
I have photovoltaics, and you can't even see them from the sidewalk or from a car in the street. To see them, you have to walk across the street and stand on the sidewalk on the other side.
Thanks for the useful link! I didn't understand this:
Can anyone suggest any realistic situation where the LGPL would be undesirable for a commercial app? According to the WP article, if you link your code to an LGPL library, the "non-(L)GPLed program can then be distributed under any chosen terms if it is not a derivative work," and it's not a derivative work if all you do is link to the library. All I can think of is that some commercial software house might want to make custom modifications to the source code of Qt, but then not release those modifications. However, that seems extremely farfetched to me. The most likely reason for such custom modifications would be that something in Qt was simply not working right on a particular OS or hardware. In that situation, I'm having a hard time imagining why the developer would want to take on the task of maintaining their own fork of Qt forever, instead of just committing their patches to the Git repository and being done with it.
A point that nobody seems to be mentioning is that the Linux world has essentially gone off in two different directions. On a default install of Ubuntu, almost everything is GTK. On a KDE-oriented distro, almost everything is Qt. Users generally want their apps to look similar, work the same way, and interoperate properly with their WM. So at least for Linux users, I would expect this to have relatively little effect.
Perl is dead, Netcraft confirms it.
But seriously, why does it make perl any less viable a language if a production-quality perl 6 takes a long time? Perl 5 continues to be lovingly maintained. Perl 6 will be able to run perl 5 modules in compatibility mode. Perl 6 is already out, and if you want to use it, you can; it's just not yet up to the same very high standards of quality and performance as perl 5.
I tried it in Nov. 2007, and wrote this review. At that time, gOS was by far the worst part of the WalMart PC that came with gOS preinstalled. I don't know how much that's improved since then. Their site says this is the third revision of the OS. I did notice that in the new screenshots, they've fixed one annoying usability problem I encountered, which was that the three buttons to maximize, kill, and minimize a window all looked the same. One thing to watch out for is that at that time, they had their WM available as a package you could install on top of Ubuntu, but if you did that, it would replace the gdm login screen with one that prevented you from starting any other WM, so even if you wanted to go back to Gnome, you couldn't do it without locating an obscure configuration file and editing it by hand.
The article linked to in the slashdot summary barely rises above the level of cut and paste. The photos came from here, and the content is just a paraphrase of what the register and some blogs also have.
None of the nearly identical articles tell me anything useful about what the heck the eee keyboard is supposed to be good for. It doesn't look like something you want to lug around in a briefcase or backpack, unless it comes with some kind of protective cover. The screen is too small for real websurfing. Is it basically supposed to be like a PDA for people who hate typing on anything less than a full-size keyboard? But why would you want a PDA that leaves out the "P?"
Asus has to do whatever they've got to do to make a profit, but personally I'm less excited about new products like this than I would be about better pricing and availability of previously announced products. They originally claimed they were going to price the eee Box at $269, but the suggested retail price seems to be $320-ish, with Amazon selling it for $300. For what you're getting, I think the right price is actually more like $150, and at that price I would have bought several. At $300, it's just not compelling, unless you really have a strong need for the tiny form factor. The quantities available also seem to be small, and I don't know if that's because they're having trouble meeting demand, or if they just decided not to produce very many.
...then you've probably already figured out another solution. Looking at the OpenID Explained site, I see a bunch of explanation of why it's useful. "You choose how much web sites get to see about you." I already have a solution to this. If it's a site I don't trust, I use a disposable Yahoo email account. "Won't bother you for the same information over and over again." Not a big deal. I have about 100 username-password pairs in an encrypted file. This is how many I've collected over roughly a decade. Entering my name and address, etc., an average of ten times a year is not a big deal to me. "You only have to remember one username and one password." Not a big deal. That's why I have the encrypted password file. To use the encrypted password file, I only have to remember one password. "Now, you might already use one username and one password online, but OpenID lets you do this in a secure way. That's because you only give your password to your OpenID provider." Anyone who uses the same username and password for every online account (including important ones like banking, etc.) is extremely naive, and isn't the kind of person who will have heard of OpenID. "Whenever someone sees your OpenID in use, anywhere on the Internet, they'll know that it's you." To me, this seems like a bug, not a feature. It's a single point of failure. E.g., recently I had some trouble with my Amazon account. (Their software was convinced that I had an mp3 file I needed to download, and it kept insisting on trying to make me download it, failing every time.) I called their tech support, and got someone in India who either didn't understand what I was saying or didn't know how to help me. No big deal. I just munged the password on that Amazon account and created a new one. There are lots of other reasons you might want to start over fresh with a different identity on a certain site, e.g., you're being harassed by some other user. But with OpenID, starting over fresh would eliminate the supposed advantage of the system. You'd either have to start over fresh with your entire OpenID setup (meaning you need to get a new account on every site), or you'd have to create a second, special-purpose OpenID (which is contrary to the one-ID-to-rule-them-all raison d'etre of OpenID).
It's great to see competition in the market for DRM-free music. Until now, the only DRM-free option with a comprehensive catalog was Amazon. I've been using Amazon for a while, and there are definitely some significant pros and cons:
It will be interesting to see if the advent of competition encourages both Apple and Amazon to improve.
Darcs has some cool and unique ideas in it. E.g., you can rename a function that's referred to in every file in your project, and that renaming becomes a patch. That patch can then be applied either before or after other patches, and it doesn't matter whether the people who did the other patches were working with versions that had already had the rename patch applied. It's a shame that the shortcomings in Darcs's implementation are getting in the way of letting people enjoy that kind of functionality. One can hope that the ideas will eventually be implemented in other RCSs.