Programming

Takeaways from Gael Fraiteur’s multithreading talk

After watching Gael’s recent SkillsMatter talk on multithreading I’ve put together some notes from a very educational talk:   Hardware Cache Hierarchy Four levels of cache L1 (per core) – typically used for instructions L2 (per core) L3 (per die) DRAM (all processors) Data can be cached in multiple caches, and synchronization happens through an …

Takeaways from Gael Fraiteur’s multithreading talk Read More »

F# solutions to Google CodeJam 2010 Qualification Round Problems

I found out about Google CodeJam the other day, and looking at their info page, there’s a number of interesting problems you can solve as practice for the real thing coming up, and here are my F# solutions to the qualification round questions from the 2010 event, enjoy   Problem A. Store Credit The outline …

F# solutions to Google CodeJam 2010 Qualification Round Problems Read More »

Recording for my webinar with PostSharp

Again, I’d like to thank Igal Tabachnik and SharpCrafters for inviting me to do the webinar, the recording of the session is now available on their Vimeo channel. Pseudo Real Time Performance Monitoring with AOP and AWS CloudWatch from SharpCrafters on Vimeo.   Performance Monitoring with AOP and Amazon CloudWatch View more PowerPoint from Yan …

Recording for my webinar with PostSharp Read More »

F# – Extending Discriminated Unions using marker interfaces

One of the problems with using F#’s Discriminated Unions is that they are not extensible, in that all your union cases must be specified inside one Discriminated Union (abbreviated to DU from this point) type and you can’t inherit from an existing DU type to add additional union cases. In most cases, having to specify …

F# – Extending Discriminated Unions using marker interfaces Read More »

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close