When browing in Firefox, when I select text, the kerning changes. Don't know why, but all the text just shifts around.
This is actually a Firefox bug, not an issue with Gnome (or Ubuntu). Firefox has all it's own text rendering code and doesn't use pango.
It seems to me, also, that the new bootup splash screen could use a little work. It'd be nice to tighten up the grub>boot splash>Xorg loading so that it appears to be a single, nice looking loadup.
Agreed, although I prefer to not have the framebuffer at all.
Default package selection could maybe be improved too. For example, can't it automatically install the nvidia-glx when it detects an Nvidia card? I'm also unsure why Evolution is installed by default but not the Exchange connector.
Legal reasons prevent both of those being installed by default.
I agree that it's still horrible, but it's not as bad as it once was. You can hit Ctrl+L to get a text box you can type locations into (not documented anywhere that I know of, I found out about it in Slashdot comment...). I've kinda gotten used to it after a few months of using Gnome. But honestly, when it comes to GIU file browsers, Windows still has the lead there. Windows explorer (and the file selection boxes, which contain explorer) are much better than either konqueror or Nautilus. Except for the shitty-ass Office file selectors, which Microsoft insists on using in all of it's own applications! Aaaargh! Why won't MS use it's own goddamn common controls in it's own applications.
Ahem. Sorry. Anyway. The GNOME file selector is crap, although it's not the really horrible terrible crap of the 1.x days. Although I'm a little upset that they had a long, widely publicized effort to improve it and what they came up with so poor.
Monolithic vs microkernel are *design* concepts. It is designed and implemented as a microkernel. Don't get hung up on the address space issue. Singularity doesn't *have* address spaces.
It's still a microkernel, because they define "object spaces" rather than memory spaces. Which is fine, because nothing is allowed to run except.NET code, so nothing has direct memory access, just object references.
The benchmarks shown (you DID read the article, right?) show that the MS OS easily keeps up with modern disk speeds for IO, but I wonder how things like graphics cards and even CD/DVD-ROM drives will work. Even on modern systems, you need to enable DMA for these sorts of devices to get acceptable performance, and the Singularity model seems like it will preclude this.
Nothing that people didn't already know there - take a look at the numbers for thread operations and note how they're much, much faster than the Linux/BSD numbers. Creating a process on Windows has always been very expensive, and threads have always been fast. It's why Windows applications use threads where equivilent Unix ones fork.
My rule of thumb is that the best, most polished, most user-friendly software is low-priced Windows and OS X shareware. Open Source applications (and there are notable exceptions, of course, and this trend is changing for the better) tend to be highly functional but unpolished. Low price shareware (30$ and less) is both polished and functional. Expensive "prosumer" software ($500 and less) is polished but less functional. "Enterprise" level stuff is minimally functional and unpolished.
I first realized this when working with incredibly expensive bar code software - several thousands per seat. Horrible, horrible, horrible crappy GUI, clearly chopped together in a month or 2 using MFC. Buggy and crashy, barely functional in it's key features (automatic generation and sizing of bar codes for various label printers). I eventually got totally fed up with it and spent an afternoon writing wrapper scripts for GNU barcode and ghostview.
And none of that crap is what your Mum needs. So decide if you're talking about a technical user or not, and make your argument based on that. If your Mom really needs to install Netbeans on FC3, then she better be capable of manually installing an RPM. If your Mum is running 64 bit linux with no 32 bit support, she's not "somebodys Mum", she's a power user. And if she's running 64 bit Windows with no 32 bit support she's going to have a hell of a lot more problems running Windows.
There is software that I guarantee that your mother cannot install in Win95, and there is software that I equally guarantee that she can install on Linux. If your mother can download a file from downloads.com and execute it on Windows, she can select a file from Yum or Red Carpet or Synaptic and install it.
Linux has been "ready for the desktop" for at least 3 years, it's just that people redefine the goalposts every 6 months. Kinda like the problem AI research has, where anything a computer can do isn't considered AI anymore.
Using Linux on your desktop, right now, is a far better experience than using Windows 95 was. Was Win95 ready for the desktop? Be prepared to defend your answer, bearing in mind that it sold bajillions of copies and essentially cemented the Microsoft desktop monopoly.
Is the Linux desktop experience, *right now*, equal or better than using WinXP? Well, maybe. It's a pretty subjective thing. It certainly is for me, using Windows grates on my nerves now. But there absolutely are issues with it - the subjectivity comes in when you have to decide if the warts in a Linux desktop are more annoying, or more common, or more deal-breaking than the warts in Windows. Of course, the vast majority of people who bitch about Linux not being ready for the desktop are actually bitching that it's not Windows.
And you'd be wrong, too. Wicca, despite new-age flap to the contrary, does not and has not ever existed as a "real" religion in any reasonable sense. Modern "Wicca" is a sort of amalgamtion of made up and dimly understood Goddess worship beliefs.
Celtic druidism, given the little we know about them (mainly through Roman histories and tiny amounts of archaelogical evidence) weren't nice folks at all - human sacrifice was the least of it.
It's not smart, and it's not new. And deciding that because RH won't support arbitrary user-patches you may as well go with Microsoft is a false dochotomy.
If support is a concern for you, and providing your own fixes is not (and this is true for many, many, many shops, in no small part due to the culture that grows up around proprietary software - you implement workaround, rather than fixing the product directly), then obviously the "open" part of Open Source is of little value to you. That doesn't mean you should neccesarily go to Microsoft over Red Hat, simply that you should evaluate the offerings on different technical grounds.
In my experience, for example, MS support even at very expensive levels sucks. RedHat support is excellent, with a faster turnaround, and you're far more likely to actually get a *fix*.
In colonial times (and not just in the UK) it was pretty common to arrest people you didn't like, whether you could prove anything or not, and then convict them for failing to provide evidence convicting themselves. This was used on revolutionaries and rabble-rousers, and distaste over it was one of the reasons we added it to our Constitution. I'm fairly certain that British law doesn't contain any inherent right against self-incrimination, and I know for a fact that refusing to turn over encryption keys is specifically excluded even if there is one.
In the US, assuming there's a warrant, they may have to release *you*, but they can keep your *stuff* for pretty much as long as they want. I'm not sure why you need to keep people in jail longer in order to crack thier hard drives (and, of course, if you *do* have to do that, why you need to hold *anyone* longer just in case you might have to crack the hard drive). This sounds like a pretty transparent ploy for expanding the time they can hold people without evidence to me.
In the specific case mentioned, though, it seems like a reasonable solution - the type of queries they are doing are very hard (not NP-complete), with severe time constraints, and the total data set is small enough to fit within physical ram (although those were very high end machines in 2001, when it was written). SQL and standard database access won't support those kind of limits, so writing your own data acess code makes sense in this case. Note that what they're doing isn't relation data manipultion (heresy, cry the relational gurus! All data is relational, if you look hard enough!) per se, and they'd only use a database in this case as heavyweight indexing engine.
And if that were all anyone ever used SQL for, it'd be in good shape. However, real work involves big tables and big databases and awkward datasets (occasionally made worse by over-educated Coddites who've decided that they know how to store your data, and the fact that you need to transform the data *every single time* you need to work with it is of no importance compared to the Grail of Third Normal Form), and the triple-self joined aggregate hierarchal sub-queries you need to output data the way you want it are not quite as simple as SELECT toy FROM shop.
If one of the posters from earlier on in the thread got ahold of that, it'd be more like SELECT toy FROM shop WHERE EXISTS (SELECT colour FROM shop_colors JOIN shop) AND EXISTS (SELECT dollars FROM currencies JOIN shop_prices JOIN shop) anyway.
Any experienced developer knows not to make stupid-ass statements like that one. I can think of at least a half dozen circumstances why you might want such a table (and I've worked with tables with upwards of 50 columns, all normalized). You're making ridiculous and stupid claims, like there will never ever be a data system such that there can be 100 required, important, related pieces of information per item. And that's both stupid and wrong.
On the other hand, using rows instead of columns complicates any interesting data manipulation you're going to do on your web quiz signifigantly, because now you need to use subqueries and aggregate functions to get anything usefull out of it. You can reduce this somewhat by using a view to flatten the table before working with it, but it's still annoying.
Regardless, the OPs point stands - these are not normalization issues, they are database and application design styles. It is perfectly reasonable to have 100 column tables, and still have a highly (even perfectly) normalized table structure.
It's worth mentioning that these sort of dynamic issues (including your example of multiple types of quiz) is a real weakness of the relational model compared to OO design - this is essentially polymorphism which databases manage poorly if they do it at all, but OO excels at.
That would be true, except that when you're writing SQL, the important (and hard) part is describing what you want - which is the tables and the joins and the clauses and the ordering, not so much the column names.
I used to live in CT and work in Manhattan, and I paid taxes (on my full income) in both states. CT got first dibs - NY gave me a credit for the CT taxes I'd paid. I also had to pay NY city taxes. Many, many states work like this, especially the ones with high commuter populations - NYC even has it's own commuter tax for just this reason. No idea why DC can't get away with it - the people hit by the tax aren't the ones who get to vote on it, so they tend to pass pretty easy.
Let's be clear, here. When someone says, "you can't write foo in language x," they are full of shit, and they can take the matter up with Turing.
In many cases people use that phrase as shorthand for "you can't write foo in language X without re-writing it as language Y first", which is more reasonable and correct. You can't have Python style duck-typing in C++ without first implementing a new dynamic type system and then running your code in a VM-like environment, executing some other language that isn't C++. And then you really aren't talking about writing your application in C++ anymore. People call this Greenspunning, after his famous claim that any sufficently advanced program contained half of Lisp, but I think that Lispers fall into this trap as much (or more) than anyone - Lisp simply provides an environment where implementing your own language is simpler and considered appropriate.
The kind of DRM that installs as soon as you put the CD in the drive is almost certainly technically illegal under US law. It's a shame that the power & influence of big money can keep people from addressing this issue.
Of course you do it, but it's constrained so as to be pretty much useless. The worst buffer-overflowing 1st year C programmers calculator can be proved correct if you define it as working in an environment with restricted input. Mathematical proof of *software* is possible, though strenuous and expensive. Mathematical proofs of *systems* are not. Even the highly constrained environments the GP was talking about are verified via testing, not proofs.
A proof simply verfies, mathematically, the algorithmic integrity of the software. It doesn't address any of the million other issues that can cause software failure. It's an extreme, expensive, limiting tool that's useful primarily in systems where you want the absolute highest reliability, including going well beyond the point of diminishing returns. Even when human life is at stake, that is very rarely done.
This is actually a Firefox bug, not an issue with Gnome (or Ubuntu). Firefox has all it's own text rendering code and doesn't use pango.
It seems to me, also, that the new bootup splash screen could use a little work. It'd be nice to tighten up the grub>boot splash>Xorg loading so that it appears to be a single, nice looking loadup.
Agreed, although I prefer to not have the framebuffer at all.
Default package selection could maybe be improved too. For example, can't it automatically install the nvidia-glx when it detects an Nvidia card? I'm also unsure why Evolution is installed by default but not the Exchange connector.
Legal reasons prevent both of those being installed by default.
That is because, as a previous poster said, it would be illegal to distribute. It's not because everyone hates MS and doesn't want to use Tahoma.
Ahem. Sorry. Anyway. The GNOME file selector is crap, although it's not the really horrible terrible crap of the 1.x days. Although I'm a little upset that they had a long, widely publicized effort to improve it and what they came up with so poor.
Monolithic vs microkernel are *design* concepts. It is designed and implemented as a microkernel. Don't get hung up on the address space issue. Singularity doesn't *have* address spaces.
It's still a microkernel, because they define "object spaces" rather than memory spaces. Which is fine, because nothing is allowed to run except .NET code, so nothing has direct memory access, just object references.
The benchmarks shown (you DID read the article, right?) show that the MS OS easily keeps up with modern disk speeds for IO, but I wonder how things like graphics cards and even CD/DVD-ROM drives will work. Even on modern systems, you need to enable DMA for these sorts of devices to get acceptable performance, and the Singularity model seems like it will preclude this.
Nothing that people didn't already know there - take a look at the numbers for thread operations and note how they're much, much faster than the Linux/BSD numbers. Creating a process on Windows has always been very expensive, and threads have always been fast. It's why Windows applications use threads where equivilent Unix ones fork.
I first realized this when working with incredibly expensive bar code software - several thousands per seat. Horrible, horrible, horrible crappy GUI, clearly chopped together in a month or 2 using MFC. Buggy and crashy, barely functional in it's key features (automatic generation and sizing of bar codes for various label printers). I eventually got totally fed up with it and spent an afternoon writing wrapper scripts for GNU barcode and ghostview.
And none of that crap is what your Mum needs. So decide if you're talking about a technical user or not, and make your argument based on that. If your Mom really needs to install Netbeans on FC3, then she better be capable of manually installing an RPM. If your Mum is running 64 bit linux with no 32 bit support, she's not "somebodys Mum", she's a power user. And if she's running 64 bit Windows with no 32 bit support she's going to have a hell of a lot more problems running Windows.
There is software that I guarantee that your mother cannot install in Win95, and there is software that I equally guarantee that she can install on Linux. If your mother can download a file from downloads.com and execute it on Windows, she can select a file from Yum or Red Carpet or Synaptic and install it.
Using Linux on your desktop, right now, is a far better experience than using Windows 95 was. Was Win95 ready for the desktop? Be prepared to defend your answer, bearing in mind that it sold bajillions of copies and essentially cemented the Microsoft desktop monopoly.
Is the Linux desktop experience, *right now*, equal or better than using WinXP? Well, maybe. It's a pretty subjective thing. It certainly is for me, using Windows grates on my nerves now. But there absolutely are issues with it - the subjectivity comes in when you have to decide if the warts in a Linux desktop are more annoying, or more common, or more deal-breaking than the warts in Windows. Of course, the vast majority of people who bitch about Linux not being ready for the desktop are actually bitching that it's not Windows.
Celtic druidism, given the little we know about them (mainly through Roman histories and tiny amounts of archaelogical evidence) weren't nice folks at all - human sacrifice was the least of it.
If support is a concern for you, and providing your own fixes is not (and this is true for many, many, many shops, in no small part due to the culture that grows up around proprietary software - you implement workaround, rather than fixing the product directly), then obviously the "open" part of Open Source is of little value to you. That doesn't mean you should neccesarily go to Microsoft over Red Hat, simply that you should evaluate the offerings on different technical grounds.
In my experience, for example, MS support even at very expensive levels sucks. RedHat support is excellent, with a faster turnaround, and you're far more likely to actually get a *fix*.
About half of my WoW guild (before I stopped playing) was female. Either stay at home moms, or wives/girlfriends of the guy players.
In colonial times (and not just in the UK) it was pretty common to arrest people you didn't like, whether you could prove anything or not, and then convict them for failing to provide evidence convicting themselves. This was used on revolutionaries and rabble-rousers, and distaste over it was one of the reasons we added it to our Constitution. I'm fairly certain that British law doesn't contain any inherent right against self-incrimination, and I know for a fact that refusing to turn over encryption keys is specifically excluded even if there is one.
In the US, assuming there's a warrant, they may have to release *you*, but they can keep your *stuff* for pretty much as long as they want. I'm not sure why you need to keep people in jail longer in order to crack thier hard drives (and, of course, if you *do* have to do that, why you need to hold *anyone* longer just in case you might have to crack the hard drive). This sounds like a pretty transparent ploy for expanding the time they can hold people without evidence to me.
In the specific case mentioned, though, it seems like a reasonable solution - the type of queries they are doing are very hard (not NP-complete), with severe time constraints, and the total data set is small enough to fit within physical ram (although those were very high end machines in 2001, when it was written). SQL and standard database access won't support those kind of limits, so writing your own data acess code makes sense in this case. Note that what they're doing isn't relation data manipultion (heresy, cry the relational gurus! All data is relational, if you look hard enough!) per se, and they'd only use a database in this case as heavyweight indexing engine.
If one of the posters from earlier on in the thread got ahold of that, it'd be more like SELECT toy FROM shop WHERE EXISTS (SELECT colour FROM shop_colors JOIN shop) AND EXISTS (SELECT dollars FROM currencies JOIN shop_prices JOIN shop) anyway.
Any experienced developer knows not to make stupid-ass statements like that one. I can think of at least a half dozen circumstances why you might want such a table (and I've worked with tables with upwards of 50 columns, all normalized). You're making ridiculous and stupid claims, like there will never ever be a data system such that there can be 100 required, important, related pieces of information per item. And that's both stupid and wrong.
Regardless, the OPs point stands - these are not normalization issues, they are database and application design styles. It is perfectly reasonable to have 100 column tables, and still have a highly (even perfectly) normalized table structure.
It's worth mentioning that these sort of dynamic issues (including your example of multiple types of quiz) is a real weakness of the relational model compared to OO design - this is essentially polymorphism which databases manage poorly if they do it at all, but OO excels at.
That would be true, except that when you're writing SQL, the important (and hard) part is describing what you want - which is the tables and the joins and the clauses and the ordering, not so much the column names.
I used to live in CT and work in Manhattan, and I paid taxes (on my full income) in both states. CT got first dibs - NY gave me a credit for the CT taxes I'd paid. I also had to pay NY city taxes. Many, many states work like this, especially the ones with high commuter populations - NYC even has it's own commuter tax for just this reason. No idea why DC can't get away with it - the people hit by the tax aren't the ones who get to vote on it, so they tend to pass pretty easy.
In many cases people use that phrase as shorthand for "you can't write foo in language X without re-writing it as language Y first", which is more reasonable and correct. You can't have Python style duck-typing in C++ without first implementing a new dynamic type system and then running your code in a VM-like environment, executing some other language that isn't C++. And then you really aren't talking about writing your application in C++ anymore. People call this Greenspunning, after his famous claim that any sufficently advanced program contained half of Lisp, but I think that Lispers fall into this trap as much (or more) than anyone - Lisp simply provides an environment where implementing your own language is simpler and considered appropriate.
The kind of DRM that installs as soon as you put the CD in the drive is almost certainly technically illegal under US law. It's a shame that the power & influence of big money can keep people from addressing this issue.
A proof simply verfies, mathematically, the algorithmic integrity of the software. It doesn't address any of the million other issues that can cause software failure. It's an extreme, expensive, limiting tool that's useful primarily in systems where you want the absolute highest reliability, including going well beyond the point of diminishing returns. Even when human life is at stake, that is very rarely done.