Today, I’m in the process of starting a new research project, and so far things are going very well. I’m hopeful that this trend will continue, and that the project can be completed, written up and submitted to a journal in just a few weeks. Now, the point of this post is not to simply boast about how well things are going (though I don’t think it’s important to celebrate life’s little victories). The point I would like to make is about why things are going well, kind of building on yesterday’s post about things I’ve learned about programming.
I may have previously mentioned how my days typically consist of programming. I have problems that I have to solve, I then have to think about how to solve them, then write some code to do just that. In my last post I mentioned how I was working on writing some MCMC code, and was finding it difficult to keep it very general so that it is highly reusable. Yesterday I got that code working and began doing so more intensive testing which revealed that there is another feature that I need to add, but it should only take a few minutes to do that thanks to the parameter file parsing library I’ve created. This got me thinking this morning about the things I’ve learned since I began programming, and I thought I’d share some of those as they may be useful to others. Continue reading “Things I’ve Learned About Programming”
I’m sitting at my desk trying to write some very general Markov Chain Monte Carlo (MCMC) code. I’m aware that there are libraries out there which could be used, but when I investigated them they were all so difficult to use that it just made sense to write my own code. At that time, I just wrote some code that was very specific to one problem. Now, I’m trying to generalize that code to be applicable to any problem. That is where things get hard. Continue reading “It’s hard to write good code…”
Many of you may be aware that Microsoft came under fire not too long ago for violating its own guidelines for what the little x in the top right hand corner of a dialog box or window should do, close the window and cancel any process associated with that window. Instead, they decided that in a last ditch effort to force people to upgrade to Windows 10, clicking the x on the notification that your Windows 10 update was ready (after it had downloaded itself onto your computer without your permission or by disguising itself as a different update) would essentially be you consenting to the update. I could link a bunch of articles about this, but it would probably be easier for you to just google “Is Windows 10 malware?” and you can see for yourself. After the outcry, Microsoft said they would adjust their update policy, but that’s not what this post is about. This is about Windows 10 intentionally harming peoples computers who dual boot with a Linux distribution. Continue reading “Microsoft Windows 10 is Malware”
Since becoming a post-doc, most of my days are spent writing code. I do the majority of my programming in C++, because as a compiled language, the compiler is able to make many optimizations to ensure that even my poorly written scientist code is reasonably fast. As is often the case, there are times I would like to change some values then re-run some code, and it is nice to not have to recompile each time you want to make a small change to some number, or change an input or output file name. Because of this, you want to have your code use parameter files which are read and parsed every time you start the code. Continue reading “HARPPI: A HumAn Readable Parameter-file ParsIng library”
As you are aware, we must do everything possible to defeat Donald Trump in the fall. He is a dangerous man who’s rhetoric evokes images of Nazi Germany. Independent analyses have said that his economic plan would cause another recession, undoing all the progress that has been made over the last 7 years. To put it simply (and to use a cliche), the stakes have never been higher. Continue reading “Dear Hillary: An Open Letter as the Convention Begins”
My last couple of posts can be construed as being negative as I was complaining about something that was bothering me at the time. Even though I tried to offer solutions and promote discussion (both of which I think are very positive things), I don’t want this to become a place to complain. After all, I started this with the idea of it being a research blog, so today that’s where I want to focus. Continue reading “What I’ve been working on lately: LNKNLogs”