Cancer? cut out the middlemen and get the scientists onboard

I just read this article: http://www.telegraph.co.uk/health/healthnews/9508895/A-virus-that-kills-cancer-the-cure-thats-waiting-in-the-coldc.html

After going through it, I thought to myself that the only problem here is a single million euros, what exactly is the problem?  We could probably fund this stuff using tools like kickstarter or perhaps even looking at this link:

http://theoatmeal.com/blog/tes…

there are ways to put money directly in the hands of the people who will use it without giving it to the charity middlemen who slice and dice that money with a thousand tiny cuts until it’s a fraction of what it was.

if we started to fund directly things like this, instead of relying on middlemen, we’d probably be able to russle up many times that million of currency that he was asking for, are you telling me that a cancer sufferer wouldn’t stump up 10 quid/euros/dollars to a charity which has a seemingly workable solution.

combine that with peer review and a proper scientific process that simply put up a shopping list of items they need and the results as soon as they are acquired and I’m sure there are millions of people who could find a single unit of currency, multiply that by the actual value they give….

the link I gave you above, he raised that for a bloody museum for a guy who is dead for 50 years and he raised 1 million dollars in NINE DAYS!

if you can do that, you can do anything….we just need to start using the tools correctly, it’s 2012 and we can do these things, we just need to get people onboard the train!

The actual plan might go like this, a scientific community could produce a list of reasonable treatments that need funding and things they need in order to go forward, the scientists involved would peer review each others work without question since they already want to do that, but if resources are needed to fund peer review (the experiment for example) then it could be on the list of things they need to purchase.

This list of items can be directly funded by people using those donation websites and the money directly into the account of those who will spend the money on the actual work, no more middlemen! no more wastage at the middle.

Once results are back, they are owned by the scientists AND the people who funded the work, so the results are published in order for more peer review to take place.  Selection of new directions and possibilities are created by that peer review and of course, if the people consisting of the millions of internet users collaborating can fund even more development.

Bogus results would be exposed, research would be optimised and the scientists combined with the more intelligent of the community around would effectively balance the system so it can’t be abused by the guys pulling on strings to get things done which aren’t actually effective.

So it’s a self-balancing system, if done correctly, would provide MILLIONS, not a single million of euros to the people who actually need it.

With a feature like this, I can’t see anybody with a viable cancer or any illness being underfunded for long.  Obviously the more dangerous comes first on the list cause it affects more people, but over time it could be expanded and hopefully not abused to geniunely push research forward ON A SCIENTIFIC BASIS ALONE.

Git post receive hooks

If like me you are a developer and you use got locally. You might also be like me in that you use git to “push to production”.

When doing this, you need to have a git post receive hook. Inside that hook might be something as simple as

GIT_WORK_TREE=/some/where/in your/server git commit -f

However this only works for your website source code, but what if you use a framework, or like me have one you also want to deploy and keep fresh and up to date? Then you have to do something else.

In the same git post receive hook, you can do the following after the above statement.

cd /some/where/in your/server/framework
env -i git pull origin master

And this will do the website update and checkout, followed by your framework code to!!

The env -i is important because it clears your environment variables and this is important because fit will try to use GIT_DIR whenever possible and of course your post receive hook sets this automatically which would cause your git pull to fail…

Hope it helps!

desktop linux is a joke

I thought I would give my two pennies on a slashdot thread about why desktop linux never arrived, you can read about it here :)

http://linux.slashdot.org/comments.pl?sid=2820335&cid=39847929

Although if you don’t want to click the link, here is what I said:

lets face facts, yesterday, I was thinking, did the nvidia driver install or not? so where do I open to find such information? the 10,000 line x.org log file in /var/log or do I open a control panel and find it inside the monitor section? nope! cause it’s not stated.

so it’s 2012 and yet I have no fucking idea what graphics driver I am using yet windows 95 could tell me that, what is the colour depth of my screen? oh yes, but I can’t find it in the monitor section, I need to open the nvidia setting graphics utility to find that, how can I turn off vsync? in the monitor section? wrong again, no I have to use some old utility that looks like it was build in the 90’s by a programmer with autism.

fact is, linux is shit on the desktop and practically all of them are the same, they just try to mask it better than others, perhaps linux mint is the best desktop distro so I’ve heard, it’s certainly better that debian, which rocket scientists have problems with.

let me iterate again, it’s two thousand and fucking twelve and yet you bunch of clowns can’t even get your shit together for long enough to write a fucking graphics/monitor dialog that might make me think you actually intentionally wrote a useful tool, as opposed to accidentally inventing regexp and thinking you’re shit is done and time to go home.

pulseaudio? are you fucking serious?? I have two fucking speakers in my computer, if you can’t get pulseaudio to work with hardware which has been around for the best part of a decade, you’re a moron, you claim your software is technicall better than anything else, yet in practice it’s shite and barely works even at the best of times, yesterday I found on some obscure forum that if I open the default configuration for pulse audio and change some enumeration value with an extra ,0 or ,1 or ,2 depending on the enumeration index in my computer it’ll play sound, HOORAY FUCKING HALLELOUGYAH! (or however you spell it, lets go grammer nazi’s!!)

why you guys are all circle jerking each other over wobbly windows, or the latest opengl 3d desktop cube touch screen intuitive desktop interface of the future you’re house is on fire, windows 95 beats your ass into the ground in terms of simplicity and basic tools that nobody has even had the balls to say “fuck open source, you do it my way of the highway” and actually make a system which works, is reliable and actually won’t screw up the next time I hit the “install updates” button

can you imagine the shit microsoft would take if installing updates blue screened a bunch of computers, yet that shit happens all the fucking time thanks to the beauty of linux, where even simple things are made impossible.  I did it the other day, I upgraded my desktop, when I rebooted, unknown boot device, AWESOME!!! THANKS GUYS!! please walk in front of a bus, remove yourself from the genepool cause I’ll be fucked if I recommend any of your shit to anybody whilst you can’t even tell me the graphics driver I am using whilst inside x.org and without typing in something that looks like my cat just jumped on the keyboard…

seriously, you want to know why? it’s because you guys are a bunch of clowns, thats why….

Rolling Democracy

to be fully honest, I think that we could do better than all of the current parties by removing the “party” system and moving to a “slot”
system.

instead of one group against another, why not “positions” or “slots” which are filled by the candidates of which we choose.

the foreign secretary could be filled by whoever we as a country believe is best for the job, the economic secretary, the same way, all the way down to who runs the local council rubbish collection dept.

a lot of work? with all the technology around us, it’s a piece of cake, dont let anybody tell you otherwise, they just dont want it because it would mean we actually get the right to choose…shock horror!! the people get to decide??? but they are all incompetant morons aren’t they????

the fact is, we need more accountability and what better way is there than a system where it doesn’t matter who your party is, just whether we agree that person should fill the slot or not.

hate the current economic minister? gather a vote of no confidence of 40% of the country and we will replace him with another candidate.  Perhaps 40% is not enough, perhaps needs to be higher to allow people to do a job for more than a week without getting kicked out, cause then the country would be worse off.

I think this kind of rolling democracy is the way to go, it’s the only way to destroy the current system and build up a better system that would allow us as citizens of our country to actually return to running the country, instead of somebody else doing it for us.

modified prototype js that respects your opacity settings

hi guys,

now, I’m a prototype guy, I can do jquery, but I find it easier to build apps and OOP structures using prototype, but one of the things that annoys me about it is that sometimes it doesnt respect my authority!

say you have an element in your page you want to fade in and out with opacity settings, normally, in my code, I set display: none, then I set opacity: 0 and when I want to fade it in, I have a little reusable function that uses prototypes setOpacity() method to abstract the differences between how IE and firefox do things.

but the problem with setOpacity is that when opacity reaches 1, or 100 in IE, the method removes the opacity attribute by setting opacity:”” which basically removes the attribute, the reason this is done is because in IE, the cleartype font rendering hates opacity settings and when you fade in an element using a interval based animation, the font type screws up and looks ugly. in all the other browsers it’s fine, just IE.

so whilst your transition fade is happening, you’re fonts look ugly, the answer therefore is to not use the attribute, but well, not much choice if you want to fade something in, so their answer at prototype was to remove the attribute when the element was faded into view, because they view opacity:”” as the same as opacity:1 but opacity:1 has font rendering issues, but opacity:”” basically removes the opacity settings and then that means the element is displayed perfectly opaquely.

The problem with this, is that if you have in your stylesheet opacity:0 for example, in firefox, when you reach opacity:1, your element disappears, because setOpacity then does opacity:”” which mean it’ll default back to your stylesheet, opacity:0

Their answer was kinda obvious dont put opacit settings in the stylesheet.  So basically I have to find another way of doing things just because of what happens when they handle setOpacity(1), which to me, is stupid.

The answer that I came up with was an extra parameter which when set to a true value, would mean that setOpacity(1) would result in opacity:1 and not opacity:”” and false would do the status quo.

setOpacity(1) -> opacity:””

setOpacity(1,true) -> opacity: 1

to me, it’s my decision wheteher I want to live with crappy font rendering or not, I prefer to let IE users have crappy fonts than cramp my development style working around bugs in prototype.

So I created a patch and uploaded it onto their lighthouse development system, it got rejected, or forgotten about, or whatever.

But if you, like me, want that setOpacity(1) means opacity:1, then you can download the file I have attached below because it is a modified version of prototype 1.6.1 with the modifications I made against 1.6.0.3 for the new force attribute.

Enjoy and please let me know if you think this is a good idea or a bad idea!

prototype.js 1.6.1 w/setOpacity modifications

UPDATE (2/8/2010): I had a better idea, rather than modify the prototype source code, I realised that I was being a bit stupid, I could use prototypes addMethods to overwrite the base methods with versions which I think are better and easier to use, and solve some common programming problems that prototype causes with it’s “policy invasion”

prototype.fix.js

Call to action!!! Book: Wasting Police Time

The book, named above, is a pretty critical piece of work by PC Copperfield and I recommend it, merely for the amusing stupidity that infects our police service. The ISBN is: 978-0-9552854-1-7

everyone buy it now and read it, you’ll most likely be told what you already know, but you’ll at least find it funny and have something to talk about the next time the topic comes up.

It’s not just RIPA or other Laws in this country that needs investigating, it’s the entire system, the problem comes that the people who oppose changes are the people finding themselves jobs and changing that, eliminating jobs, is eliminating votes, who is going to vote for a party which plans to radically tackle beaurocracy? You? I hope you have skills in other areas and find a job soon.† Also, I’ll expand that to read the entire country is in critical need of help, so it’ll let me talk about more broad topics.

If you’re a beaurocrat, you’ll vote the other guys, if you want to keep your job anyway, so the problems faced are significant.† People need to start thinking about the big picture ™ and not just their small piece of it, not that it’ll happen anytime soon.

What we need is a PM who is going to shake it up, not give a damn about getting re-elected and just tear through the system.

IT contracts?  yeah, with expensive failure clauses. You can’t find a contractor to agree? fine, divide the contract up, spread the failure across smaller companies.

BIG IT contracts? who needs them anyway, you want an integrated NHS service, are you REALLY REALLY sure you need IBM to achieve it? or do they need to just design the principles and push local IT companies to do the implementation at a LOCAL LEVEL? Failure clauses? sure, but since the risk is now smaller, surely you’ll find someone.

Police service? It would be great if seargents and the top brass of police were electable, then at least we could get rid of the useless ones. We need to rebalance the entire system and starting with this incredible nonsense called Political Correctness. In Wasting Police Time, PC Copperfield explains thusly (paraphrased).

I walked up to a known drug dealer, asked him “Hi Ray, Got any drugs?” which he replied “no”, I searched him and asked him how his wife and kids were and mentioned that his eldest is about to take his GCSE’s, found nothing, he walked away with a smile and a wave, it was almost “chummy”, friendly.† Now contrast that with the reaction a suspected black car thief gets, it’s similar to: We are searching you with our powers granted by the PACE act 1984, here is a copy of your information, here is a copy of the form I filled out to authorise the stop and search, I am based at Newtown police station, you are required…[Ed. get on with it…}etc.etc.etc. In the end the treatment the ray, the white drug dealer got was completely different from the black car thief, which is not what people intended.

That Sums up completely what is wrong with race relations and the police in this country, they are SCARED of arresting non-whites because then they have to defend themselves against racial allegations.

The NHS? make redundant most of the people who fill in paperwork and let doctors and nurses COMMAND their wards, like the Matron of old, that system worked and worked very well, people seem to think that the idea behind the NHS was a new idea, it was actually nothing new, just a new name for something that already existsed before it, albeit with more resources, wealthy people in the days before the NHS used to pay donations to keep the poor healthy, albeit on a much smaller scale, all Labour did was take the idea and apply it to the entire country and tax everyone to pay for it.

But now, we don’t pay for nurses, we pay for Beaurocrats, I know which type of Beaurocrat I would prefer, one that knows which end of the needle to stick in me, or one who knows how to put plaster casts on broken limbs. If you’re going to employ people to do paperwork, don’t employ someone new, make their existing workers do it, then at least the staff levels don’t increase, not enough time to fill in all the papers AND do your job? ok, reduce the amount of paperwork.

Has anyone considered that most of the paperwork is merely Ass-covering? What is the point of that when there are people waiting outside for 4 hours to see a doctor? Paperwork is coming BEFORE patient care. How did that happen?

Lots of things need to change and we need to start thinking about laws that affect us and laws that do not affect us. just because a law doesnt affect you today, doesnt mean it doesnt affect you tomorrow, stop thinking JUST about yourself, start thinking outside your cosy life and standing up for people who are nothing to do with you, only when will you find the assistance you need when you need it.

To quote a poet who wrote: First they came…

First they came for the Communists,
– but I was not a communist so I did not speak out.
Then they came for the Socialists and the Trade Unionists,
– but I was neither, so I did not speak out.
Then they came for the Jews,
– but I was not a Jew so I did not speak out.
And when they came for me, there was no one left to speak out for me

Time to start waking up, time to start helping each other get what we want, maybe this article needs a more solid rewrite, with less ranting and more content, but it’s just something I posted on theregister.co.uk this afternoon, so I thought I would post it up here and see if anyone agrees with me enough to talk about it (or at least nod sagely)

Jeff Waugh censoring his blog

Hey, just woke up to a nasty censorship slap, here is the details,

last night I read Murray Cummings post about Jeff Waugh, I got to there from a link on António Meireles blog and I wrote back to analyse what had happened, I first went to Murray’s blog, read his very hard hitting entry and stopped to think that maybe it’s right, maybe it’s not, on Antónios blog, I wrote that nowadays everyone can write blah blah blah, but it’s not enough, you shouldn’t be contributing to a serious post in a “He’s not stupid, YOU’RE stupid” reply, what does that prove?

So I went about analysing the post murray wrote and posted it back, António doesnt moderate his blog, so obviously what I said, came into the world and you can read it at the bottom, if it was unfair, wrong, badly written, please let me know, but I think I had a point, in that, if you can’t contribute anything to a discussion, why bother, keep your mouth shut and let other people talk about it, because if all you can say is Nah nah nah nahhhhh nahhhh, then I don’t think many people are going to take you seriously.

So, I went to Jeff Waugh’s blog which is also linked from the same post and I read his rather depressing post about how Murray has a point and that everything is not how murray painted it, etc etc. So I wrote back, here is what I wrote.

8. Alex M. Says:
November 27th, 2007 at 10:18

I also have suffered from depression in the past and It can feel overwhelming and unbearable at times – but stick it out, things allways seem to get better even when you don?t expect it. I hope you get elected and can continue to do excellent work for Gnome, I think comments like Murrays are detramental to Gnome and free-software in general and hope he makes some form of apology soon.
9. Chris Thomas Says: Your comment is awaiting moderation.
November 27th, 2007 at 10:44

Jeff,

I really feel sorry if you?ve suffering, but where there is smoke, there is fire, what I guess we should do, is instead of saying ?oh well, thats YOUR opinion, this is mine? what you should do is start to analyse whether what was said, is right or wrong.

What murray commented on is that when an issue is brought up, you?re overly vague, evasive, put it down to ?personal differences?, etc, etc. Isn?t that EXACTLY what you?ve just done here?

I don?t see any point by point rebuttal, I don?t see any analysis, I don?t see any fighting, it?s almost like you agree with him, but can?t bring yourself to say it.

You?re periods of absence? You?re 6 months to bring a PR release for GMAE? What about not replying to emails, what about being non-responsive. Can ANY of this be wrong? Do you have ANYTHING that says murray is wrong? Surely if you have done work on gnome, if you?ve communicated, talked, discussed, this is open source, there is an audit trail.

Lets see where the cookies go.

But instead of putting the truth on the table, you react in EXACTLY the way murray explains you will do, replying with the way that you have here, you?ve not explained anything, you?ve not actually reponded to anything he says and I know you?re going to reply to me in a very predictable way, that this has all been discussed before and it?ll come to nothing.

WHERE, show me, I wanna click the links and read it, I wanna see four or five mailing list posts where I can see that YOU?RE RIGHT AND MURRAY IS WRONG.

Saying you’ve got depression is all very well, but you know, that when you are a firefighter and you have heart problems, you can’t fight fires anymore. So, lets break this down some more.

You’re saying that the reason for some of your actions is that you’ve got depression, ok, we’re all very sorry, seriously, I don’t mean that in a sarcastic way, but what you have to consider is that maybe your depression is causing harm to the projects you?re interested in, or involved in. There comes a point where someone calls you out, someone puts your health on the table and says, “we’re all very sorry, but your suffering, is becoming OUR suffering” and whilst we should all support those around us, to force that upon us is to do us harm as well as others.

Should that be “ok” ?

Your post is very apologetic, very vague and almost sounds like agreement with murray, to me, that says to me that maybe you should consider NOT running anymore, because you realise your problems are being forced onto everyone else and everyone is suffering because you refuse to face reality, that you cannot do the things you want to do, you are simply restricted by your circumstances,

welcome to the world, please take a seat.

chris thomas

Apparently Jeff hasn’t got the time to read my post and moderate it, but he’s got all the time in the world to approve other comments from other people, who as you’ll see, there are like 10 more comments after mine. So I am in approval limbo until Jeff approves my comment, I guess he’ll just say that he didnt see my comment was waiting, or that my comment isnt IN the system, what am I talking about?? “chris? a blog post from you? where? I can’t see it? I think it’s gotten lost in the post”

Isn’t this exactly what Murray was complaining about? what jeff somehow doesnt receive messages like normal people, but then says he didnt receive it, so couldn’t reply, you know, sometimes I’ve done that, it’s like this:

Someone emails you saying something you don’t really have an answer for, they put you against the wall, you really have two options, 1) reply and hope you can reply with something good or 2) don’t reply, say the offending email was lost and you never received it, therefore sidestepping the problem entirely.

We’ve all done it at one time or another, I know I have, Jeff seems to be doing it also. To back up what I am saying, I took a screenshot of Jeff’s blog and I thought it might be interesting to see, so here is the screenshot.

Jeff wauge's blog screenshot
Now, I don’t know about you, but I’d like to see if these comments get moderated or not, I’d like to see if they disappear, never get moderated, got lost in the post, or Jeff’s dog ate them.

Possibilities Possibilities.

I’ll update this post when I have more to say, I’ve got to email Murray and get some other people on board.

Chris Thomas

Another great GTK+ Dialog

Wow, it must be like the Month of GTK+ Dialogs here at my laptop, here is another cracker. Who can tell me how useful this is?

Another great GTK+ Dialog

This dialog is from The Gimp, where you try to save as a PNG and get a huge dialog to confront you and make you feel safe and sound, except you can’t really see most of the text and I am sure they didn’t mean it to be

<—– THAT WIDEEEEEEEE —-gt; :D

Stormy seas ahead for installing Linux with Vista (Or BSD)

Hey there!

ok, so I bought this new laptop at the weekend and I got it home, wow, it’s amazing, a HP Pavilion DV2570es (dv2000 on the front, what I said on the bottom).

Dual core T7100 (1.8Ghz per core), 2GB of DDR2 memory, 160GB SATA hard disk, PCIExpress, Geforce 8400M GS graphics, 1280×800 14inch screen.

All for 999 euros, which is like, 750 pounds in real money. So bloody cheap for what you get. Anyway, so it comes with Vista Home Premium installed, along with the customary HP software which most people just ignore and I uninstalled most of it :D

Took a DVD backup of the system, for the restore disks and decided that I would transplant my linux installation from my old laptop to the new one. No probs I thought, hook up Clonezilla, backup to my portable hdd, use Clonezilla to restore from the portable hdd in the new laptop.

DISASTER!!!

As soon as I reboot, I get the dreaded:

“unable to access \windows\system32\winload.exe”

So, not a happy chappy right now, I’ve just busted my brand new laptop. So, hours of reading the forums, asking for help in IRC, etc, etc, led me to this page:

ClearChain.com: FreeBSD & Windows Vista

Now, I know linux and bsd are not the same, but ultimately, if you see past this difference, you can see that there is no real difference in our situation.

The crux of the problem

The problem is that little number in the MBR called a UID which linux overwrote with it’s bootloader, now thats it’s gone, I cannot boot windows, omg, I just paid for a legal version of vista, yet now, it’s gone. basically windows vista required a UID number in the MBR to remain in order to boot, this method is DEFAULT, I mean, who’s fucking idea was this?

Why Why Why!!!

Vista needs to know which disk is the one which contains windows, ok, so the first disk right? Aha! no, in some systems, the boot disk moves around, I for example, could install another hdd, then vista wouldnt know which disk to boot from.

Take a look at that statement and figure out why it’s not unreasonable to think that the default behaviour is stupid.

The reason is, because 99% of people, who have vista anyway, which is what, 1% of people who have computers :D :D don’t actually change the hdd’s around, most people, don’t touch the internals of their systems, we techies, are not the mainstream, we are the unusual 1% who like to tinker. But the default method of identifying hdd’s, is the one which techies would use the most, 99% of people would never use, or see the reason for it’s use, put into action. So why do it?

Reasonable Reasoning

Why do you think Microsoft made it so that a UID in the MBR would be required to boot vista, even though it can boot without the UID perfectly well, even though the technique to identify the drive, would only be used by the minority of people and this method of relying on a UID in the MBR area of the disk could easily be used as a “fallback” if the dumb “use the drive the computer booted from” method didnt work.

Who installs bootloaders? (they are pieces of software which overwrite the MBR with a program which lets you boot alternative operating systems). Answer that question and you’ve got yourself a good answer as to why they made this technique of using the UID default. I mean, below, I explain how you can turn this off, so it’s obviously NOT REQUIRED.

So if you install a new bootloader, you’ll break your vista installation and have to repair it. Do you even know how? Do you have a restore disk? (you did make one, right?) Do you have a vista install disk? Do you know how to use a text console, which is required when you want to use the Recovery Environment? If you don’t know, you’ve just broke vista and you don’t have the knowledges you need to fix it. Better call your clever techie friend for some beers and a “hey, whilst you’re here, you could look at my computer for me?”

Not completely gone

I know I can restore the system from the restore disks I made.

yes, I was lucky in thinking that I should buy DVD’s at the same time and therefore had enough spare to make disks, if I didnt buy those, I wouldnt have had the disks, so I would have just said to myself “nevermind, I’ll buy some more on Monday and make the disks then” which would have left me high and dry

However, it’s a little bit of a funny story, you see, I live in spain, barcelona in fact, where I got the laptop from, I bought a spanish laptop, so everything is in spanish, I tried the restore disks at first, looking for Windows Recovery Environment, which the restore disks don’t have. I didnt see a difference whilst translating the Spanish, between

  • System Restore
  • System Restore Point

To me, they looked the same, so I was trying to restore my MBR by telling windows to migrate back to the last system restore point, which doesnt work of course, because my windows cannot boot, nevermind use restore points. So I convinced myself that the disks don’t work, they did, in the end, I found that there are advanced options and I just reformatted the entire laptop back to the factory specs.

The Warning

The basic premise is, don’t install linux on top of vista without doing something in vista first, if you do, you’ll make your vista unusable and if you don’t have a vista install disk, you’ll have to resort to using the restore disks and you might lose data. Follow the instructions at the bottom of here, in vista, THEN install linux as much as you like

The Solution

  1. Boot vista
  2. Open a Command prompt, AS ADMINISTRATOR
  3. Type the following
    • BCDEDIT /set {bootmgr} device boot
    • BCDEDIT /set {default} device boot
    • BCDEDIT /set {default} osdevice boot

Now, I don’t know what the link from ClearChain.com was talking about when they mentioned the Ultimate Boot CD as a method to do this, because I downloaded it and I was not able to get this working. However, I did try the Windows AIX to create a PE environment disk, which also failed as well, I don’t know why, just black screen, no boot.

You type those commands into vista, once they are done, you can install whatever bootloader you like and vista won’t complain, or know, or care, I did, I’ve got grub installed again and my life is as it was before I even touched vista.

See you soon, Take care, I hope you don’t break your laptop as quickly as I broke mine!

Chris

Linux, FAT32 and mounting options

Oh boy, this was great

the other day I was having some problems with eclipse, basically for some reason my folders and filenames were automatically getting renamed to lower case, I couldnt figure out why, at first I was blaming eclipse, you can read about these problems I had here:

Eclipse and Plug-in Dependency Fun

In the end I thought it was eclipse, so posted a “WHY IS THIS HAPPENING TO ME” message to the eclipse newsgroups. At the end, I was informed that maybe my linux mount options are to blame and I should look up shortname property.

OMFG “?”?%”?”%!”%&&//%(&/(%&/$%!!!!!!!!!!!!!! FUCKING LINUX!!!!

To put it robustly.

You see, for some insanely stupid reason someone decided that automounting FAT32 partitions should use the property “shortname=lower” and if you check your Windows readable USB memory key in linux, you might find the same property.

What this means, is that ALL filenames, will be shown as lower case, regardless of the original filename, which MAY BE UPPER CASE. It will still come through as lower case. Why?? Who’s insane idea was this? So let me get this straight, I create a file called MANIFEST.MF, on a case retaining filesystem (which means, it’ll keep the case of the filename intact) and we’ll redisplay that file as manifest.mf ??? Since when are they the same file?

NOTE:

In terms of filesystems, here are some of the definitions which are important.

Case retaining means that if you create a file called MANIFEST.MF, it will retain (keep) the case you originally gave it. However, if you open the file “manifest.mf” you will STILL OPEN the same file. Hence it retains the case of the filename string, however when opening a file (to read, write, append, truncate, etc). It’s not important and will open anything which matches the string CONTENTS and not the string EXACTLY.

Examples:

MANIFEST.MF is equal to manifest.mf MaNiFeSt.Mf MANIfest.mf, etc.

Case Sensitive, however, means the above, that it will retain case and that attempting to open the file for whatever reason, MUST GIVE the same identical string, with same upper case and lower case letters.

Examples:

MANIFEST.MF is equal to: MANIFEST.MF

MANIFEST.MF is not equal to: Manifest.mf MANIfest.mf MaNiFeSt.Mf, etc.

So, FAT32, is case retaining, but not case sensitive. However eclipse is case sensitive, VERY VERY case sensitive. So, when the linux filesystem driver gives eclipse the filenames meta-inf and manifest.mf, eclipse looks whether they are the files which it *requires* to operate properly as a plugin, META-INF and MANIFEST.MF.

The comparison fails, so eclipse thinks they are different files and therefore your plugin project is invalid. If you rename these files to upper case, you’ll get a valid plugin again, until eclipse refreshes the file list, which obtains the new lower case filenames again and ***BAM***, your plugin again, is invalid.

The solution to this is thus, you must mount the FAT32 partition using shortname=mixed, you can either put this into your /etc/fstab, where it’ll use it automatically, or you can do what I did and install the parameter into the gconf options, so when it automounts, it’ll use the property. You can do that by following these instructions

  1. open the gconf editor (if you don’t have it installed, install it, then open it)
  2. you’ll find it in the system tools section of your Gnome desktop menu
  3. Navigate through the heirarchy of folders to:/system/storage/default_options/vfat
  4. On the right, you’ll see mount options, open it
  5. change the value of shortname=lower to shortname=mixed
  6. click accept
  7. close gconf
  8. Unmount and remount your FAT32 drives
  9. FINISHED.

Easy when you know how, huh?