Forgot your password?

typodupeerror

Comment: Re:Linux on the Desktop (Score 1) 435

by Spacelem (#43693617) Attached to: It's 2013, and Windows Activation Is Still Frustrating

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).

Comment: Re:I'll second that. (Score 1) 815

by Spacelem (#43090619) Attached to: Gnome Founder Miguel de Icaza Moves To Mac

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.

Comment: Re:I get the impression that (Score 1) 180

by Spacelem (#42842667) Attached to: Python Gets a Big Data Boost From DARPA

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.

Comment: Re:I get the impression that (Score 1) 180

by Spacelem (#42819253) Attached to: Python Gets a Big Data Boost From DARPA

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.

Comment: Re:I get the impression that (Score 1) 180

by Spacelem (#42814371) Attached to: Python Gets a Big Data Boost From DARPA

Sadly, with the exception of a few times where I get to sum an array, pretty much my whole model needs to be run in a fast language like C or Fortran (I use C, my supervisor uses F77). It's the kind of model (a spatial stochastic disease simulation) that doesn't really lend itself to coding up in Python. No matrices, just lots of little bits of data interrogation, calculating one event at a time, and so many loops (unavoidable) that it would just crawl in Python. If you try to start in Python and replace the slow bits with C, then before you know it it's more C than Python. In the end, I think doing the whole thing in C is just less work.

I do all the graphs, and the non-spatial deterministic versions in Octave (R's graphs are prettier, but R is less pleasant to use), where it does take advantage of Fortran for the ODE solver, but that's the only bit. I do generally prefer the 1-based array indexing though, the only places I've found 0-based indexing useful has been dealing with C's inability to handle multidimensional variable length arrays in an easy fashion, so I wasn't really convinced by 0-based arrays in general. Perhaps I'd have been better off with Fortran, but that's just the way it turned out.

Comment: Not the only magazine to die recently (Score 1) 79

by Spacelem (#42163457) Attached to: Nintendo Power's Final Cover

Meanwhile, Nintendo-Gamer (previously N-Gamer, NGC Magazine, N64 Magazine, Super Play), which I've been subscribed too since 1994 has also died.

I used to read that magazine over and over, copying the artwork, trying the cheats, spending hours which two games I was going to ask for for Christmas/my birthday (right next to each other).

Sad times.

Comment: Re:It's not broken. (Score 1) 1154

by Spacelem (#41268053) Attached to: Ask Slashdot: How Would You Fix the Linux Desktop?

I've been using Linux on my desktop for 13 years now. It works just fine for me.

9 years here (although I first dabbled back in 2000). Cheers!

I use it at work too. I'm totally happy with it, far more so than with Windows, considering the hassle I've had to go through installing and maintaining it (whilst paying for the privilege). I'll admit that I've given up on the days of working on Gentoo, and went the easy route with Linux Mint Debian Edition, although I'm tempted by Arch.

As soon as Steam is available for Linux, then I'll never have to boot into Windows ever again. That's the only think I think needs fixing.

Comment: Mathematical epidemiologist (Score 1) 1086

by Spacelem (#40943709) Attached to: Ask Slashdot: How Many of You Actually Use Math?

I'm just finishing my PhD in mathematical epidemiology (and before that I did an MSc in applied maths).

Yes, I use calculus: it forms the basis of almost everything I do. I've used systems of ordinary differential equations (ODEs) to model disease spread, and the effects of culling. I've also used spatial stochastic models to examine the effect of space and small population sizes, which are based straight from the ODEs.

Partial differential equations (PDEs) are also commonly used to study spatial effects at both large scale (e.g. spread of disease at country level, waves), and small scale (e.g. tumour spread).

Programming is pretty important for me. My models range from simple (100 lines in GNU Octave to examine long term effects of changing parameters), to intermediate (2,200 lines of C for the spatial stochastic framework examining population based models), to huge (for the stochastic individual based models that I'm looking at next). My supervisor (whose supervisor's supervisor was Peter Higgs) started out as a physicist, and still uses Fortran 77. Some people I work with aren't big on coding, and just start with someone else's model and adjust it, although they usually have problems if they don't understand how it all works.

Comment: Re:Die Six (Score 2) 51

by Spacelem (#40886257) Attached to: <em>Shadowrun</em> Comes To Linux, MMO Planned

It wouldn't be terribly difficult to meet half way. Roll 2d10 (or 3d6, or something) + skill level, and then create a Unisystem style success table (e.g. up to 12 is +0, 13-15 is +1, 16-18 is +2 etc. -- that gives you the same mean number of hits for a given skill level).

You'll get a bit more variance (compared to the original system) in number of hits for low skill scores, and less for high skill scores, but it would be a pretty good approximation.

Comment: Re:No thanks (Score 1) 139

if (DnD > 3.5) {DnD=='sucks'}

I don't know. Every edition has its strengths and weaknesses, but 3.5e was arguably less good than 3e, which in turn fixed a bunch of AD&D 2e's problems but created a whole string of new really bad ones (mostly by removing all caster restrictions while crippling the fighter, ramping up the complexity with feats, and heavy emphasis on the game board), while 2e was just a Bowdlerised version of AD&D 1e, which was in turn Original D&D with all the ambiguity removed for consistent tournament play.

4e was an extremely well crafted game, but it didn't quite have the same feel, losing quite a lot of D&D's flavour. Had 4e been released without the D&D branding, it probably wouldn't have done so well, but people would have appreciated it a lot more. Pathfinder has good flavour, but it pretty much failed to address 3e's real problems. 5e might be really good, but we won't know until we see it.

Besides, any true grognard knows that any D&D beyond the original 1974 edition is a travesty. Seriously, the original edition is spot on (barring the horrendous editing), which is why the retroclones (including those of Basic D&D) are so popular right now.

The light of a hundred stars does not equal the light of the moon.

Working...