February 10th, 2009
Today I took a bold step, swallowed a chunk of my pride, and signed up for Twitter. I’m not usually a big fan of Social Networking, but Twitter is slightly different. For starters, I don’t think any of my friends are using it. Secondly, There’s no real "profile" like you get from Facebook or others.
I got the idea from Ayende’s blog, kindof. His blog is quite interesting to watch, because it is made up of lots of small updates. It almost seems like more of a note taking system than a blog sometimes, in a good way. For myself, I tend not to write blog posts because they take a little longer than I’m willing to give during the day to write, so Twitter’s 140 character limit could work for me. It’s just a trial anyway, if it doesn’t work out I’ll dump it.
So how I think I’ll work now is: Post short messages to Twitter like reminders, helpful hints, and status updates, and post longer information like information about side projects and interesting topics on my blog.
If anyone wants to follow me on twitter, here’s my page: http://twitter.com/jamiepenney. Be aware that there will be a bit more personal stuff there, my blog so far has just been technical but I’ll probably use Twitter for personal and work messages.
No Comments | In: Personal | | #
February 10th, 2009
Another little short side project I worked on over the weekend was an interpreter for Ook, an odd little language “designed for Orangutans”. It only has a few syntax elements and 8 different statements so I figured it would be a fun use of my basic F# skills (I’ve been reading Fundamentals of F# and Expert F# on Safari Books through work). Using the example files on bluesorcerer.net as test files, I successfully got it running in half a day. I can’t say it is the fastest or most efficient interpreter for Ook, but it is my first interpreter so it was a learning experience. If you have any questions or comments on how I implemented it, please feel free to add them below.
Enough talk, here’s the GitHub project: http://github.com/jamiepenney/ook-sharp
You’ll need the latest F# CTP installed to open this project in Visual Studio 2008.
No Comments | In: Personal | | #
February 10th, 2009
A while ago there was a question on Stack Overflow about how one could go about mapping the dependencies between Visual Studio projects and solutions (see here: http://stackoverflow.com/questions/471154/how-can-i-map-out-which-visual-studio-solutions-use-which-projects). At the time I had been doing a little bit of work with GraphViz, and suggested that it could be used for the diagramming part. The problem itself seemed kind of interesting, so I decided to implement a solution myself for kicks.
My tool takes a visual studio solution, and produces a PNG image showing the dependencies between the projects in that solution. Pretty basic stuff, but it involves:
- Parsing a Visual Studio .sln file.
- Parsing the .csproj files referenced in the .sln file. (I don’t think it is C# specific but have not tested it on other project types).
- Creating an in memory representation of the solution structure.
- Creating a graph in QuickGraph to represent that structure.
- Creating a dot file for GraphViz from that graph.
- Pass that file to GraphViz and display the output.
This results in something like this:

The source code is here.
Updated: I’ve put this project on GitHub, and added Melle’s changes to it. You can find it here.
Feel free to do what you like with it, it only took me about 3-4 hours to get it all working. However if you actually use it as part of another project, please leave a comment.
You’ll need the latest version of GraphViz, which can be downloaded from here: http://graphviz.org/Download_windows.php. I’ve been using the development snapshot, but the stable release should be fine. When my tool first runs, it’ll ask you for the location of graphviz. You need to specify the location of dot.exe, which by default is in %Program Files%\GraphViz 2.21\bin.
Standard disclaimer: I’m not responsible for anything that goes wrong when using this thing. You have the source, you should check it out before running it. If it wipes your system and kills your firstborn child feel free to let me know, but don’t expect me to do anything about it.
5 Comments | In: Uncategorized | | #