Awesome!
Father. Husband. Developer. Microsoft MVP. Likes #fsharp 🦔, #rust 🦀 and OSS.
Awesome!
![]() |
![]() |
![]() |
![]() |
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
Videos/Presentations/Courses
This week from F# Advent Calendar in English
This week from F# Advent Calendar in Japanese
Blogs
F# vNext News
New releases
That’s all for now. Have a great week.
Previous F# Weekly edition – #48![]()
Everyone should read it
Note: This blog post is part of the 2014 F# Advent Calendar. Be sure to check out yesterday’s Intro to Data Science post by Jon Wood!
If you’ve been using F# for any reasonable length of time, you’ll have come across the MailboxProcessor, AKA the F# Agent (or Actor). Mailbox Processors are cool. They give us the ability to offload load to background processors without worrying about managing the thread that they live on (as agents silently “go to sleep” when they aren’t processing anything), and they take away the pain of locking as they ensure that only one message will be processed at a time whilst automatically queuing up backed up messages. They also allow us to visualise problems differently to how we might do so when just using a raw Task, in terms of message passing. We can partition data based by pushing them…
View original post 2,583 more words
![]() |
![]() |
![]() |
![]() |
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
Videos/Presentations/Courses
Blogs
F# vNext News
The F# Open Projects Group is looking for a primary active maintainer for the following repositories:
New releases
That’s all for now. Have a great week.
Previous F# Weekly edition – #47![]()
![]() |
![]() |
![]() |
![]() |
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
Videos/Presentations/Courses
Blogs
F# vNext News
New releases
That’s all for now. Have a great week.
Previous F# Weekly edition – #46![]()
Update: Event extended until December 31.
Our friends from Japan have a beautiful event called “F# Advent Calendar“. Every day from December 1 to December 31, one awesome volunteer publish a new post about F#. What an amazing way to celebrate Christmas, isn’t it?
Lets support this initiative and do an English version of the calendar. Two blog posts per day is better than one, isn’t it? We need 31 volunteers, who are ready to prepare a post about F# and publish it on specified date.
Rules
Rules are very simple:
Calendar
Script for this article is available as public Gist.
For a long time I was interested in what is going on on NuGet. I think that NuGet UI does not provide one important piece of information – which packages depend on current packages. This information is very useful for package authors and also can help a user to find packages that provide more sophisticated implementation.
Other interesting thing is to see the big picture and answer some global questions:
I believe that there are a lot of other answers we can find from the high view.
Some time ago I have found that NuGet team provides NuGet.Core package that has all API required to communicate with NuGet. The API is not really fast if you are going to download information about all versions of all NuGet packages 😉 But NuGet team is working on a new v3 API that is going to be much faster than current v2. For current research I have downloaded info about all packages and all their versions to my FSI session to be able to run different types of analysis and create visualizations without further communication with NuGet. This operation is slow enough: it took about 1 hour last time when I run it, but it really depends on NuGet workload and your internet connection.
The second thing is visualization of the result, here I want to say thank you to Scott Wlaschin for his great script type-dependency-graph.fsx (that was built for ‘Cycles and modularity in the wild‘ analysis). I took his GraphViz module and slightly modified it to allow colorful graphs printing. To use it you need to download GraphViz from the official site.
That is all tooling that we need. So we are ready to describe a structure of an analysis – script extracts 3 subsets of NuGet packages and visualizes them in different colors with all dependencies.
NOTE: In this analysis I ignored package version and considered only latest package version and dependencies of latest version. If you need more accurate analysis you should adjust script a bit.
Running this script I did some interesting observations:






I hope that you’ll also find this script useful and discover something interesting on NuGet.
![]() |
![]() |
![]() |
![]() |
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
Videos/Presentations/Courses
Blogs
F# vNext News
New releases
That’s all for now. Have a great week.
Previous F# Weekly edition – #45![]()
![]() |
![]() |
![]() |
![]() |
Welcome to F# Weekly,
A roundup of F# content from this past week:
News
Videos/Presentations/Courses
Blogs
F# vNext News
New releases
That’s all for now. Have a great week.
Previous F# Weekly edition – #44![]()