If it's portability between databases that you want, then think about the following: - build a database abstraction layer into your application. From the application, access the database only through this abstraction layer; that way you'll only need to recode the abstraction layer to support other databases - make database data visible to users *only* through views and stored procedures. If you ever need to migrate to another database platform, it's generally much easier to recode views and stored procedures than to try to make individual tables/fields accessible in an identical fashion - if your users need to create their own custom reports, where possible use stored procs to limit the quantity of data your users can access. You don't want someone doing a SELECT * FROM... OUTER JOIN... ORDER BY... on your database to retrieve masses of data, only to find they throw out 99.9% of it in their application without using it. Working out how to prevent this while still giving the user access to the data they want is definitely non-trivial
Finally, as many others have recommended, put your business logic in stored procedures, and deal with having to recode them if/when you want to migrate to another DB platform. The above points should at least minimise the migration effort required.
We all speculate about the DMCA being a major impediment to interoperability in particular. The WINE project has interoperability at its reason for existence, so I'd guess that if the DMCA was going to be a real impediment it would have affected WINE fairly early on. Other projects and FOSS development could well learn from your experiences.
In practice, have you encountered any real problems with building WINE's interoperability that were fundamentally DMCA-based? Have workaround (i.e. legal) solutions been put in place to address these issues? If so, what form did these workarounds take? Do you think the WINE project is sustainable long-term in the face of changing "specifications" from Microsoft and the constraints imposed by the DMCA?
> When I can open every single one of my Word and > Excel files without a single error then it will be > "good enough".
I agree, as long as you agree that your statement applies for for any potential value of "I".
Many, many people use MS Word only to create memos, resumes and similar "simple" documents. They *never* use it for anything more complicated than that.
Many, many people use Excel only to create spreadsheets that do simple arithmetic on rows and columns of numbers. They *never* use it for anything more complicated. More particularly, they *never* even try to read complex Excel spreadsheets.
For these people, who would include 90%+ of home users and 90%+ of users in any of several large corporates I've worked at, OOo is definitely "good enough". Why not use OOo for these people, and provide MS Office to the 10% of people who need that level of functionality?
You might argue "That's a whole bunch of new applications for a company's IT department to support". Most of these groups in a large company already support 100+ applications, so another few won't give much of an incremental cost. The saving of MS Office licences, plus the costs of tracking those licences, would more than cover for any incremental support cost for any place rolling out OOo to a large number of users.
XWT has been around for a while as an open-source project, and (based on what little I know of XAML) seems to address the same issue of providing a "better than HTML" user interface.
Unfortunately, XWT is only being enhanced by 1 or 2 guys, and supports Java and ActiveX, so their progress will probably be much slower than Microsoft's with XAML. Maybe this article will entice a few more people to work on XWT - I'd like to, but simply don't have the time.
Yep, it's harsh, but the rest of the world didn't promise TES that they'd get their mail delivered correctly. TES may have made such a promise to their users, though.
A few more of these incidents, and maybe "logistically impossible" spam-fix solutions such as POPs only accepting encrypted-and-sender-able-to-be-validated email from all other POPs won't look so ridiculous after all.
Surely, if this shows the tiniest chance of becoming widespread, the next release of Evil P2P Sharing Program X will include shared key encryption at either end. Both peers will exchange public key pairs, and the content will be encrypted so no sniffer program will have a chance of knowing what the content is.
But, far be it for me to stop people trying to hold back the tide
> 200,000 rows is still considered to be a small > database
No, that depends on the application.
For e.g. a football-tipping competition, 200k rows would be plenty.
Even for a company the size of IBM, 200k rows would be fine for something like an internal phone directory database. Now I'm not suggesting that IBM would even consider using MySQL for that purpose, but a 200k row limit is plenty for many many applications in both small and large organisations.
Topic for discussion: Is it more silly to try to use MySQL for your 1000 transactions/second purchasing site, or to spend $zillions using Oracle/SQL Server/DB2 for every tiny database app in a large corporation? Either way, you'd be an idiot
Although I personally prefer Postgres, I wouldn't say MySQL is only "useful enough for small businesses".
Compared to "big" database products such as Oracle, DB2, Postgres and SQL Server, MySQL is: - very fast (i.e. will run on less hardware) - costs nothing, for most purposes - is very well supported - has very good tools - runs on multiple platforms - doesn't support full SQL or ACID-compliance
I'd happily use it for a read-only Web-based database application; I know it'd be fast and a good fit for purpose. Those apps are often built by very large companies, not just small business.
Yep, I know MySQL can do a lot more than that, but I personally would generally lean towards using a "big" database product for things such as transaction-based sites. I'd rather rely on e.g. Postgres to give me transactional integrity than rely on coding it myself into my application, but YMMV.
I'm looking for the same thing for XWT - who's using it for something that I'd consider using myself?
XWT tries to address a moderately similar problem - putting a GUI framework to talk to Web services running on remote systems. Rather than being constrained to using a Web browser interface, your XWT apps can look like "normal" applications while still running a thin client with everything downloaded over the wire.
Great idea, interesting approach, but I can't yet find a compelling app that would convince me to use it myself.
Agreed - but I'd make IT patents 2-3 years only. The rate of change and innovation in IT is such that locking up obvious or near-obvious patents for extended periods is a big drain on society.
When was the last time a *software* patent was granted for something that is truly innovative? More than just about any industry, we take what already exists, extend it, then extend it again - each step has relatively little change, but cumulatively the rate of enhancement is huge. On that basis alone, I'd say software patents are a stupid idea - very little software development is truly innovative, and patenting it simply breaks the cycle of constant improvement.
If you're downloading a single file, then all the dependencies for that file, then all the dependencies for this files,..., you're not using a current version of a decent end-user distribution.
Several of the best desktop Linux distros (Mepis, Lycoris, Linspire) are built on Debian, which handles all these dependencies through apt-get. Now I'm not gonna suggest end-users use apt-get, but these distros supply tools that put a user-friendly GUI on top of apt-get and deal with the problem that way.
Mandrake uses urpmi to achieve the same result - and there's a friendly GUI tool that sits on top of that if you want user-friendly.
I'm pretty sure Fedora has a comparable solution, but as I haven't installed it I can't comment on it.
The ONLY time I've had to worry about manually managing dependencies in the last couple of years is when I've tried installing something off Sourceforge or a similar geeky site. That's fair enough; Sourceforge isn't designed to host end-user tools, so desktop users shouldn't be going there if they want ease of use.
Your average desktop Linux user is gonna install Lycoris/Mepis/Linspire/..., then use the user-friendly tools that come with those distros to install or upgrade their apps. There's one big advantage they have over Windows in this area; being Debian-based, there's no need to go to multiple sites to keep all the desktop apps upgraded.
Instead, Linux desktop users go to *one* site to upgrade their Office tools, Web browser, email client, MP3 player,..., and that site deals with all the interoperability issues between all those apps. Windows can't compete with that.
Does anyone know if this compiler can be integrated to work relatively seamlessly with the Sharp #Develop IDE? I've got the IDE already, but my only option for getting the compiler this week is to download it over 56k modem (grr!) so I'd like to know if it's gonna work before I tie up my laptop and phone line for 1/2 a day.
If it works, the combination of both would make an excellent "poor man's" Visual Studio. #Develop already supports C# via the.NET framework, but having it also support C++ using the optimising compiler would be a big plus.
> Most home users just want to click on the little > "E" and go on the interent. They can't be bothered > with config files, man pages etc. If,and when > Linux gets to that level of ease of use, maybe > we'll see a Penguin in every pot:-)
Agree that most home users just want to "get on the Internet", but why is Linux a bad choice for those users today? I've set up Mepis for users with this experience level in the past, and they work with it just fine; I'm sure there's other distributions that work just about as well.
There are several Linux desktop distributions now that make "getting on the Internet" as easy as it is on Windows. In functionality terms, one browser is pretty much like another these days; Mozilla or Konqueror are perfectly worthy substitutes for IE for both "power users" and novices.
Ditto for email clients. Evolution looks and acts almost identical to Outlook, and Thunderbird (my personal choice) is extremely capable as well. If you put Outlook on a pedestal as THE email client for the home user, then I'd claim Evolution is its equal in every way.
OpenOffice is a perfectly good substitute for MS Office; remember that we're talking specifically about home users here, so the lack of compatibility with Excel macros doesn't really enter into it.
An experienced user (i.e. the family techo, or even a worldly Linux desktop distributor/vendor) can lock down the Linux desktop to the point that your typical dumb user problems can't occur. It's far easier to lock down a Linux desktop than a Windows desktop. That's a big deal when it comes to supporting home users - stop them from being able to hurt themselves.
And that's before I play my 2 anti-Windows trump cards - viruses/security and cost of software purchase.
In all seriousness, I can't see why Grandma and Grandpa couldn't use Linux to get on the Internet just as easily as they use Windows. My parents, both in their mid-60s, use Mepis just fine; they can deal with Firebird/fox and Thunderbird, and it took almost no effort for them to switch from Windows. They don't get virus infections, despite opening every email they receive, and simply use their computers as tools in much the same way they use the phone and car - they don't know how it works, but don't care and have no reason to care. There's no reason for them to use man pages and config files, any more than they would use the Windows equivalents; a well-structured desktop pretty much eliminates the need for those mechanisms for the average home user. Yep, you could build a case that maybe they couldn't run a 100-user business entirely on Linux desktops, but a home user Linux desktop is perfectly viable and has been for a couple of years at least.
> when I patch my laptop drive (no patch was > available for my friend's drive last time I > checked) or rip the DVDs which I bought in Taiwan, > I'm not doing so to 'circumvent copyright', I'm > doing so for fair use, so I can watch the damned > things!
I'm sure someone else will point this out, but in Australia you have no "fair use" rights. This isn't the US; you can't copy content you've bought for your own personal use, unless it's specifically allowed by an agreement between you and the content owner....And I'm sure that somewhere in Australia, some poor soul is sticking by that rule.
> Country A passes laws that would never be passed > in Country B (or countries A,B,C & D try to pass > extreme laws and some succeed and some fail). Then > country B signs a treaty with country A requiring > them to go along with country A's stupid laws. Now > A & B are both operating under the most restictive > laws from each.
I'll agree with you, as long as you agree that country A is always the USA, and replace "treaty" with "free trade agreement".
I'm curious as to exactly which groups in Australia, based on what we now know, are supposed to benefit from this agreement. In principle, a FTA is a good thing, but as you point out acceptance by the US is apparently conditional on us adopting several of their less-palatable laws.
Accusations of bum-licking aside, why don't we just say "Thanks, but no thanks"? Can anyone spell "referendum"?
> What is so special about Python and why should I > care?
Glad you asked!
I've also been writing software for 20+ years (God, is it really that long?) and Python is the nicest language I've come across for many types of task. No, it's not the "ultimate" language, but it's a very good fit for a lot of problem spaces.
Key features: - it's very easy to learn (20-odd keywords, which is very few compared to most languages). In particular, any reasonably competent programmer will pick up Python and be coding well with it in a remarkably short time. Moreover, you can actually keep the entire language in your head; you don't have to resort to having language references at your desk, which makes a big difference when it comes to speed of delivering a solution - it runs on almost any platform - it discourages "individual coding styles"; most competent Python programmers would come up with substantially the same code to the same problem. This is unbelievably useful when it comes to supporting other peoples' code, or even your old code - OO support is both unobtrusive and very complete. Among other things, this makes "design by contract" a much easier goal to achieve, which goes a long way towards making "software project management" an achievable target rather than a tautology - it's a great general purpose scripting language. It's very nice to use the same language for scripting as for your "real" coding - it's a "batteries included" language. Although you have to use external libraries in many cases, the base set of libraries that come with Python cover a very wide set of technologies - it's mature enough that there's very few surprises in the language itself. When you have a problem, you can be pretty sure it's in your code rather than a compiler or library bug. Another benefit of this is that your Python code has a strange tendency to work first time; I spend very little time debugging my Python code compared to most other languages - although I write Perl code faster than Python, in productivity terms Python is quite extraordinary. I would write Python code 5-10 times faster than C/C++/Java/C# code, so I get to a working piece of code that much faster - Python is very good at talking to other code. I've found it's fairly easy to get Python talking to libraries written in C, and you can actually compile your Python code (using Jython) and call Java library code natively
Finally, I'd have no qualms recommending Python as a prototyping language for almost any commercial app I've worked on. You may need to go back and rewrite it in another language later for security or performance reasons, but Python is the best way I've seen of creating working prototypes quickly.
Which of these can I order with it? - CD changer - MP3 player - iPod mount point - cup holder - GPS - climate control (well, for head and shoulders...) - ashtray - demister
When Longhorn comes out, a pile of XP users will be put off by how different the interface looks (that's assuming what MS is showing now becomes release quality).
Those people would be happy to stay with something that looks like XP, and maybe OpenOffice, Evolution,... will be sufficiently "Windows-like" to make the migration from XP to XPde a no brainer for them.
As far as desktops go, I'm happy to stick with Linux (at home) or Windows (at work). Linux works well enough for me on desktop PCs to be extremely useable, and has some specific advantages over Windows as far as I'm concerned. Even my parents, both in their 60s, run Linux/Firefox/Thunderbird/OpenOffice just fine and probably STILL don't know what a virus is...
However, laptops are a different story. Of all the people I know who've tried to run Linux on a laptop, none have managed to get more than 90-95% of the whole system working. Modems don't work, or screen drivers don't work, or hibernating to disc doesn't work, or networking doesn't come up after hibernation, or... Sure, you can use a PC Card modem, but who wants to do that when you've already paid for a modem in your laptop???
I'm gonna switch to a Mac laptop when my current one reaches its end of life in the next few months. Being able to run Unix on a laptop, with vendor support for all those bits of hardware, is worth considerably more to me than the cost difference between Windows and Mac laptops.
Sure, there's a few Windows apps that I can't live without, including such abominations as MS Project, but I'm willing to bet that either Virtual PC on a Mac will let me run those apps or I'll find suitable replacements. In any case, the inconvenience will be more than covered by not having to run Windows.
> The idea is the thing, right? It's all about the > content after all..
> No, it isn't. It's also about communication, and > to the extent that better presentation helps > communicate more clearly, CSS should be used. > The best ideas that are never heard matter not.
> Don't let the presentation get in the way of the > content? Exactly. But don't let the lack of > presentation take away from it either
No offence, but you sound like a guy trying to justify his belief that Britney Spears isn't just a mindless bimbo...
The band I was in was playing in pubs several nights a week, and I was the only one working a normal job. It was great fun, but getting home all fired up at 2am made it tough to get up for work the next day.
We did some recording, then the other guys in the band wanted to go play around the country. They lined up gigs in several places with very little effort, so I had to choose between work and music.
I chose work.
My career was at the point where it was starting to get interesting, and I knew that I'd get some interesting job offers shortly.
The music had, to me at least, always been a fun thing and I'd basically played for beer money while the rest of the guys split the bulk of the loot between them. That wasn't exactly a fortune, but they needed the cash more than I did. I'm pretty sure none of us actually thought we'd get a music career out of it, but suddenly it appeared like it might be a goer.
In hindsight, I don't really regret it. Although the other guys were a bit upset when I pulled out, I'd always made it clear that I had a "second life" outside of music so it was OK. I found another group that was more "work friendly" with very little effort and played with them instead, while my original band went out without me.
In the final washup, they decided that a life in music wasn't really what they wanted. They had a bit of fun, but got stiffed by club owners more than once and found that all of them sharing their lives 24x7 wasn't really that great. Steady girlfriends got put on hold; strangely no GF wanted to tag along with 4 other guys and no other women! There were a few sexual encounters, but none that probably wouldn't have been on offer if they'd stayed at home.
If you think this band is really gonna make it big, or if you really really enjoy playing with them, by all means go for it.
If music is basically just a fun thing with a few mates, then why not just enjoy it for what it is and leave things as they are? If you're an OK muso, you'll always find another group of guys to play with.
Most corporates I know buy their PCs from someone like IBM, Dell, etc., then simply overwrite whatever's on there with either a SOE desktop or a standard server build. Unless the corporate is big enough to have the vendor install their SOE build for them, it doesn't matter at all what the vendor ships them with; it'll get blown away and replaced before a user sees it. These customers have MS Select agreements so Windows installed on the box is just a nuisance.
I'm pretty sure that's the reason why at least one vendor (Dell?) sells a typical corporate desktop PC with FreeDOS on it - it just gets blown away, so why bother with a Windows licence?
Aside from the issues of competing with Dell etc. in terms of buying and marketing clout, I don't see that a small PC vendor would care if they were selling PCs with Windows or PCs with Linux as far as business sales are concerned.
OTOH, if they're selling to home users, most Windows users will want Windows installed for them and most Linux users will just reinstall their own favorite distribution in their favorite configuration - the vendor may as well not bother actually installing Linux at all, but just ensure hardware drivers for all the bits in the box are readily available.
It's been a long time since I was at university, so bear with me if I'm totally out of touch...
Why doesn't a university block *all* outside P2P altogether, and provide a facility whereby people can request a single download of legally-clear files via e.g. BitTorrent? An admin could download the requested, legally-clear files when they had time available, put them on a ftp server, and then anyone within the campus could just download from that server. The types of legally-clear files I'm thinking of would be Linux kernels & distributions, maybe non-RIAA music and that sort of thing.
There doesn't seem to be any need for 500 students on a single campus to simultaneously have BT downloading the same file, and that's gotta be expensive for the university; why not have some central person do it once then put it on some well-known spot within the campus for everyone else to grab?
It seems a very simple solution to the problem, but there could be some blindingly obvious reason why it wouldn't work. Could anyone in the know provide any feedback?
How many people can actually lay their hands on those CD cases when the time comes? Also, a surprising number of people, when asked to enter a serial number for the first time, don't think to look at *the back* of a CD case to find it.
If it's portability between databases that you want, then think about the following: ... OUTER JOIN ... ORDER BY ... on your database to retrieve masses of data, only to find they throw out 99.9% of it in their application without using it. Working out how to prevent this while still giving the user access to the data they want is definitely non-trivial
- build a database abstraction layer into your application. From the application, access the database only through this abstraction layer; that way you'll only need to recode the abstraction layer to support other databases
- make database data visible to users *only* through views and stored procedures. If you ever need to migrate to another database platform, it's generally much easier to recode views and stored procedures than to try to make individual tables/fields accessible in an identical fashion
- if your users need to create their own custom reports, where possible use stored procs to limit the quantity of data your users can access. You don't want someone doing a SELECT * FROM
Finally, as many others have recommended, put your business logic in stored procedures, and deal with having to recode them if/when you want to migrate to another DB platform. The above points should at least minimise the migration effort required.
We all speculate about the DMCA being a major impediment to interoperability in particular. The WINE project has interoperability at its reason for existence, so I'd guess that if the DMCA was going to be a real impediment it would have affected WINE fairly early on. Other projects and FOSS development could well learn from your experiences.
In practice, have you encountered any real problems with building WINE's interoperability that were fundamentally DMCA-based? Have workaround (i.e. legal) solutions been put in place to address these issues? If so, what form did these workarounds take? Do you think the WINE project is sustainable long-term in the face of changing "specifications" from Microsoft and the constraints imposed by the DMCA?
> When I can open every single one of my Word and
> Excel files without a single error then it will be
> "good enough".
I agree, as long as you agree that your statement applies for for any potential value of "I".
Many, many people use MS Word only to create memos, resumes and similar "simple" documents. They *never* use it for anything more complicated than that.
Many, many people use Excel only to create spreadsheets that do simple arithmetic on rows and columns of numbers. They *never* use it for anything more complicated. More particularly, they *never* even try to read complex Excel spreadsheets.
For these people, who would include 90%+ of home users and 90%+ of users in any of several large corporates I've worked at, OOo is definitely "good enough". Why not use OOo for these people, and provide MS Office to the 10% of people who need that level of functionality?
You might argue "That's a whole bunch of new applications for a company's IT department to support". Most of these groups in a large company already support 100+ applications, so another few won't give much of an incremental cost. The saving of MS Office licences, plus the costs of tracking those licences, would more than cover for any incremental support cost for any place rolling out OOo to a large number of users.
XWT has been around for a while as an open-source project, and (based on what little I know of XAML) seems to address the same issue of providing a "better than HTML" user interface.
Unfortunately, XWT is only being enhanced by 1 or 2 guys, and supports Java and ActiveX, so their progress will probably be much slower than Microsoft's with XAML. Maybe this article will entice a few more people to work on XWT - I'd like to, but simply don't have the time.
Yep, it's harsh, but the rest of the world didn't promise TES that they'd get their mail delivered correctly. TES may have made such a promise to their users, though.
A few more of these incidents, and maybe "logistically impossible" spam-fix solutions such as POPs only accepting encrypted-and-sender-able-to-be-validated email from all other POPs won't look so ridiculous after all.
Surely, if this shows the tiniest chance of becoming widespread, the next release of Evil P2P Sharing Program X will include shared key encryption at either end. Both peers will exchange public key pairs, and the content will be encrypted so no sniffer program will have a chance of knowing what the content is.
But, far be it for me to stop people trying to hold back the tide
> 200,000 rows is still considered to be a small
> database
No, that depends on the application.
For e.g. a football-tipping competition, 200k rows would be plenty.
Even for a company the size of IBM, 200k rows would be fine for something like an internal phone directory database. Now I'm not suggesting that IBM would even consider using MySQL for that purpose, but a 200k row limit is plenty for many many applications in both small and large organisations.
Topic for discussion: Is it more silly to try to use MySQL for your 1000 transactions/second purchasing site, or to spend $zillions using Oracle/SQL Server/DB2 for every tiny database app in a large corporation? Either way, you'd be an idiot
Although I personally prefer Postgres, I wouldn't say MySQL is only "useful enough for small businesses".
Compared to "big" database products such as Oracle, DB2, Postgres and SQL Server, MySQL is:
- very fast (i.e. will run on less hardware)
- costs nothing, for most purposes
- is very well supported
- has very good tools
- runs on multiple platforms
- doesn't support full SQL or ACID-compliance
I'd happily use it for a read-only Web-based database application; I know it'd be fast and a good fit for purpose. Those apps are often built by very large companies, not just small business.
Yep, I know MySQL can do a lot more than that, but I personally would generally lean towards using a "big" database product for things such as transaction-based sites. I'd rather rely on e.g. Postgres to give me transactional integrity than rely on coding it myself into my application, but YMMV.
Good question.
I'm looking for the same thing for XWT - who's using it for something that I'd consider using myself?
XWT tries to address a moderately similar problem - putting a GUI framework to talk to Web services running on remote systems. Rather than being constrained to using a Web browser interface, your XWT apps can look like "normal" applications while still running a thin client with everything downloaded over the wire.
Great idea, interesting approach, but I can't yet find a compelling app that would convince me to use it myself.
Agreed - but I'd make IT patents 2-3 years only. The rate of change and innovation in IT is such that locking up obvious or near-obvious patents for extended periods is a big drain on society.
When was the last time a *software* patent was granted for something that is truly innovative? More than just about any industry, we take what already exists, extend it, then extend it again - each step has relatively little change, but cumulatively the rate of enhancement is huge. On that basis alone, I'd say software patents are a stupid idea - very little software development is truly innovative, and patenting it simply breaks the cycle of constant improvement.
If you're downloading a single file, then all the dependencies for that file, then all the dependencies for this files, ..., you're not using a current version of a decent end-user distribution.
..., and that site deals with all the interoperability issues between all those apps. Windows can't compete with that.
Several of the best desktop Linux distros (Mepis, Lycoris, Linspire) are built on Debian, which handles all these dependencies through apt-get. Now I'm not gonna suggest end-users use apt-get, but these distros supply tools that put a user-friendly GUI on top of apt-get and deal with the problem that way.
Mandrake uses urpmi to achieve the same result - and there's a friendly GUI tool that sits on top of that if you want user-friendly.
I'm pretty sure Fedora has a comparable solution, but as I haven't installed it I can't comment on it.
The ONLY time I've had to worry about manually managing dependencies in the last couple of years is when I've tried installing something off Sourceforge or a similar geeky site. That's fair enough; Sourceforge isn't designed to host end-user tools, so desktop users shouldn't be going there if they want ease of use.
Your average desktop Linux user is gonna install Lycoris/Mepis/Linspire/..., then use the user-friendly tools that come with those distros to install or upgrade their apps. There's one big advantage they have over Windows in this area; being Debian-based, there's no need to go to multiple sites to keep all the desktop apps upgraded.
Instead, Linux desktop users go to *one* site to upgrade their Office tools, Web browser, email client, MP3 player,
Does anyone know if this compiler can be integrated to work relatively seamlessly with the Sharp #Develop IDE? I've got the IDE already, but my only option for getting the compiler this week is to download it over 56k modem (grr!) so I'd like to know if it's gonna work before I tie up my laptop and phone line for 1/2 a day.
.NET framework, but having it also support C++ using the optimising compiler would be a big plus.
If it works, the combination of both would make an excellent "poor man's" Visual Studio. #Develop already supports C# via the
> Most home users just want to click on the little :-)
> "E" and go on the interent. They can't be bothered
> with config files, man pages etc. If,and when
> Linux gets to that level of ease of use, maybe
> we'll see a Penguin in every pot
Agree that most home users just want to "get on the Internet", but why is Linux a bad choice for those users today? I've set up Mepis for users with this experience level in the past, and they work with it just fine; I'm sure there's other distributions that work just about as well.
There are several Linux desktop distributions now that make "getting on the Internet" as easy as it is on Windows. In functionality terms, one browser is pretty much like another these days; Mozilla or Konqueror are perfectly worthy substitutes for IE for both "power users" and novices.
Ditto for email clients. Evolution looks and acts almost identical to Outlook, and Thunderbird (my personal choice) is extremely capable as well. If you put Outlook on a pedestal as THE email client for the home user, then I'd claim Evolution is its equal in every way.
OpenOffice is a perfectly good substitute for MS Office; remember that we're talking specifically about home users here, so the lack of compatibility with Excel macros doesn't really enter into it.
An experienced user (i.e. the family techo, or even a worldly Linux desktop distributor/vendor) can lock down the Linux desktop to the point that your typical dumb user problems can't occur. It's far easier to lock down a Linux desktop than a Windows desktop. That's a big deal when it comes to supporting home users - stop them from being able to hurt themselves.
And that's before I play my 2 anti-Windows trump cards - viruses/security and cost of software purchase.
In all seriousness, I can't see why Grandma and Grandpa couldn't use Linux to get on the Internet just as easily as they use Windows. My parents, both in their mid-60s, use Mepis just fine; they can deal with Firebird/fox and Thunderbird, and it took almost no effort for them to switch from Windows. They don't get virus infections, despite opening every email they receive, and simply use their computers as tools in much the same way they use the phone and car - they don't know how it works, but don't care and have no reason to care. There's no reason for them to use man pages and config files, any more than they would use the Windows equivalents; a well-structured desktop pretty much eliminates the need for those mechanisms for the average home user. Yep, you could build a case that maybe they couldn't run a 100-user business entirely on Linux desktops, but a home user Linux desktop is perfectly viable and has been for a couple of years at least.
> when I patch my laptop drive (no patch was
...And I'm sure that somewhere in Australia, some poor soul is sticking by that rule.
> available for my friend's drive last time I
> checked) or rip the DVDs which I bought in Taiwan,
> I'm not doing so to 'circumvent copyright', I'm
> doing so for fair use, so I can watch the damned
> things!
I'm sure someone else will point this out, but in Australia you have no "fair use" rights. This isn't the US; you can't copy content you've bought for your own personal use, unless it's specifically allowed by an agreement between you and the content owner.
> Country A passes laws that would never be passed
> in Country B (or countries A,B,C & D try to pass
> extreme laws and some succeed and some fail). Then
> country B signs a treaty with country A requiring
> them to go along with country A's stupid laws. Now
> A & B are both operating under the most restictive
> laws from each.
I'll agree with you, as long as you agree that country A is always the USA, and replace "treaty" with "free trade agreement".
I'm curious as to exactly which groups in Australia, based on what we now know, are supposed to benefit from this agreement. In principle, a FTA is a good thing, but as you point out acceptance by the US is apparently conditional on us adopting several of their less-palatable laws.
Accusations of bum-licking aside, why don't we just say "Thanks, but no thanks"? Can anyone spell "referendum"?
> What is so special about Python and why should I
> care?
Glad you asked!
I've also been writing software for 20+ years (God, is it really that long?) and Python is the nicest language I've come across for many types of task. No, it's not the "ultimate" language, but it's a very good fit for a lot of problem spaces.
Key features:
- it's very easy to learn (20-odd keywords, which is very few compared to most languages). In particular, any reasonably competent programmer will pick up Python and be coding well with it in a remarkably short time. Moreover, you can actually keep the entire language in your head; you don't have to resort to having language references at your desk, which makes a big difference when it comes to speed of delivering a solution
- it runs on almost any platform
- it discourages "individual coding styles"; most competent Python programmers would come up with substantially the same code to the same problem. This is unbelievably useful when it comes to supporting other peoples' code, or even your old code
- OO support is both unobtrusive and very complete. Among other things, this makes "design by contract" a much easier goal to achieve, which goes a long way towards making "software project management" an achievable target rather than a tautology
- it's a great general purpose scripting language. It's very nice to use the same language for scripting as for your "real" coding
- it's a "batteries included" language. Although you have to use external libraries in many cases, the base set of libraries that come with Python cover a very wide set of technologies
- it's mature enough that there's very few surprises in the language itself. When you have a problem, you can be pretty sure it's in your code rather than a compiler or library bug. Another benefit of this is that your Python code has a strange tendency to work first time; I spend very little time debugging my Python code compared to most other languages
- although I write Perl code faster than Python, in productivity terms Python is quite extraordinary. I would write Python code 5-10 times faster than C/C++/Java/C# code, so I get to a working piece of code that much faster
- Python is very good at talking to other code. I've found it's fairly easy to get Python talking to libraries written in C, and you can actually compile your Python code (using Jython) and call Java library code natively
Finally, I'd have no qualms recommending Python as a prototyping language for almost any commercial app I've worked on. You may need to go back and rewrite it in another language later for security or performance reasons, but Python is the best way I've seen of creating working prototypes quickly.
Which of these can I order with it?
- CD changer
- MP3 player
- iPod mount point
- cup holder
- GPS
- climate control (well, for head and shoulders...)
- ashtray
- demister
Look at it another way...
... will be sufficiently "Windows-like" to make the migration from XP to XPde a no brainer for them.
When Longhorn comes out, a pile of XP users will be put off by how different the interface looks (that's assuming what MS is showing now becomes release quality).
Those people would be happy to stay with something that looks like XP, and maybe OpenOffice, Evolution,
As far as desktops go, I'm happy to stick with Linux (at home) or Windows (at work). Linux works well enough for me on desktop PCs to be extremely useable, and has some specific advantages over Windows as far as I'm concerned. Even my parents, both in their 60s, run Linux/Firefox/Thunderbird/OpenOffice just fine and probably STILL don't know what a virus is...
... Sure, you can use a PC Card modem, but who wants to do that when you've already paid for a modem in your laptop???
However, laptops are a different story. Of all the people I know who've tried to run Linux on a laptop, none have managed to get more than 90-95% of the whole system working. Modems don't work, or screen drivers don't work, or hibernating to disc doesn't work, or networking doesn't come up after hibernation, or
I'm gonna switch to a Mac laptop when my current one reaches its end of life in the next few months. Being able to run Unix on a laptop, with vendor support for all those bits of hardware, is worth considerably more to me than the cost difference between Windows and Mac laptops.
Sure, there's a few Windows apps that I can't live without, including such abominations as MS Project, but I'm willing to bet that either Virtual PC on a Mac will let me run those apps or I'll find suitable replacements. In any case, the inconvenience will be more than covered by not having to run Windows.
> The idea is the thing, right? It's all about the
> content after all..
> No, it isn't. It's also about communication, and
> to the extent that better presentation helps
> communicate more clearly, CSS should be used.
> The best ideas that are never heard matter not.
> Don't let the presentation get in the way of the
> content? Exactly. But don't let the lack of
> presentation take away from it either
No offence, but you sound like a guy trying to justify his belief that Britney Spears isn't just a mindless bimbo...
Check out sodipodi - it's pretty easy to use it as a primitive "paint" program to produce SVG-format files, which sounds like what you want.
I was in a similar situation several years ago.
The band I was in was playing in pubs several nights a week, and I was the only one working a normal job. It was great fun, but getting home all fired up at 2am made it tough to get up for work the next day.
We did some recording, then the other guys in the band wanted to go play around the country. They lined up gigs in several places with very little effort, so I had to choose between work and music.
I chose work.
My career was at the point where it was starting to get interesting, and I knew that I'd get some interesting job offers shortly.
The music had, to me at least, always been a fun thing and I'd basically played for beer money while the rest of the guys split the bulk of the loot between them. That wasn't exactly a fortune, but they needed the cash more than I did. I'm pretty sure none of us actually thought we'd get a music career out of it, but suddenly it appeared like it might be a goer.
In hindsight, I don't really regret it. Although the other guys were a bit upset when I pulled out, I'd always made it clear that I had a "second life" outside of music so it was OK. I found another group that was more "work friendly" with very little effort and played with them instead, while my original band went out without me.
In the final washup, they decided that a life in music wasn't really what they wanted. They had a bit of fun, but got stiffed by club owners more than once and found that all of them sharing their lives 24x7 wasn't really that great. Steady girlfriends got put on hold; strangely no GF wanted to tag along with 4 other guys and no other women! There were a few sexual encounters, but none that probably wouldn't have been on offer if they'd stayed at home.
If you think this band is really gonna make it big, or if you really really enjoy playing with them, by all means go for it.
If music is basically just a fun thing with a few mates, then why not just enjoy it for what it is and leave things as they are? If you're an OK muso, you'll always find another group of guys to play with.
Most corporates I know buy their PCs from someone like IBM, Dell, etc., then simply overwrite whatever's on there with either a SOE desktop or a standard server build. Unless the corporate is big enough to have the vendor install their SOE build for them, it doesn't matter at all what the vendor ships them with; it'll get blown away and replaced before a user sees it. These customers have MS Select agreements so Windows installed on the box is just a nuisance.
I'm pretty sure that's the reason why at least one vendor (Dell?) sells a typical corporate desktop PC with FreeDOS on it - it just gets blown away, so why bother with a Windows licence?
Aside from the issues of competing with Dell etc. in terms of buying and marketing clout, I don't see that a small PC vendor would care if they were selling PCs with Windows or PCs with Linux as far as business sales are concerned.
OTOH, if they're selling to home users, most Windows users will want Windows installed for them and most Linux users will just reinstall their own favorite distribution in their favorite configuration - the vendor may as well not bother actually installing Linux at all, but just ensure hardware drivers for all the bits in the box are readily available.
It's been a long time since I was at university, so bear with me if I'm totally out of touch...
Why doesn't a university block *all* outside P2P altogether, and provide a facility whereby people can request a single download of legally-clear files via e.g. BitTorrent? An admin could download the requested, legally-clear files when they had time available, put them on a ftp server, and then anyone within the campus could just download from that server. The types of legally-clear files I'm thinking of would be Linux kernels & distributions, maybe non-RIAA music and that sort of thing.
There doesn't seem to be any need for 500 students on a single campus to simultaneously have BT downloading the same file, and that's gotta be expensive for the university; why not have some central person do it once then put it on some well-known spot within the campus for everyone else to grab?
It seems a very simple solution to the problem, but there could be some blindingly obvious reason why it wouldn't work. Could anyone in the know provide any feedback?
How many people can actually lay their hands on those CD cases when the time comes? Also, a surprising number of people, when asked to enter a serial number for the first time, don't think to look at *the back* of a CD case to find it.