Programmer’s Log Programmers Writing Stuff – Garry Bodsworth

27Nov/080

SPA Cambridge Talk – Visual Studio Extensibility – December 10th

The December talk for the BCS SPA Cambridge has been announced. You can sign up here.

VSX: Extend Your Development Experience

Jean-Marc Prieur (Microsoft)
December 10th 2008, 7:00pm (light buffet) 7:30pm (talk)
Venue: MicrosoftResearchCentreCambridge
Event sponsored by Red Gate Software.

Synopsis:
Microsoft Visual Studio provides a great set of development tools out of the box, but you may be surprised at how much more you can do with its rich extensibility platform. In this introductory session, we will give you a whirlwind tour of what the Visual Studio Extensibility (VSX) platform has to offer and how you can take advantage of it. Whether you are looking to increase you development team's productivity, or you are looking for new business opportunities on the Visual Studio platform, this technical session will help you get started.

Jean-Marc Prieur
Jean-Marc Prieur is the Program Manager of Microsoft's Visual Studio Extensibility Team. After studying at L’Ecole Supérieure d'Electricité (Supelec), and gaining a Master of Science at Caltech (focusing on Concurrent Computing and Computational Neural Systems), Jean-Marc worked for the French Navy managing Operational Research and Simulation. He is passionate about software modelling, in particular graphical software modelling, meta-modelling and code generating. He is also an extremely passionate early adopter of DSL Tools. Jean-Marc founded the French DSL community with a group of friends, which ran several labs, workshops on DSL Tools, and a VSX Day in Paris (http://www.dslfactory.org). He joined the Cambridge Visual Studio Ecosystem Team in March 2008 as a Program Manager, and is working with the VSX team to add new features to DSL Tools and enhancing the Visual Studio SDK.

Sign up here.

26Nov/080

Skynet Now Owns All Your Links

Terminator 3 Movie Poster
Stunning animated movie poster. I think I should say up front that I am one of those people who think the first movie is the best, but robotic killing machines exterminating mankind is quite entertaining. Updated to the direct link. You can access the SWF directly here.

Young Boris!
Read the comic of the London Mayor's younger adventures.

id Software C++ Coding Conventions
It's always interesting to see how others do it.

LLVM 2.4 Released
The latest version of the Low-Level Virtual Machine adds some nice features. The most interesting part is the C/C++ font-end Clang which looks to be moving along very nicely.

The Parrot VM
Never heard of it until recently but it is another virtual machine with some large corporate names involved (like the BBC).

How To: Max Out Apple TV's Potential With Boxee
I like my media centres and this looks very nice on the little Apple TV.

Comparison of Python virtual machines
With all the love going on Javascript in browsers I feel like Python is being neglected....

git-bz: Bugzilla subcommand for Git
Automate your interactions with Bugzilla when using Git.

TortoiseHg
The Mercurial DVCS shell integration is starting to look mature enough now, and it's cross platform.

How-to: USB remote control receiver
A very interesting and useful hack.

New MythTV Interface Preview
MythTV gets a new lick of paint in the new version.

Toolholder frustrum consolidation shape
I remember rewriting huge amounts of this type of code (in fact the original one Julian wrote) to make it do more types of shapes and extend it further. He is much better at it than me though!

Browsershots
See what the webpage looks like on a myriad of platforms. It's open source too.

40+ Tutorials for Working with Wacom Tablets
I discovered I am completely useless using a tablet so I guess its pencil and paper for me.

LIFE photo archive hosted by Google
An astonishing amount of pictures now available to browse.

Max Fleischer’s Super Superman Cartoons
This stunning animation and design is only 60 years old.

FEMA Firefighters Manual Covers UFO Attacks, Crashes...
...probably in greater detail than things that might actually happen.

Early Star Wars Storyboards
Storyboards are great and this set of Star Wars ones look very dynamic. Here is the Flickr set.

Daily Mirror archive of strips - all online!
What with the United Features site also going comprehensive and free the amount of quality online comic strips is going through the roof.

Tagged as: No Comments
23Nov/080

Adobe ASL 1.0.39 Released

The latest version of the Adobe ASL open source C++ libraries was released on November 6th. It's a great set libraries that give even more functionality beyond even Boost.

The latest version also works with the latest 1.37 release of Boost and even contains the Intel Threading Building Blocks.

Some of the libraries that are really useful are Move (providing move semantics for your classes), copy-on-write (only copy data when you need to, not by default), ABI safe containers, and the Forest container (for hierarchical data).

There are additional presentations and talks available for download here. They are well worth having a read through as they present some of the concepts used in the ASL and some good insights into C++.

23Nov/082

Interesting Use Of Google Chrome – Awesomium

Well, actually more an interesting use of Webkit rather than Chromium I suppose...

Awesomium enables offscreen rendering of webpages by using the Chromium libraries which in turn are based on Webkit. Rendering to an offscreen buffer means you can embed the web content on things like OpenGL surfaces.

Currently the code only works on Windows (mainly because the Chromium source is not yet fully ported). The reason for using Crome over vanilla Webkit is that it uses its own rendering framework to deliver pixels from multiple processes to the main program window. This means you can use that rendering pipeline more easily because it is not so reliant on platform specifics and uses Skia to put the content together. From what I have tried to work out writing a backend for Webkit is a non-trivial process and tends to require lots of extra plumbing.

The latest version of Awesomium even lets you use the Flash plugin for extra rendering goodness.

Check out the developers blog here.

Tagged as: 2 Comments
10Nov/080

Upcoming Cambridge Talk – BCS SPA

The BCS SPA Cambridge talks are about to start again running monthly from November through to June. These are computing talks that are free to attend with a light buffet. The talks are also moving back to Microsoft Research Cambridge.

On November 12th at 7pm Mark Dalgarno is doing his talk “When Good Architectures Go Bad”.

As software evolves its architecture ‘as-is’ deviates from its architecture ‘as-hoped-for’ – the software is said to erode.

Software Erosion can be a problem because:
- the time, effort and risk in implementing further changes increases

- the effect of further changes becomes harder to predict
- further changes typically cause the ‘as-is’ architecture to deviate further from the ‘as-hoped-for’ architecture – the situation becomes worse.

This session looks at examples of software erosion and explores practices to prevent or slow such decay. Participants should come prepared with architectural ‘war stories’. There will be a couple of group exercises but no test at the end.

This will be a good session to meet other attendees and to tell your war stories and stories of hope (although I think the bad ones are always more entertaining).

Sign up for free here.

6Nov/080

Boost 1.37 Released

This month Boost 1.37 has been released. It's the latest version of the extremely useful peer reviewed C++ libraries that a large portion of has fed into the latest C++ standards.

There is only one new library this time out which is Boost.Proto:

Proto is a framework for building Domain Specific Embedded Languages in C++. It provides tools for constructing, type-checking, transforming and executing expression templates. More specifically, Proto provides:

  • An expression tree data structure.
  • A mechanism for giving expressions additional behaviors and members.
  • Operator overloads for building the tree from an expression.
  • Utilities for defining the grammar to which an expression must conform.
  • An extensible mechanism for immediately executing an expression template.
  • An extensible set of tree transformations to apply to expression trees.

There are the usual myriad of bug fixes with the other libraries. They are still following their regular release cycles which is a good thing.

Tagged as: , No Comments