I like Linux as much as the next guy, but his argument is basically 'Linux couldn't open a file that everybody else could, but by dicking around with random half-assed documented tools we could do it anyway!'. Basically, 'we managed to do something that is absolutely trivial for everybody else by jumping through hoops and spending a bunch of time on it to do it the convoluted way.'. Hmm right, not exactly a compelling argument for Linux's superiority.
TFA boils down to: "I was emailed a proprietary format for an application that doesn't exist on my platform. I was able to find and install a third-party utility to convert it to something usable."
An astonishing tale of Linux superiority it's not, but I wouldn't say they jumped through hoops or spent hours researching anything here.
> [..] we managed to do something that is
> absolutely trivial for everybody else [...]
Where everybody else means anyone with a copy of Microsoft Access. Take it for what it is: guy's excited that he was able to use free tools to perform a task 1) that he thought would be much harder, and 2) potentially faster than his colleagues with the official tool. So what his conclusion's a bit of a leap?
He managed to find free, command-line tools to read a proprietary data format. This means he could potentially wrap a simple script around them and automate the process if he needed to do it on a regular basis.
Would this be free & scriptable on Windows? It's been a while since I had to do anything comparable on Win, but I think he would have had to buy MS Office (Pro?) with VB or Visual C++ to do it.
It would be completely trivial on Windows since mdb files are accessed with the Jet database engine, one would set up a database connection string just like when accessing an Oracle or SQL Server database through ODBC and then use whatever database api is available in one's language of choice (vbscript, javascript (both of them available as 'standard' cscript engines on any installation of Windows since 2001), powershell, visual basic, C++, ...) to extract the data.
Or, one would google for 10 seconds like I just did and find for example http://timothychenallen.blogspot.com/2007/08/vb-convert-any-... which does that for you and converts the file into a csv file, and then process it like other csv files. No Office or Visual Basic required.
So his claim 'this would have taken a couple of hours' (about converting the mdb to csv on Windows) is a load of bollocks and FUD. He didn't even search for it I'd wager, and let his ideologically myopic view cloud his pragmatic judgement. I'm not sure why people are defending this sort of juvenile fanboyism, it's drivel like this that makes the rest of us serious users who propose Linux in situations where it actually is better than the alternatives look like nutcases.
All the dev tools (C++,C#,VB,ASP etc.) are free on Windows via Visual Studio Express. And although I've never tried I'm pretty sure the database drivers needed to read and write .mdb files are included with Visual Studio Express. So no need to buy anything.
mdb files are not easy to open, unless you have MS Access. Lots of Windows computers lack MS Access.
Now, you can still open mdb files on Windows, using the Jet Engine and something like ADO, ADO.net or ODBC, but the details of that are a bit too gory for the mild mannered command line junkies here.
Sure, and for a reason - they contain a lot more information than a csv file can. It contains metadata on the table columns, relationships, etc. We don't complain that MySql or Postgresql files are binary, so using 'it's binary' as an argument against mdb is bollocks.
Of course, maybe the source of the data was wrong in choosing mdb as the format, and a csv would have sufficed. I don't know, that's not the point here. The point is that mdb is the easiest way to get 'database-like' information that is more complex that just a flat list of records into the hands of 'regular' users, as much as that may dismay those for whose platforms nobody has written software to open them.
You are correct in that a database file may contain more rich data that CSV. I think it is open to debate, however, whether a closed format like MDB is easier for the end user, over something open like SQLite.
I'd estimate that 90% of the Windows computers out there that are used for 'everyday' work have Access on them. For those users, opening the file is basically double-clicking it.
For that to work with sqlite databases, one still needs to install a GUI tool first, hope that it associates the right extension with the sqlite file you have, and then get over the database-centric user interface that all of them have.
Look, I'm not saying that mdb is better than sqlite. But I am saying that the notion that the 'openness' of sqlite somehow makes it easier for regular users to open them is a crock.
Or maybe we can talk about if using sqlite databases in simple, 'script-like' applications is easier than doing the same with mdb/Access databases. That is more nuanced and depends on what environment you want to talk from etc. But that goes far beyond the definition of a 'user' as in the use case of the OP (a large student body to whom exam results need to be communicated).
I would estimate the number of Windows computers used for "everyday work" which have MS Acces on them is more like 15%. That is just in my personal experience though.
OK fair enough, I don't have anything more substantial than a wild-assed guess to back up my 90% claim. I'd still say that an mdb file is closer to the everyday experience of the average Windows user than an sqlite file is. And even if they're equally difficult to open, the 'openness' of the sqlite data format is still of no importance whatsoever to the average user, which is the original claim I was opposing.
Exporting the file to a csv format (using microsoft access) wouldn't have taken any less time than me finding the right tool on linux and doing it, that is if I had Microsoft Access.
How about this story? "Something goes wrong and shit doesn't work. At this point, we would expect to be completely stymied. But no, instead, we manage with a bit of googling and dicking around to fix it!" The comparison isn't with opening this particular file on different operating systems; it's with how you can recover when shit goes wrong (which does happen now and then on all operating systems).
From that story one doesn't draw the conclusion 'Linux is awesome'. At best, it would be 'Google is so cool, I allows me to fix things'.
Let's face it, this 'article' was utter fanboyism, and does not exhibit any form of proof that Linux is better than whatever.
(I've run Linux since 1998 and I do prefer it for some tasks, like server tasks. I have many years of experience and am well aware of its strengths and weaknesses. Interoperability with the files that 'regular' computer users use is not one of those strengths).
I recollect a similar situation when I volunteered for a Linux fest. (http://wiki.sampada.net/GNU_Linux_Install_Fest) The venue could only accommodate 50 odd people but > 300 had registered on the eve. We needed to update all that after 10:30 am seats may be full and we might not be able to accommodate all, at 10 pm.
Again, not an example of any form of superiority of Linux. 30 seconds of google shows us http://www.oreillynet.com/wireless/2003/10/10/sms.html , allowing you to (with a free tool from Microsoft) do the same. Oh, and you can do it over Bluetooth and infrared, in 2003.
Have you ever tried to get infrared data connections to work on Linux? I have, and I can tell you that it takes many, many times longer on Linux just to figure out how it should work (in my case, infinitely longer, since I never did get it to work).
I'm not here to say that one is better than the other, just that the examples here do not prove one or the other, or not even give a hint in the direction. They're all completely trivial things that can be done by a competent user on any OS.
Not to nitpick, but the above linked post says that the author of Windows XP Unwired too could not get smssender.exe to work in command line mode, to send messages in a batch.
>> his argument is basically 'Linux couldn't open a file that everybody else could, but by dicking around with random half-assed documented tools we could do it anyway!'.
May be one could even interpret it like 'there are a lot of software vendors who force their users into proprietary solutions and formats but with Linux at hand, limitations could be worked around to get things done'.
No, one couldn't, or at least not from the situation presented here.
Look, there are two situations in the example in the OP:
- 1. User has 'regular' Windows PC with Office. User downloads file from website, double-clicks file, is on his merry way.
- 2. User has Linux PC and an ideological axe to grind so doesn't want to use anything else. User needs to hunt internet for software, turns out not be be so easy, spends hours and finds intense satisfaction in accomplishing something that is considered trivial by other people. User then proceeds to write blog post proclaiming, totally and utterly non sequitur, superiority of Linux because he managed to accomplish said trivial task.
The only 'limitation' here is a self-imposed one - the guy refuses to use anything but Linux to convert his data on. That's like saying 'I ran a marathon with a rope of 30 cm tied between my ankles'. Impressive (in a certain way), sure - but why? Why not just run the more efficient way like everybody else, with no rope?
If you're going to defend your OS by cherry-picking tasks that are somehow easier or more elegantly done by it, go ahead - the internet is full of them, but hey what do I care, everybody is free to do whatever they want in this regard. But this 'example' doesn't make any sense and confirms the general notion that Linux is for people who like technology for technology's sake and revel in finding convoluted, over-engineered solutions to the most menial tasks. And in that sense, it affects us normal people who just want to get stuff done too, because it causes a negative image for Linux, rather than what I'm sure the author thought would be a positive one; hindering its uptake in contexts where it is superior or appropriate.
I'm not saying this guy single-handedly destroyed Linux, I'm just really desperate with seeing this toxic single-mindedness still being so pervasive, after all those years.
I don't see how this has anything to do with "Linux" - if anything, it shows how powerful google/the internet and the open source community is since nowadays you can expect to be spoon-fed a solution for almost every problem you can come up with.
And I think "Linux IS great!" articles at this day and age are pretty much unnecessary - this battle has been fought (rather) long ago.
The real joy of using Linux and open source software is that you realize that you are the only limitation, and that you can hack anything and everything. It's like a huge, enormous box of legos to play with:-)
my joy of using linux gone away long ago when i realized that i was spending more time searching forums, hacking drivers, trying solutions, paying more for compatible hardware, not having my laptop extra buttons work or trying to speed up a virtual machine just to have a usable photoshop than actually _using_ it.
i'm a happy mac user now (user, not fanboy) that enjoys having a posix compliant terminal in a window and photoshop in another, all working out-of-the-box.
You're just proving the point that linux ( and this can be said for ANY os ) is not for everyone.
For the past 6 years, I've been much happier with my experience using Linux and the several distro's I've tried my hand at while no it night be perfect I've learned a lot and have been generally more please.
I don't require or use Photoshop, however you do so your wants and needs are different than mine.
I can list problems I've had with windows, that had me run into driver issues, searching through forums and the many many mishaps ( not virus/malware related ) that I've run into. But in the end it would just boil down to my bad experience vs the millions of windows users who would protest to the contrary.
Thanks for the suggestion. I've had better luck with Macports so far, I just wish that a package manager was as seemlessly built-in as it is in Ubuntu or Fedora.
Well, this is also my experience with linux: many things you want to do just don't work out of the box. There is always (nearly) a way to do things, though.
But if you really want to do work and not always fight against your tool of choice, linux is not the thing to use.
For coding, I replaced it with Mac OS. This saves me 98% of the problems I had on linux.
To be fair: I wouldn't know an out-of-the-box way to convert a MS Access file to csv on the Mac either.
I'm not trying to start an argument, but in regards to coding, I take your point completely if your talking about iOS development or something specific to Mac Programming, but if not, what exactly were the obstacles for development in Linux.
I use Linux mainly because of its ease of use in terms of development. I would be interested in hearing your arguments for the Mac. My friend recently got a Mac, and unbeknown to himself was forced to download a 2.something GB download for the developer pack just so he could get GCC, Now I know there are better ways to achieve this, but this to me seems counter productive.
"I use Linux mainly because of its ease of use in terms of development. I would be interested in hearing your arguments for the Mac."
I used linux on a Thinkpad T41 for years.
The problems are not so much the real development stuff, more about the things that you have to do apart from that, like cinerama mode for an external screen (took me several attempts with the configuration file), make beamers work, wireless (cough), permanent fan noise you want to get rid of but the power management did not work, kde that tries to copy windows ("you have old files on your destop", "miranda apeared in skype" while you try to give a presentation ) and thus is not usable IMHO (I used window maker which is fine), no decent office suite (open office is a copy of MS office but 10 years behind), software you just want to try, but have to compile, shared libraries problems, no bootable backup, no first class image manipulating software (gimp just sucks compared to photoshop), ... Is that sufficient?
Well, of course, this is all fixed in the latest version ;O) and everything has been solved by someone - get the point?
Linux is a very stable and reliable system though, once you have installed an configured it properly. But Mac OS is that too, and configuring it is quick and easy.
I am much more concerned about Apples latest iCloud stuff and about privacy on Macs. Thought already about using linux again. But productivity is certainly much higher on Macs.
"My friend recently got a Mac, and unbeknown to himself was forced to download a 2.something GB download for the developer pack just so he could get GCC, Now I know there are better ways to achieve this, but this to me seems counter productive."
Development on Macs is certainly not without problems. I think Apples philosophy is to provide the whole package to assure there is not problem because of missing parts.
Being a Mac developer is also not free anymore. XCode 4 is the first version of the development tools that costs money. Nothing compared to Visual Studio of course, but the direction is not so great.
I usually ignore all these tools and use Netbeans or bbedit and commandline tools. I can afford that because I build scientific software in java and don't have to deal with Apples packages.
You know, he could have inserted his installation DVD and installed it from there. Also, Ubuntu ships without make, Ruby or Python, too, so I can't really see that Linux is at an advantage there.
After that, both Linux and Mac are Unix systems and have package managers that can install stuff (third party on Mac). Personally, I spend most of my time in Chrome, a terminal and Vim. On OSX. Because I like it that way. But I could certainly replicate that same development process in some Linux distro.
Also, many Linux applications work just fine on OSX but not the other way around. So there is some argument for choosing OSX. Also, all that basic stuff like connecting to networks, having MS Office, etc. just plain works better on OSX. But to each his own.
I fully appreciate this, and the 3 applications u have listed are the same as the one's I currently have open.
I stay with Linux as my laptop is fully supported (i.e all devices work seamlessly across almost every distribution I've tried) and I generally find it faster and I guess I also like the lack of a price tag I as a student experience with Linux.
>Ubuntu ships without make, Ruby or Python
Since when does Ubuntu ship without make and python? Python 2.X has been included in standard installations for quite a few releases now. I also can't remember the last time I had to manually install make.
A barebones install might not have ruby or python. When I install it as a server I try to reduce the packages to a minimum and build up from there. I usually try to a network install as well (for Ubuntu or CentOS).
I would rather put on whatever I want later.
A default Ubuntu install I think has Python on board. Not as sure about Ruby.
Any time I set up an new virtual machine with some variety of Linux, I have to install some stuff to allow the VMWare extension to build. The exact requirements change from version to version, but it never worked out of the box (and I am not only talking about kernel headers here).
Actually, the latest version of Ubuntu seems to include that extension out of the box, which is friggin awesome!
By the way, I think that this is not a problem at all. I'd prefer a clean, lean system to Windows any day.
To compare Linux with MacOS (or Windows) you should buy also a computer MADE to run Linux.
Please, go ahead and install MacOS (or Windows) in a bunch of HP Proliants or in a Sun Blade. How about in a Compaq nc6300? OK, you probably like better a Thinkpad X1. Maybe in your Netbook? How about in that old P3 you have at the basement collecting dust? Even better, why don't you install Lion on your old PPC iMac?
Well, I have Linux running in ALL of those computers and ALL of them work pretty much "out-of-the-box".
Linux users are mostly lost without Google, myself included. It gets you into a yak-shaving mindset. Ditto with Emacs. If I can stop fiddling I'm sure I'll be more productive.
"The same technology that simplifies life by providing more functions in each device also complicates life by making the device harder to learn, harder to use. This is the paradox of technology." -Donald A. Norman, The Design of Everyday Things.
My main take away from this post is that you shouldn't make bad assumptions about data formats.
However, my Linux experience is much like the author's: assume you'll get something to work, find out what's missing, apt-get to the rescue.
The problem for me is when things go out of date. I try to install something and it triggers 250MB of seemingly unrelated updates. In all fairness, that usually happens when I build stuff from source, not when installing packages.
For guys who say it would be easier to do this on windows: I have worked on windows a lot but nothing on windows would stand against the simplicity of mdb-export myfile.mdb marks > marks.csv, this is obviously subjective.
Small is not quite exact. MacPorts has 8,000+ ports. Homebrew has 1600+ formulae but this is an awful metric due to the distributed nature of its development (2000+ forks, with some very specialized) and it is barely two years old!
Wouldn't using the synaptic package manager work better? I've heard it touted as one of the reasons for Linux being superior than Windows and Mac (except for App store) by having a central repository of many programs. Want Gimp? sudo apt-get install gimp or mark Gimp in the package manager and it'll download and install all the related packages and dependencies.
My only gripe is that the search is not good but Google spoiled me.
The search is not an internet based search. It is looking though the repositories that you have selected (cached on your system). If you don't have the right repos you will not find what you need.