# News from the front line

Hello everyone!

I know it’s been a while since I last contributed to the blog and I would like to apologize for that but I’ve been pretty busy over the past 6-8 months.

So, to make amends, I updated the blog’s look and feel and I hope you will like this new version, which is also fully responsive, allowing you to visualize the blog on your computer as well as on your favorite mobile device.

So, what happened during these last months?

First I got married on January 2nd, which, as you can imagine, was quite time-consuming in terms of organisation before, during an after the event! Anyway, being a happy married man, I came back in January ready to start this year’s CFA campaign. I must say it wasn’t really easy because the challenge is pretty different this time around: the CFA Level III is much more oriented towards asset allocation and portfolio management, which is essentially what I’ve been doing at the office on a daily basis for the past 3 years. Quite surprisingly, it doesn’t really make it really easier. Indeed, when you face a topic you don’t know, you automatically focus on the whole material. When you feel you already know about a topic, it’s difficult to read or watch the whole material looking for the specific keywords the CFA Institute is looking for. I still went for the brute force method by going through all the material, but I suspect a more efficient approach could be used consisting in doing the exercises first and coming back to the parts that you were not able to answer. That’s just an idea.

Another major news came up in my life by the end of February. Indeed, I accepted a job offer from a commodity company in Hong Kong. Hence, I am preparing my relocation which will be completed by the beginning of August, although I will officially start my new job right after the CFA Level III exam. I am sure you can imagine that here again, I spend a lot of time preparing to leave Switzerland, which can be quite intense in terms of paperwork and administration.

Anyway, I will try to add a few posts on the important new topics I encountered in the Level III curriculum in the coming few days, and I also have a few interesting posts coming your way about softer topics.

Cheers,

Jeremie

# LINQPad, an essential tool for .Net programmers

Good evening everyone,

Since I started this blog I wrote a few posts about computer science and programming in particular, but I recently realized that I hardly ever discuss which tools I recommend.

The reason why I thought it was a waste of time is because most of the time, blogger will talk about a given tool because the editor contacted them and gave them a free license against a review. With proper disclosure of the arrangement and an objective point of view of the product, I don’t see any problem with that, but I though there was already enough material available online to discuss well-known tools.

However, I think some of them remain unknown and in some instances quite unfairly so. The tool I want to talk quickly about in this post is a perfect example: it’s call LINQPad.

First, I want to say that I did not have any contact with the editor, and that I bought my license (which enables more options, I’ll come back to this, but the main features are free).  Hence, this “review” is totally objective.

LINQPad is a lightweight software which can be run as a single .exe (whithout any installation required except the .net framework). It has mainly two purposes:

• It is a C# and F# Scratchpad
• It helps browse and mine data sources easily

Basically, LINQPad allows you to write a snippet of code in C# or F# and to display some output without having to create and compile a Visual Studio project. This is really incredibly useful.

In a previous post, I discussed the advantages of functional programming. If you wanted to try my example, you would have to open Visual Studio, create a C# console project, write the code in the Main method, compile and see the result in the console. Using LINQPad as a scratchpad, I can simply copy and paste the code, use the Dump() built-in extension method for any object to display it as output and hit F5. I made a little screenshot of the screen’s important parts:

This example is fairly basic, but the cool thing is that you can access almost anything in the .Net framework and, if you need to, even reference some of your own DLLs or a even a Nuget package.

## Data browsing and mining

Another power feature of LINQPad is its ability to allow you to “import” data source and interact with them easily. As a matter of fact, it comes with several built-in or third party providers which will help you through a simple wizard to configure the access to a given data source which you will then be able to query using LINQ. These data sources can be various: SQL, MySQL, RavenDB, Web Services and so on. Once the wizard is complete, you can access just as you would browse any type of collection which supports LINQ.

Again, you can write some scripts to retrieve some records, process them and display what you need. This is extremely useful if you have a database with a lot of data and you want to try different ways of displaying the information for example. It’s also very useful if you built some software but you didn’t have the time to write the administration part, you will still be able to extract the data and use it before you get the chance to create beautiful grid and everything -or before you actually give up because LINQPad might be enough if you don’t need to be over user-friendly.

That’s it, have a look at it, and buy it if you want to have some nice features like the intellisense and helpers of the sort. It really helps me a lot and avoids me creating a lot of useless visual studio projects.

Cheers,

Jeremie

# Your chance to get to know Game Theory!

Good evening,

There is a section in this blog that I haven’t been able to fill with new content for a long time: the part dedicated to Game Theory. The main reason is that I’m not using that field in my day-to-day job, so it’s a bit difficult to find good and accessible topics to discuss here.

However, I have good news for those of you who are eager to discover more about this topic. A few months ago, I told you about Coursera in this post. For those of you who missed it, Coursera provides users with free high quality online classes from top-tier universities.

By now, you probably guessed what this post is all about! As a matter of fact, starting January 7th 2013, there will be a Game Theory from Stanford University available to us. You can check out all the details and register for the class on the official page. Here is the abstract of the class:

Popularized by movies such as “A Beautiful Mind”, game theory is the mathematical modeling of strategic interaction among rational (and irrational) agents. Beyond what we call ‘games’ in common language, such as chess, poker, soccer, etc., it includes the modeling of conflict among nations, political campaigns, competition among firms, and trading behavior in markets such as the NYSE. How could you begin to model eBay, Google keyword auctions, and peer to peer file-sharing networks, without accounting for the incentives of the people using them? The course will provide the basics: representing games and strategies, the extensive form (which computer scientists call game trees), Bayesian games (modeling things like auctions), repeated and stochastic games, and more. We’ll include a variety of examples including classic games and a few applications.

For those of you who haven’t seen the movie “A beautiful mind” yet, I strongly encourage you to do it, and if you’re not yet convinced, here is the trailer:

About the class itself, the description says it is based on a book I extensively used for my paper on Penalty Shots in Ice Hockey, and which is available on Amazon:

Both authos, Kevin Leyton-Brown and Yoav Shoham are two leading contributors of the game theory field and they are both professors of the class. Hence, I can’t emphasize enough how good I think this class will be.

I do not expect I will be available to take all the exercises because my spare time will be mainly dedicated to the CFA Level II (see the countdown at the top of the menu on the right), but if you wish to do so, don’t forget you can get a certificate of completion.

That’s it for now! Please let me know what you think of the class!

See you next time!

# What’s up? What’s next?

Good afternoon everyone,

I decided to write a very quick post since I haven’t been posting much lately, for several reasons.

As a matter of fact, I’ve been pretty busy at work and my mind was always caught between two thoughts so it’s been difficult for me to come up with complete posts. However, I have started a few of them and they’re now waiting in my drafts section; they just need to be polished a bit. So, there is content ready to be coming your way quite soon during this holidays period.

A few weeks ago, I received the Schweser books for the CFA Level II and I am just starting to have covered enough material to produce my first post about this year’s program so it should appear online rather sooner than later. In order to keep in mind the time left before the exam on June 1st 2013, I decided to put a countdown at the top of the menu on the right hand side of the blog. Hopefully this will help me staying motivated during the next 5 months.

Anyway, I don’t know if I’ll have the time to write my wishes for 2013 – although I’ll try to – so I take the opportunity to wish you all a merry Christmas and a very happy new year 2013!

See you next time,

Jeremie

# Free top quality online classes

Good afternoon everyone!

I decided today to take the opportunity to write this post about a new resource I discovered a few month ago and which I have been using ever since then, Coursera.

The idea behind Coursera is to provide free online video classes to be accessed by students all over the world at any time, for free. The first question that storms to mind is What kind of class does it provide?. I’d say that the scope would be anything that you can learn in an Undergraduate program and beyond (Graduate, Phd, …), and that’s the beauty of it. The second question is Who’s teaching the class? Well fasten you seat belts, because here is the answer:

United States

• Stanford University
• Princeton University
• University of Michigan
• University of Pennsylvania
• University of Virginia
• University of Washington
• University of Illinois at Urbana-Champaign
• University of California, San Francisco
• California Institute of Technology
• Duke University
• Georgia Institute of Technology
• John Hopkins University
• Rice University

• University of Toronto

Scotland:

• University of Edinburgh

Switzerland:

• Ecole Polytechnique Federale de Lausanne (EPFL)

Yes, it is astonishing. Don’t even try to think that the universities sent second-zone professors to use the tool, first class academics are teaching you the material through the video as if it was a 1-to-1 session. To name a few, and mostly because they are the one I knew or heard of before discovering the website:

• Andrew NG (Stanford, Co-founder of Coursera), teaching Machine Learning
• Dan Boneh (Stanford) teaching Cryptography
• Martin Odersky (EPFL, whom I have the chance to know) teaching Functional programming

As I mentioned, the scope of the classes is very broad. The first courses that got my attention were focused on computer science and statistics (I’ll come back to the one I took or am planning to take), but I saw medical schools classes, history, mathematics, social engineering, and I believe there is and will be more.

The format of each class is similar and particularly brilliant. The curriculum is split week by week  each of which have particular topic. Your are provided with a series of short videos (called segments) 5 to 25 minutes long from what I’ve seen, which makes it particularly convenient for user who have a day job or students which are already following a heavy program. Each segment will typically start with an introduction where you will see the professor and then switches to displaying slides which are dynamically annotated by the professor while he speaks. Even better, the annotated slides are available from download before the class starts, so you can literally feel as if you were in the classroom although you are … at home.

Another great aspects on Coursera is that it is interactive. During a video, the professor can pause the cast and ask a question to which the viewer can answer either by choosing between several options or by filling in a specific value and then validate. This is not blocking (you can skip the question) but is pretty handy to check whether you understood what was said thus far in the lecture. Most importantly each week is accompanied with an exercise set which is graded (I’ll come back to the grading mechanism) and which also works either on plain value filling or multiple choice picking. Extra assignments for extra points can require either submitting answers to challenging problem or even code (I’ve never done it though).

As I mentioned, the exercises sets are graded and each course ends up with a final exam. If you successfully complete the assignments and the final, you will the “pass” the class and receive a certificate of completion (I think this depends on the class, but all the ones I’ve taken so far provided that option). As certification is purely optional you can enroll to a course and basically just watch the videos, or the specific part you’re interested in.

Finally, I want to share the different courses I enrolled in:

• Machine Learning
• Gamification
• Model Thinking
• Neural Networks for Machine Learning
• Probabilistic Graphical Models
• An introduction to interactive programming using Python
• Cryptography
• Basic Behavioral Neurology
• Computational Investing Part I

To sum up, Coursera is free, interactive, and can provide certification upon completion of assignments and a final exam. Try it out!

See you soon!