Dan says “Shit” is now published!

I finally got my book out and for sale. It is a short silly book looking at the everyday hassles that we all put up with.


Check it out on Amazon!



On the fear of rejection

About three years ago I was about to graduate from the University of Reading and I was looking to do a PhD because I love doing research. My institution at the time had accepted me as a PhD student but there was no money to go with it so I couldn’t afford to attend Reading University even though I had a great project that would have been for the social good. Instead I started to look at other Universities in the area figuring that at least one would be interested and maybe I could get funding for my degree. When I started looking about the University of Oxford was within the geographic area that I was able to travel to for my studies and at first I gave it a pass because why would Oxford want me? I looked at the programs and found them to be fascinating but very intimidating, so I looked at other universities around me until I figured “wait, why I am saying no for them?”

Sure it was going to cost me £50 to apply but I was at a position in my life that I was able to apply at one of the top universities in the world and if I didn’t at least try then I would regret it. I knew I wasn’t going to get in but I wanted to say I had at least tried. So I put together the application form, got my letters of reference and submitted my application and waited for my rejection letter.

Eventually a letter arrived from Oxford and I opened it expecting to read “Dear Mr Aid, We regret to inform you that we aren’t interested” but instead it said that they wanted to interview me. This floored me more than the rejection would have. So I sent back a letter saying that “yes I will come” and went to my interview. I sucked badly at the interview, I was nervous and I messed up on very simple questions because I couldn’t think straight. Not only that but I was being interviewed by a Professor of Biochemistry that was also a biophysicist and the head of one of the national science societies and I was intimidated.

So I went home knowing that I was waiting for the “thank you but no” letter that was sure to come. Instead my letter said “thank you for coming, we would like to invite you to a second interview”. I, of course, accepted the invitation and then I was interviewed by the head of the department and a subject specialist. This time I was more prepared and didn’t make so many simple mistakes but I left thinking that I was going to be rejected but I knew that this time I had given the interview my best and that couldn’t be taken from me.

Again I was waiting for my rejection letter, but it didn’t come. I was offered a place on the program and I was offered a student stipend. If I had let my fear stop me from applying in the first place I wouldn’t be doing my PhD now. So don’t let fear stop you from doing something, make them say no, because you never know when they will say “yes”.

“Yes” is a beautiful thing and you will never hear it unless you take a risk.

Getting ready for my Transfer of Status and the trouble with MPJ-Express and rJava

I am coming to the end of my time as a Probationer Research Student and I have about 2.5 months to put together a 15-30 page document in order to convince the Dept. that I should be allowed to become a D.Phil student properly and continue my research.  I am hopeful about the process but I am very stressed out about it. The basic idea is to see if I can produce original research and if I can communicate what I find.  I know I can do both. I started doing original research as part of my undergraduate and I don’t really see a problem with striking out on your own. I have written enough papers and essays that I am confident that after a number of drafts I will have a document that will pass muster.

But that doesn’t stop the nerves, I am going to be tested and I will have to answer questions about my research with a panel for an hour or two. I need to remember that I can do this and that I am a capable researcher.

It doesn’t help that today I have had a series of failures of code to deal with. I have moved to a new set of servers operated by the Oxford Supercomputing Centre. This means that I have access to up to 128 cores at a time but I have had to teach myself how to code for supercomputers and I am regretting not taking that class as part of my undergraduate. I have been teaching myself Message Passing Interface (MPI) in the form of MPJ-Express so that I can continue to code in Java and just pass my .jar files to the server for execution.  My main task with MPJ-Express is to parallelise Niall Cardin’s treesim. Treesim is the program that I use to create trees from HapMap and 100 Genomes data and then I analyse it to determine where positive selection is occurring. It has taken me about 2 weeks to get this up and running. The MPJ-Express itself wasn’t too hard, I managed to get the wrapper up and running fairly quickly but not perfectly. It was controlling treesim with Java that proved to be the big problem. I was trying to use Java’s Runtime.getExec() process or ProcessBuilder to launch and manage the single thread process of treesim, but I had to replace that with the Apache common exec library (btw THANK YOU ASF for being there!).

Currently my MPJ-Express code launches all the demons and then the head node send a series of non-blocked command to all the cores. Each core then takes the command and runs the instance of treesim, but I would like to change it so that when a core is free it polls the head node for the next available command. But I am just happy that it is working at this point in time.

I have also been learning rJava to deal with the out put of another Java application that I have written. rJava is a bit of a nightmare because I don’t think enough people blog about it so it took me a long time to find a simple command that fixed my problem. I was having problems translating a Java matrix into a R matrix but the following code sorted out the problem.

This is the signature of the Java method


public double[][] getData()


I tested that within a Java environment and it was working fine. But when I moved it to a R environment it wouldn’t translate. The following code is what was needed to fix the problem of moving a 2d array from Java to R in rJava. Your .class file needs to be in the R/library/rJava/java directory of your install or you need to .addclassPath in R.


library(“rJava”) // loads the rJava library

.jinit(parameters=”-Xmx10240m”) // starts the JVM with the parameter -Xmx10240m since I needed 10GB of memory for my process

s <- .jarray(“string”, “args”) // creates a String[]

javaobj <- .jnew(“NameOfClass”, s) // executes public static void main

array <- .jcall(javaobj, “[[D]”, “getData”) // executes the method of your choice

array <- sapply(array, .jevalArray) // this is what I was missing


After sapply I could use the matrix normally.

In other news, I ran across one of my students and he told me how he used my class and some of my advice to replace a program he was using with a better one he wrote himself. It felt very good. I have been in touch with ITLP at Oxford and they want me to run the Perl class again next term but they also want me to put together a new distance learning Python class. I am very excited about this.

An Update

I have been chugging along since the new year, my switch to veganism is going fairly well, though I find a good number of online vegans to be over the top and annoying. However, I sometimes wonder if that is how people feel about me and my passionate subjects, though I do hope that I am closer to the scientific consensus than the vegans I am talking about.

The dog we adopted just before Christmas has settled in very quickly and has become an integral part of the family. We have since adopted two more dogs, bring the total number of animals in the house to “too many”.

On the work front I am now starting to work with the latest release of the 1000 Genomes project meaning that I am now working with a more complete dataset than I was before. I have received a program to build new trees from Niall Cardin and I am in the process of building new trees for the CEU (People in Utah of Central/Northern European Ancestry) population and I will then see how the results compare to the HapMap results I already have.

I have also started to teach a class on the basics of Perl. You can check out the videos on YouTube at https://www.youtube.com/playlist?list=PLvAKnI6MaY1Yl0mH6iO13MvdAsgew6mB2 You can get the course materials for free at http://www.stats.ox.ac.uk/~aid/perl or at http://portfolio.it.ox.ac.uk/resource/course-pack/programming-perl-introduction

Happy New Year!

Happy New Year!

2012 was a tough year, though my academic life was good my personal life was a bit harder. Two of my family members passed away this year and my daughter has been steadily getting worse with her autoimmune conditions.

There is a meme going around Facebook at the moment that basically says that I will not hope that 2013 is a good year, I will make 2013 a great year. I think this is a good way to think about it. You make your own luck by creating and seizing opportunities. I wish more people understood this, you can’t wait for opportunities to present them you need to go find them. In 2012 I made two exceptional opportunities for myself: first I set up my PhD project (with guidance from my supervisors, of course) and I did some exceptional work that should end up in a journal this year.

My two new year’s resolutions are to quit drinking and to go vegan.  The drinking is a crutch that I am using to deal with the stress in my life and I need to just stop using it. The vegan thing is a bit more complicated, I have been thinking about it for a long time and the more that I research animal welfare conditions for the majority of the food industry, the ecological impact of raising and transporting meat all over the world (why do they ship lamb from New Zealand to the UK?) I have come to the conclusion that I don’t want to be part of it any more.

I hope you have a fantastic new year and that you can make it the best one ever. Please feel free to leave a comment about what you plan to accomplish this year.

Should we educate special needs kids? YES!

One of my ex-girlfriends posted on Facebook that someone is actually arguing that educating special needs kids takes “time and money” away from their children’s eduction and that they shouldn’t have access to eduction.

I can’t think of anything I have heard in a long time that makes my skin crawl and repulses me so violently.

As a full disclosure, I know of at least 3 of my friends that have children on the autism spectrum and their children are awesome. They have issues but the mothers are dedicated and the children should thrive not be tossed aside. My eldest constantly suffers from a set of auto-immune conditions, two of my children have required speech therapy. I am dyslexic and live on the functional side of the autism spectrum as well has having borderline personality disorder. So I feel that while I am not qualified to talk about the disorders themselves, I think I am qualified to talk about social policy and how it relates to families like mine and my friends.

Education is the equalizer and through education you can enrich your life and the lives of those around you. In my own case I didn’t get my diagnoses until I was in university.  Though my grade school, high school, and junior college I was battling against my own wiring trying to do things the normal way and it went very poorly. If you look at my grades from before my diagnoses you would think that I wasn’t a very good student or not very smart. I had a dismal record.  I kept trying because I love to learn and that I knew that getting an education would get me out of dead-end jobs and make my life better.

I gravitated toward computers which I have since learned affects how you read so I can skate around my dyslexia a bit by reading something on a screen instead of on paper. So I gravitated towards a subject that I was strong at and I could understand.  After I returned to education and got my diagnoses and I could start to compensate for my wiring my grades came up and I graduated with a very strong result for my undergraduate and I was accepted to both PhD programs I applied to.

I wish my wiring had been detected when I was much younger and that I could have learned the coping skills that I need to thrive early. I wish that all children would have their wiring checked and that if the normal system doesn’t work for them then we could give them new tools to thrive. But we need to give them the tools to learn and the education to thrive and we never quite know what contribution a person will make to our society.

I think as a society we need to enable all of our members to thrive. As I mentioned I think education is the key to being able to thrive. It matters less what you know (it still matters what you know 😉 ) and more that you know how to learn and this is what schools should be teaching. The schools should definitely be teaching this to all students so that everyone can climb as high on Maslow’s hierarchy as they can.

The world is messed up

A very good friend of mine is trying to get a job at Target. He is a trustworthy guy and I think he is very nice and is a US Marine Veteran. He is waiting for his third interview for the position.  I was an anomaly having to have a second interview for my fully funded PhD with living stipend with most of my peers having only one interview.

It strikes me as wrong that I could have gotten a higher status job for about equal pay with fewer interviews and much less hassle than my friend.

End of the first year

This week marks the end of my first year with the LSI DTC. It has been a very good year. I have really enjoyed working with everyone else in the DTCs. I have made new friends and I hope to get to spend more time with them in the coming year.  I am going to try and join a pair of societies this year and have a bit more of an offline social life. I am thinking about joining the Fencing club and the Atheist, Secularist, and Humanist society.  I was at a few of OxASH’s larger events last year and enjoyed them.

The highlights of the year have been my research projects and the laboratory modules that allowed me to get an idea of what life in a wet lab is like.  The modules have been enjoyable and I have learned more in the last year than I think I have managed in any other year. The range of topics was diverse as well; from programming to physics to theoretical systems biology.

I am really excited about transitioning to my D.Phil research project but I will miss the experience that was my first year. I have gotten my toes wet over the summer with two successful mini-projects and I am joining the Stats dept to continue my investigation into the human genome. When I applied to Oxford I didn’t think I would get such an awesome research topic. I was originally thinking of something in ancient admixture or perhaps primate evolution. But I get to research us and our genetic inheritance.

I want to thank the DTC academics and staff that have made the year so enjoyable. I especially want to thank my supervisors: Gail Preston, Simon Myers, Steven Kelly, Gil McVean, and Gesine Reinert, for making my summer a very enjoyable time.

The projects that I work on

My current project is working on a new way to build phylogenetic trees without using a multiple sequence alignment and it is going fairly well. I am dealing with several NP challenges and doing fairly well at handling them with dynamic programming techniques. I have taken a previous method and improved the predictions.  I am happy about how it is going but I have only one week left on this project before I start my proper D.Phil(PhD) project. My supervisor and I think that this project will be publishable with a little more work and much number crunching to get the results that we need to show.


On 1 Oct, I start back on my D.Phil project which is looking at genetic data and trying to find out which mutations are beneficial to the human race and then possibly to generalise the method to other species. I am looking forward to it, I already have put 10 weeks into the project and I have some ideas of how to make it better when I get back to it. At the moment I am just reviewing the most significant part of the tree but I need to be looking at all significant areas of the tree to find the SNPs that are driving the mutation.

New Blog

I have decided to start a new blog as my old one, Science and Atheism, was feeling a bit restrictive. I know that I could have just changed format but I wanted a new name as well.

I am a 36-year-old research student studying positive selection and evolution in our species. In some ways it is really bizarre being a mature student but in others it is a lot of fun. I hope to be able to expand on this over the next few blog posts. I know it sounds like I study biology, but I really study the information that biologists produce and then analyse it to try to figure out what it means.

I am a computer geek and I am thinking about trying to learn Scala over the next few weeks as I am also going to be working in R as well. I normally program in Java, but I know several other languages as well. I have many years as a professional systems administrator under my belt, I mostly worked in SMEs. I developed an interest in concurrent programming as an undergraduate and I my research projects over the summer have both been fairly massively multi-threaded so I am looking forward to seeing how Scala handles multiple cores and processors.

I am married and have a bunch of children. One of the things that is fantastic about being a student is that I have a very flexible work schedule. It has allowed me over the past few years, during my time as an undergrad and my first year of post-grad work, to spend more time with my kids than if I had been working. I have also been able to spend an incredible amount of time with my beautiful wife.

I think the only negative for graduate school is the pay check. 😉

%d bloggers like this: