<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Stuart&#039;s Soliloquy to the void &#187; Academe</title>
	<atom:link href="http://hstuart.dk/category/academe/feed/" rel="self" type="application/rss+xml" />
	<link>http://hstuart.dk</link>
	<description>A blog on development, baking and the universe.</description>
	<lastBuildDate>Sun, 10 Jul 2011 08:32:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=0</generator>
		<item>
		<title>Bibliographic software</title>
		<link>http://hstuart.dk/2007/05/18/bibliographic-software/</link>
		<comments>http://hstuart.dk/2007/05/18/bibliographic-software/#comments</comments>
		<pubDate>Fri, 18 May 2007 13:08:14 +0000</pubDate>
		<dc:creator>Henrik Stuart</dc:creator>
				<category><![CDATA[Academe]]></category>

		<guid isPermaLink="false">http://localhost/?p=143</guid>
		<description><![CDATA[A big, and important, part of academic works is to describe the foundation of your work. That is, you need to cite previous works, create bibliographies and all sorts of things that has a tendency to be a bit annoying for most people. Now, a large portion of people have a tendency to use Microsoft [...]]]></description>
			<content:encoded><![CDATA[<p>A big, and important, part of academic works is to describe the foundation of your work. That is, you need to cite previous works, create bibliographies and all sorts of things that has a tendency to be a bit annoying for most people. Now, a large portion of people have a tendency to use Microsoft Word or OpenOffice to write texts in (be it assignments, theses, or dissertations), and a frightening portion of people I know using these tools manage their bibliographies in hand without using any tools to ease their work.</p>
<p>For a while there have been some commercial tools in this area, such as <a href="http://www.refworks.com/">RefWorks</a>, and <a href="http://www.endnote.com/">EndNote</a>, which seem to be the two most popular choices. These tools allow you to manage your bibliography in a big database, and more importantly, it integrates with Word so you can pull in a reference from your database and it will format it in accordance with some citation style (<a href="http://apastyle.apa.org/">APA</a>, <a href="http://www.mla.org/store/CID24/PID160">MLA</a>, etc.) so you don&#8217;t have to sit and double-check whether you&#8217;ve remembered all the details of your selected/dictated style. Furthermore, these tools allow you to easily grab material from online publication databases such as <a href="http://www.pubmed.com">PubMed</a>, <a href="http://citeseer.ist.psu.edu/">CiteSeer</a>, and many others, so you don&#8217;t have to manually write up all the information about each bibliographic item.</p>
<p>While commercial tools are all fine and well, we have actually had this functionality in LaTeX for a long while using BiBTeX. The catch here is, of course, that you need to maintain your BiBTeX database yourself. So, wouldn&#8217;t it be nice if we could get both things? An application that can easily fetch bibliography information from the web, something that can integrate with Word for those who need that, something that can export to BiBTeX so it can be readily used with LaTeX, and even something that can help you keep track of where you put all the articles you need for your thesis? And would it hurt if this thing was actually open source? I think not!</p>
<p>Yesterday my fiancée was complaining about managing bibliographies in Word (I have, unfortunately, been unable to persuade her to change to LaTeX exclusively), and as the kind person I am, I immediately put the followship of the ring, extended edition, on pause and went to look for something that&#8217;d help her maintain a database of bibliographies. Something which, preferably, is a tad easier and faster to use than BiBTeX. Now, I&#8217;m aware of things like <a href="http://pybliographer.org/">pybliographer</a> that gives BiBTeX a more userfriendly exterior, but I was aiming for something a little more userfriendly and more like RefWords and EndNote with integration to Word.</p>
<p>And lo and behold, after a short while of searching, I came upon one of the most nifty extensions to Firefox that I have seen to date: <a href="http://www.zotero.org">Zotero</a>. This extension integrates your bibliographic database management directly into the application most of us use to find literature with: the browser. As an added bonus it also offers integration with Word, it works across platforms, it&#8217;s open source. Basically it fulfills all the needs I listed above to perfection. Count me amazed. I will definitely be using this for myself as well and just export to BiBTeX when I need to cite works from my LaTeX documents.</p>
<p>For the more technically minded of us who have a tendency to prefer our own variations on bibliographies and citations (when we aren&#8217;t otherwise bound by journals or other draconian requirements) and thus create our own .bst-styles for BiBTeX, then Zotero uses the <a href="http://xbiblio.sourceforge.net/csl/">Citation Style Language</a>, which is an XML-based format for formatting citations and bibliographies. Lastly, Zotero has been funded and developed by the <a href="http://chnm.gmu.edu/">Center for History and New Media</a>, so this is a tool by the academe for the academe with a commercial tool&#8217;s polish. Give it a try today.</p>
]]></content:encoded>
			<wfw:commentRss>http://hstuart.dk/2007/05/18/bibliographic-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extensible languages</title>
		<link>http://hstuart.dk/2006/03/28/extensible-languages/</link>
		<comments>http://hstuart.dk/2006/03/28/extensible-languages/#comments</comments>
		<pubDate>Tue, 28 Mar 2006 22:03:57 +0000</pubDate>
		<dc:creator>Henrik Stuart</dc:creator>
				<category><![CDATA[Academe]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://localhost/?p=155</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I attended a colloquium where <a href="http://www-users.cs.umn.edu/%7Eevw/">Erik van Wyk</a> 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: <q>I want to add this new construct to my language because it may simplify my work</q>. Now that&#8217;s a pretty basic motivation for us to do some work, so we don&#8217;t have to do so much work.</p>
<p>van Wyk et al. have developed something called Silver that allows them to specify these extensions using attribute grammars, which is a context-free grammar that has been extended with attributes, semantic rules and conditions. He described how they use forwarding in the attribute grammars to get modularity through refinement of the functionality of the extension.</p>
<p>What this means is that at the core level you could write an extension, say to introduce SQL statements directly in your language, you could introduce <code>using connection select name, address from customers where balance &gt; `balance</code> and have it automatically converted to <code>connection.Execute("select name, address from customers where balance &gt; " + balance)</code>. This means at the core level your extension is nothing but a macro in the pre-processing sense.</p>
<p>Given your extension at the core level any error reporting, for instance is forwarded, is forwarded to your generated code. This is where the extension refinement comes in, because if you define the appropriate error reporting extensions to your module you could return better errors. And their framework builds further onto this, also making syntax- and control-flow analysis available using two temporal logics, CTL and LTL-FV. You can read more about temporal logics in <a href="http://www.cs.bham.ac.uk/research/lics/">Logic in Computer Science</a> by Huth and Ryan.</p>
<p>Everything cannot be bliss, however, as this thing requires that the host language is written with these extensions in mind &#8211; that is, it has been written in Silver. van Wyk&#8217;s team is working on both a C and Java implementation, but given the sizes of in particular Java, it probably isn&#8217;t realistic that they&#8217;ll get a full model of Java for this. Another problem is, of course, that writing a full-fledged extension requires the programmer to know about attribute grammars, forwarding, temporal logic and a lot of other nitty gritty things. So, get ready to hire me or someone like me.</p>
<p>On a more realistic note I think the ramifications of having support for this in a language are huge as you can customise your language on the basis of your needs very easily. But I don&#8217;t think it will be feasible until the day that these extensions become easier to write. Until then I&#8217;m afraid it will remain an academic exercise, but here&#8217;s to hoping.</p>
]]></content:encoded>
			<wfw:commentRss>http://hstuart.dk/2006/03/28/extensible-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presenting for the academe, and miscellaneous thoughts</title>
		<link>http://hstuart.dk/2006/03/26/presenting-for-the-academe-and-miscellaneous-thoughts/</link>
		<comments>http://hstuart.dk/2006/03/26/presenting-for-the-academe-and-miscellaneous-thoughts/#comments</comments>
		<pubDate>Sun, 26 Mar 2006 00:08:20 +0000</pubDate>
		<dc:creator>Henrik Stuart</dc:creator>
				<category><![CDATA[Academe]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://localhost/?p=156</guid>
		<description><![CDATA[I think I need to work on posting more often than once or twice a month at best. A list of thoughts to post about would probably come in handy if I wasn&#8217;t so prone to misplace my lists of things to do. Alas. One of my courses at DIKU has been on scripting- and [...]]]></description>
			<content:encoded><![CDATA[<p>I think I need to work on posting more often than once or twice a month at best. A list of thoughts to post about would probably come in handy if I wasn&#8217;t so prone to misplace my lists of things to do. Alas.</p>
<p>One of my courses at <a href="http://www.diku.dk">DIKU</a> has been on scripting- and domain specific languages, in particular how we can use them to solve recurring problems, when we develop them, and a long range of presentations on different languages and the problems they try to solve. This course is (/was) a seminar course, which means that students are meant to participate in the lecturing by giving one or more presentations. For this course we are (/were) meant to give two presentations each.</p>
<p>The last paragraph was, of course, the world&#8217;s best thought-out foreshadowing of getting to the point where I talk about what I talked about. Catchy, right?</p>
<p>My first presentation, and in my opinion the better rehearsed of the two, was on using the .NET framework as a platform for embedding scripting languages and creating domain specific languages for web-based pipelines. The .NET framework is indeed superb for doing these things, but not superb in the way that C is superb for it, nay, superb in the way that everything is easy and doesn&#8217;t require a lot of code. But if you do not believe me, you can look at the <a href="/files/presentations/dotnet.pdf">slides</a> for yourself.</p>
<p>The second presentation was on domain specific languages for specifying illustrations. Now many people may ask why on Earth we would need something like that, when we can just draw stuff in Adobe Illustrator or equivalent. However, Illustrator does not lend itself kindly to automatically (meaning programatically) generating large-scale visualisations of systems. We could, for instance, visualise the internet using a program. We could visualise the order of page visits made by website visitors, and many other things. One of my great interests is typography and keeping fonts consistent between documents and illustrations and whatnot, but the presentation only touched briefly on this. In the presentation I discussed <a href="http://www.graphviz.org">GraphViz</a>, <a href="http://cm.bell-labs.com/who/hobby/MetaPost.html">METAPOST</a> and <a href="http://sourceforge.net/projects/pgf/">TikZ/PGF</a>. The slides are available <a href="/files/presentations/drawing.pdf">here</a>.</p>
<p>This brings me to the second part (or third, depending on how you count) of this post: reactions. I have been teaching in different contexts over the past decade (God is it that long already). I have taught high school students maths, I have tutored grade school pupils in maths, I have given lectures on error handling methodologies for corporations, I have taught employees advanced/new programming methodologies in corporations, but this was my first real, terrifying encounter with presenting for the academe. But presenting here <em>is</em> different.</p>
<div style="margin: 1em auto 1em 10%; width: 80%; font-style: italic;">
<p><q>Where have you performed?</q> Murray asked me from behind a copy of Variety. <q>Well, I don&#8217;t perform, exactly,</q> I answered, <q>but I have spoken at synagogues, and I lecture from time to time at colleges and universities.</q></p>
<p><q>Universities?</q> Murray sputtered. <q>Did he say universities? Worst audience in the world. I spoke at a university once. They invited me to speak about the hotel industry. Believe me, I&#8217;ve got a pretty good routine on this; I&#8217;ve used it many times before, and I know where I&#8217;m supposed to get reactions: chuckles, laughs, applause. Son of a bitch, I stand up there and it&#8217;s a grim audience! All these young people in jeans and sneakers. I open it up for questions. These bastards are dead serious -they&#8217;re taking notes! I realized later, they weren&#8217;t an audience, they were students. They take notes and get grades. They&#8217;re not there to laugh. Who wants to perform for an audience like that?</q></p>
<div style="text-align: right;">
  &#8211; A. Lansky in <q>Outwitting History</q>
</div>
</div>
<p>Lansky does portray the situation fairly well, except there isn&#8217;t a lot of taking notes in this course. Reflecting on it, however, I can see how right he is. We hardly ever react to any of the witticisms, puns or great revelations. We just sit there and try to embrace it all, catalogue it, connect it to existing material and just not fall behind in keeping up with the new information that is presented. We simply do not have time to pick up the small off-remarks that are meant to liven up the crowd. But <em>God</em> it&#8217;s frustrating when you&#8217;re the speaker as you haven&#8217;t got the vaguest inkling of whether the crowd is bored witless of what you&#8217;re saying, or whether it&#8217;s the coolest thing they&#8217;ve heard of since sliced bread. I have since received word from a couple of people that at least parts of my presentations were interesting, so that is something, at least.</p>
<p>There are, however, a few pointers I&#8217;d like to share with other people who are going to be presenting to the academe. Not so much pointers that I give because I have now done presenting to this particular crowd, but pointers that I have come to understand as part of listening to presentations daily for almost seven years in this world. The points are fairly simple: know your material, know it really well, rehearse before you speak, and rehearse multiple times before you speak, and lastly, make sure that your slides support your talk. Your slides should not <em>be</em> your talk. It is not interesting to have slides read aloud to you. Dazzle us with your message, use slides to underline your points, illustrate the key topics. If you wish to learn more about good presentation methods, I will warmly recommend Garr Reynold&#8217;s blog on professional presentation design: <a href="http://presentationzen.blogs.com/">Presentation Zen</a>. He has a lot of interesting ideas, but I believe a lot of them a better suited for product pitches, broad overviews and the like. Presenting a programming language will need more stuff on the slide, but there are still things to be learned. If you look at my slides you will see that I in particular do not honour his <q>No more bullet points</q> mantra. I happen to like a small number of bullet points to underline my message. But like humans then no two presentations are created alike.</p>
<p>Before I get overly philosophical, let us derail the discussion to the third (or fourth) and last part of my post: cool gadgets for doing presentations. If you&#8217;ve stuck with me this far then I will present to you: Trust Wireless Presenter TK-3300p.</p>
<div style="margin: auto auto auto 10%; width: 80%;">
  <img src="http://hstuart.dk/images/20060325/presenter.png" alt="Trust Wireless Presenter TK-3300p" style="border: 1px solid black;"/>
</div>
<p>The presenter functions as a wireless trackball mouse with dedicated buttons for page up and page down and it comes with a nifty red laser pointer. I used it for my second presentation and the flow of the presentation became a lot better than when I had to walk back and forth between the computer to change slides. The Trust presenter is fairly inexpensive, so even if you only have a small number of presentations each year, I will warmly recommend it as it makes your presentation just that much more well-connected, and it gives a better impression on your audience. Plus, of course, you aren&#8217;t interrupted every time you have to move to the computer. And, of course, it still has the <em>cool gadget factor</em>. The presenter is placed next to my Creative MuVo memory stick so you can compare size. The presenter is placed very nicely in your hand and it contains a left mouse button underneath that is operated with your index finger. The three top buttons can be a bit tricky to get right all the time, but with a bit of practice it is fairly easy. Alright, enough product placement and endorsement for one post, and back to my paper for me. More on that in a later post (I hope).</p>
]]></content:encoded>
			<wfw:commentRss>http://hstuart.dk/2006/03/26/presenting-for-the-academe-and-miscellaneous-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

