Oops, typo -- it's one of my favourite ales too. Don't worry, I've lived in Scotland most of my life, and I most certainly don't confuse England with the UK! However, the taste / temperature issue applies to Scottish beers too, and it was a general statement. I certainly don't discriminate when it comes to good beer!
England should let them go and concentrate their efforts instead, on making a beer that's worth a fuck.
Nothing wrong with English beers, there are a great many excellent ones, and many interesting regional ones to be found. The UK does good beer -- go and find a bottle of Norfolk Nog, and tell me it doesn't taste wonderful, or try a bottle of Fraioch heather ale, and note how refreshing it is.
It might be the case that you're too used to crap beer that needs to be chilled in order to taste okay. Good beer isn't supposed to be served warm, just cool, because you're meant to be able to taste it.
Socialism doesn't keep you at work, when you're sick, that's capitalism, with its "performance at the expense of everything else" approach. Or were you being sarcastic? (I can't tell).
Also, socialism provides free medical care to sick people, so they don't just put things off and get worse and worse until eventually they eventually either need an emergency room (at a much higher cost), or spread communicable but treatable diseases like TB. It also makes medicine cheaper because of collective bargaining, rather than allowing each person to try to bargain for something that they can't do without.
I've had half a lifetime since I got my 6 digit ID.
I use Octave and totally ignore Matlab compatibility. This enables me to use the (IMO vastly superior) Octave syntax additions. On the odd occasion I need to go back to Matlab, I find the syntax incredibly restrictive. Small things like ++i, default parameters, and temporary expressions, all of which make life so much easier. I understand why this situation exists, but I think it's a terrible shame.
Then there's Octave's ASCII format for storing structures and multidimensional (>2 dim) arrays. That single feature alone is why I don't use Matlab.
I was at the recent Elsevier Epidemics 4 conference (a good conference by the way, they've discussed many important things and highlighted a lot of important work), and they noted that despite growing attendance over the last few years, they've received fewer and fewer submissions to their Epidemics journal, despite it being Open Access. I suspect the boycott is indeed starting to bite.
I'd rather Matlab was 100% compatible with Octave. I find myself increasingly frustrated with Matlab's shortcomings next to Octave -- mainly how it's so much easier to get multidimensional data out of C and into Octave compared to Matlab, which is primarily why I don't use Matlab. That and the syntax, where Octave beats Matlab hands down (if people like my code, but want to use my code in Matlab, they can convert it themselves).
At home I run GNU/Linux (Linux Mint), and all the software there (apart from Minecraft) is Free/OSS. I do have a copy of Windows to boot into so my wife can play Plants vs Zombies (I had it running under wine, but it didn't always work perfectly), and occasionally Half Life or Portal. I also have a lot of console games that aren't F/OSS. Really it's just the games that aren't, but I'm really not bothered by that.
At work (I'm a post doc research assistant, modelling E.coli O157 spread in cattle), in one office I run under Linux, and the only non-F/OSS program I run is Maple, because there's no good alternative that I'm aware of. At my other office I use a Mac, and also Word and Powerpoint. I have protested at length about this, and my boss will occasionally allow me to use LaTeX (which she used in the past), but in general it's the collaboration part where things fall down. Also no journal that I'm aware of (and am interested in submitting to) accepts ODF documents, and Libreoffice (while I find far better for actually working in than MS Office) almost never seems to manage converting documents to DOC without things going wrong, especially the references.
My PhD thesis was entirely written in LaTeX, and the work done in C++, GNU Octave, Inkscape, and Maple (the odd one out). For presentations I used a mix of OpenOffice/Libreoffice and LaTeX. Ultimately, if I could be 100% F/OSS at work (and home except for games) then I would, but I'm not the one who makes those decisions.
It's been the year of Linux on the desktop for me since around 2003, when the guys I shared a flat with deliberately set the anime server so windows users couldn't access it (I was dual booting at the time, and decided I didn't really need to stay in Windows any more).
Nowadays I'm a postdoc research assistant working in mathematical epidemiology; I do a lot of programming and writing (mostly in LaTeX), most people at work use Linux, and having it at work and home makes my life very easy.
Yes, there's occasionally a game I can't play under Linux that wine can't handle, so I do still have a partition for Windows, but I'm now so unused to Windows that it feels alien and clunky, and I miss all the features I've become accustomed too. Given how it can be just as difficult to fix problems when they occur in Windows, if it weren't for Windows massive market share, I'd question if it were ready for the desktop yet.
Your opinion as a non-scientist on the matter is of course equally valid as that of an expert in the field.
That said, it's fine to comment on why you think the experts may have conflicting interests (this sort of information must be declared in any scientific papers they publish).
So you spent the last ten years looking at the cool Linux screen savers?
No, the usual stuff: playing Minecraft, watching DVDs and other videos (we don't have a TV), spending ages on the Internet, and catching up on work. My wife uses it for those things too (except she prefers Plants vs Zombies to Minecraft).
2003 was the year of Linux on the Desktop for me. Has been ever since too.
Eh, I really liked GNOME towards the end of its version 2 cycle. The Mac OS ness didn't bother me at all, I thought it looked great and was really easy and nice to use. I've recently started using a Mac for work, and I'm pretty disappointed at how unimpressive it is in comparison. The way OS X handles multiple desktops seems like a total regression.
That funny row/column order in matrix indices (aka column major order) is because it's the correct mathematical order.
Consider that you can only multiply two matrices if matrix A is of size [i,j], and matrix B is of size [j,k], i.e. the number of rows in A must be equal to the number of columns in B. The product C=AB is then of size [i,k]. This works for any number of matrices, so, [i,j]*[j,k]*[k,l]*[l,m] is valid, and gives [i,m].
This naturally leads to the indexing you see in Fortran and Matlab, because it's the way mathematicians like it. If you had row major order, then [j,i]*[k,j]=[k,i], which is pretty horrible in comparison.
Thanks for the link. My problem is that there isn't any one bit you can point to and say "that's the slow bit" (unless it's telling the code which parameters to use, varying the parameters, and then graphing the results when done -- I'm currently doing those parts with bash and Octave, and to be fair I would probably be better off doing both of those in Python).
The main work is the simulation, and it's where I've got a trivially small amount of data (say a 20x20 lattice of sites containing the number of susceptible and infective animals), so I need arrays to store the numbers of individuals, the birth, death, infection, recovery, dispersal rates for each site, and one that keeps track of which sites need updating.
The bits you might think would be the slow bits (summing arrays, checking there are no groups with negative numbers of individuals, converting rate matrices into cumulative distribution functions and using a binary search to select an event) just don't seem to have that much of an effect on the performance. The only time that a part significantly stands out is when calculating dispersal across the entire lattice, rather than a nearest neighbour dispersal. The rest is just lots of small things that need to be done randomly and frequently.
I have profiled the model quite a bit, and the C code is over 300 times faster than the prototype written in Octave (taking advantage of vectorisation whenever possible, and using fast algorithms), but all the non-performance critical bits are either deeply embedded in the code (which is horrifically loopy by nature of the problem), or necessary for the rest to work. So Python isn't really going to help.