• Moving to Github

    It’s the New Year and that means it’s time for change. I’ve finally moved my blog off wordpress.com and onto Github + Jekyll.

    Jekyll has been a pleasure to deal with so far. The import from wordpress was mostly trivial but with some rough edges.

    First, export your wordpress.com blog using the admin console (you should get an xml dump of your site) and then run:

    # Assumes the XML dump is named wordpressdotcom.xml,
    $: jekyll import wordpressdotcom

    I only exported my posts because I wanted to setup pages myself. The above command should populate Jekyll’s _posts folder with your blog’s posts as html files.

    I found the generated html to be rather mangled; there were no paragraph separations and blockquotes looked ugly. This required some monkey patching with sed and awk to fix. There are still some more loose edges left which I’ll get around to later. I’ve setup Disqus for comments, and I still need to import all the comments from the Wordpress site.

    I’m currently on the Hyde theme which I modified a bit to suit my liking.

    All in all, it’s been a breeze to deploy over Github and I’m quite happy to have a lot more control on how my site looks like.

  • Procrastination post: Erdos Number

    In waiting for my combinatorial explosion of a factorial design experiment to complete, I decided to find out what my Erdos Number looks like, which is basically defined as the collaborative distance between yourself and the famous mathematician, Paul Erdos. Turns out, I have an Erdos number of 4 via the following chain of co-authorship.

    /me -- Anja Feldmann -- Edward G. Coffman, Jr -- Joel H. Spencer -- Paul Erdős.

    You can calculate your Erdos number here.

  • Comic: Academic Future Work Slides

    I've been going through a lot of academic talks lately and almost every slide on future work feels like this to me.


  • Optimize your life for learning

    Just stumbled upon a gem of an email [1] from Professor Alexander Coward at Berkeley, explaining why he isn't going to cancel a class despite a strike.

    The last couple of paragraphs ought to resonate well with anyone who's obsessed with learning. To quote the email,


    In order for you to navigate the increasing complexity of the 21st century you need a world-class education, and thankfully you have an opportunity to get one. I don’t just mean the education you get in class, but I mean the education you get in everything you do, every book you read, every conversation you have, every thought you think.

    You need to optimize your life for learning.

    You need to live and breath your education.

    You need to be *obsessed* with your education.

    Do not fall into the trap of thinking that because you are surrounded by so many dazzlingly smart fellow students that means you’re no good. Nothing could be further from the truth.

    And do not fall into the trap of thinking that you focusing on your education is a selfish thing. It’s not a selfish thing. It’s the most noble thing you could do.

    Society is investing in you so that you can help solve the many challenges we are going to face in the coming decades, from profound technological challenges to helping people with the age old search for human happiness and meaning.

    That is why I am not canceling class tomorrow. Your education is really really important, not just to you, but in a far broader and wider reaching way than I think any of you have yet to fully appreciate.

    [1] : http://alumni.berkeley.edu/california-magazine/just-in/2013-11-21/cal-lecturers-email-students-goes-viral-why-i-am-not

  • Questions to ask before conducting a performance evaluation

    I've been evaluating some popular cloud systems lately and unsurprisingly enough, I'm finding it really hard to make a final call on a set of results. Have I tuned the systems I'm comparing appropriately for the workloads I'm subjecting them to? Are the workloads reasonable? Is the system itself the bottleneck or is it a set of external factors? There were so many questions piling up that it's made me rather skeptical about system evaluations I find in papers today.

    So I've picked up this book, and found this minimal checklist to go through to avoid common mistakes when conducting a performance evaluation.

    1. Is the system correctly defined and the goals clearly stated? 
    2. Are the goals stated in an unbiased manner? 
    3. Have all the steps of the analysis followed systematically? 
    4. Is the problem clearly understood before analyzing it? 
    5. Are the performance metrics relevant for this problem? 
    6. Is the workload correct for this problem? 
    7. Is the evaluation technique appropriate? 
    8. Is the list of parameters that affect performance complete? 
    9. Have all parameters that affect performance been chosen as factors to be varied? 
    10. Is the experimental design efficient in terms of time and results? 
    11. Is the level of detail proper? 
    12. Is the measured data presented with analysis and interpretation? 
    13. Is the analysis statistically correct? 
    14. Has the sensitivity analysis been done? 
    15. Would errors in the input cause an insignificant change in the results? 
    16. Have the outliers in the input or output been treated properly? 
    17. Have the future changes in the system and workload been modeled? 
    18. Has the variance of input been taken into account? 
    19. Has the variance of the results been analyzed? 
    20. Is the analysis easy to explain? 
    21. Is the presentation style suitable for its audience? 
    22. Have the results been presented graphically as much as possible? 
    23. Are the assumptions and limitations of the analysis clearly documented?