- X.509 certificates and Mercurial – posted Apr 9, 2010
As one of the primary developers touching certificates in the Mercurial world, I am often asked how they work, what people need to do to use them and how they can work well with Mercurial. A principal thing to remember here is that Mercurial will not work as a complete server out of the box, requesting authentication information, in the form of basic, digest, or certificates, at all. This means that in order to use X.509 certificates with Mercurial, one needs to place a web server that knows of these authentication mechanisms in front of it.
- Covariance and design principles – posted Oct 18, 2007
As promised in the last blog post, it is time to get down and dirty with technical facts. Or said in another way, it is time to look at: ‘Why C# let me down’ (you may imagine the blood dripping from the italicised letters). As the title may lead you to believe, the let-down has a lot to do with covariant types, but what are covariant types anyway? Why do they matter?
- Programming packages – posted Aug 11, 2007
Now that we have seen how to both write commands and environments, it is time to look at how we can reuse this code in several different documents. The basis of reusability in LaTeX is handled through packages, otherwise known as .sty-files. A copious amount of packages exist for LaTeX at CTAN, and we have seen several of them already: tikz, graphicx, fontenc, mathdesign, and many others. Common to each package is that it provides a number of commands and environments that gives you some form of functionality.
- Programming LaTeX — writing environments – posted Aug 4, 2007
We have previously seen how to create commands in LaTeX. Today, we will be looking at how we can create environments, that is the things that are typically started with a \begin and ended with an \end command. In the course of writing a document with a barebones LaTeX setup, we may see several of these environments: document, figure, table, itemize and enumerate. Each of these environments dictates some form of structure that helps abstract the actual layout of your document from the contents and structure of your document, an important tenant in the LaTeX world.
- Programming LaTeX — writing commands – posted Aug 3, 2007
Most typesetting software lets the user operate within its functionality and thorough programming knowledge is required to write any form of extension to the system, typically in the form of a module written in C. With LaTeX this form of extensibility is built into the language, allowing you to program your own solutions, and to easily use other peoples' solutions to problems. One of the key places to find these other solutions is at places like CTAN (the Comprehensive TeX Archive Network).
- Drawing trees in LaTeX – posted Feb 21, 2007
Last time we looked at how we could import graphics in the document using the graphics package. Today, we will look at how we can create vector graphics of trees from inside our LaTeX documents. As there are many aspects of the natural sciences that requires high quality drawings of trees, graphs, etc., it should come as no surprise that there are several packages for LaTeX trying to solve this issue.
- Customising class styles – posted Oct 31, 2006
The basic premise of TeX is that nearly everything can be changed. So, we could change, for instance, the \maketitle command to output a page of fluffy bunnies with your title, name and other info (like \thanks) in a pink box. This will almost guarantee that your paper looks rather unique in your teacher's pile of papers to grade—we will leave that up to you to decide whether that is a good thing, though.
- Extensible languages – posted Mar 28, 2006
Yesterday I attended a colloquium where Erik van Wyk from University of Minnesota spoke on techniques and tools for making extensible languages. Now extensible language may sound like a strange concept, but it is a fairly simple idea that lies at heart of this: I want to add this new construct to my language because it may simplify my work. Now that's a pretty basic motivation for us to do some work, so we don't have to do so much work.
- WSE, DIME, certificates and large attachments – posted Oct 16, 2005
Sometimes technology isn't really transparent enough, even for us developers. When you do web development with IIS, WSE and ASP.NET you might consider it fairly straightforward to create a webservice that accepts file uploads. I thought so, so off I went coding. Everything went well, the files were being uploaded. Time to test this on production data: 400 Bad Request. Hmm. Of course, prior to this I have already modified web.config to up the max request length like this: So why is it refusing files with an error 400 as soon as they go beyond about 4096KB?
- C#, VB and LINQ – posted Sep 30, 2005
I went to a colloquium on LINQ (I guess this link might die in the future when the future is no longer the future, so to speak) presented by Erik Meijer who is a technical lead in the WebData group (whatever they do). Meijer is a very charismatic speaker and it was a very good presentation he did (although Virtual PC on his laptop couldn't entirely keep up). For the uninitiated LINQ stands for Language INtegrated Query and it brings set relational functionality to .NET.
- Atomic Cellular Dysfunction – posted Feb 17, 2005
It isn't that my organism is self-destructing (much) that I've picked this rather funky topic for today's post, nay, it is far more sinister and dark - it is the topic of a contest that I participated in, together with Noah Adler last month, a contest that was about creating a game in 48 hours to the theme: Atomic Cellular Dysfunction. We managed to create, within the 48 hours, a lovely game in style with the games of the 80s that we have both grown up on and loved, so without further ado, we bring Atomic Cellular Dysfunction to the world.
- A DIME for your Country - the continued story – posted Jun 11, 2004
I have previously discussed Microsoft's DIME implementation in their Web Service Enhancements 1.0 library for .NET. Namely the part where they manage to break any and all support for non-ASCII SOAP transfers. It seems as if they've rectified this grivious mistake in version 2.0 of WSE, so now we can have international messages, yay! Of course we have to rebind our solutions, re-test and all, but hey, what don't we do to get them internation characters delivered to our doorstep?
- A DIME for your Country – posted Apr 5, 2004
Lately at work I have been on a project where we needed to implement a web service client. A part of this client is accepting a series of files passed as DIME attachments. Since .NET doesn't implement this on its own we had to dig forth the Microsoft WSE 1.0 library, which features a series of extensions to the normal web service programming support. To understand the full conundrum let us back up a bit.