<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://www.judithvanstegeren.com/blog/atom.xml</id>
  <title>Judith van Stegeren</title>
  <updated>2025-11-13T10:56:01.926404+00:00</updated>
  <author>
    <name>Judith van Stegeren</name>
    <email>judith@jd7h.com</email>
  </author>
  <link href="https://www.judithvanstegeren.com/blog/atom.xml" rel="self"/>
  <link href="https://www.judithvanstegeren.com" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Personal website of Judith van Stegeren</subtitle>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/8-tips-for-self-employed-designers/index.html</id>
    <title>8 tips for self-employed designers</title>
    <updated>2013-08-30T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Getting started as a green freelancer can be a daunting task. There is so much to do and even more to learn. Where do you start?&lt;/p&gt;
&lt;p&gt;In this posts you can find some tips on freelancing or designing that I picked up over the years. They helped me and I’d like to share them with you!&lt;/p&gt;
&lt;h2&gt;Think of your dream day as an entrepreneur or freelancer&lt;/h2&gt;
&lt;p&gt;What would you do if you had all the time of the world? Which projects would you take on? Who is your dream customer? Write down the answers to these questions and re-read them after some time. This really helps with getting a clearer picture of what kind of service you want to provide and to whom. Secondly, this record makes it very easy to track your development as a freelancer or entrepreneur.&lt;/p&gt;
&lt;h2&gt;Spend the time that you are planning to work on actual work&lt;/h2&gt;
&lt;p&gt;Don’t waste your precious time on a facebook-twitter-9GAG-galore. Looking at Pinterest or Tumblr can be a good source of inspiration. However, remember that if you do this for three hours it can make a serious dent in your time… and self-esteem. If you can’t snap out of it, you’ll have a very busy but unproductive day. (And that’s a shame, isn’t it? After all, our work’s our hobby!)&lt;/p&gt;
&lt;h2&gt;Get up early&lt;/h2&gt;
&lt;p&gt;Get dressed as if you’re headed for the office or an important client. Have a relaxed cup of coffee. Take a walk. In short: take some time to boot your creativity. Be up and running for your day around 8 and get to it (fo’ real) around 9. This way, you can do the largest part of any serious work before noon.&lt;/p&gt;
&lt;h2&gt;Organize your projects&lt;/h2&gt;
&lt;p&gt;Make a list of all running projects. Save design briefs (yes, even for bigger personal projects) so that even after a dusty year on your to-do-shelf you’re always ready to pick up the project where you left it off. Be sure to store any important sketches or notes in the near vicinity of the design brief! Documenting your process is a healthy habit. Consider keeping a design journal, where you jot down notes on the status of the project, problems, solutions and thoughts on the process. This can be a handy reference, for yourself (and if you choose to publish it, for others).&lt;/p&gt;
&lt;p&gt;Bonus tip: read about &lt;a href="https://photoshopetiquette.com"&gt;Photoshop Etiquette&lt;/a&gt;. Keep your PSDs as organized as your projects and make your printer, clients ánd future-you very happy.&lt;/p&gt;
&lt;h2&gt;Gather inspiration&lt;/h2&gt;
&lt;p&gt;Every day, spend a short amount of time (for example: one hour) gathering inspiration or new input. You can do this in multiple ways. You can read magazines or books on subjects you like (you don’t have to ready specifically work-related stuff!) You can follow some blogs and catch up on their RSS-feeds. Check out random tumblr-accounts, you can hang around on Pinterest, post in the DeviantArt forums, post some random friendly twitter-messages. Interact with people and communities on the internet that interest you. Try out a recipe of a dish that you’ve never tried before. Get your input from things that inspire you &lt;em&gt;personally&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;Experiment&lt;/h2&gt;
&lt;p&gt;Be aware of the fact that there is always stuff to learn. Don’t be afraid to experiment. Do stuff you’ve never tried or that you find a bit scary. Reserve a tiny amount of your budget for your own art-lab and invest in art supplies that you’ve never used, a course in a graphic technique they didn’t teach you in school or plan an excursion to an art gallery or museum near you.&lt;/p&gt;
&lt;h2&gt;Don’t be afraid to emulate&lt;/h2&gt;
&lt;p&gt;Sometimes to best way to learn something new is to emulate others. Famous painters like Van Gogh started out the same way — &lt;a href="https://en.wikipedia.org/wiki/Copies_by_Vincent_van_Gogh"&gt;Vincent van Gogh copied paintings of painters he admired&lt;/a&gt;, such as Millet and Hiroshige. Read the book &lt;em&gt;Steal like an artist&lt;/em&gt; by &lt;a href="https://austinkleon.com"&gt;Austin Kleon&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Don't discard your ideas&lt;/h2&gt;
&lt;p&gt;Jot down all crazy ideas you might have. Be sure to carry around a small notebook in which you can scribble and doodle away. You don’t have to show anybody, so what do you have to lose? Everyone knows that the best ideas always come in the middle of the night, while riding a bicycle or under the shower or in the bathroom. Turn off your inner critic when brainstorming. It doesn’t contribute to the creative process anyway.&lt;/p&gt;
&lt;p&gt;And above all: enjoy what you’re doing! Being able to choose your own living is the most beautiful thing there is!&lt;/p&gt;
&lt;p&gt;Bonus link: &lt;a href="https://theoatmeal.com/comics/working_home"&gt;why working at home is both awesome and horrible&lt;/a&gt;, a comic by &lt;a href="https://theoatmeal.com"&gt;The Oatmeal&lt;/a&gt;.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/8-tips-for-self-employed-designers/index.html"/>
    <summary type="html">&lt;p&gt;Getting started as a green freelancer can be a daunting task. There is so much to do and even more to learn. Where do you&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/8-tips-for-self-employed-designers/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/8-tips-for-self-employed-designers/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Creative business"/>
    <published>2013-08-30T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/how-to-get-started-with-chainmail/index.html</id>
    <title>How to get started with chainmail</title>
    <updated>2013-09-10T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;When I was visiting Castlefest this year, I had the great opportunity to visit &lt;a href="https://www.facebook.com/pages/Kunst-op-Straatnd/123847884361830"&gt;Kunst Op Straat&lt;/a&gt;. This artful collective gave some really interesting workshops and lectures about a variety of creative things, ranging from painting and song-writing to historical clothing. I signed up for a workshop on chainmail.&lt;/p&gt;
&lt;p&gt;Since I was not entirely new to chainmail the guy conducting the workshop was kind enough to show me some advanced stuff — by which I mean something different than the planned ‘make your own keychain’.&lt;/p&gt;
&lt;p&gt;The workshop was lots of fun, so I went home armed with my own private supply of pliers and aluminium rings. After making a nice bracelet with a very pretty looking byzantine weave, I decided to share some tips and tricks on how to get started with chainmail.&lt;/p&gt;
&lt;img src="/images/chainmail-bracelet-byzantine-small.jpg" alt="A chainmail bracelet I made from gold and green galvanized aluminium rings in byzantine weave." class="img-fluid" /&gt;
&lt;h2&gt;Step one: Gather some inspiration&lt;/h2&gt;
&lt;p&gt;Before you can start making your own chainmail jewelry or armor, you need to have a attainable goal. I recommend fooling around with a few weaves before you start building a complete hauberk out of nothing.
This part is fun and easy: just browse around on Etsy, Flickr, DeviantArt or the &lt;a href="http://www.mailleartisans.org/gallery/"&gt;M.A.I.L. website&lt;/a&gt; and gather some inspiration for what you want to make.&lt;/p&gt;
&lt;h2&gt;Step two: Obtain the right materials&lt;/h2&gt;
&lt;h3&gt;Rings&lt;/h3&gt;
&lt;p&gt;If you have a general idea of the item you want to make, think about the right materials for the job. Aluminium is light and easy to handle, but not very strong. Galvanized rings come in lots of different colours but might scratch easily.&lt;/p&gt;
&lt;img src="/images/anodizedaluminiumrings-blue.jpg" alt="Blue anodized aluminium rings from TheRinglord.com" class="img-fluid" /&gt;
&lt;p&gt;Steel is really tough, but you need more strength in your hands to work with it. Silver is neat for jewelry, but not very cheap to start with. And rubber rings can give your wearables a stretch effect — just don’t forget you can only use them as ‘closed rings’ in a weave! Look to other mailers to see what type of ring they use for different items.&lt;/p&gt;
&lt;p&gt;The size of the rings, the thickness of the wire and the aspect ratio between the size and thickness of the ring all determine the kind of weave you can use. To give an example: European 4-1 works with almost all rings, but for the Helm chain, you need two different sizes:&lt;/p&gt;
&lt;img src="/images/cgmaille-european4-1.jpg" alt="European 4-1 weave" class="img-fluid" /&gt;
&lt;img src="/images/cgmaille-helms-chain.jpg" alt="Helms chain weave" class="img-fluid" /&gt;
&lt;p&gt;You can obtain most standard sizes rings in all kinds of materials from specialized webshops such as &lt;a href="http://www.theringlord.com/"&gt;TheRinglord.com&lt;/a&gt; (USA) or &lt;a href="http://www.thequeenring.com/"&gt;The Queen Ring&lt;/a&gt; (NL).&lt;/p&gt;
&lt;h3&gt;Pliers&lt;/h3&gt;
&lt;p&gt;You need two pliers to open and close the rings while weaving. Some people have different kinds depending on the type of ring they’re working with: pliers with tooths for lots of grips for the tougher rings and smooth smaller pliers for jewelry making. Mind that the bigger or broader the pliers, the harder it is to see what you’re doing but the better the grip. Toothed pliers might scratch galvanized rings.&lt;/p&gt;
&lt;h3&gt;Other materials&lt;/h3&gt;
&lt;p&gt;You can combine chainmail with scale mail to make really cool and shiny armor. Upgrade jewelry with wirework, beads and precious stones. The sky’s the limit. Don’t forget to buy closures: leather straps for armor and silver or gold coloured clasps for bracelets and necklaces.&lt;/p&gt;
&lt;h2&gt;Step three: Find a tutorial and learn to weave&lt;/h2&gt;
&lt;p&gt;You have a good idea of the thing you want to make. You have heaps and heaps of rings in shiny colours. You are dual wielding your mighty pliers with unparalleled prowess. Now what?&lt;/p&gt;
&lt;p&gt;You have to learn how to weave. Lucky for you, there are numerous good sources on the internet. A few of my favourites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://cgmaille.com/tutorials.shtml"&gt;CGMaille.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The extensive weave library of &lt;a href="http://www.mailleartisans.org/weaves/"&gt;Mailleartisans.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://theringlord.org/derakoninstructions/inst.html"&gt;Derakon’s library of instructions (theringlord.com)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Is this all a bit too much for you? Start with &lt;a href="http://theringlord.org/derakoninstructions/simpleeuro.html"&gt;this tutorial on European 4-1&lt;/a&gt;. It will teach you how to make a sheet of chainmail for armor and simple bracelets.&lt;/p&gt;
&lt;h2&gt;I’m a master of European 4-1. What’s next?&lt;/h2&gt;
&lt;p&gt;If you can weave European 4-1 in your sleep, try your hand on one of the following things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Try more difficult weaves.&lt;/li&gt;
&lt;li&gt;Try working with &lt;a href="http://www.deviantart.com/art/scale-mail-vest-front-127873708"&gt;scale mail&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Make a &lt;a href="http://www.deviantart.com/art/Metallica-inlay-245096482"&gt;chainmail ‘inlay’&lt;/a&gt; from different coloured rings.&lt;/li&gt;
&lt;li&gt;Take on a big project. Make a big piece of armor, such as a hauberk. Hauberks generally consist of 7000+ rings.&lt;/li&gt;
&lt;li&gt;Make your own custom rings.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=dsWCbCM3Uzo"&gt;Combine chainmail with intricate beading-schemes&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Try making something out of &lt;a href="http://www.deviantart.com/art/Micro-maille-93839818"&gt;micro-maille&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have made something after reading this tutorial, be sure to share it in the comments. I’d love to see your creations. Happy weaving!&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/how-to-get-started-with-chainmail/index.html"/>
    <summary type="html">&lt;p&gt;When I was visiting Castlefest this year, I had the great opportunity to visit Kunst Op Straat . This artful collective gave some really interesting&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/how-to-get-started-with-chainmail/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/how-to-get-started-with-chainmail/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="How-to"/>
    <published>2013-09-10T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/summer-read-for-motivation/index.html</id>
    <title>Summer read for motivation: Brick by Brick by Stephen McCranie</title>
    <updated>2014-07-14T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;I have a hard time finding the motivation to finish my huge list of projects during the summer break.&lt;/p&gt;
&lt;p&gt;I survived my first year of my masters studies and the summer holidays are finally here. After the exams in June, I desperately needed some downtime so I took a week off. But now, after a week of no deadlines, no obligations, only parties and days of leisurely strolling around the city, I find that it is very hard start working again. It’s not a lack of discipline, mind you — although I think the lack of deadlines certainly doesn’t help.&lt;/p&gt;
&lt;p&gt;But something happened to me today when I found the website &lt;a href="http://doodlealley.com/"&gt;Doodle-alley&lt;/a&gt; by Stephen McCranie. The website contains an online book, “Brick by Brick”, that contains motivational essays and comics about being a creator, based on McCranie’s experience as a cartoon artist. I can definitely relate to the feelings and pitfalls described in the book and the comics are both well-drawn and inspirational. Read the &lt;a href="http://doodlealley.com/2009/11/29/the-need-for-sustainable-creativity/"&gt;the first chapter&lt;/a&gt; of Brick by Brick.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://doodlealley.com/2011/10/19/brick-by-brick/"&gt;&lt;img src="/images/GOALSARESCARY0006.jpg" alt="Goals are scary, a panel from Brick-by-Brick by Stephen McCranie" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I can recommend this book as a inspirational summer read that will also (hopefully) provide some motivation. I hope you will be as inspired and motivated by Brick-by-Brick as me. Enjoy!&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/summer-read-for-motivation/index.html"/>
    <summary type="html">&lt;p&gt;I have a hard time finding the motivation to finish my huge list of projects during the summer break. I survived my first year of&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/summer-read-for-motivation/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/summer-read-for-motivation/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Creative business"/>
    <published>2014-07-14T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/short-the-history-of-typography/index.html</id>
    <title>Stop motion short: the history of typography</title>
    <updated>2014-07-22T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;I’m working on a &lt;a href="http://www.skillshare.com/classes/design/The-First-Steps-of-Hand-Lettering-Concept-to-Sketch-Lettering-I/389616295/projects/27996"&gt;Skillshare project&lt;/a&gt; at the moment (more about that &lt;a href="//jd7h.com/blog/2014/handlettering-course-skillshare/"&gt;here&lt;/a&gt;) and I came across this handy stop motion video that explains the history of typography in a mere 5 minutes! I think it’s really handy for when you want to search for a specific font but you don’t know the exact category — knowing the different between humanist sans and geometric sans is really useful when browing sites such as myfont and fontstore.com! This video makes it really easy to find out what kind of font you’re looking for.&lt;/p&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/wOgIkxAfJsk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;If you like this kind of stuff and you want to learn more about typography, be sure to check out the book &lt;em&gt;Thinking with Type&lt;/em&gt; by Ellen Lupton. It’s quite a good primer on everything font-related.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/short-the-history-of-typography/index.html"/>
    <summary type="html">&lt;p&gt;I’m working on a Skillshare project at the moment (more about that here ) and I came across this handy stop motion video that explains&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/short-the-history-of-typography/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/short-the-history-of-typography/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Graphic design and illustration"/>
    <published>2014-07-22T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/handlettering-course-skillshare/index.html</id>
    <title>Handlettering course on Skillshare</title>
    <updated>2014-07-30T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;In January 2014 I bought access to an online course on &lt;a href="http://www.skillshare.com"&gt;Skillshare&lt;/a&gt;. I started with the course on hand-lettering in January but couldn’t continue because of exams. Then when the summer holidays began I could start right where I left off.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.skillshare.com/classes/design/The-First-Steps-of-Hand-Lettering-Concept-to-Sketch-Lettering-I/389616295/projects/27996"&gt;&lt;img src="/images/projectskillshare.jpg" alt="Practice for the course on hand-lettering" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Practice for the course on hand-lettering&lt;/p&gt;
&lt;p&gt;For those of you who don’t know about Skillshare: it’s an online learning community, a bit like &lt;a href="http://www.coursera.org"&gt;Coursera&lt;/a&gt;, where you can take online classes on different subjects. Where Coursera specializes in academic courses from universities, Skillshare mostly caters to creatives and entrepreneurs. Some &lt;a href="http://www.skillshare.com/classes/learn"&gt;examples of courses&lt;/a&gt; you can find on Skillshare are calligraphy, logo design, entrepreneurship, creative thinking and writing film scripts.&lt;/p&gt;
&lt;p&gt;&lt;img src="/images/skillshare2.png" alt="a screenshot of the skillshare website" /&gt;&lt;/p&gt;
&lt;p&gt;This is what Skillshare looks like if you’re taking a course.&lt;/p&gt;
&lt;p&gt;You can either pay a monthly fee for full access, or you can buy access to specific courses, which is what I did since I don’t always have time. Once you have paid for a specific course, you can always access the course materials.&lt;/p&gt;
&lt;p&gt;The course I bought is called &lt;a href="http://www.skillshare.com/classes/design/The-First-Steps-of-Hand-Lettering-Concept-to-Sketch-Lettering-I/389616295"&gt;“Lettering 1: The First Steps of Hand-Lettering: Concept to Sketch”&lt;/a&gt;. The teacher, Mary Kate McDevitt, gives short video lectures and exercises and shows us tips and tricks on handlettering. It’s really cool and for 25 dollar for the whole course it was an absolute bargain.&lt;/p&gt;
&lt;p&gt;I’ll keep you guys up to date about my progress. I’m having loads of fun drawing all kinds of funky letters and practicing fancy handwriting. For those of you who can’t wait for blogposts: you can take a look at my &lt;a href="http://www.skillshare.com/classes/design/The-First-Steps-of-Hand-Lettering-Concept-to-Sketch-Lettering-I/389616295/projects/27996"&gt;project page&lt;/a&gt; on Skillshare.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/handlettering-course-skillshare/index.html"/>
    <summary type="html">&lt;p&gt;In January 2014 I bought access to an online course on Skillshare . I started with the course on hand-lettering in January but couldn’t continue&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/handlettering-course-skillshare/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/handlettering-course-skillshare/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Graphic design and illustration"/>
    <published>2014-07-30T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/small-introduction-cartoons-comics/index.html</id>
    <title>Introduction to cartoons and comics</title>
    <updated>2015-01-12T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;In the wake of the tragedy in Paris of last week, there has been a lot of attention for comics and cartoons, especially as a medium to voice an opinion or tell a personal story.&lt;br /&gt;
Sarah McIntyre has written this &lt;a href="http://jabberworks.livejournal.com/686575.html"&gt;nice introduction to drawing cartoons and comics&lt;/a&gt;. It includes answers to frequently asked questions, some cool project ideas and lots of examples from numerous web comics.&lt;/p&gt;
&lt;h2&gt;Biographical comics&lt;/h2&gt;
&lt;p&gt;For those that only know comics as a source of entertainment for children, be sure to look into serious graphic novels like Maus and Persepolis. Comics are an excellent medium to tell a story in a personal manner. Telling a story in panels and quirky illustration can also serve as an easy approach to heavy or difficult subjects.&lt;/p&gt;
&lt;p&gt;Maus is a biographical graphic novel by Art Spiegelman. It tells the story of the father of the artist, a Polish Jew, who lived in Poland during the Second World War. It deals with the war itself but also the long-term personal consequences for those that were in it. I believe it is a required read for first-year history students at the University of Amsterdam.&lt;/p&gt;
&lt;p&gt;&lt;img src="/images/Maus-Art-Spiegelman.jpg" alt="Art Spiegelman, Maus" /&gt;&lt;/p&gt;
&lt;p&gt;One of my personal favorites is the book &lt;em&gt;Achter de Kawat&lt;/em&gt; (Behind the Fence) by Charles Burki. Burki was interned on Java in a Japanese prisoner-of-war camp during the Second World War. During his stay he kept a diary with illustrations and humorous notes, which he published when he returned to the Netherlands after the war. The illustrations depict the difficulties of daily life in the war camp, and the book is interesting from both historical and artistic perspective.&lt;/p&gt;
&lt;p&gt;&lt;img src="/images/burki1.jpg" alt="Charles Burki, Achter de Kawat" /&gt;&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/small-introduction-cartoons-comics/index.html"/>
    <summary type="html">&lt;p&gt;In the wake of the tragedy in Paris of last week, there has been a lot of attention for comics and cartoons, especially as a&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/small-introduction-cartoons-comics/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/small-introduction-cartoons-comics/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Graphic design and illustration"/>
    <published>2015-01-12T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/preparing-exposition-in-the-library-of-nijmegen/index.html</id>
    <title>Preparing an exposition in the library of Nijmegen</title>
    <updated>2015-04-04T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;This blog post describes my preparation for my first exposition, in a local library in Nijmegen.
You can read about the exposition itself &lt;a href="/blog/2015/exposition-in-library-hatert/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Part one: April 4&lt;/h2&gt;
&lt;p&gt;I’m so excited! My first exposition is coming up. If you are in the neighbourhood, you can visit an exposition of my children’s book illustrations in the local library, &lt;a href="http://www.obgz.nl/content/gelderland/gelderland-zuid/nl/openingstijden/detail.279874.html"&gt;Bibliotheek Hatert&lt;/a&gt;, from next week onwards. Last week I’ve been busy collecting all kinds of props (mostly stuffed animals) and getting my artwork ready for the printer.&lt;/p&gt;
&lt;p&gt;Here’s a sneak preview:&lt;br /&gt;
&lt;img src="/images/stuffed-animals-childrens-book-illustration-exposition.jpg" alt="Stuffed animals for the exposition of my children&amp;#039;s book illustrations" width="600" height="450" class="alignnone size-large wp-image-613"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/p&gt;
&lt;h2&gt;Part two: April 9&lt;/h2&gt;
&lt;p&gt;Yesterday I went to the city centre and bought a huge folder for transporting the printed illustrations for the exposition. The folder is large enough for A2 poster prints (75 cm x 53 cm) and it even has a handle so I can take it with me on my bike — although I must say that cycling with the folder gave me the impression I was kite-surfing through the streets of Nijmegen.&lt;br /&gt;
Next, I visited the printer and had all the smaller prints (A3 and A4) printed on beautiful glossy card stock! The two larger A2 posters I already printed on the A0 poster printer at the university.&lt;/p&gt;
&lt;img src="/images/art-folder-for-exposition.jpg" alt="my new art folder filled with the illustrations for the exposition" width="600" height="450" class="alignnone size-large wp-image-619"  sizes="(max-width: 600px) 100vw, 600px" /&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/preparing-exposition-in-the-library-of-nijmegen/index.html"/>
    <summary type="html">&lt;p&gt;This blog post describes my preparation for my first exposition, in a local library in Nijmegen. You can read about the exposition itself here .&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/preparing-exposition-in-the-library-of-nijmegen/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/preparing-exposition-in-the-library-of-nijmegen/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Creative business"/>
    <published>2015-04-04T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/exposition-in-library-hatert/index.html</id>
    <title>The exposition in library Hatert is here!</title>
    <updated>2015-04-15T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;And finally, my first exposition is a fact. I had lots of fun last friday filling a huge glass cabinet with my children’s book illustrations and lots of cute props!&lt;/p&gt;
&lt;p&gt;Here are some photos of the result:&lt;br /&gt;
&lt;a href="/images/expositie.jpg"&gt;&lt;img src="/images/expositie.jpg" alt="exposition childrens book illustrations hatert" width="600" height="450" class="alignnone size-large wp-image-624"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The library asked me to fill a huge 2 by 2 glass cabinet near the entrance.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/2015-04-exposition_judith_van_stegeren_library_5.jpg"&gt;&lt;img src="/images/2015-04-exposition_judith_van_stegeren_library_5.jpg" alt="2015-04 exposition judith van stegeren library hatert nijmegen" width="600" height="450" class="alignnone size-large wp-image-629"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I even reprinted some of my older work — I used to draw childrens book illustrations when I was still in high school. The little black sheep is a recurring character. Recently, I discovered the animations of Shawn the Sheep and I realised how much they look alike!&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/2015-04-exposition_judith_van_stegeren_library_4.jpg"&gt;&lt;img src="/images/2015-04-exposition_judith_van_stegeren_library_4.jpg" alt="2015-04 exposition judith van stegeren library hatert nijmegen" width="600" height="450" class="alignnone size-large wp-image-628"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;“De Raaf en de Vos” (The Fox and the Raven) is still one of my favorites. I think it really looks good as this glossy A2 poster! I translated the poem (the original is in french) to Dutch prose, so that children who don’t know the story can read it in the library.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/2015-04-exposition_judith_van_stegeren_library_3.jpg"&gt;&lt;img src="/images/2015-04-exposition_judith_van_stegeren_library_3.jpg" alt="2015-04 exposition judith van stegeren library hatert nijmegen" width="600" height="450" class="alignnone size-large wp-image-627"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The penguins! I love the penguins. I have friend who dreams of becoming a professor. He loves penguins, so I made him this poster years ago. Now I could borrow his collection of stuffed penguins for the exposition. Another friend loaned me his Lego model of the Mars Rover Curiosity (which is very, very cool. I cannot stress this enough. Lego &amp;amp; science = awesome!)&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/2015-04-exposition_judith_van_stegeren_library_2.jpg"&gt;&lt;img src="/images/2015-04-exposition_judith_van_stegeren_library_2.jpg" alt="2015-04 exposition judith van stegeren library hatert nijmegen" width="600" height="450" class="alignnone size-large wp-image-626"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My sister picked up the stuffed hedgehog for me so I could recreate the “for science!” t-shirt design with stuffed animals and a real Erlenmeyer flask. Thanks, sis!&lt;/p&gt;
&lt;p&gt;If you want to take a look at the exposition in real life, you can find it here:&lt;br /&gt;
Bibliotheek Hatert&lt;br /&gt;
Couwenbergstraat 20&lt;br /&gt;
6535RZ Nijmegen (The Netherlands)&lt;/p&gt;
&lt;p&gt;The library is open on the following days:&lt;br /&gt;
monday: 13:00 – 17:00&lt;br /&gt;
wednesday: 11:00 – 17:00&lt;br /&gt;
thursday: 13:00 – 17:00&lt;br /&gt;
friday: 13:00 – 17:00&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/exposition-in-library-hatert/index.html"/>
    <summary type="html">&lt;p&gt;And finally, my first exposition is a fact. I had lots of fun last friday filling a huge glass cabinet with my children’s book illustrations&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/exposition-in-library-hatert/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/exposition-in-library-hatert/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Creative business"/>
    <published>2015-04-15T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/adobe-illustrator-101/index.html</id>
    <title>How to learn to use Adobe Illustrator</title>
    <updated>2015-04-20T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Today, I want to give you some tips and tricks for when you want to learn how to use Adobe Illustrator. I’ve been using Illustrator for two years now. In the beginning, I really struggled with the pen tool and the fact that the program is so different from Photoshop! I hope I can help some of you by sharing how I started out using Illustrator.&lt;/p&gt;
&lt;h3&gt;Adobe Illustrator is not Adobe Photoshop.&lt;/h3&gt;
&lt;p&gt;Forget everything you think you know about Illustrator since you know Photoshop. You’ll thank me later.&lt;/p&gt;
&lt;h3&gt;Gather some resources&lt;/h3&gt;
&lt;p&gt;Surf the internet. You can find many tutorials online that deal with illustrator, the pen tool and all other stuff you need to know to craft basic vector images. Some tutorials cover one tool, other are step-by-step explanations of the process of a particular image. There’s even &lt;a href="//jd7h.com/blog/2015/bezier-game/"&gt;a game for learning the pen tool&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Some resources I used to learn Illustrator:&lt;br /&gt;
&lt;a href="http://milkbun.deviantart.com/art/Illustrator-Shapes-Tutorial-86275997"&gt;Illustrator shapes tutorial by milkbun&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://modernreligion.deviantart.com/art/The-Basics-Of-Illustrator-28741497"&gt;Tutorial part 1: The basics of illustrator by modernreligion&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://modernreligion.deviantart.com/art/The-basics-of-vectoring-31491048"&gt;Tutorial part 2: The basics of vectoring by modernreligion&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://surgio.deviantart.com/art/Illustrator-Tut-Gear-Wheel-51918545"&gt;Illustrator tutorial: gear wheel by surgio&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://bezier.method.ac/"&gt;The bézier game&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Get your hands dirty.&lt;/h3&gt;
&lt;p&gt;You learn fastest by doing. Reading tutorials is fine, but step-by-step going through all the actions in a tutorial is better. As an example, here’s the first thing I created in Adobe Illustrator by following &lt;a href="http://milkbun.deviantart.com/art/Illustrator-Shapes-Tutorial-86275997"&gt;this tutorial by Milkbun&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/etude.jpg"&gt;&lt;img src="/images/etude.jpg" alt="Web" width="600" height="446" class="alignnone size-large wp-image-634"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;!--more--&gt;&lt;/p&gt;
&lt;p&gt;I know, I know. It’s cute and ugly, but it showed me how stuff worked: how to use the pen tool, how to pick colors and how to combine shapes. When you know the basics, you can try to make more original stuff. Below is the second image I made in illustrator. I made a concept in Photoshop and then did a simple vector image in illustrator. I wanted to make something that looked like the warning signs in Portal:&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/burn-the-lemons-idea.jpg"&gt;&lt;img src="/images/burn-the-lemons-idea.jpg" alt="burn-the-lemons-idea" width="250" height="355" class="alignnone size-full wp-image-650"  sizes="(max-width: 250px) 100vw, 250px" /&gt;&lt;/a&gt; &lt;a href="/images/burn-the-lemons-vector.jpg"&gt;&lt;img src="/images/burn-the-lemons-vector.jpg" alt="burn-the-lemons-vector" width="250" height="355" class="alignnone size-full wp-image-651"  sizes="(max-width: 250px) 100vw, 250px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Stop thinking in pixels and start thinking in shapes.&lt;/h3&gt;
&lt;p&gt;Digital photo’s, paintings and drawings are made up of colored pixels on a canvas. When you work in Photoshop, you work with pixels. However, vector images (Illustrator) are build of shapes, which means that if you want to master Illustrator, you have to think in shapes instead of pixels. Shapes can overlap each other, you can substract a shape from another shape, or combine several shapes to get a larger shape. Here’s an example:&lt;/p&gt;
&lt;p&gt;If I want to draw a cloud, I could do it by painstakingly drawing the outline of the cloud:&lt;br /&gt;
&lt;a href="/images/cloud-outline.jpg"&gt;&lt;img src="/images/cloud-outline.jpg" alt="cloud-outline" width="600" height="405" class="alignnone size-large wp-image-637"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;br /&gt;
But I could also realise that a cloud shape is made up of a number of circles:&lt;br /&gt;
&lt;a href="/images/cloud-vector.jpg"&gt;&lt;img src="/images/cloud-vector.jpg" alt="cloud-vector" width="600" height="405" class="alignnone size-large wp-image-638"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;br /&gt;
In Illustrator, there is a tool called ‘pathfinder’, with which you can add and substract shapes. If I click the ‘unite’ button, all the shapes I selected will be combined into one shape. Note that the shapes have to overlap, otherwise nothing happens:&lt;br /&gt;
Before:&lt;br /&gt;
&lt;a href="/images/cloud-pathfinder-unite.jpg"&gt;&lt;img src="/images/cloud-pathfinder-unite.jpg" alt="cloud-pathfinder-unite" width="600" height="405" class="alignnone size-large wp-image-640"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;br /&gt;
After:&lt;br /&gt;
&lt;a href="/images/cloud-pathfinder-united-shape.jpg"&gt;&lt;img src="/images/cloud-pathfinder-united-shape.jpg" alt="cloud-pathfinder-united-shape" width="600" height="405" class="alignnone size-large wp-image-641"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Learn. Practice. Repeat.&lt;/h3&gt;
&lt;p&gt;Try out more complex stuff as you go along. Play with the tools, the settings, the filters. Have fun. Make a poster, a logo or a t-shirt design. It doesn’t have to be perfect: it only has to be better than the last thing you made.&lt;/p&gt;
&lt;h3&gt;Bonus: the Bezier Game&lt;/h3&gt;
&lt;p&gt;When I started to learn Adobe Illustrator, it was a big challenge to learn how to wield the pen tool. &lt;a href="http://bezier.method.ac/"&gt;The Bezier Game is a really cool web game&lt;/a&gt; that helps you to learn how all the weird hotkeys and such work in illustrator.&lt;/p&gt;
&lt;p&gt;Good luck!&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/adobe-illustrator-101/index.html"/>
    <summary type="html">&lt;p&gt;Today, I want to give you some tips and tricks for when you want to learn how to use Adobe Illustrator. I’ve been using Illustrator&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/adobe-illustrator-101/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/adobe-illustrator-101/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Graphic design and illustration"/>
    <category term="How-to"/>
    <published>2015-04-20T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/get-started-poster-design/index.html</id>
    <title>How to get started with poster design</title>
    <updated>2015-07-23T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;I would like to share with you what I learned in the past 6 years as a print designer for Karpe Noktem. If you want to get started with designing posters, you need to adhere to some basic rules.&lt;/p&gt;
&lt;p&gt;I presume that you have some notion of how Photoshop works. If you use different software, that’s no problem: Paint Shop Pro or GIMP will do as well, as long as you know some basics such as choosing the correct canvas sizes, the behaviour of layers, etc. What I want to emphasize is that you don’t have to be a photo manipulation wizard or artist prodigy to make a good poster. If you don’t know how how to do something, be sure to google it. You can find plenty tutorials online.&lt;/p&gt;
&lt;h2&gt;1. Start out with a proper poster template&lt;/h2&gt;
&lt;p&gt;This is the absolute minimum required for a good print design.&lt;/p&gt;
&lt;p&gt;When you start a new file in Photoshop, select the proper canvas size (A4, A3, …) and set the document resolution to at least 300 dpi. This ensures the quality of the poster when you try to print it.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/poster-template-basis.jpg"&gt;&lt;img class="alignnone size-large wp-image-690" src="/images/poster-template-basis.jpg" alt="poster-template-basis" width="600" height="504"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Use guides to mark the middle of the document — this makes aligning things easier. Also consider placing extra guides at least 1 cm from the borders of the document. This’ll keep you from putting important elements, such as text, too close to the document borders. Proper margins give your poster a more sophisticated look.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/poster-template-guides.jpg"&gt;&lt;img class="alignnone size-large wp-image-692" src="/images/poster-template-guides.jpg" alt="poster-template-guides" width="600" height="325"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you have to use some kind of branding template or adhere to a style guide, put all compulsory elements in place first. Think of colours, logo’s, etc. Then you have the ‘bare bones’ of the poster, and you can continue from there.&lt;!--more--&gt;&lt;/p&gt;
&lt;h2&gt;2. Think of the goal and audience of the poster&lt;/h2&gt;
&lt;p&gt;Your poster probably has to communicate some kind of message. For a band night, that would be information like the date of the venue, ticket price, the artists and the location. Keep this message in mind at all times. It will help you design a poster that both resonates with your intended audience and that communicates the message clearly.&lt;/p&gt;
&lt;h2&gt;3. Communicate your message clearly&lt;/h2&gt;
&lt;p&gt;Make sure your audience doesn’t have to search for the information they’re looking for and pay attention to readability. This means: don’t use ornamental fonts that no one can read and don’t use clashing colours for the background and text. Nobody likes reading red text on a green background.&lt;/p&gt;
&lt;h2&gt;4. Attract attention&lt;/h2&gt;
&lt;p&gt;The content of your poster should be a combination of clear text and eyecatching visuals. Choose graphics with care. Choose images, colours and fonts that speak to the particular audience of your poster. For example, look at this poster for ‘metal band night’:&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/metalnachtposter.png"&gt;&lt;img class="alignnone size-full wp-image-695" src="/images/metalnachtposter.png" alt="metalnachtposter" width="495" height="700"  sizes="(max-width: 495px) 100vw, 495px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Finally, use fonts wisely. Don’t try to put your entire font collection in one poster. Just stick with a maximum of 3 fonts. If you think you don’t have an appropriate font, check out the list with resources below. And please, PLEASE, don’t use comic sans — unless you need a poster for a children’s party.&lt;/p&gt;
&lt;h2&gt;4. Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.dafont.com/"&gt;Dafont.com&lt;/a&gt;: free fonts&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.deviantart.com/"&gt;Deviantart.com&lt;/a&gt;: for stock images and lots of inspiration&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.sxc.hu/StockExchange"&gt;StockExchange&lt;/a&gt;: for (non-free) stock images&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.colourlovers.com/"&gt;Colourlovers.com&lt;/a&gt;: colour palets&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;5. Tutorials and examples&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.youthedesigner.com/2011/08/01/32-brilliant-poster-design-tutorials-in-photoshop/"&gt;32 brilliant poster designs in Photoshop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.youthedesigner.com/2011/05/27/30-cool-concert-poster-designs-for-print-inspiration/"&gt;30 cool concert poster designs for print inspiration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.youthedesigner.com/2010/07/01/a-showcase-of-poster-tutorials-in-photoshop/"&gt;A showcase of poster tutorials in Photoshop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.youthedesigner.com/2009/11/23/51-inspirational-vintage-movie-posters/"&gt;51 inspirational vintage movie posters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.youthedesigner.com/2009/11/16/38-randomly-awesome-movie-posters/"&gt;38 randomly awesome movie posters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.youthedesigner.com/2008/01/22/16-sensational-poster-designs/"&gt;16 sensational poster designs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have a question or even more tips for good poster design, let me know in the comments!&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/get-started-poster-design/index.html"/>
    <summary type="html">&lt;p&gt;I would like to share with you what I learned in the past 6 years as a print designer for Karpe Noktem. If you want&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/get-started-poster-design/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/get-started-poster-design/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Graphic design and illustration"/>
    <category term="How-to"/>
    <published>2015-07-23T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/poster-design-step-by-step/index.html</id>
    <title>Poster design step-by-step</title>
    <updated>2015-07-23T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Hey guys! As a continuation of &lt;a href="//jd7h.com/blog/2015/get-started-poster-design/"&gt;my tutorial on poster design&lt;/a&gt;, I thought I’d write a blogpost with an example. Here’s the step-by-step design process of the poster “Pluk de nacht”.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/plukdenachtweekend2014.jpg"&gt;&lt;img src="/images/plukdenachtweekend2014.jpg" alt="plukdenachtweekend2014" width="566" height="800" class="alignnone size-large wp-image-714"  sizes="(max-width: 566px) 100vw, 566px" /&gt;&lt;/a&gt;&lt;!--more--&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set up the document. This poster will be printed on A3 paper. To make sure final result looks nice and crisp, I’ve set the document resolution to 300 dpi.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="/images/pdn0.jpg"&gt;&lt;img class="alignnone size-large wp-image-703" src="/images/pdn0.jpg" alt="pdn0" width="600" height="325"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Mark the middle and the margins with guides.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="/images/pdn1.jpg"&gt;&lt;img class="alignnone size-large wp-image-704" src="/images/pdn1.jpg" alt="pdn1" width="600" height="325"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;Insert all compulsory elements, in this case the name of the event and the logo. Add extra guides where neccessary.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="/images/pdn2.jpg"&gt;&lt;img class="alignnone size-large wp-image-705" src="/images/pdn2.jpg" alt="pdn2" width="600" height="325"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li&gt;Add all the text that should be in the final version of the poster. Now you know which amount of whitespace is left for decorative elements.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="/images/pdn3.jpg"&gt;&lt;img class="alignnone size-large wp-image-706" src="/images/pdn3.jpg" alt="pdn3" width="600" height="325"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol start="5"&gt;
&lt;li&gt;Decide how you want to fill in the rest of the poster. I decided to included some photographs of earlier versions of this event. To spice things up, I included polaroid frames for the photo’s. After fiddling around for a bit I came up with the following composition:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="/images/pdn4.jpg"&gt;&lt;img class="alignnone size-large wp-image-707" src="/images/pdn4.jpg" alt="pdn4" width="600" height="325"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol start="6"&gt;
&lt;li&gt;Finish things up. Tweak the poster until you are satisfied. The devil is in the details!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="/images/pdn5.jpg"&gt;&lt;img class="alignnone size-large wp-image-708" src="/images/pdn5.jpg" alt="pdn5" width="600" height="325"  sizes="(max-width: 600px) 100vw, 600px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I hope this example has helped you with understanding poster design. Questions? Let me know in the comments!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/poster-design-step-by-step/index.html"/>
    <summary type="html">&lt;p&gt;Hey guys! As a continuation of my tutorial on poster design , I thought I’d write a blogpost with an example. Here’s the step-by-step design&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/poster-design-step-by-step/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/poster-design-step-by-step/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Graphic design and illustration"/>
    <category term="How-to"/>
    <published>2015-07-23T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/the-value-of-writing/index.html</id>
    <title>The Value of Writing</title>
    <updated>2016-09-06T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Hello world.&lt;/p&gt;
&lt;p&gt;When I was still a student, I was mentally preparing myself for becoming a PhD student.
I knew from the experiences of some acquaintences that the life of a PhD student can be hard and stressful.
A significant amount of PhD students never finishes their project.
There's the publish-or-perish-pressure to cope with, and then there's teaching duties, research topics that lose their novelty over time and sometimes non-compatible supervisors.
(If this is all new to you, take a look at the webcomic &lt;a href="http://phdcomics.com/comics.php"&gt;PhD comics&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;In short, I decided that if I wanted to be a successful PhD student, I needed to become a prolific writer, unafraid of deadlines and enormous to-do-lists.
I started reading everything I could find about doing research, productivity, life hacking and mindfulness.
The &lt;a href="http://blog.might.net"&gt;blog of Matthew Might&lt;/a&gt;, a professor in computer science, and Leo Babauta's world-famous &lt;a href="http://zenhabits.net"&gt;Zen Habits&lt;/a&gt; blog were my main sources of inspiration.&lt;/p&gt;
&lt;p&gt;Both &lt;a href="http://matt.might.net/articles/how-to-blog-as-an-academic/"&gt;Matthew&lt;/a&gt; and &lt;a href="http://zenhabits.net/write-daily/"&gt;Leo&lt;/a&gt; cite the benefits of writing often.
I agree with them.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Writing forces you to order your thoughts in a structured manner;&lt;/li&gt;
&lt;li&gt;Writing forces you to think about your audience and the message you want to get across, (hopefully) making you a better communicator;&lt;/li&gt;
&lt;li&gt;Writing can help you find the flaws in your logic;&lt;/li&gt;
&lt;li&gt;Writing in English can help you share knowledge with a broad audience;&lt;/li&gt;
&lt;li&gt;Writing is a way of storing knowledge, knowledge that can be used to advance your field.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I work as a researcher and analyst in the area of digital security, a field that is highly dependent on information sharing between experts.
Many security researchers share their findings online, for example via articles, tweets or open-source tooling. By publishing blog posts, I want to do the same.&lt;/p&gt;
&lt;p&gt;I will share posts that cover various topics.
I've had numerous blogs in the past, but I always tried to focus on one subject.
Being a person with many interests and projects, I always fail to keep the blogs alive in the end.
Thus, I have decided not to limit myself to one topic or field with this blog.
As time progresses, I will translate some of my earlier articles from Dutch to English, and post them here.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/the-value-of-writing/index.html"/>
    <summary type="html">&lt;p&gt;Hello world. When I was still a student, I was mentally preparing myself for becoming a PhD student. I knew from the experiences of some&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/the-value-of-writing/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/the-value-of-writing/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Research"/>
    <published>2016-09-06T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/how-to-write-a-masters-thesis/index.html</id>
    <title>How to write a master's thesis</title>
    <updated>2016-09-14T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;When I was writing my master's thesis, I discovered that to finish the thesis I needed more than divine inspiration and mathematical skill. I needed discipline and a good dose of &lt;a href="http://matt.might.net/articles/successful-phd-students/"&gt;tenacity&lt;/a&gt;.
I started collecting productivity hacks and tips and tricks on writing research papers. This article summarizes the best tips I found.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Optimise your productivity&lt;/li&gt;
&lt;li&gt;Use a back-up system&lt;/li&gt;
&lt;li&gt;Keep a research log&lt;/li&gt;
&lt;li&gt;Ask for help when you're stuck&lt;/li&gt;
&lt;li&gt;Organise your sources&lt;/li&gt;
&lt;li&gt;Separate the phases of doing research, writing and editing&lt;/li&gt;
&lt;li&gt;Just start&lt;/li&gt;
&lt;li&gt;Write well&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;1. Optimise your productivity&lt;/h3&gt;
&lt;p&gt;Amber Davis is a researcher and coach of PhD-students. She wrote three guest posts for the blog PhD Talk. In her articles, she focuses on taking good care of yourself when you're doing research by making sure you get enough sleep, exercise and time off. She also stresses the importance of staying positive, even if you're stuck with your research.
Given that a lot of graduate students live on nightly writing streaks, self-help books and ramen noodles, reading these articles can't hurt.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://phdtalk.blogspot.de/2014/01/happy-phd-using-your-physiology-to-your.html"&gt;Happy PhD: Using your Physiology to your Advantage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://phdtalk.blogspot.de/2014/01/happy-phd-optimizing-your-workday-for.html"&gt;Happy PhD: Optimizing your Workday for Writing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://phdtalk.blogspot.de/2014/01/happy-phd-thinking-positively-in-ocean.html"&gt;Happy PhD: Thinking Positively in an Ocean of Criticism&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Don't expect to be able to do difficult work for 6 to 12 hours per day. Experience learns that we can concentrate intensely on a difficult task for about 4 hours a day before our mental energy is depleted.&lt;/p&gt;
&lt;p&gt;Make your work environment fit for concentrated work. Surround yourself with tools and people that promote productivity.&lt;/p&gt;
&lt;p&gt;I also like the &lt;a href="http://matt.might.net/articles/productivity-tips-hints-hacks-tricks-for-grad-students-academics/"&gt;productivity posts&lt;/a&gt; by associate professor Matt Might.&lt;/p&gt;
&lt;p&gt;If you are interested in forming new habits of productivity, Leo Babauta has written a lot on this topic on &lt;a href="http://zenhabits.net"&gt;Zen Habits&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you want to know how and why to train your concentration, take a look at the non-fiction book &lt;em&gt;Deep Work&lt;/em&gt; by Cal Newport.&lt;/p&gt;
&lt;h3&gt;2. Use a back-up system&lt;/h3&gt;
&lt;p&gt;Stolen laptops, power surges, broken hard drives and fires are part of reality. When you're doing research, take precautions so that you don't lose the products of your blood, sweat and tears. Back-up regularly and often.
Use USBs, cloud storage, or an old laptop.&lt;/p&gt;
&lt;p&gt;Even better than a back-up system is a version control system. This allows you to experiment with your work, and set it back to an earlier version if your experimenting doesn't work out. Even better: you can try different paths of coding/research in different branches.
Although cloud storage frameworks like dropbox sometimes have versioning capabilities, I prefer &lt;code&gt;git&lt;/code&gt;. If &lt;code&gt;git&lt;/code&gt; scares you, try learning it with the resources on Github.&lt;/p&gt;
&lt;h3&gt;3. Keep a research log&lt;/h3&gt;
&lt;p&gt;Keeping a research diary has many advantages. It serves as a log of everything you encounter, read, do and ponder upon during your research project.&lt;/p&gt;
&lt;p&gt;If for whatever reason you cannot work on your project for a while, your research log will tell you exactly where you left off.&lt;/p&gt;
&lt;p&gt;Writing things down when you're stuck will force you to formulate your problem clearly, which is often the first step on the road to finding the answer.&lt;/p&gt;
&lt;p&gt;I find that a normal office document does the trick, but some people prefer to use fancy pens and moleskines to motivate them to write things down neatly.&lt;/p&gt;
&lt;p&gt;I take my inspiration from Edsger Dijkstra, a famous Dutch computer scientist, who wrote an enormous amount of technical notes and essays (&amp;quot;EWDs&amp;quot;) on a wide variety of topics. You can browse the archive of all EWDs &lt;a href="http://www.cs.utexas.edu/users/EWD/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;4. Ask for help when you're stuck&lt;/h3&gt;
&lt;p&gt;When I was an undergraduate student, the thought of asking other people for help filled me with fear. I had to learn the hard way that asking for people does not make you a failure.
Besides, most people are happy to help -- just formulate your questions clearly and ask them politely if they have the time.&lt;/p&gt;
&lt;p&gt;Asking for help has two major advantages.&lt;br /&gt;
Whenever you're stuck, you might get unstuck a little sooner, which makes you more efficient.
Secondly, talking about your problems forces you to clearly formulate your thoughts -- which might lead to new insights as well.&lt;/p&gt;
&lt;h3&gt;5. Organise your sources&lt;/h3&gt;
&lt;p&gt;When you read large amounts of texts for your research, consider organising these sources in a meaningful way. Doing this consistently during the research phase can save you a lot of time during the writing phase.&lt;/p&gt;
&lt;p&gt;I like to maintain a list of all the texts I have read. In this list I keep track of the following properties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Where have I found this text?&lt;/li&gt;
&lt;li&gt;What are the main ideas of the texts? (3-5 lines max)&lt;/li&gt;
&lt;li&gt;How is this text relevant for my research?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If a certain text is particularly important for my research, I will also annotate all paragraphs with a short description ('proof sketch', 'description used hardware', or 'research validation'. Note that this only works for well-written papers, where every paragraph has at most one goal.
An alternative is highlighting the most important sentences with brightly coloured markers.&lt;/p&gt;
&lt;p&gt;These annotations save me a lot of time when I am citing my sources during the writing phase, since I can find important pieces of information back in a matter of seconds.&lt;/p&gt;
&lt;h3&gt;6. Separate the phases of doing research, writing and editing&lt;/h3&gt;
&lt;p&gt;My favourite workflow for doing research consists of separate phases of doing actual research, writing and editing.
The first part, doing actual research, makes up the largest part of the work. It encompasses 'getting your hands dirty' in an academic way: reading through enormous amounts of research papers, installing tools, testing tools, using tools, writing code, experimenting with mathematical proofs, etc.
The main problem is that most people put off writing until they are done with doing research.
I think this is a mistake.&lt;/p&gt;
&lt;p&gt;In my experience, it is better to do a few hours (1-4) of research, and afterwards process everything you have learned by writing it down.
Note that this doesn't mean that you have to use this written material &lt;em&gt;literally&lt;/em&gt; in your final research paper. However, it can be wise to record a few important citations (if you've been reading a paper), to write an evaluation of the proof strategies you've chosen so far (when proofwriting), or to describe why you've made a certain choice in your implementation (when coding).&lt;/p&gt;
&lt;p&gt;During the writing phase, I try not to judge too harshly how I phrase things. In my experience, this gets in the way of writing efficiently and effectively. For writing you need a creative mindset, while for editing you need a judging mindset. Because the two phases require two different mindsets, I postpone judging the quality of the text to the editing phase.&lt;/p&gt;
&lt;h3&gt;7. Just do it&lt;/h3&gt;
&lt;p&gt;Seriously, just start writing.&lt;/p&gt;
&lt;p&gt;If you have trouble with starting (and continuing) to write, try the web-app &lt;a href="http://writeordie.com/"&gt;Write Or Die&lt;/a&gt;. I have used it in the past to write &lt;a href="http://nanowrimo.org/"&gt;50,000 words in 30 days&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Another nice strategy for writing is to structure your research paper like a tree object: the paper itself is the root node and all sections and subsections are child nodes. The leaf nodes of the tree should become the paragraphs of your paper.
Each node in the tree should have a main message or a communication goal.
If you have written down the argumentation structure of your research paper as a tree object, the only thing left to do is to transform each node into a neat paragraph.&lt;/p&gt;
&lt;h3&gt;8. Write well&lt;/h3&gt;
&lt;p&gt;Maybe I will someday write another blogpost on writing &lt;em&gt;well&lt;/em&gt;. Until that time, enjoy this hilarious article by Steven Pinker:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://stevenpinker.com/files/pinker/files/why_academics_stink_at_writing.pdf"&gt;Why Academics Stink at Writing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/how-to-write-a-masters-thesis/index.html"/>
    <summary type="html">&lt;p&gt;When I was writing my master's thesis, I discovered that to finish the thesis I needed more than divine inspiration and mathematical skill. I needed&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/how-to-write-a-masters-thesis/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/how-to-write-a-masters-thesis/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Research"/>
    <published>2016-09-14T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/tuvok-picks-episodes-based-on-imdb-ratings/index.html</id>
    <title>Tuvok picks high-rated episodes of tv-series</title>
    <updated>2016-09-15T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Last week, when I was visiting the SANS SEC560 course in Brussels,
I wrote a small tool in Python 3 called &lt;code&gt;tuvok&lt;/code&gt;.
This tool takes a tv-series and a minimum rating and
then outputs a list of all tv-episodes of that series that have a rating equal to or higher than the minimum rating.&lt;/p&gt;
&lt;h3&gt;Why&lt;/h3&gt;
&lt;p&gt;I wrote this tool since I wanted to start watching the classic Star Trek series, but I don't have time to watch all episodes. Instead I decided to watch only The Very Best Of Star Trek: The Original Series. I needed a list of the episodes with an IMDB-rating of 7.8/10 or higher.&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://www.imdb.com"&gt;Internet Movie Database&lt;/a&gt; allows you to view separate episodes and their properties. However, I found that IMDB does not provide a handy interface of listing all episodes and their ratings. Filtering episodes based on their rating is also not an option.&lt;/p&gt;
&lt;p&gt;Thus, &lt;code&gt;tuvok&lt;/code&gt; was born.&lt;/p&gt;
&lt;h3&gt;How&lt;/h3&gt;
&lt;p&gt;The tool uses the API of the &lt;a href="http://www.omdbapi.com/"&gt;Open Movie Database&lt;/a&gt; (OMDb) API, which outputs neat JSON-files. The nice thing about OMDb is that you don't need an API key or developer registration to query the database, which makes it very accessible to developers.
Of course, it is important to be 'nice' when using the API: &lt;code&gt;tuvok&lt;/code&gt; only uses &lt;code&gt;(1+ nr_seasons)&lt;/code&gt; queries for obtaining all information it needs.&lt;/p&gt;
&lt;p&gt;To start, &lt;code&gt;tuvok&lt;/code&gt; needs an IMDB-identifier of a series (string) and minimum rating (float). It then queries OMDb for information about the tv-series and all its seasons, collecting information about all the episodes in the process. The JSON-reply to a season-query also contains the basic properties of all its episodes. I like this, as it keeps the number of requests very low.&lt;/p&gt;
&lt;p&gt;The IMDB-identifier is easy to find: just surf to the series page on IMDB and look at the URL.
The IMDB-identifier of a movie object is of the form 'ttXXXXXXX'. Note that there are also identifiers that start with different letters, such as 'nm' (name) and 'ch' (character).&lt;/p&gt;
&lt;p&gt;Here is a sample input/output of &lt;code&gt;tuvok&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;
$ python3
&gt;&gt;&gt; import tuvok
&gt;&gt;&gt; tuvok.main("tt0060028",8.3)
Season 1
----------
8.5      11 The Menagerie: Part I
8.4      12 The Menagerie: Part II
9.0      14 Balance of Terror
9.0      22 Space Seed
8.5      25 The Devil in the Dark
8.3      26 Errand of Mercy
9.3      28 The City on the Edge of Forever

Season 2
----------
8.8      1 Amok Time
9.2      4 Mirror, Mirror
8.8      6 The Doomsday Machine
8.6      10 Journey to Babel
9.0      15 The Trouble with Tribbles

Season 3
----------
8.6      2 The Enterprise Incident
8.3      23 All Our Yesterdays

Star Trek (1966-1969) has 14 episodes with rating &gt;= 8.3.
&lt;/pre&gt;
&lt;h3&gt;Limitations&lt;/h3&gt;
&lt;p&gt;Of course, taking a rating-based approach to episode-picking has its limitations.
Some series get such (skewed?) high ratings for each episode that
filtering episodes purely on rating does not help in weeding the average episodes from the truly good ones.
Take for example &lt;a href="http://www.imdb.com/title/tt1606375/"&gt;Downton Abbey&lt;/a&gt;: all 52 episodes have a rating of 8.2 or higher! Consequently, using &lt;code&gt;tuvok&lt;/code&gt; to pick a subset of episodes will not yield interesting results.&lt;/p&gt;
&lt;p&gt;Secondly, dealing with user ratings is hard to begin with.
Sites like &lt;a href="http://www.imdb.com/help/show_leaf?ratingsexplanation"&gt;IMDB&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Rotten_Tomatoes#Audience_Score_and_reviews"&gt;Rotten Tomatoes&lt;/a&gt; and &lt;a href="http://www.ratebeer.com/ratingsqa.asp"&gt;RateBeer&lt;/a&gt; all have their own algorithms to calculate ratings.
The question of how to transform the ratings of thousands of users into a single number is a difficult one to answer.&lt;/p&gt;
&lt;p&gt;We could start an endless discussion about the meaning and value of user ratings. I'll not go into that here, although it is a fascinating subject, especially for data scientists.&lt;/p&gt;
&lt;h3&gt;More info&lt;/h3&gt;
&lt;p&gt;You can find the source of &lt;code&gt;tuvok&lt;/code&gt; on &lt;a href="http://github.com/jd7h/tuvok"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/tuvok-picks-episodes-based-on-imdb-ratings/index.html"/>
    <summary type="html">&lt;p&gt;Last week, when I was visiting the SANS SEC560 course in Brussels, I wrote a small tool in Python 3 called tuvok . This tool&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/tuvok-picks-episodes-based-on-imdb-ratings/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/tuvok-picks-episodes-based-on-imdb-ratings/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Projects"/>
    <published>2016-09-15T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/city-guide-brussels/index.html</id>
    <title>City Guide Brussels</title>
    <updated>2016-09-28T00:00:00+00:00</updated>
    <content type="html">&lt;h3&gt;Food&lt;/h3&gt;
&lt;h4&gt;Nuetnigenoughe (Rue du Lombard 25)&lt;/h4&gt;
&lt;p&gt;Tiny but cosy restaurant with lots of obscure great beers. I had a Saison Dupont draft beer with the &amp;quot;Lamsballekes&amp;quot; (meat balls of lamb in tomatosauce with goat cheese with fries and a light salad). Beautiful room with high ceiliings, wood work, an antigue mirror and large fin de siecle window has you eating bistrofood in style.&lt;/p&gt;
&lt;h4&gt;Houtsiplou (Place Rouppe 9)&lt;/h4&gt;
&lt;p&gt;Burger bar with relaxed atmosphere. Slightly alternative. They also have really good tonic and the burgers are huge. Their walls are covered in graffiti art that depicts the history of Belgium.&lt;/p&gt;
&lt;h4&gt;Anata (Boulevard Anspach 74)&lt;/h4&gt;
&lt;p&gt;Very decent take-away sushi.&lt;/p&gt;
&lt;h3&gt;Drinks&lt;/h3&gt;
&lt;h4&gt;Moeder Lambic (Place Fontainas 8)&lt;/h4&gt;
&lt;p&gt;In my opinion the best beer cafe in Brussels. Close your eyes and pick a random beer from the menu or ask one of the waiters. Their snacks (try a mixed plate of sausage and cheese) are also really good.&lt;/p&gt;
&lt;h4&gt;Cafe Capitale (Rue du Midi 45)&lt;/h4&gt;
&lt;p&gt;Although most of the coffee in Brussels is bad, here you can sink in one of the vintage reading chairs and enjoy the sound of the vinyl player. Bar features coffee-themed art work and sells small presents suitable for your hipster friends. They close at 8:00 pm, so it's perfect for an after-dinner coffee.&lt;/p&gt;
&lt;h4&gt;Pop-up Sablon (Place du Grand Sablon 15-16)&lt;/h4&gt;
&lt;p&gt;Try a cocktail, some wine or a beer in this stylish bar next to the Eglise Notre-Dame du Sablon. The Caesar Salad is also decent. Good spot for an after-work-drink and people watching.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/city-guide-brussels/index.html"/>
    <summary type="html">&lt;p&gt;Food Nuetnigenoughe (Rue du Lombard 25) Tiny but cosy restaurant with lots of obscure great beers. I had a Saison Dupont draft beer with the&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/city-guide-brussels/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/city-guide-brussels/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Travel"/>
    <published>2016-09-28T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/how-I-prepared-for-my-GIAC-GPEN-exam/index.html</id>
    <title>How I prepared for my GIAC GPEN exam</title>
    <updated>2016-12-06T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Last month I took the &lt;a href="https://www.giac.org/certification/penetration-tester-gpen"&gt;GIAC Penetration Tester&lt;/a&gt; certification exam as a
conclusion to the course in &lt;a href="https://www.sans.org/course/network-penetration-testing-ethical-hacking"&gt;Network Pentesting &amp;amp; Ethical Hacking&lt;/a&gt; I took with SANS in september. At the final exam, I ended up
with a score of 86%, with which I am quite content. :)&lt;/p&gt;
&lt;p&gt;In this short article I want to share with you why I chose this
certification and how I prepared for the exam.&lt;/p&gt;
&lt;h2&gt;Why the GIAC Penetration Tester certification?&lt;/h2&gt;
&lt;p&gt;The GIAC GPEN certification is my first infosec certification. Before
taking the course and the exam, I made sure that my chosen certification
was valued within the infosec community (and not just by HR people or
C-level managers). What has helped me to decide which
course/certification to take was reading other people's opinions and
experiences.&lt;/p&gt;
&lt;p&gt;Lesley Carhart has discussed the value of certifications in
&lt;a href="https://tisiphone.net/2015/10/12/starting-an-infosec-career-the-megamix-chapters-1-3/"&gt;this blog post&lt;/a&gt;,
which is part of her &lt;a href="https://tisiphone.net/tag/security-education/"&gt;infosec career series&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Eventually I decided to take the SANS course and GIAC exam since the
SANS courses consist of both theory and practice. I specifically decided
to go with the network pentesting course for two reasons. After leaving
university, it turned out that my networking knowledge could definitely
use some improvement. Secondly, I find that the offensive side of
security interests me tremendously.&lt;/p&gt;
&lt;h2&gt;Exam preparation&lt;/h2&gt;
&lt;p&gt;I followed these steps to prepare for the GPEN exam:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="#1-read-all-official-exam-information-from-giac"&gt;Read all official exam information from GIAC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#2-read-about-other-peoples-experiences-with-giac-exams"&gt;Read about other people's experiences with GIAC exams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#3-schedule-the-exam"&gt;Schedule the exam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#4-make-an-index"&gt;Make an index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#5-use-your-practice-exams"&gt;Use your practice exams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#6-take-the-exam"&gt;Take the exam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#7-celebrate"&gt;Celebrate&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;1. Read all official exam information from GIAC&lt;/h3&gt;
&lt;p&gt;GIAC has a nice overview of &lt;a href="https://www.giac.org/certifications/get-certified/steps"&gt;the certification process&lt;/a&gt;. They also have a page about &lt;a href="https://www.giac.org/exams/preparation"&gt;exam
preparation&lt;/a&gt;. Needless to say, it is a good idea to read these before you start
preparing for your exam!&lt;/p&gt;
&lt;h3&gt;2. Read about other people's experiences with GIAC exams&lt;/h3&gt;
&lt;p&gt;Many people have written down their experiences with taking a GIAC exam.
A bit of smart Google-ing goes a long way. The following blogposts have
helped me prepare for the exam:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JDMurray has described &lt;a href="http://www.techexams.net/blogs/jdmurray/74-my-study-plan-giac-gsec-exam.html"&gt;his study plan&lt;/a&gt; and &lt;a href="http://www.techexams.net/blogs/jdmurray/73-giac-gsec-exam-experience.html"&gt;exam experience&lt;/a&gt; in great detail.&lt;/li&gt;
&lt;li&gt;Josh Armentrout has written &lt;a href="http://www.theinfosecguy.com/search/label/GIAC"&gt;multiple posts&lt;/a&gt; on how he took the GSEC and GCIA exams.&lt;/li&gt;
&lt;li&gt;Lesley Carhart has included a &lt;a href="https://tisiphone.net/2015/08/18/giac-testing/"&gt;page with tips for taking GIAC exams&lt;/a&gt; on her website. She holds 5 GIAC certifications, so she's had a lot of experience taking these exams.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;3. Schedule the exam&lt;/h3&gt;
&lt;p&gt;When picking a date for the exam, make sure you have plenty of
preparation time. If you are planning to make an index of the SANS
lecture notes and you have a busy day job, a week is not enough!&lt;/p&gt;
&lt;p&gt;You have to take the GIAC exam at a proctored exam center. On the
website of Pearson-Vue you can check the location and availability of
the exam centers. When you have selected the center of your choice, you
can pick a date and a time slot. When I tried to schedule my exam, the
scheduling website failed multiple times. Be sure to set some time apart
for booking a time slot with Pearson. ;)&lt;/p&gt;
&lt;h3&gt;4. Make an index&lt;/h3&gt;
&lt;p&gt;Every person has their own way of studying for a test. Since GIAC tests
are open book, the most common way of preparing for a GIAC exam is
making an index for the books you want to bring. Most people will use the
SANS course books. For my GPEN certification, this meant indexing over
1000 pages of lecture notes.&lt;/p&gt;
&lt;p&gt;I took a month to make my index, taking
one day a week to go through one of the books. After a whole day of
cramming powershell commands, tackling the stack of SANS books can feel
a bit overwhelming. Taking some time between study sessions was a good
way for me to let the theory sink in for a bit.&lt;/p&gt;
&lt;p&gt;My index was fairly simple and consisted of a spreadsheet with columns
&amp;quot;concept&amp;quot;, &amp;quot;book_nr&amp;quot;, &amp;quot;page_nr&amp;quot; and &amp;quot;description&amp;quot;. I tried to put as much information
as possible in the description field, since this saves you a lot of
time during the exam.&lt;/p&gt;
&lt;p&gt;I brought two copies of my index to the exam: one with the concepts
in alphabetical order, and one in the original page order of the SANS
book. I did this because related terms are often mentioned in the same
part of the same book, which makes it easier to find a term if you don't know the exact name.&lt;/p&gt;
&lt;h3&gt;5. Use your practice exams&lt;/h3&gt;
&lt;p&gt;When you register for a GIAC exam, you get access to two practice exams.
You can take these online via the GIAC website. The practice exams are
a great way to prepare for the real exam. The format and time limit is
the same as you will get in the proctored exam center and the practice
exams will also give you feedback about the different exam topics.
During the practice exams, you can also get immediate feedback about
incorrectly answered questions. Taking one of the practice exams with
your index and books only (no internet) is also a good way of checking
the quality of your index.&lt;/p&gt;
&lt;h3&gt;6. Take the exam&lt;/h3&gt;
&lt;p&gt;Don't forget to bring two forms of ID and your books + index, and don't
worry too much. :) Just do it!&lt;/p&gt;
&lt;h3&gt;7. Celebrate&lt;/h3&gt;
&lt;p&gt;When you have passed the exam, it's time to celebrate! Don't forget
this step! It's very important. ;)
After I passed the exam, I treated my colleagues to traditional Dutch
&lt;a href="https://en.wikipedia.org/wiki/Oliebol"&gt;oliebollen&lt;/a&gt;.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/how-I-prepared-for-my-GIAC-GPEN-exam/index.html"/>
    <summary type="html">&lt;p&gt;Last month I took the GIAC Penetration Tester certification exam as a conclusion to the course in Network Pentesting &amp;amp; Ethical Hacking I took with&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/how-I-prepared-for-my-GIAC-GPEN-exam/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/how-I-prepared-for-my-GIAC-GPEN-exam/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Security"/>
    <published>2016-12-06T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/getting-started-with-malware-analysis/index.html</id>
    <title>Getting started with malware analysis for absolute beginners</title>
    <updated>2017-01-05T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;A few months ago I did some basic malware analysis as part of an incident responder training. As I was completely new to the field of malware analysis, I learned a lot of new things. This primer is my way of sharing my experiences as a beginner in the field. In this write-up, I want to describe some of the basics and point enthusiastic beginners like myself in the direction of more self-education resources.&lt;/p&gt;
&lt;p&gt;I use the following broad, pragmatic definition of malware: &lt;em&gt;malware is basically anything malicious that potentially has a negative impact on a system&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;Why learn about malware analysis?&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;The goal of malware analysis is to answer all kinds of questions about it by looking at the malware and its behavior.&lt;/strong&gt; But why start with malware analysis anyway? If you know how to analyse a piece of malware, it becomes much easier to discover malware-related problems. It allows you to find out the cause of the problem and assess what damage has been done. It also dramatically improves your chance of solving the problem!&lt;/p&gt;
&lt;p&gt;As such, knowing about malware analysis is a useful skill for anyone that manages a system that might be exposed to malware. Think of security professionals such as incident responders and SOC analists, but also system administrators and web administrators.&lt;/p&gt;
&lt;p&gt;It also gives you an edge when talking to your boss. If malware pops up in a business environment, your manager will want to know whether the company will lose customers, money or its good name. When you know malware analysis, you'll be able to assess the situation and answer these questions better.&lt;/p&gt;
&lt;h3&gt;It's all about hygiene&lt;/h3&gt;
&lt;p&gt;For people that know the foundations of computer science or computer security, malware analysis is not necessarily hard. But it requires some basic understanding of computer hygiene. It is important that you understand the risks of working with malware samples and know how to take proper precautions against the most common risks.&lt;/p&gt;
&lt;p&gt;The environment in which you do malware analysis is often called malware lab. This word invokes images of researchers with safety goggles and lab coats, like in a pathogen lab, where they research diseases. Naturally, a malware sample can be as dangerous as a pathogen sample.&lt;/p&gt;
&lt;p&gt;Like a pathogen lab, a malware lab needs a set of hygiene rules. We want to prevent the samples from spreading, while at the same time, we want them to infect the right hosts so we can observe the sample in action.&lt;/p&gt;
&lt;p&gt;Learning the propper programming or reverse-engineering skills is easy, but without proper security awareness, you'll get nowhere&lt;/p&gt;
&lt;h3&gt;How to build a malware lab&lt;/h3&gt;
&lt;p&gt;To get good at malware analysis, you need to practice: experiment with tools, look at different kinds of malware and get familiar with working in an isolated environment. The best thing to do is of course build your own malware lab!&lt;/p&gt;
&lt;p&gt;To build a malware lab, I suggest you start with dedicated hardware. If you're just practicing, like me, just one system will do fine.&lt;/p&gt;
&lt;p&gt;Just make sure the system has plenty of memory so virtualisation won't be a problem. Take 8 GB of memory as a minimum. You will probably want to run multiple virtual machines at the same time.&lt;/p&gt;
&lt;p&gt;You also need enough disk space to save all the different virtual machines and snapsnots of those machines so you can return them to a clean state after running malware.&lt;/p&gt;
&lt;p&gt;Virtualisation has some advantages which makes it very usable for malware analysts. It allows you to quickly load a malware sample on multiple operating systems. Secondly, you can save so-called snapshots of virtual machines to quickly restore a virtual machine to a previous, un-infected state.&lt;/p&gt;
&lt;p&gt;Make sure your malware system is isolated (&amp;quot;airgapped&amp;quot;) from all other digital systems and networks. You don't want to accidentally infect your personal computer, web server or backup drive.
Don't connect your malware lab to the internet, because active malware can do all kinds of nasty stuff online. It can try to connect back to the system of original creator, connect to a command and control server or contribute to a DDoS attack on a website.&lt;/p&gt;
&lt;h3&gt;Static and dynamic analysis&lt;/h3&gt;
&lt;p&gt;There are two styles of malware analysis. Which one you choose depends on the questions you want to answer and the tools and techniques you're familiar with.&lt;/p&gt;
&lt;p&gt;We can investigate malware by looking at the sample, its code and its properties without running it. This is called &lt;strong&gt;static analysis&lt;/strong&gt;. Some examples of static analysis:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comparing the hash of the malware sample to a database of known malware samples (such as VirusTotal)&lt;/li&gt;
&lt;li&gt;Looking at the filetype of the sample&lt;/li&gt;
&lt;li&gt;Extracting all ascii-strings from the sample and searching them for clues&lt;/li&gt;
&lt;li&gt;Putting the sample in a disassembler and going through the whole assembly by hand to see what it does&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The other form of malware analysis is &lt;strong&gt;dynamic analysis&lt;/strong&gt; or behavioral analysis. This form tries to answer questions about the malware by running it in a controlled environment and looking at its behaviour. Some examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Running the malware and comparing the 'before' and 'after' states of the virtual machine afterwards&lt;/li&gt;
&lt;li&gt;Running the malware while tracking its activities with a process monitor and a network sniffer&lt;/li&gt;
&lt;li&gt;Hooking up an infected virtual machine to a fake virtual network to trick the malware into connecting to a malicious server&lt;/li&gt;
&lt;li&gt;Going through the malware step-by-step with a debugger to investigate its internal states while running&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To do a complete analysis of a sample, you will have to use both static and dynamic analysis techniques. Iterate this process to move from the easy basics to the more complex stuff.&lt;/p&gt;
&lt;h3&gt;Additional resources for learning&lt;/h3&gt;
&lt;p&gt;The following resources can be helpful if you want to learn more about malware analysis:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Practical malware analysis, by Honig &amp;amp; Sikorski (book and practice material)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rshipp/awesome-malware-analysis"&gt;A curated list of awesome malware analysis tools and resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://github.com/RPISEC/Malware"&gt;Open Courseware by RPISEC&lt;/a&gt; is a course on malware analysis based on the book `Practical malware analysis'&lt;/li&gt;
&lt;li&gt;Anything written by Lenny Zeltser (webcasts, blog articles)&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://digital-forensics.sans.org/blog/"&gt;SANS Digital Forensics Blog&lt;/a&gt; has some nice introductory articles&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tuts4you.com"&gt;Tuts4you&lt;/a&gt; has a few tutorials on reverse engineering&lt;/li&gt;
&lt;li&gt;On &lt;a href="http://crackmes.de"&gt;Crackmes.de&lt;/a&gt; you can find &lt;em&gt;crackme&lt;/em&gt; and &lt;em&gt;reverseme&lt;/em&gt; executables to reverse&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Final remarks&lt;/h3&gt;
&lt;p&gt;When you start out doing malware analysis, the greatest part of the time will be spent tweaking your lab and setup. You will struggle with dependency hell and badly maintained github repo's, you will fight with your virtualisation software... Don't give up, once you have your infrastructure in place, malware analysis can be a lot of fun and very rewarding.&lt;/p&gt;
&lt;p&gt;At this point, you know the basics of malware analysis. If you want to learn more, &lt;strong&gt;it's time to start practicing&lt;/strong&gt;.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/getting-started-with-malware-analysis/index.html"/>
    <summary type="html">&lt;p&gt;A few months ago I did some basic malware analysis as part of an incident responder training. As I was completely new to the field&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/getting-started-with-malware-analysis/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/getting-started-with-malware-analysis/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Security"/>
    <published>2017-01-05T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/rinse-and-repeat-threat-hunting-with-caploader-and-wireshark/index.html</id>
    <title>Rinse and Repeat: threat hunting with CapLoader and Wireshark</title>
    <updated>2017-04-05T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;When I was visiting &lt;a href="//www.troopers.de"&gt;TROOPERS17&lt;/a&gt; in Heidelberg, Germany, I had the chance to follow a 2-day training in Network Forensics by Erik Hjelmvik. I'm glad I did! In this post I want to describe a technique I learned there. This technique is a nice way to investigate captured network traffic to find suspicious or malicious traffic. Although I dislike the term 'threat hunting', this is actually a neat and fast way to hunt for the weird and interesting stuff in a large PCAP-file!&lt;/p&gt;
&lt;h3&gt;The technique: Rinse and repeat&lt;/h3&gt;
&lt;p&gt;The workflow I want to describe could be called &amp;quot;Rinse and repeat&amp;quot;. I like it because it is elegant: simple and flexible, but powerful if used right.&lt;/p&gt;
&lt;p&gt;The idea is as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Start with a large amount of network packets in a PCAP-file.&lt;/li&gt;
&lt;li&gt;Define &amp;quot;normal&amp;quot; network traffic. Use Caploader to &amp;quot;rinse&amp;quot; (clean, remove) the normal traffic from the file.&lt;/li&gt;
&lt;li&gt;Afterwards, investigate the remaining traffic with Wireshark.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Repeat step 2 and 3 and you'll end up with a PCAP-file that only contains unusual (ie. unexpected, unwanted, suspicious or malicious) traffic.&lt;/p&gt;
&lt;p&gt;Of course, the way you go about your actual indepth analysis and what you do with the results of that analysis afterwards is entirely up to you.&lt;/p&gt;
&lt;h3&gt;What is 'normal'?&lt;/h3&gt;
&lt;p&gt;What you define as normal is completely dependent on the scenario you're investigating. Are you analyzing network traffic from a web server? Then, the traffic on port 80 will probably be normal, since this is where most web server applications run. Are you looking at a desktop computer that's not supposed to run a web server? Then, host traffic on port 80 might be suspect. For example, an attacker could be using a pop-up on-the-fly webserver to exfiltrate data.&lt;/p&gt;
&lt;p&gt;Need to brush up on your basic knowledge of networking, protocols, etc? Don't worry, no one knows everything. Be sure to check out &lt;a href="//twitter.com/b0rk"&gt;Julia Evans&lt;/a&gt; great comics, zines and blog articles. She's written a &lt;a href="//jvns.ca/networking-zine.pdf"&gt;zine about basic networking concepts&lt;/a&gt; in a very accessible, fun and clear way.&lt;/p&gt;
&lt;h3&gt;Can I use flow data for this technique?&lt;/h3&gt;
&lt;p&gt;When you capture traffic for later analysis, I recommend you do full network packet sniffing. Flow data contains only parts of network traffic, such as it does not save the whole contents of a network packet, but only the interface, source, destination, protocol, ports, timestamps, etc. When we have the full network packet, including contents, we can use tools like Wireshark or NetworkMiner to extract all kinds of useful information for our analysis.&lt;/p&gt;
&lt;h3&gt;Why not just use Wireshark?&lt;/h3&gt;
&lt;p&gt;Caploader has a few advantages over Wireshark, which make it very suitable for this workflow.&lt;/p&gt;
&lt;p&gt;If you have defined an aspect of normal behaviour, you can use CapLoader to hide all flows that show that behavior. This leaves us with a subset of network traffic that is not normal according to our definition.
The cool thing is that CapLoader can automatically generate a new PCAP-file from this subset. By clicking the purple PCAP-icon in the top right of the screen, we can open this generated PCAP in Wireshark (or another program of our choosing for further investigation.&lt;/p&gt;
&lt;p&gt;What I also like about this technique is that we don't have to use the Wireshark syntax for filtering. Both the Wireshark syntax and the Wireshark UI are not optimized for long queries, and editing Wireshark queries by hand can be a real pain. CapLoader allows us to hide entire groups of flows with one click of a button and generates a new PCAP for us to boot! YAY!&lt;/p&gt;
&lt;h3&gt;My own experiences&lt;/h3&gt;
&lt;p&gt;During the Network Forensics course, all participants received a 6-month license for CapLoader so we could play around with it some more. When I returned home after the training, I tried out this technique on my own web server. I definitely found some interesting stuff: stuff that I wouldn't have found going through my log files by hand.&lt;/p&gt;
&lt;p&gt;So far, I found two drawbacks to CapLoader. Firstly, it is a Windows program, so I ended up transferring PCAP files between a Windows host and a Linux guest computer when I was doing my analysis. Secondly, a CapLoader license is a bit too expensive to buy for personal use, and I will be sad when my license has expired -- I really like this workflow and I still have to find an free and/or open source project that has the same functionality. However, if you just want to try out CapLoader, you can download a trial version with a 30-day license on the website, which has all the functionality you need for the workflow I describe in this article.&lt;/p&gt;
&lt;h3&gt;More resources:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;You can &lt;a href="http://www.netresec.com/?page=CapLoader"&gt;download a 30-day trial version of CapLoader&lt;/a&gt; on the NETRESEC website.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=n1Ir9Hedca4&amp;amp;hd=1"&gt;CapLoader demo video&lt;/a&gt; that shows the basic usage&lt;/li&gt;
&lt;li&gt;Check out &lt;a href="https://www.youtube.com/watch?v=KtOXPHyA0Ko"&gt;Veronica Valeros talk on threat hunting&lt;/a&gt; (TROOPERS17). Although she doesn't name specific tools in her talk, she describes a similar workflow for threat hunting.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/rinse-and-repeat-threat-hunting-with-caploader-and-wireshark/index.html"/>
    <summary type="html">&lt;p&gt;When I was visiting TROOPERS17 in Heidelberg, Germany, I had the chance to follow a 2-day training in Network Forensics by Erik Hjelmvik. I'm glad&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/rinse-and-repeat-threat-hunting-with-caploader-and-wireshark/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/rinse-and-repeat-threat-hunting-with-caploader-and-wireshark/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Security"/>
    <published>2017-04-05T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/some-thoughts-on-responsible-vulnerability-disclosure/index.html</id>
    <title>Some thoughts on responsible vulnerability disclosure</title>
    <updated>2017-04-09T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;It's hard for system owners to keep their systems secure. Servers and devices are scanned, defaced, compromised by the minute, by newbies playing around with github scripts, nation state actors and everything in between. Lucky for us, a growing group of ethical hackers spends time hunting and reporting vulnerabilities.&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-lang="en-gb"&gt;&lt;p lang="en" dir="ltr"&gt;It appears ‘bug bounty’ surpassed ‘vulnerability assessment’ in search volume and gaining on &amp;#39;penetration testing.&amp;#39; &lt;a href="https://t.co/ftDkIaVMMx"&gt;pic.twitter.com/ftDkIaVMMx&lt;/a&gt;&lt;/p&gt;&amp;mdash; Jeremiah Grossman (@jeremiahg) &lt;a href="https://twitter.com/jeremiahg/status/766061298387865600"&gt;17 August 2016&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;In this post, I want to shine some light on &amp;quot;responsible vulnerability disclosure&amp;quot;. In some communities, this practice is known under a different name: Coordinated Vulnerability Disclosure (CVD). I think it would be a good idea if this practice got a little more publicity and recognition. Although it is slowly becoming more common, we are nowhere near done with defining and promoting responsible disclosure.&lt;/p&gt;
&lt;p&gt;So what do I mean by responsible disclosure? My attempt at a definition is as follows:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Responsible disclosure is a form of vulnerability disclosure in which both the reporting ethical hacker and the owner of a vulnerable system try to solve the vulnerability together, by collaborating, sharing knowledge, communicating clearly with each other and adhering to some basic nettiquete rules.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As a security community, we need to keep sharing our experiences, both from the perspective of ethical hackers and vulnerable parties. We need to keep asking ourselves: 'What practices make vulnerability disclosure &lt;em&gt;responsible&lt;/em&gt;?'&lt;/p&gt;
&lt;h3&gt;Where vulnerability disclosure goes wrong&lt;/h3&gt;
&lt;p&gt;There are plenty of examples where a security researcher has found a vulnerability but the disclosure of the vulnerability doesn't exactly happen in a responsible manner.&lt;/p&gt;
&lt;p&gt;Some examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A vulnerability has been found, but it's unclear who the system owner is&lt;/li&gt;
&lt;li&gt;A vulnerability has been found, but it's unclear how to contact the system owner&lt;/li&gt;
&lt;li&gt;The system owner does not respond to messages&lt;/li&gt;
&lt;li&gt;The system owner feels threatened and/or blackmailed by the security researcher&lt;/li&gt;
&lt;li&gt;The systems owner threatens with legal consequences, lawyers or fines&lt;/li&gt;
&lt;li&gt;The security researcher does not allow the systems owner to solve the vulnerability within a reasonable time frame&lt;/li&gt;
&lt;li&gt;The security researcher does not provide enough technical details to reproduce or solve the problem&lt;/li&gt;
&lt;li&gt;The security researcher demands money in exchange for the vulnerability report&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;What can ethical hackers do?&lt;/h3&gt;
&lt;p&gt;When you report a vulnerability, give enough information to reproduce the problem. It's also a good idea to list possible ways to mitigate or solve the problem, if these exist. In my opinion, this is both a sign of goodwill and extremely helpful to the person receiving this report.&lt;/p&gt;
&lt;p&gt;Do not download or manipulate any data you might have encountered during your investigation. Don't make any changes to the vulnerable system.&lt;/p&gt;
&lt;p&gt;Give the system owner enough time to respond. Take into account: office hours, time zones, different communication channels, and the fact that the systems owner is probably human (and not a time-bending superhero).&lt;/p&gt;
&lt;h3&gt;What can organisations do?&lt;/h3&gt;
&lt;p&gt;Create a Responsible Disclosure Policy and make sure it is easy to find on your website. Luckily, there are a few good policy examples online that you can use to design your own:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The National Cyber Security Centre of the Netherlands (NCSC-NL) has published a &lt;a href="https://english.ncsc.nl/publications/publications/2019/juni/01/coordinated-vulnerability-disclosure-the-guideline"&gt;responsible disclosure guideline&lt;/a&gt; in English.&lt;/li&gt;
&lt;li&gt;&lt;a href="//twitter.com/floorter"&gt;Floor Terra&lt;/a&gt;, a Dutch security researcher, has published &lt;a href="https://responsibledisclosure.nl/en/"&gt;an example responsible disclosure policy&lt;/a&gt; under a Creative Commons license which anyone can use.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Communicate clearly with people who want to report a vulnerability in one of your systems. Clearly state in your policy what the disclosing party can expect from you. For example: put down a timeframe in which the disclosure can expect a response to their vulnerability disclosure.&lt;/p&gt;
&lt;p&gt;Take disclosures seriously. Keep ethical hacker up-to-date during the process. If you publish anything about the vulnerability, be sure to give proper credit where it is due.&lt;/p&gt;
&lt;h3&gt;My own experiences&lt;/h3&gt;
&lt;p&gt;I'm lucky that I had only neutral or positive experiences with vulnerability disclosure. In one of the better cases, I got an email of the vulnerable systems owner within hours, thanking me for my efforts. The vulnerability had been fixed.&lt;/p&gt;
&lt;p&gt;However, there have been many cases where I could not determine the owner of a system, which makes responsible disclosure so much harder to do &lt;em&gt;right&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;Further reading&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;In &lt;a href="https://1sand0s.nl/2014/03/experiences-with-responsible-disclosure/"&gt;this blogpost&lt;/a&gt;, &lt;a href="https://twitter.com/1sand0s"&gt;Jeroen van der Ham&lt;/a&gt; describes two experiences with responsible disclosure.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cvthof"&gt;Chris van 't Hof&lt;/a&gt; wrote the book &lt;a href="http://cvth.nl/hhe.htm"&gt;Helpful hackers&lt;/a&gt; on Responsible Disclosure in the Netherlands, with multiple case studies of ethical hackers.&lt;/li&gt;
&lt;li&gt;Ethical hacker &lt;a href="//twitter.com/0xdude"&gt;Victor Gevers (@0xdude)&lt;/a&gt; regularly tweets and talks about his experiences with responsible disclosure.&lt;/li&gt;
&lt;li&gt;The university of OULU (Finland) maintains &lt;a href="https://www.ee.oulu.fi/research/ouspg/Disclosure_tracking"&gt;an extensive list of academic papers, articles, blogposts and other publications about coordinated vulnerability disclosure&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;It turns out there is a publicly-available ISO standard for vulnerability disclosure: ISO 29147! You can &lt;a href="//standards.iso.org/ittf/PubliclyAvailableStandards/c045170_ISO_IEC_29147_2014.zip"&gt;download the 2014 version of the ISO standard&lt;/a&gt; for free.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I'd be happy to hear about your experiences with responsible disclosure. Feel free to share your stories in the comments.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/some-thoughts-on-responsible-vulnerability-disclosure/index.html"/>
    <summary type="html">&lt;p&gt;It's hard for system owners to keep their systems secure. Servers and devices are scanned, defaced, compromised by the minute, by newbies playing around with&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/some-thoughts-on-responsible-vulnerability-disclosure/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/some-thoughts-on-responsible-vulnerability-disclosure/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Security"/>
    <published>2017-04-09T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/my-experiences-at-infosec-conference-troopers-2017/index.html</id>
    <title>My experiences at infosec conference TROOPERS 2017</title>
    <updated>2017-04-14T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Last month, I visited &lt;a href="//troopers.de"&gt;TROOPERS17&lt;/a&gt;, a conference in Heidelberg, Germany. It was the first infosec conference I've attended, so I didn't really know what to expect. The website showed photos of geeky people in hoodies, a soldering table, lots of club mate and weird LED badges. I figured I could fit right in, and when I saw the &lt;a href="https://www.troopers.de/troopers17/trainings/"&gt;training program&lt;/a&gt; I was even more motivated to register.&lt;/p&gt;
&lt;p&gt;In the two days before the conference, I followed a training about network forensics. Earlier this week &lt;a href="/blog/2017/rinse-and-repeat-threat-hunting-with-caploader-and-wireshark.html"&gt;I wrote about the Rinse and Repeat technique&lt;/a&gt; I learned there, which can help you find the interesting network activity in a large PCAP-file.&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-lang="en"&gt;&lt;p lang="en" dir="ltr"&gt;Beautiful view and smart students in the &lt;a href="https://twitter.com/hashtag/TR17?src=hash"&gt;#TR17&lt;/a&gt; Network Forensics Training at 11&amp;#39;th floor of the PMA. &lt;a href="https://t.co/ngfyMtwvsi"&gt;pic.twitter.com/ngfyMtwvsi&lt;/a&gt;&lt;/p&gt;&amp;mdash; NETRESEC (@netresec) &lt;a href="https://twitter.com/netresec/status/844180336951156736"&gt;March 21, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;h3&gt;Atmosphere&lt;/h3&gt;
&lt;p&gt;With only 400 visitors, TROOPERS is a friendly and casual conference.  What really surprised me: I met many different people and everybody was SO approachable and NICE! As one of the attendees put it: &amp;quot;TROOPERS is the only family where your parents don't ask you to fix the WiFi&amp;quot;. Networking, which (in my head) evokes images of smooth talking and sprinkling business cards, was never so easy. I ended up sharing stories with incident responders, CEO's, security officers, programmers, policy makers, students, consultants and pentesters.&lt;/p&gt;
&lt;p&gt;The open and welcoming atmosphere reminded me of the Chaos Computer Congress in Hamburg, although TROOPERS focuses specifically on information security.&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-lang="en"&gt;&lt;p lang="en" dir="ltr"&gt;THX 2 ALL!&lt;a href="https://twitter.com/hashtag/TR17?src=hash"&gt;#TR17&lt;/a&gt; &lt;a href="https://t.co/jWalWB9Le2"&gt;pic.twitter.com/jWalWB9Le2&lt;/a&gt;&lt;/p&gt;&amp;mdash; Giaco (@giaco127001) &lt;a href="https://twitter.com/giaco127001/status/844984441038651396"&gt;March 23, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;h3&gt;Talks&lt;/h3&gt;
&lt;p&gt;The tracks consisted of a nice mixture of the different aspects of computer security. There was a track on attack and research, a track on defense and management, a sponsored track that focused on the security of SAP products (day 1) and a wildcard track for talks that don't fit a specific category (day 2).&lt;/p&gt;
&lt;p&gt;I didn't attend a talk at every possible time slot. I tried to find the right balance between talks, hanging out at &amp;quot;lobby-con&amp;quot;, talking to people, exploring the various extra activities at the conference and enjoying a nice cappuccino every now and then.&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-lang="en"&gt;&lt;p lang="en" dir="ltr"&gt;.&lt;a href="https://twitter.com/verovaleros"&gt;@verovaleros&lt;/a&gt; found &amp;gt;70% of companies are infected by adware, and don&amp;#39;t understand the extent of data exfil&amp;#39;d or how much it&amp;#39;s worth &lt;a href="https://twitter.com/hashtag/TR17?src=hash"&gt;#TR17&lt;/a&gt; &lt;a href="https://t.co/XRjWncYb63"&gt;pic.twitter.com/XRjWncYb63&lt;/a&gt;&lt;/p&gt;&amp;mdash; Kelly Shortridge (@swagitda_) &lt;a href="https://twitter.com/swagitda_/status/844490866270048256"&gt;March 22, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;I can definitely recommend the following talks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Veronica Valeros talked about &lt;a href="https://www.youtube.com/watch?v=KtOXPHyA0Ko"&gt;threat hunting&lt;/a&gt;. Valeros works at Cognitive Threat Analytics, a research department that is part of Cisco Systems. In her presentation, she talked about her methods for finding the needle (malicious activity) in a haystack (large amount of network traffic).
She also shared a case study from her own work: it appears that adware can have a higher negative impact than most people expect, since adware is often used to exfiltrate sensitive data (such as browsing history) from infected computers. In some cases, the adware will communicate unencrypted with the ad server, which results in sensitive data being transmitted in plain text over the network!&lt;/li&gt;
&lt;li&gt;Matthew Domko gave &lt;a href="https://www.youtube.com/watch?v=VWZ6IggBigE"&gt;this talk about BroPy&lt;/a&gt;, a Python tool that can automatically generate a baseline for network traffic that. This baseline can subsequently be used as input for Bro, as a definition of normal network activity. Of course, it's required that the system is completely free of malware when you run BroPy, otherwise malicious activity will end up in your baseline. I liked this idea, but I'm sceptical whether this approach will work for existing systems.&lt;/li&gt;
&lt;li&gt;There was a very good presentation about &lt;a href="https://www.youtube.com/watch?v=xyPft_hOU64"&gt;the North Korean Red Star operating system&lt;/a&gt; and the way it can be used to track unwanted media files within the country to monitor dissidents.&lt;/li&gt;
&lt;li&gt;@TheGrugq gave &lt;a href="https://www.youtube.com/watch?v=wP2J9aYM6Oo"&gt;a surprise talk about intelligence services&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A surprisingly good and critical talk by Mara Tam about &lt;a href="https://www.youtube.com/watch?v=8nNXKYXdADo"&gt;cybersecurity policy&lt;/a&gt;. Worth watching for her story about submarines.&lt;/li&gt;
&lt;li&gt;Pentester @_Staaldraad gave a great talk in which he explains &lt;a href="https://www.youtube.com/watch?v=tuc8cwOAAcA"&gt;a very interesting persistence and post-exploitation technique&lt;/a&gt;: tackling persistence in a organisation after compromising one of their workstations by burrowing in the organisations Exchange server. I was impressed by the way he explained the technique: it was accessible and clear without being overly simple. Worth watching if you ever use Exchange. This talk will make you freaking paranoid. ;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Events and extras&lt;/h3&gt;
&lt;p&gt;On Wednesday night there was a social dinner, with Packet Wars (CTF) immediately afterwards. I ended up joining the WizardsOfDos, CTF team of Hackerspace Darmstadt, who were one person short for their team. It certainly was a lot of fun and we ended up winning the Packet Wars!&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-lang="en"&gt;&lt;p lang="en" dir="ltr"&gt;The &lt;a href="https://twitter.com/hashtag/packetwars?src=hash"&gt;#packetwars&lt;/a&gt; at &lt;a href="https://twitter.com/hashtag/TR17?src=hash"&gt;#TR17&lt;/a&gt; has begun ... &lt;a href="https://t.co/E9dXBo2vXD"&gt;pic.twitter.com/E9dXBo2vXD&lt;/a&gt;&lt;/p&gt;&amp;mdash; Sam Flynn (@l0x2a) &lt;a href="https://twitter.com/l0x2a/status/844651205477515264"&gt;March 22, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;The CTF challenges revolved around a fake Donald Trump twitter account, which we had to compromise in order to obtain different kinds of evidence. The first challenge was OSINT-based. A writeup is available here. The second challenge consisted of sending a spearphishing email to the fake account to compromise the underlying workstation. If you want to see some of the hilarious phishing emails that were sent during this challenge, be sure to check &lt;a href="https://youtu.be/Gu-slEYwG4E?t=12m47s"&gt;the closing talk of TROOPERS17&lt;/a&gt; on Youtube.&lt;/p&gt;
&lt;p&gt;Other activities and stuff worth mentioning:&lt;/p&gt;
&lt;p&gt;Good food.&lt;/p&gt;
&lt;p&gt;Decent coffee.&lt;/p&gt;
&lt;p&gt;Refridgerators with club mate and club mate cola everywhere.&lt;/p&gt;
&lt;p&gt;A vintage pinball machine and donkey kong arcade machine (AWESOME)!&lt;/p&gt;
&lt;p&gt;My very first weird geeky conference badge gadget! The TROOPERS17 badge was made by &lt;a href="https://twitter.com/badgewizard"&gt;@BadgeWizard&lt;/a&gt; and consisted of a custom Arduino-board paired with an (ancient &amp;amp; refurbished) Nokia 3310. Sadly, my battery was as good as dead, so I didn't use it much during the conference. However, the badge was a great conversation starter and also doubled as an attribute for one of the conference challenges. Nicely done, TROOPERS!&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-lang="en"&gt;&lt;p lang="en" dir="ltr"&gt;Just a random heap of &lt;a href="https://twitter.com/hashtag/TR17?src=hash"&gt;#TR17&lt;/a&gt; badges prior &lt;a href="https://twitter.com/WEareTROOPERS"&gt;@WEareTROOPERS&lt;/a&gt; . &lt;a href="https://twitter.com/0x4045494650"&gt;@0x4045494650&lt;/a&gt; &lt;a href="https://twitter.com/net0SKi"&gt;@net0SKi&lt;/a&gt; &lt;a href="https://twitter.com/welectronic"&gt;@welectronic&lt;/a&gt; &lt;a href="https://t.co/sFsMLY8rxw"&gt;pic.twitter.com/sFsMLY8rxw&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brian (@BadgeWizard) &lt;a href="https://twitter.com/BadgeWizard/status/849629157717942277"&gt;April 5, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;h3&gt;Verdict&lt;/h3&gt;
&lt;p&gt;Long story short: I would definitely recommend visiting TROOPERS. I hope to visit again next year and meet even more interesting people.&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-lang="en"&gt;&lt;p lang="en" dir="ltr"&gt;The end...The end of a great conference! See you in TR18 &lt;a href="https://twitter.com/hashtag/tr17?src=hash"&gt;#tr17&lt;/a&gt; &lt;a href="https://t.co/OgWxcsw4PE"&gt;pic.twitter.com/OgWxcsw4PE&lt;/a&gt;&lt;/p&gt;&amp;mdash; Cr0wTom (@serbinhio) &lt;a href="https://twitter.com/serbinhio/status/844983327950094336"&gt;March 23, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;h3&gt;Further reading:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.troopers.de/"&gt;TROOPERS18&lt;/a&gt; will take place from 12th to 16th March 2018.&lt;/li&gt;
&lt;li&gt;Security blogger Xavier Mertens made &lt;a href="https://blog.rootshell.be/?s=troopers+2017"&gt;extensive writeups&lt;/a&gt; of the two conference days, and the IoT and IPv6 event prior to the conference.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/my-experiences-at-infosec-conference-troopers-2017/index.html"/>
    <summary type="html">&lt;p&gt;Last month, I visited TROOPERS17 , a conference in Heidelberg, Germany. It was the first infosec conference I've attended, so I didn't really know what&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/my-experiences-at-infosec-conference-troopers-2017/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/my-experiences-at-infosec-conference-troopers-2017/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Security"/>
    <category term="Travel"/>
    <published>2017-04-14T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/travel-tips-from-my-shoestring-days/index.html</id>
    <title>Travel tips from my shoestring days</title>
    <updated>2017-04-21T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;When I was in university, I didn't have a lot of money for traveling. Lucky for me, I had an adventurous friend who wasn't afraid of traveling on a budget. We had a lot of fun adventures together throughout Europe, buying the cheap train tickets and sleeping at CouchSurfing hosts to save money on accommodation. I found that the art of slow travel can give an extra dimension to traveling, which makes it a lot more enjoyable. This is what I learned during those trips.&lt;/p&gt;
&lt;h2&gt;Don't lug around too much stuff&lt;/h2&gt;
&lt;p&gt;Traveling light means you have more energy left to enjoy your travels. Also: checking in and out of airports becomes a matter of minutes.&lt;/p&gt;
&lt;h2&gt;Take your time&lt;/h2&gt;
&lt;p&gt;It's better to stay too long in one place than to run through all items on your &amp;quot;5000 things to see before you die&amp;quot; list.&lt;/p&gt;
&lt;p&gt;When traveling in Rome, I met four girls from the US who where viewing Europe in four days. Europe. Four days. That meant hardly any sleep, long train trips with only distant views of a few very beautiful cities, and never sitting down for a proper meal. Another friend did &amp;quot;Paris in 24 hours&amp;quot;, which included the bustrip to and from.&lt;/p&gt;
&lt;p&gt;This all sounds very exhausting to me, and it's definitely not the way I want to travel. It leaves no room for the stuff that I like best: enjoying the food, getting lost, meeting new people, trying new things.&lt;/p&gt;
&lt;h2&gt;Embrace not being in control&lt;/h2&gt;
&lt;p&gt;When I travel, I find that not being in control gives me great sense of peace. Not knowing where I'll eat or sleep next, I have to focus on getting around and surviving in a strange new city. This means I don't have any time left to worry, over-think and over-analyze everything, which (ironically) means that I end up making better decisions.&lt;/p&gt;
&lt;h2&gt;The first thing to do when in a new city&lt;/h2&gt;
&lt;p&gt;This is the &lt;a href="http://www.wanderingearl.com/how-to-spend-your-first-20-minutes-in-a-new-country/"&gt;best travel tip I've ever read on a blog&lt;/a&gt;: when you arrive in a new city, take a break immediately upon arrival. Sit down for 30 minutes. Take some time to &lt;em&gt;settle&lt;/em&gt;. Grab a cup of coffee and recharge from traveling by train or airplane. Observe the people that walk by. Find a free tourist map. Chat with the barista and get your first travel recommendation.&lt;/p&gt;
&lt;h2&gt;Do as the Romans do&lt;/h2&gt;
&lt;p&gt;In my experience, asking recommendations from locals is the key to comfortable, authentic travel. They can tell you about the best food in town, the tourist traps you need to avoid and the best way to get around.&lt;/p&gt;
&lt;p&gt;When I was couchsurfing in Spain and Sweden, the couchsurfing hosts provided me with great tips: the best spots for a barbecue, a hidden zoo in the middle of town, a local battle-of-the-bands-event (which was the best activity we did for that particular town), a beautiful garden which was also accessible at night and the location of the best coffee bar in town.&lt;/p&gt;
&lt;p&gt;Some ideas for obtaining this super secret information:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Just ask someone! Talk to random people on the street or in shops. Ask them whether they live around here, and what they think is the best place for dinner, a drink, or some fun.&lt;/li&gt;
&lt;li&gt;I always check the local &lt;a href="http://wikitravel.org/en/Main_Page"&gt;Wikitravel&lt;/a&gt; page before I travel. This has helped me in the past with avoiding tourist scams and other negative experiences. It has also saved me a lot of money on subway tickets in Paris and London. ;)&lt;/li&gt;
&lt;li&gt;Try to find local guides to the city. Google for blogposts describing the local hotspots and check out the local tourist office. In Brussels, I found &lt;a href="https://www.use-it.travel/cities/map/2016_brussels/"&gt;this really cool map&lt;/a&gt; made for students, by students. Me and my travel companions ended up having dinner for less than 5 euros in a restaurant that catered to the local Chinese population.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Do the normal stuff&lt;/h2&gt;
&lt;p&gt;Don't forget to have a taste of daily life in the country you're visiting. Visit a supermarket. Celebrate a national holiday together with locals. Have a barbecue. Watch a sports game and root for the local team. Join your CouchSurfing host for a cup of coffee. View life through the eyes of the local population, and you'll really get to know a country.&lt;/p&gt;
&lt;p&gt;When I was London, of the most fun things I did was go to a Waitrose supermarket and buy EVERYTHING I wanted to try. I ended up with a dragons hoard of chutney, Fentiman's soda, tea and chocolate. In Germany, I went crazy with buying all kinds of mate soda. And of course, the best place to buy Belgian beers and chocolate is in a Belgian supermarket.&lt;/p&gt;
&lt;h2&gt;Dare to wander&lt;/h2&gt;
&lt;p&gt;Dare to just go somewhere and see where you end up. Dare to be lost.&lt;/p&gt;
&lt;p&gt;When I was in Rome, me and a friend rented an appartment in Monti. Every morning we would leave our appartment, choose a random direction and just start walking. We would have breakfast at the first inviting-looking coffee bar, find some sandwiches or pizza al taglia and continue walking. After a week, we knew the part of the city where we stayed by heart, and we didn't need a map anymore. It feels great to be in the largest cities of Europe and to know exactly where you are -- and where the nearest coffee bar is.&lt;/p&gt;
&lt;h2&gt;Don't hide behind your camera&lt;/h2&gt;
&lt;p&gt;I once took a camera with me on my trip and ended up with 5000 photo's of cows, buildings, views and bicycle lanes and absolutely NO MEMORY of the trip itself whatsoever. If a landmark or view is worth making a photo of with your smartphone, it's worth looking at it with your own eyes. I figured I can always buy a postcard that'll look more picturesque than I'll be ever able to take.&lt;/p&gt;
&lt;h2&gt;Write in your travel journal&lt;/h2&gt;
&lt;p&gt;Write about your experiences! My travel journals are a better keepsake than all the souvernirs I could have bought on my travels.&lt;/p&gt;
&lt;p&gt;I used to tack five blank A4 sheets together, and toss them in my bag with 2 pens. My travel journal was not a fancy molekine, but it weighed almost nothing and hardly took up any space -- very important when you're traveling with only one small backpack. I used the journal to scribble down everything, from bus schedules and phone numbers of couchsurfing hosts to handdrawn maps to the places we wanted to visit. The sheets that remained, I filled with random drawings and observations.&lt;/p&gt;
&lt;h2&gt;Don't forget to take time off&lt;/h2&gt;
&lt;p&gt;It's really important to recharge your batteries every now and then. This is especially important to keep in mind when you're traveling for business or for a longer period of time. Business trips, with activities like long meetings, conferences or training sessions can be super-tiring. If you feel obligated to spend your evenings off racing around town to get all the tourist things, you can easily feel overwhelmed.&lt;/p&gt;
&lt;p&gt;I heard from many people that they find it hard to slow down during travel and take some time to do nothing. Some people even feel really guilty when they decide stay in to relax.&lt;/p&gt;
&lt;p&gt;If you feel like spending your evening in pyjama's watching a series while eating popcorn: go ahead and enjoy it! Stock up on tasty food in the local supermarket and do absolutely nothing for a while. Traveling should be fun, don't forget that.&lt;/p&gt;
&lt;p&gt;I hope these tips help you. Happy traveling and enjoy the journey! :)&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/travel-tips-from-my-shoestring-days/index.html"/>
    <summary type="html">&lt;p&gt;When I was in university, I didn't have a lot of money for traveling. Lucky for me, I had an adventurous friend who wasn't afraid&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/travel-tips-from-my-shoestring-days/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/travel-tips-from-my-shoestring-days/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Travel"/>
    <published>2017-04-21T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/searching-for-a-job-after-graduation/index.html</id>
    <title>Searching for a job after graduation</title>
    <updated>2017-04-26T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;As I was finishing the last chapters of my thesis in September 2015, preparing slides for my final presentation and fighting with a particular tricky LaTeX module, a voice in the back of my mind reminded me that I needed to find a job.&lt;/p&gt;
&lt;p&gt;Part of me believed that a suitable PhD position would turn up. But the more time I spent doing research for my master thesis, the more I wanted to do something else for a while. Something not quite like research. But what?&lt;/p&gt;
&lt;img src="/images/yayyougraduated.jpg" alt="Yay, you graduated! Oh no, what now?" class="img-fluid" /&gt;
&lt;h2&gt;Too many options&lt;/h2&gt;
&lt;p&gt;It turned out I had only a vague picture in my mind about Life After Graduation. I halfheartedly looked up a few vacancies online, but that didn't help me at all. As someone who never had a job in IT before, the job titles, descriptions and lists of requirements didn't really &lt;em&gt;mean&lt;/em&gt; anything to me.&lt;/p&gt;
&lt;p&gt;As a starting point, I decided to research companies that I knew from word of mouth. However, I was only familiar with organisations where I knew people, the companies that sponsor the student associations and the companies that give lectures at university, mostly for recruiting purposes. Many of these organisations either had nothing to do with computer science, or were small (web) development companies looking for junior coders. Not really my cup of tea.&lt;/p&gt;
&lt;h2&gt;Demand-driven job search&lt;/h2&gt;
&lt;p&gt;This was the point where I decided to do things differently. As I learned in a training recently, when you have a to process a lot of information to make an informed choice, it's better to search for information based on your objectives, instead of trying to process everything there is on offer. If you try to process all information that you can possibly get, your brain easily gets overloaded by all the options and the decision-making process becomes less effective.&lt;/p&gt;
&lt;p&gt;In other words: it was time for a demand-driven job search. I had to find out what I wanted from a job, and then find out which employer could provide this.&lt;/p&gt;
&lt;p&gt;However, when you're knee-deep in mathematical proofs and you've never had a full-time job in your life, it's kind of hard to come up with a complete picture of your own wishes. I decided to make a list to help me with this.&lt;/p&gt;
&lt;img src="/images/illmakealist.jpg" alt="I know! I'll make a list!" class="img-fluid" /&gt;
&lt;p&gt;I started out by listing my strong points, the things that make me stand out from others, and the things I like to do best.&lt;/p&gt;
&lt;img src="/images/stuffiliketodo.jpg" alt="Stuff I like to do" class="img-fluid" /&gt;
&lt;p&gt;I also wrote down what I wanted my life to look like after graduation. I figured that if you spend 30-50 hours a week at your work, it's going to leave a big mark on your daily life, right?&lt;/p&gt;
&lt;img src="/images/whatiwantinlife.jpg" alt="What I want in life" class="img-fluid" /&gt;
&lt;h2&gt;Mind mapping different career paths&lt;/h2&gt;
&lt;p&gt;I also made a mind map of different possible career paths.
Since I have many different interests, there were a lot of different career paths I could choose, in many different fields. I decided to draw a mind map to plot all the different courses of action. I hoped it would help help me choose between them.&lt;/p&gt;
&lt;p&gt;I wrote my four major options in the corners of a large blank paper.
For each option, I wrote down possible employers, the things I needed to learn to work in that field, the most interesting subjects, the pros and cons of this career path, etc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Possible career choices&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Science journalism, philosophy of science, the role of science in society.&lt;/li&gt;
&lt;li&gt;Have my own company&lt;/li&gt;
&lt;li&gt;Computer science research in academia&lt;/li&gt;
&lt;li&gt;Research and development in a commercial company&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I thought I'd choose one of these careers, which would automatically rule the other ones out.
Now that I have a little more work experience, I don't think it has to be so black and white. I think it's perfectly okay to have multiple interests and career paths. Actually, I know one full professor who changed his specialisation when he was in his fifties.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example mind map for Career path &amp;quot;Science journalism&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Write for New Scientist (magazine)&lt;/li&gt;
&lt;li&gt;Do research for Institute of Science In Society&lt;/li&gt;
&lt;li&gt;Write for newspapers&lt;/li&gt;
&lt;li&gt;Focus on writing&lt;/li&gt;
&lt;li&gt;Scientific journalist?&lt;/li&gt;
&lt;li&gt;Be the bridge between people and science&lt;/li&gt;
&lt;li&gt;It is possible do an internship at a journal?&lt;/li&gt;
&lt;li&gt;Ionica Smeets does this for math&lt;/li&gt;
&lt;li&gt;Freelancing: no financial security?&lt;/li&gt;
&lt;li&gt;Work from home (yay!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I used the lists and the mind map as a compass for my job search. Now I could specify what I wanted, I could start searching specifically for jobs that had to do with my interests, or that come with the activities and work environment which I would like to have in a job.&lt;/p&gt;
&lt;p&gt;I still have the lists and mind map. I review them occassionally, to see if my opinions have changed over time. In retrospect, the things that I wrote down were very useful.
Nice colleages, freedom to manage my own time and an employer that values my expertise were the most important requirements for me to be happy in my job. I was lucky to find a job that had these requirements. I've been working happily at my first job for one and a half years now.&lt;/p&gt;
&lt;p&gt;I hope this method helps you in your own journey towards your dream job. :) Good luck!&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/searching-for-a-job-after-graduation/index.html"/>
    <summary type="html">&lt;p&gt;As I was finishing the last chapters of my thesis in September 2015, preparing slides for my final presentation and fighting with a particular tricky&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/searching-for-a-job-after-graduation/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/searching-for-a-job-after-graduation/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Career"/>
    <published>2017-04-26T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/city-guide-rotterdam/index.html</id>
    <title>City guide Rotterdam</title>
    <updated>2017-04-30T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;These are the places I enjoyed when I was visiting Rotterdam. Note that this list is nowhere near complete, as it focuses on the things that I like (coffee, tacos, books).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;New Fork (lunchroom)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Very close to the main city center and the maritime museum, this lunchroom has the best sandwiches of Rotterdam. The bread is hands down the best I've ever tasted. They have a lot of veggie options on offer, which is nice for travel groups with vegetarians. Apparently frequented by students a lot, so the prices are very decent as well.&lt;/p&gt;
&lt;p&gt;&lt;a href="//www.newfork.nl"&gt;www.newfork.nl&lt;/a&gt;,
Coolsingel 141, 3012 AG Rotterdam&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Donner (bookstore, giftstore, coffeebar, lunchroom)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Wherever I go, I always get drawn to the local bookstore. Donner is situated in an old bank building, which gives it a peculiar atmosphere. They have everything you can think of in terms of books, and also sell sheet music, board games, vinyl and gifts. There's a cute coffee corner in the back of the building, where you can have lunch or drink a nice cup of coffee with a slice of cake.&lt;/p&gt;
&lt;p&gt;&lt;a href="//www.donner.nl"&gt;www.donner.nl&lt;/a&gt;,
Coolsingel 119, 3012 AG Rotterdam&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Water taxi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Rotterdam is split in two by the Nieuwe Maas river. If you need to go from the north side of Rotterdam to the south side (or vice versa), you can walk across one of the bridges, or... you can take a water taxi. These little speedboats will bring you from one side to the other in minutes, and it's a lot more fun than walking. A ticket of EUR 4,50 will cover a transfer between any two stops within the city centre. On the website you can find an overview of prices and locations.&lt;/p&gt;
&lt;p&gt;&lt;a href="//www.watertaxirotterdam.nl"&gt;www.watertaxirotterdam.nl/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fenix Food Factory&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Fenix Food Factory is a group of indie stores and restaurants in an old facory hall. It consists of a variety of small food businesses with a large food court in the middle. You can buy something from each of the stores -- cheese shop, butcher, bakery, coffee-roastery, microbrewery -- and sit in the middle and enjoy it all. Be sure to go here with enough appetite for one or two meals. ;)&lt;/p&gt;
&lt;p&gt;When I was here, there was enough to see, try and taste to warrant a stay or a few hours. We started out with lunch at Meneer Tanger, a counter that sells spices and all kinds of morrocan tapas. We had a nice cup of coffee afterwards. I then bought 5kg worth of locally sources honey, home-made chutneys, fresh dairy and jams. We wrapped up our visit with a few beers and a tray of cold cuts at the Kaapse Brouwers, a local brewery.&lt;/p&gt;
&lt;p&gt;&lt;a href="//www.fenixfoodfactory.nl"&gt;www.fenixfoodfactory.nl&lt;/a&gt;,
Veerlaan 19D, 3072 AN Rotterdam.
Note that all shops except for the brewery are closed on Mondays.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Stirr (cocktail bar)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A cocktail bar that only serves custom cocktails. Just tell the bartenders what you like and they'll bring you a newly invented alcoholic beverage. The bar has a grungy vibe, with &lt;a href="http://degenietendefoodie.nl/wp-content/uploads/2015/05/stirr-rotterdam-780.jpg"&gt;high windows and a bare brick wall&lt;/a&gt;. There's no loud music or bright lights and the high windows have a beautiful view, so this is the perfect place for having a drink, relaxing and talking. I paid EUR 23,00 for two cocktails, so it's on the expensive side, but the laid-back atmosphere made it money well-spent.&lt;/p&gt;
&lt;p&gt;&lt;a href="//www.thestirr.nl"&gt;www.thestirr.nl&lt;/a&gt;, Eendrachtsweg 29B, Rotterdam&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Xoco (taco bar)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is a taco bar with the best tacos I ever had in the Netherlands! Although they call themselves as a grill restaurant, it has an informal atmosphere and no is more like a student cantina. The menu is simple but very tasty. You choose tacos, a burrito or a salad, choose between different meats or the veggie option, add toppings and sauces and you're good to go. Be sure to try the home-made peppersauces!&lt;/p&gt;
&lt;p&gt;&lt;a href="//www.xoco.nl"&gt;www.xoco.nl&lt;/a&gt;, Scheepstimmermanslaan 17, 3016 AD Rotterdam&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Burger Club (burger restaurant)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tiny burger restaurant in the north-west of Rotterdam. Apparently they won a prize for their burgers a while back. The burgers are pretty good, there's a lot of choice on the menu and eating here is not too expensive. Interesting is that they let you choose the kind of meat for your burger: local-produced beef, wagyu-beef or high quality pork. If you like your burger with a gin-and-tonic, they have about ten different gins and tonics on the menu.&lt;/p&gt;
&lt;p&gt;&lt;a href="//www.burgerclub.nl"&gt;www.burgerclub.nl&lt;/a&gt;, Nieuwe Binnenweg 139-a, 3014 GJ Rotterdam&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gys (organic restaurant)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I encountered this cute eaterie on my way back from the Burger Club. The design of the place was so great, I decided to go in and have a coffee as desert. I wish I was a freelancer in Rotterdam, so I could go here during the day and enjoy the coffee, beautiful design, the light and the view from the enormous windows. I will definitely return here and try the rest of the menu. They serve everything from breakfast to dinner, with great coffee to boot.&lt;/p&gt;
&lt;p&gt;&lt;a href="//www.gysrotterdam.nl"&gt;www.gysrotterdam.nl&lt;/a&gt;, Nieuwe Binnenweg 182, 3015 BJ Rotterdam&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/city-guide-rotterdam/index.html"/>
    <summary type="html">&lt;p&gt;These are the places I enjoyed when I was visiting Rotterdam. Note that this list is nowhere near complete, as it focuses on the things&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/city-guide-rotterdam/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/city-guide-rotterdam/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Travel"/>
    <published>2017-04-30T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/things-i-learned-after-18-months-of-working/index.html</id>
    <title>Things I learned after 18 months of working</title>
    <updated>2017-07-25T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;I was very lucky to get a job immediately after graduation. In one month, I went from hippy-vibed Nijmegen and a no-rules-just-write schedule to the imposing The Hague, to sit in an open-floor-plan style office from 9-to-6. It's been quite an experience.&lt;/p&gt;
&lt;img class="img-fluid" src="/images/the-hague-by-gerrit-vermeulen-unsplash-99726.jpg" alt="The Hague, by Gerrit Vermeulen via Unsplash" /&gt;
&lt;p&gt;When I started working, I quickly noticed there was more to learn than what they teach you at university. Since I'm approaching my one-and-a-half-year workiversairy, I figured it was time to write down some of the things I learned.&lt;/p&gt;
&lt;p&gt;Here's some tongue-in-cheek advice for nearly-graduated folks.&lt;/p&gt;
&lt;p&gt;When you leave university after graduation, you feel like you're ready to change the world, solve all the problems and stagger everyone with your genius. Then you get an actual job and you go work in an office where you meet all these old people (gasp!) with kids (gasp!) and their ancient knowledge of How Things Are Done Here. Organisations turn out to be these horrible structures with things called &lt;em&gt;rules&lt;/em&gt; and &lt;em&gt;processes&lt;/em&gt; and a fixed chain of command. Things go way slower than you imagined and overthinking this will make you sad. You're in for some culture shock. Be prepared.&lt;/p&gt;
&lt;p&gt;When you're new at a job, don't expect to change the business overnight with your &lt;em&gt;brilliant&lt;/em&gt; outsider insights. Although you might see things that could use some improvement, save your opinions until you've seen enough of the organisation to understand why things are the way they are. Pro-tip: asking &amp;quot;Why?&amp;quot; is generally more appreciated than remarking &amp;quot;You're totally doing it wrong!&amp;quot;.&lt;/p&gt;
&lt;p&gt;Don't try to do everything alone. There are people that can fix the printer, send mail, etc. and they do it way more efficient than you. Moreover, it's OK to not-know things. I hope you have some friendly colleagues (like I had), who can explain the stuff they don't teach you in school.&lt;/p&gt;
&lt;p&gt;Don't let the constant stream of unneccessary emails drive you crazy. About 90% of the emails I receive (newsletters, system notifications, spam) are completely irrelevant to my work. If you want to keep your sanity, learn to build good filters.&lt;/p&gt;
&lt;p&gt;When you start participating in Office Communications, you will learn quickly that most humans don't know how to write concise emails. As a result, a lot of people won't actually &lt;em&gt;read&lt;/em&gt; their email: they glance at the subject and sender and try to decide who to forward this email to. I decided I don't want to be a part of that problem, so I learned How To Email. I particularly like Matt Might's article &lt;a href="http://matt.might.net/articles/how-to-email/"&gt;How to send and reply to email&lt;/a&gt; and Patrick McKenzie's &lt;a href="http://www.kalzumeus.com/standing-invitation/#generic-tips-for-emailing-busy-people"&gt;General Tips for Emailing Busy People&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Prepare a phone conversation in advance if you have to explain difficult technical stuff or a tricky situation (like a security incident) over the phone. The order in which you say things on the phone determines whether people will panic or not.&lt;/p&gt;
&lt;p&gt;The things that you don't like to do (because they are out of your comfort zone) are probably the things you're going to learn most from. If this scares you, go read Daring Greatly by Brene Brown, or watch her &lt;a href="https://www.ted.com/talks/brene_brown_on_vulnerability"&gt;TED talk&lt;/a&gt; on vulnerability.&lt;/p&gt;
&lt;p&gt;Final wisdom: don't eat all of the birthday cake.&lt;/p&gt;
&lt;p&gt;Now I'm wondering: what would you tell your younger self about work, life in the office or careers? Please share in the comments, I'm really curious about your stories.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/things-i-learned-after-18-months-of-working/index.html"/>
    <summary type="html">&lt;p&gt;I was very lucky to get a job immediately after graduation. In one month, I went from hippy-vibed Nijmegen and a no-rules-just-write schedule to the&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/things-i-learned-after-18-months-of-working/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/things-i-learned-after-18-months-of-working/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Career"/>
    <published>2017-07-25T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/digesting-difficult-books-with-holidays-method-for-reading/index.html</id>
    <title>Digesting difficult books with Holiday's reading method</title>
    <updated>2017-09-06T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;&lt;a href="https://ryanholiday.net/"&gt;Blogger and book master Ryan Holiday&lt;/a&gt; wrote an article in which he describes &lt;a href="https://ryanholiday.net/read-to-lead-how-to-digest-books-above-your-level/"&gt;his personal way of reading books&lt;/a&gt;. His method builds heavily on note-taking and is optimized for recording thoughts, associations and interesting quotes during reading. These notes can then be used for further research or as writing material. After stumbling upon Holiday's blog post, I wanted to try this method for myself.&lt;/p&gt;
&lt;h2&gt;Using Holiday's method for reading non-fiction&lt;/h2&gt;
&lt;p&gt;What better way to test Holiday's method for reading books by testing it out on one of his own? So I went to the local bookstore and obtained a copy of &amp;quot;The Obstacle is the Way&amp;quot;, a book about the philosophy of the Stoics. Then I followed &lt;a href="https://ryanholiday.net/read-to-lead-how-to-digest-books-above-your-level/"&gt;the method&lt;/a&gt; as described in Holiday's blog post. Here are my experiences.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reading a summary and reviews before you read the book helps with figuring out the structure of the book. This meant I had more energy left for taking in the actual contents of the books.&lt;/li&gt;
&lt;li&gt;The whole note-taking-and-highlighting made it easier for me to concentrate on the book and stick with reading. I definitely got less distracted when I was reading with a highlighter in my hand. I also noticed that I was reading slower, but I finished the book as a whole faster.&lt;/li&gt;
&lt;li&gt;I think I was taking in more of the content since I was hyper-aware of the structure of the text. This definitely helped me decide which parts to highlight.&lt;/li&gt;
&lt;li&gt;It is also really easy to write a short summary of the book afterwards, since all the important passages where highlighted already.&lt;/li&gt;
&lt;li&gt;Revisiting my notes feels like using a shortcut to the best parts of the book. I can now 'read' this book within 10 minutes, which is awesome.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I chose not to copy all my highlights to little note cards, since I don't have an immediate use for them. I can imagine that this might work great for research purposes, though.&lt;/p&gt;
&lt;p&gt;In short: I really liked this method, especially for reading non-fiction. I might use this more often, especially when I need to read for research purposes, or when I want to write a review of the book.&lt;/p&gt;
&lt;h2&gt;Epilogue: my review of The Obstacle is the Way&lt;/h2&gt;
&lt;p&gt;After reading Holiday's book, I must say I understand the reviewers who faulted the book for the writing style.&lt;/p&gt;
&lt;p&gt;It is interesting that you can clearly find traces of Holiday's research method in the book.
The narrative leans heavily on quotes from famous people and other writers. Almost every paragraph follows the same structure: Holiday poses a statement and then backs it up with various quotes and anecdotes from literature/history. This can get repetitive quite fast. Some people might find it boring. I, being a big history nerd, was mostly amused by the various historical characters that Holiday uses to support his story. But, as Holiday himself says: &amp;quot;Read the classics.&amp;quot; The Obstacle is the Way is an entertaining book, but it mainly serves as a springboard to better and more original reading material.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I'm curious as to whether you, my dear readers, have tried this method and what your experiences were. Do you have a different method for reading dense material or difficult books?&lt;/em&gt;&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/digesting-difficult-books-with-holidays-method-for-reading/index.html"/>
    <summary type="html">&lt;p&gt;Blogger and book master Ryan Holiday wrote an article in which he describes his personal way of reading books . His method builds heavily on&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/digesting-difficult-books-with-holidays-method-for-reading/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/digesting-difficult-books-with-holidays-method-for-reading/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Research"/>
    <published>2017-09-06T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/roger-osint-python-tool-for-monitoring-http-status-codes/index.html</id>
    <title>Roger monitors changes in HTTP status codes</title>
    <updated>2017-10-03T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Some time ago I found sensitive personal data on a public web page. I notified the system owner, but was curious to see if my report would have any impact. I decided to monitor the web page to see whether the information was removed.&lt;/p&gt;
&lt;p&gt;Since I only wanted to know whether the web page was still online, monitoring changes in the &lt;a href="https://en.wikipedia.org/wiki/List_of_HTTP_status_codes"&gt;HTTP status code&lt;/a&gt; (instead of changes in page content) was enough for this use case. One way of keeping up with the status of a webpage is &lt;a href="https://xkcd.com/281/"&gt;hitting Refresh&lt;/a&gt; until you get a different HTTP status code... But I decided to let my computer do this for me, so I could use my time for more interesting activities.&lt;/p&gt;
&lt;p&gt;I decided to write &lt;code&gt;roger&lt;/code&gt;, a &lt;a href="https://github.com/jd7h/roger"&gt;Python tool for HTTP status monitoring&lt;/a&gt;. &lt;code&gt;roger&lt;/code&gt; tries to load a given url, saves the current HTTP status code, and then sends you an email whenever that status changes.&lt;/p&gt;
&lt;h2&gt;How does it work?&lt;/h2&gt;
&lt;p&gt;Roger follows a fairly straight-forward algorithm:&lt;/p&gt;
&lt;p&gt;Load the page for the first time and save the resulting HTTP status/error code:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-python"&gt;# first time connecting to target to get initstatus
try:
	print(&amp;quot;Connecting...&amp;quot;)
	connection = urllib.request.urlopen(
	    urllib.request.Request(testurl), timeout=60)
	initstatus = connection.getcode()
	print(&amp;quot;Initial statuscode&amp;quot;, initstatus)
	connection.close()
except urllib.error.HTTPError as error:
    print(type(error), error)
    initstatus = error.code
    print(&amp;quot;Initial statuscode&amp;quot;, initstatus)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then, we keep repeating this process every &lt;em&gt;n&lt;/em&gt; minutes, until we get a different result:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-python"&gt;while not status_changed:
    print(&amp;quot;Entering test loop with timeout of&amp;quot;, str(n), &amp;quot;minutes&amp;quot;)
    time.sleep(n * 60)
    print(&amp;quot;Testing...&amp;quot;)
    try:
        connection = urllib.request.urlopen(
            urllib.request.Request(testurl), timeout=60)
        print(&amp;quot;Statuscode&amp;quot;, connection.getcode())
        if connection.getcode() != initstatus:
            newstatus = connection.getcode()
            print(&amp;quot;New statuscode detected&amp;quot;, initstatus, &amp;quot;-&amp;gt;&amp;quot;, newstatus)
            status_changed = True
        connection.close()
    except urllib.error.HTTPError as error:
        print(type(error), error)
        if error.code != initstatus:
            newstatus = error.getcode()
            print(&amp;quot;New statuscode detected&amp;quot;, initstatus, &amp;quot;-&amp;gt;&amp;quot;, newstatus)
            status_changed = True
return newstatus
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If a status change occurs, Roger composes an email with the details and sends it to me via my local mailserver.
You can expand this script with different forms of notification. For example, you can combine &lt;code&gt;roger&lt;/code&gt; with my project &lt;code&gt;zazu&lt;/code&gt;, to make a &lt;a href="https://github.com/jd7h/zazu"&gt;Twitter-bot that automatically posts updates&lt;/a&gt; about the status of your website. Or you could send the output of &lt;code&gt;roger&lt;/code&gt; to an irc-bot, to give you notifications over irc. The possibilities are endless.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;roger&lt;/code&gt; can be used for all kinds of OSINT activities. I'm considering expanding it later to include content monitoring. The Python code is &lt;a href="https://github.com/jd7h/roger"&gt;available on Github&lt;/a&gt;.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/roger-osint-python-tool-for-monitoring-http-status-codes/index.html"/>
    <summary type="html">&lt;p&gt;Some time ago I found sensitive personal data on a public web page. I notified the system owner, but was curious to see if my&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/roger-osint-python-tool-for-monitoring-http-status-codes/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/roger-osint-python-tool-for-monitoring-http-status-codes/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Projects"/>
    <published>2017-10-03T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/my-research-is-about-natural-language-generation-adaptive-games/index.html</id>
    <title>A quick overview of my PhD research project</title>
    <updated>2018-02-12T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;I'm working as a PhD student at the University of Twente, where I research natural language generation for adapative games. People often ask me what my research is about, so I figured I should write a blogpost to explain a bit more about my research field.&lt;/p&gt;
&lt;h2&gt;What is a &amp;quot;natural language&amp;quot;?&lt;/h2&gt;
&lt;p&gt;A natural language is a language that is used by humans, such as English, Dutch or Japanese, as opposed to the formal languages of mathematics and logics.
Note that I use this very informal definition, since I'm a computer scientist and not a linguist. If you ask a linguist to define a natural language, you get probably many different answers, such as &lt;a href="https://en.wikipedia.org/wiki/Natural_language"&gt;the definition from Wikipedia&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;What do you mean with natural language generation?&lt;/h2&gt;
&lt;p&gt;When I say &amp;quot;natural language generation&amp;quot;, I mean the task of automatically generating (creating) human language text, for example with a piece of software. The software takes data as input, and outputs text in a natural language.&lt;/p&gt;
&lt;p&gt;You can create all possible types of texts with natural language generation: dialogues, riddles, jokes, social media messages, novels, poetry or more formal texts like weather forecasts, product descriptions and sports match summaries.&lt;/p&gt;
&lt;p&gt;In some sense, natural language generation (NLG) is the opposite or inverse of &lt;a href="https://en.wikipedia.org/wiki/Natural-language_processing"&gt;natural language processing&lt;/a&gt; (NLP); with NLG, you generate text from data (which can be text as well), with NLP you extract data from natural language texts. Some people hope that you can apply NLP techniques to NLG problems and vice versa, by designing algorithms that work in both directions.&lt;/p&gt;
&lt;p&gt;Natural language generation is part of &lt;a href="https://en.wikipedia.org/wiki/Computational_linguistics"&gt;computational linguistics&lt;/a&gt;, the interdisciplinary research field where computer science and linguistics meet.&lt;/p&gt;
&lt;h2&gt;Can you give me an example of natural language generation?&lt;/h2&gt;
&lt;p&gt;An example of a natural language generation program is a program that greets the user by name, with a greeting that depends on the time. The input data in this case is a name and the current time, and the output is a sentence in English, which is a natural language.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Input		        Output
(&amp;quot;Judith&amp;quot;,11:06)        &amp;quot;Good morning, Judith!&amp;quot;
(&amp;quot;Hector&amp;quot;,14:45)        &amp;quot;Good afternoon, Hector!&amp;quot;
(&amp;quot;Rachel&amp;quot;,19:25)        &amp;quot;Good evening, Rachel!&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;What is your research project about?&lt;/h2&gt;
&lt;p&gt;In my specific research project, I try to apply natural language generation techniques to adaptive training games, ie. training games that adapt their content to the player.&lt;/p&gt;
&lt;p&gt;The two subjects (natural language generation and adaptive games) that make up my research project are both too extensive for one PhD project.
This means I'll have to choose a more specific focus for the upcoming four years. At the moment (february 2018), I'm mostly reading (survey) papers and thinking up as many relevant and open problems as possible. Later this year I will decide on more specific research questions together with my supervisors and the rest of the project team.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/my-research-is-about-natural-language-generation-adaptive-games/index.html"/>
    <summary type="html">&lt;p&gt;I'm working as a PhD student at the University of Twente, where I research natural language generation for adapative games. People often ask me what&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/my-research-is-about-natural-language-generation-adaptive-games/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/my-research-is-about-natural-language-generation-adaptive-games/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Natural language generation"/>
    <category term="Projects"/>
    <category term="Research"/>
    <published>2018-02-12T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/random-tony-generates-chocolate-flavours-from-context-free-grammar/index.html</id>
    <title>Random-tony generates chocolate flavours from a context-free grammar</title>
    <updated>2018-10-03T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;One of my first experiments with natural language generation was writing &lt;code&gt;random-tony&lt;/code&gt;, &lt;a href="//github.com/jd7h/random-tony"&gt;a program that could produce new chocolate flavours&lt;/a&gt;. The program uses a grammar as a model of a &amp;quot;valid&amp;quot; chocolate flavour. Here are some examples:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ python ./generate_flavours.py 

blonde chocolate with marshmallows and cucumber
dark chocolate with orange
white chocolate with liquorice, rose petals and kiwi crumble
blonde chocolate with cardamom, soy beans and broth
dark milk chocolate with cola, mayonnaise and butterscotch
white chocolate with sesame seeds, pumpkin and black pepper
dark chocolate with jasmine and honey
extra dark chocolate with apricot and broth
dark milk chocolate with caramel and pear crumble
extra dark chocolate with cucumber
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Parser and generator for context-free grammars&lt;/h2&gt;
&lt;p&gt;When we generate text based on a context-free grammar,
the grammar acts as a model for valid language production.
So before I could automatically generate text output, I needed a program that can parse and interpret a context-free grammar.&lt;/p&gt;
&lt;p&gt;Nowadays, we can easily use &lt;a href="//tracery.io"&gt;Tracery&lt;/a&gt;, an excellent and very usable javascript framework by &lt;a href="//www.galaxykate.com/"&gt;Kate Compton&lt;/a&gt; for doing language production with grammars. However, when I wrote random-tony, Tracery didn't exist yet. Instead, I wrote a &lt;a href="https://github.com/jd7h/random-tony/blob/master/src/cfg_generator.py"&gt;parser and generator&lt;/a&gt; in Python 3 for context-free grammars, based on &lt;a href="https://eli.thegreenplace.net/2010/01/28/generating-random-sentences-from-a-context-free-grammar/"&gt;code from Eli Bendersky&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The grammar parser can parse any &lt;a href="//en.wikipedia.org/wiki/Context-free_grammar"&gt;context-free grammar&lt;/a&gt;; the generator takes a grammar and a start symbol, and produces language by applying grammar rules to the start symbol until there are no further rewrites possible. If you want to learn more about grammars and rewriting, check out the &lt;a href="http://www.crystalcodepalace.com/traceryTut.html"&gt;Tracery tutorial&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Chocolate flavour grammar&lt;/h2&gt;
&lt;p&gt;As input for the parser/generator, I wrote a context-free grammar to describe chocolate flavours. I was inspired by the crazy limited edition flavours that Tony Chocolonely (a famous brand of fair-trade chocolate in the Netherlands) releases each year. The popularity of Tony's crazy flavours has caught on, and now almost every supermarket in the Netherlands sells chocolate with weird combinations of flavours.&lt;/p&gt;
&lt;p&gt;The grammar defines valid chocolate flavours. I have defined it as a type of chocolate (dark, milk or white) and one, two or three special ingredients. A chocolate bar without any ingredients would also be a valid flavour in the real world, but since this would be a bit too boring, so I left these out of my definition.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;LIMITED_EDITION -&amp;gt; CHOCOLATE INGREDIENTLIST
INGREDIENTLIST  -&amp;gt; INGREDIENT 
                 | INGREDIENT INGREDIENT 
                 | INGREDIENT INGREDIENT INGREDIENT
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I looked at the flavours made by Tony's Chocolonely and decided that an ingredient can be a number of things, such as fruits, nuts, vegetables and an assortment of other random weird things.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;INGREDIENT      -&amp;gt; FRUIT | FRUIT CRUMBLE 
                 | NUTS | DRINK | CANDY 
                 | SPICE | VEGETABLE | MISC
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The fun part is filling in concrete examples of all the categories of ingredients specified above. For example, here is the list of 'MISC' ingredients.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MISC            -&amp;gt; honey | coffeecrunch 
                 | butterscotch | wasabi | red curry 
                 | green curry | jalapeno peppers 
                 | balsamic vinegar | lavender 
                 | rose petals | cornflakes
                 | mayonnaise | ketchup | soy sauce 
                 | broth | whipped cream | liquorice | salmon
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Why is this interesting?&lt;/h2&gt;
&lt;p&gt;So, why bother with writing a context-free grammar for NLG? Mostly, it's fun. The random, combinatorial approach to generation can lead to weird, crazy and unexpected outputs. A similar approach is often used for &lt;a href="https://en.wikipedia.org/wiki/Procedural_generation"&gt;procedural content generation&lt;/a&gt; for games. If you want some examples, take a look at the &lt;a href="https://www.gamasutra.com/blogs/ShayPierce/20100319/86948/StoryGenerating_Games.php"&gt;procedural histories of Dwarf Fortress&lt;/a&gt;, &lt;a href="https://diablo.gamepedia.com/List_of_Affixes"&gt;the loot in Diablo&lt;/a&gt;, and &lt;a href="http://www.freeholdgames.com/press/sheet.php?p=caves_of_qud"&gt;the NPCs of Caves of Qud&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As an unexpected bonus, random-tony has helped me land my current job.
I developed it before I started my PhD in natural language generation, just for fun, but it helped me show my prospective supervisors that I was really interested in the main topic of research.
This meant I had a headstart in the application procedure. Now, two years later, this little generator is helping me with my research too! Since my PhD project is about personalized (adaptive) natural language generation, I could probably use a modified version of the program to conduct experiments.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/random-tony-generates-chocolate-flavours-from-context-free-grammar/index.html"/>
    <summary type="html">&lt;p&gt;One of my first experiments with natural language generation was writing random-tony , a program that could produce new chocolate flavours . The program uses&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/random-tony-generates-chocolate-flavours-from-context-free-grammar/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/random-tony-generates-chocolate-flavours-from-context-free-grammar/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Natural language generation"/>
    <category term="Projects"/>
    <published>2018-10-03T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/choose-the-right-bias-for-your-text-generator/index.html</id>
    <title>Choose the right bias for your text generator</title>
    <updated>2019-02-07T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;A suitable &lt;em&gt;corpus&lt;/em&gt;, or dataset of text documents, is one of the main ingredients of many natural language generation projects.
There are many general-purpose corpora available for download on the internet.
For example, the natural language processing library &lt;a href="https://www.nltk.org/"&gt;nltk&lt;/a&gt; has a built-in download module, through which you can access &lt;a href="https://www.nltk.org/book/ch02.html"&gt;various standard datasets&lt;/a&gt;.
Anyone can download these datasets for free, which makes them a great NLP resource for programmers and language researchers.&lt;/p&gt;
&lt;p&gt;However, sometimes you need a corpus specifically for your project.
This is particularly the case for &lt;em&gt;data-driven&lt;/em&gt; approaches to language generation, where, instead of manually coding a model of what you want to generate, you train a model on a dataset.
This results in a model that reflects certain properties of the corpus, because the text in the dataset acts as an example of &amp;quot;valid output text&amp;quot;.
Depending on the chosen model and way of preprocessing, output texts will feature the same vocabulary, word-length, topics, sentence structure or grammar as the text from the corpus.
If your input dataset is biased in any way, that same bias will end up in the results of the generator trained on that same dataset.&lt;/p&gt;
&lt;p&gt;In other words, if I use weather reports as a basis for generating text, my output will also look like weather reports!&lt;/p&gt;
&lt;p&gt;Some of the most popular textual datasets contain &lt;a href="//www.gutenberg.org"&gt;public domain books&lt;/a&gt;, &lt;a href="https://www.nltk.org/book/ch02.html#reuters-corpus"&gt;news documents&lt;/a&gt;, &lt;a href="https://dumps.wikimedia.org/"&gt;Wikipedia pages&lt;/a&gt;, and &lt;a href="https://registry.opendata.aws/amazon-reviews/"&gt;product reviews&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If I use newspaper articles as starting point for generating new text, my output will probably contain terms related to politics and economics.
Books from project Gutenberg infuse my output with the old-fashioned language found in 19th century novels.
Using Wikipedia articles as a source might introduce crowd-sourced spelling mistakes in the text.
And using a dataset of Amazon product reviews riddled with opinions will lead to output text with lots of subjective language.&lt;/p&gt;
&lt;p&gt;This &amp;quot;contamination&amp;quot; is fine, as long as it is deliberate and it fits with the intended application.&lt;/p&gt;
&lt;p&gt;Keep this in mind next time you choose a corpus for your NLG project.&lt;/p&gt;
&lt;p class="post-credits"&gt;Thanks to Gerdriaan Mulder for proofreading this post.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/choose-the-right-bias-for-your-text-generator/index.html"/>
    <summary type="html">&lt;p&gt;A suitable corpus , or dataset of text documents, is one of the main ingredients of many natural language generation projects. There are many general-purpose&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/choose-the-right-bias-for-your-text-generator/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/choose-the-right-bias-for-your-text-generator/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Natural language generation"/>
    <published>2019-02-07T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/video-game-corpora/index.html</id>
    <title>Video game corpora</title>
    <updated>2019-03-02T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;Last updated: October 2020&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In this post I want to share some fun data sources for NLG and NLP.
In an &lt;a href="///blog/2019/choose-the-right-bias-for-your-text-generator.html"&gt;earlier post&lt;/a&gt;, I mentioned why a suitable corpus is important, especially when you're doing natural language generation.
Since I'm working on &lt;a href="///blog/2018/my-research-is-about-natural-language-generation-adaptive-games.html"&gt;natural language generation for video games&lt;/a&gt;, I try to find good datasets for that domain.
However, finding datasets with text data from games is hard, which means that often I need to scrape and compile my own corpora.&lt;/p&gt;
&lt;p&gt;I'm also collecting examples of &lt;a href="https://github.com/jd7h/nlg-games"&gt;games that use NLG&lt;/a&gt;, to see which techniques are used by developers and how these affect the quality of the game.&lt;/p&gt;
&lt;h2&gt;Game code&lt;/h2&gt;
&lt;p&gt;Finding information about NLG in games is hard, since game companies generally don't publish their game code.
Luckily for me, it's easy to inspect the code of games that run on client-side javascript, such as &lt;a href="http://orteil.dashnet.org/cookieclicker/"&gt;CookieClicker&lt;/a&gt; and open source games like &lt;a href="https://twitter.com/maxkreminski"&gt;Max Kreminski&lt;/a&gt;'s idle game &lt;a href="https://mkremins.itch.io/epitaph"&gt;Epitaph&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Both games feature NLG techniques, which is an added bonus.
CookieClicker has a &lt;a href="https://cookieclicker.fandom.com/wiki/News_Ticker"&gt;news ticker&lt;/a&gt; that shows weird headlines depending on your game process.
Epitaph is text-based and procedurally generated, which means it runs completely on NLG. The game generates fictional &lt;a href="https://github.com/mkremins/epitaph/blob/master/src/epitaph/civs.cljs"&gt;societies&lt;/a&gt;, &lt;a href="https://github.com/mkremins/epitaph/blob/master/src/epitaph/language.cljs"&gt;languages&lt;/a&gt; and Civilizations-like &lt;a href="https://github.com/mkremins/epitaph/blob/master/src/epitaph/techs.cljs"&gt;tech trees&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Fan-made resources&lt;/h2&gt;
&lt;p&gt;Popular games such as the RPGs &lt;a href="https://diablo.fandom.com/wiki/Diablo_Wiki"&gt;Diablo&lt;/a&gt;, &lt;a href="https://deusex.fandom.com/wiki/Deus_Ex_Wiki"&gt;Deus Ex&lt;/a&gt; and &lt;a href="https://bioshock.fandom.com/wiki/BioShock_Wiki"&gt;Bioshock&lt;/a&gt; have crowd-sourced FANDOM wikis, where you can find collections of game text. The Deus Ex wiki contains the text of &lt;a href="https://deusex.fandom.com/wiki/Category:Deus_Ex:_Human_Revolution_books,_magazines_and_newspapers"&gt;in-game ebooks and newpapers&lt;/a&gt;. The Bioshock wiki has transcriptions of all &lt;a href="https://bioshock.fandom.com/wiki/Audio_Diary"&gt;audio diaries&lt;/a&gt; that the player can find in the game. Warning: crawling these wikis might lead to spoilers. ;)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.imperial-library.info/books/all/by-category"&gt;The Imperial Library&lt;/a&gt; has a database of all books (and other booklike items) from the Elder Scrolls games. Some of my students used it to generate new lore for Skyrim. I imagine this would be a nice technique for Skyrim modders that want to introduce new books into the game.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.thuum.org/"&gt;Thuum.org&lt;/a&gt; is a website about the Dragon language from Skyrim. Besides numerous language-learning resources, the Thuum Library includes a &lt;a href="https://www.thuum.org/library/Dialogue.TXT"&gt;text-dump of Skyrim dialogue&lt;/a&gt;, which (interestingly enough) includes notes for voice actors about the prosody of some of the dialogue lines.&lt;/p&gt;
&lt;p&gt;Github user efonte has extracted &lt;a href="https://gist.github.com/efonte/ce0b3a8f2651d2263d7085b2121d9f6c#file-texts_extracted-txt"&gt;all texts&lt;/a&gt; from the text-heavy RPG game Disco Elysium. (If their link is broken, you can find a &lt;a href="https://gist.github.com/jd7h/e724eb2b23faa42b51424ac110c7b976"&gt;fork&lt;/a&gt; at my own Github profile.)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/drtowerstein"&gt;Javier Torres&lt;/a&gt; has written a &lt;a href="http://www.brainific.com/blog/2019/01/working-nlp-on-morrowinds-dialogues/"&gt;manual for extracting dialogue from Morrowind&lt;/a&gt; using the Elder Scrolls toolkit.&lt;/p&gt;
&lt;h2&gt;Scripts&lt;/h2&gt;
&lt;p&gt;Film scripts do not contain video game text, but are still fun for my application domain, especially for generating dialogue.&lt;/p&gt;
&lt;p&gt;I'm really impressed by the fan community of D&amp;amp;D webshow Critical Role, who have &lt;a href="https://crtranscript.tumblr.com/transcripts"&gt;transcribed all episodes of Critical Role&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are also &lt;a href="http://www.chakoteya.net/Voyager/episode_listing.htm"&gt;transcripts of Star Trek Voyager episodes&lt;/a&gt; available online. I'm secretly planning on turning these into a Vulcan irc-bot.&lt;/p&gt;
&lt;p&gt;I hope you liked this list of text resources. If you know other fun datasets that could be of use to NLG/NLP research in the context of video games, let me know!&lt;/p&gt;
&lt;h2&gt;Update October 2020&lt;/h2&gt;
&lt;p&gt;I've started to mine game files directly, because that's the best way to get high-quality video game text. I've published a paper about it, which can be read &lt;a href="http://127.0.0.1:4000/assets/2008-vanstegeren2020fantastic-preprint.pdf"&gt;here&lt;/a&gt;.
I've also released &lt;a href="https://github.com/hmi-utwente/video-game-text-corpora"&gt;three datasets with text from video games&lt;/a&gt;, sourced from Star Wars: Knights of the Old Republic, The Elder Scrolls and Torchlight II.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jakub.thebias.nl/research/QuestGen/paper.pdf"&gt;Jakub Myśliwiec&lt;/a&gt;, whom I supervised for his bachelor thesis project, has also scraped a dataset of World of Warcraft quests, which can be found &lt;a href="https://jakub.thebias.nl/GPT2_WOWHead_dataset.txt"&gt;here&lt;/a&gt; in plaintext format. If you want to use the WoW quests for your own research, you need to do some preprocessing as this plaintext file is meant for fine-tuning a neural generation system.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/video-game-corpora/index.html"/>
    <summary type="html">&lt;p&gt;Last updated: October 2020 In this post I want to share some fun data sources for NLG and NLP. In an earlier post , I&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/video-game-corpora/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/video-game-corpora/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Natural language generation"/>
    <category term="Projects"/>
    <published>2019-03-02T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/city-guide-the-hague/index.html</id>
    <title>City Guide The Hague</title>
    <updated>2019-03-03T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;I lived in the Hague for two years. These are some of my favorite spots for lunch, dinner, coffee and drinks.&lt;/p&gt;
&lt;h2&gt;Coffee etc.&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Bijenkorf City Café&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The ground floor of this huge upscale department store has a small cafe overlooking one of the busiest crossroads in the Hagues city center. It is my favorite place for people watching. Order a cappuccino and grab one of the chairs in front of the windows. They also have tasty cakes.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.debijenkorf.nl/den-haag"&gt;www.debijenkorf.nl&lt;/a&gt;, Wagenstraat 32, 2512 AX, Den Haag&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;8tea5&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The best place for bubble tea, situated in the beautiful Passage.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://8tea5.com/locations/the-hague/"&gt;8tea5.com&lt;/a&gt;, Passage 77, 2511 AC The Hague&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exki&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My favorite coffee bar at the Turfmarkt.
Lebkov and August (the other two coffeebars) are okay too, but Exki's lemon-drizzle cake with white-chocolate topping is just to die for.
They also sell Palais de Thes tea.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.exki.nl/nl/restaurants/exki-turfmarkt"&gt;www.exki.nl&lt;/a&gt;, Turfmarkt 224-226, Den Haag&lt;/p&gt;
&lt;h2&gt;Food&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Minglemush&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Food court with lots of cute little food stands. Minglemush has lots of different food options, plus craft beers, wine and gin &amp;amp; tonics. Minglemush lies on the east side of The Hague Central Station. It's almost never found by tourists, who tend to immediately exit the train station to the west upon arrival to go to the city centre. There also an upstairs, where you can find an arcade with old-skool games.
Try the poke from the Pokébar or the genuine mexican tacos from Mixco.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.minglemush.nl"&gt;www.minglemush.nl&lt;/a&gt;, Anna van Buerenplein 712, 2595 DK Den Haag&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bik Frietwerk&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Get your fries (regular potato or sweet potato) from this haute cuisine snackbar, only 2 minutes away from The Hague Central Station. Great for lunch and dinner. I prefer the sweet potato fries with mango-mayonaise, or the regular fries with guacamole.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bikfrietwerk.nl"&gt;bikfrietwerk.nl&lt;/a&gt;, Turfmarkt 228, 2511 DJ Den Haag&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Istana&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Hague is famous for its great indonesian food. If you have some time and money to spend and want to taste good &lt;em&gt;rendang&lt;/em&gt;, go to Istana.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.istana.nl"&gt;www.istana.nl&lt;/a&gt;, Wagenstraat 71-73, 2512 AR Den Haag&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Warung mini&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This tiny &lt;em&gt;warung&lt;/em&gt; (small restaurant or cafe) is famous throughout The Hague. You might need to wait for a long time, as it is popular with locals. When I lived in the Hague, I went to eat there regularly. The roti leans to the salty side, but it's comfort food and comes for a reasonable price. They also do take-away, although you might try Moksi (a few streets further away, at Boekhorststraat 119) for shorter waiting times.&lt;/p&gt;
&lt;p&gt;&lt;a href="//warungminidenhaag.nl"&gt;www.warungminidenhaag.nl&lt;/a&gt;, Amsterdamse Veerkade 57-A, 2512 AH Den Haag&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Eazie wok&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you want a cheap and healthy supper, try the wok dishies of Eazie. The &amp;quot;indonesian cocos&amp;quot; with fried rice and fish is my number one favorite. Both The Hague Central Station and The Hague Hollandsch Spoor have an Eazie within walking distance.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://eazie.nl"&gt;eazie.nl&lt;/a&gt;, Gedempte Gracht 78 (near Central Station), Herengracht 26 (near Central Station), Stationsweg 136 (near Hollandsch Spoor)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Broodje van 's Gravenhage&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cheap but tasty roti-filled burrito's (&amp;quot;roti-wrap&amp;quot;) for take-away. Perfect train food.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://broodjevansgravenhage.nl"&gt;broodjevansgravenhage.nl&lt;/a&gt;, Rijnstraat 14, 2515 XP Den Haag&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/city-guide-the-hague/index.html"/>
    <summary type="html">&lt;p&gt;I lived in the Hague for two years. These are some of my favorite spots for lunch, dinner, coffee and drinks. Coffee etc. Bijenkorf City&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/city-guide-the-hague/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/city-guide-the-hague/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Travel"/>
    <published>2019-03-03T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/visiting-iccc-2019-computational-creativity/index.html</id>
    <title>Visiting ICCC 2019</title>
    <updated>2019-07-03T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;This is a &lt;s&gt;short&lt;/s&gt; report of my visit to ICCC, or the &lt;a href="http://computationalcreativity.net/iccc2019/"&gt;International Conference on Computational Creativity 2019&lt;/a&gt;, in Charlotte, NC.
It's not meant as a summary, but as an overview of the things I found interesting during the conference.
If you want more information about the talks, check the &lt;a href="http://computationalcreativity.net/iccc2019/program.html"&gt;conference program&lt;/a&gt;,
or read the live-tweets from &lt;a href="https://twitter.com/search?f=tweets&amp;amp;q=%40matthewguz%20AND%20%23iccc2019%20OR%20%23ICCC19"&gt;Matthew Guzdial&lt;/a&gt;, &lt;a href="https://twitter.com/search?f=tweets&amp;amp;q=%40christophsalge%20AND%20%23iccc2019%20OR%20%23ICCC19"&gt;Christoph Salge&lt;/a&gt; and &lt;a href="https://twitter.com/search?f=tweets&amp;amp;q=%40jd7h%20AND%20%23iccc2019%20OR%20%23ICCC19"&gt;me&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I've marked some places in this text with a (*), which means you can find an accompanying paper in the &lt;a href="http://computationalcreativity.net/iccc2019/assets/iccc_proceedings_2019.pdf"&gt;ICCC 2019 proceedings&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;ICCC is a small conference: single track and about 150 participants.
The conference concentrates on the &lt;a href="http://computationalcreativity.net/iccc2019/calls.html#topics"&gt;automation of creativity in all its aspects&lt;/a&gt;, from creative computer science (how can we generate paintings, poems or dance?) to conceptual AI (how can we formalize the cognitive aspects of human creativity?), cultural sciences (does a computer generated text differ in cultural value from a human-written one?) and philosophy (can computers be creative? What does creativity even mean?).
Despite the varying backgrounds of the participants, most of the talks were understandable and relevant for my own research.
ICCC turned out to be a pretty good fit for my research projects, which deal with coherence and context of automatically generated texts.&lt;/p&gt;
&lt;p&gt;I found that Computational Creativity doesn't just value a generative system for its raw output, but also pays attention to the conceptual idea behind a system.
Attendees seemed to appreciate the thought process behind a project: what input do we use and why, which approach do we choose, what libraries and datasets are available, do we make the project open-source or not, etc.
I visited ICCC to present a &lt;a href="https://judithvanstegeren.com/assets/1905-churnalist2019vanstegeren-iccc2019.pdf"&gt;poster&lt;/a&gt; about Churnalist, a headline generator for creating fictional headlines around a context.
Churnalist is certainly not state of the art when it comes to language generation, but the system is ideal for testing hypotheses about text generation for a specific context.
At ICCC I noticed that this topic interested other participants as well, and that people could appreciate the conceptual side of Churnalist, even though its outputs are not that sophisticated yet.&lt;/p&gt;
&lt;p&gt;I saw also a certain openness about negative results in research work at ICCC, which I think is very important, as transparency in research leads to more progress.
If you know which approaches work and why, it's easy to adopt part of someone else's approach in your own research, even if their work is in a different application domain.
I know this sounds like basic science methodology, but in practice researchers tend to hide their bad results or ugly academic code, and use the approaches that sound most promising to funding agencies.
In other words, the ICCC community matched with my own ideas about science methodology and research best practices.&lt;/p&gt;
&lt;h2&gt;Workshop on Generative Deep Learning&lt;/h2&gt;
&lt;p&gt;On 18 June, I attended the &lt;a href="https://sites.google.com/view/iccc2019-workshop-cc-design/home"&gt;workshop on deep learning and computational creativity&lt;/a&gt; (DL4CC).
The workshop was an informal meeting with about 30 people and consisted of presentations and discussions.
Even though I don't use deep learning in my current work, the quality of the discussions made it worthwhile to attend.&lt;/p&gt;
&lt;p&gt;Highlights of the workshop:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI-driven systems for co-creation should no longer be seen as unintelligent tools.
Instead, they must be designed as articulate creative partners.
It would be nice if these systems not only gave the user more creative possibilities, but also made suggestions and critical remarks during the creative process and corrected or even interrupted the user.
The biggest problem in deep-generative system is a human-computer-interaction problem.
Active collaborating with AI fits with the new focus on &lt;em&gt;reflection&lt;/em&gt; and &lt;em&gt;framing&lt;/em&gt; in Computational Creativity: &amp;quot;simply creating something&amp;quot; is no longer enough for a creative system.
Systems should present generated output together a justification, so that the user can follow the underlying reasoning and generative process.
See also the recent revival of &amp;quot;explainable AI&amp;quot;.&lt;/li&gt;
&lt;li&gt;Some speakers defined &amp;quot;creativity&amp;quot; of outputs using the parameter &amp;quot;surprise&amp;quot;, but I was critical of this. Creativity judgments defined in terms of surprise can never be objective, because surprise is strongly linked to experience and consequentially to age, social environment, etc. Nick Montfort's keynote on day 3 (see below) made me slightly less sceptical.&lt;/li&gt;
&lt;li&gt;Mikhail Jacob presented a project with virtual agents that play improv theatre in VR.
He emphasized the importance of generating a &amp;quot;creative arc&amp;quot; instead of the optimal artifact.
If a virtual agent would always choose the most creative artifact (for example, the weirdest or most surprising act), you would not get a coherent story over time.
I can imagine that this is important for generating any artifact with a sequence, such as music, dance or animations.
I recognize this problem from my research in language generation, where, for example, consecutively choosing the most beautiful word does not always lead to the most coherent text.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After the talks, there was a discussion session in which we brainstormed about the current challenges for deep generative systems, to find fruitful directions for new research.
The following five main points emerged from this session:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How do we evaluate creative systems and generated artifacts? How do we define creativity?&lt;/li&gt;
&lt;li&gt;How do we deal with human-computer co-creation? How should new generative systems behave to facilitate collaboration? How do we build the next generation of explainable, reflective, framing and collaborative generative systems?&lt;/li&gt;
&lt;li&gt;What do we do with gaps in the latent space of generative systems? How do we find these gaps, how do we classify them and how do we address them? In other words, how do we &amp;quot;escape&amp;quot; from the latent space learned from a training set?&lt;/li&gt;
&lt;li&gt;As deep learning is applied to more application domains, we run into domains for which no 'big data' is available (to use as training data). How do we deal with this?&lt;/li&gt;
&lt;li&gt;How can we build personalized models in deep generative systems? What additional training data do we need from the user, how do we get that data and how do we incorporate it in the general model?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The results of this discussion have been &lt;a href="https://github.com/jer-hayes/ICCC-DeepGen-Outcomes"&gt;published online&lt;/a&gt; for the rest of the scientific community.&lt;/p&gt;
&lt;h2&gt;Day 1&lt;/h2&gt;
&lt;p&gt;The first day of the conference was opened Mary Lou Maher.
She explained ICCC's approach for welcoming new people to the conference (which I loved as a first-time attendee):
first-time ICCC participants were explicitly invited to ask questions after a talk, and session chairs were asked to favor new people over acquaintances when picking audience members for questions.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.doc.gold.ac.uk/~mas01rf/homepage/"&gt;Rebecca Fiebrink&lt;/a&gt; gave the first keynote.
Her work centers on building usable creative systems that use supervised machine learning.
Her approach to researching creative systems reminded me of Kate Compton, which also places the user first.
Fiebrink gave a demo of &lt;a href="http://www.wekinator.org/"&gt;The Wekinator&lt;/a&gt;, a supervised machine learning system that can be used for creating music.
The system solves the problem of lack of training data by asking users on the fly for examples.&lt;/p&gt;
&lt;p&gt;In her keynote, Fiebrink emphasized that sometimes it is better for a system to focus on the mistakes in the model.
In machine learning, we tend to focus too much on positive metrics like accuracy.
However, for a user it's more useful to know where the gaps and mistakes are in the underlying model,
and where these mistakes come from.
I recognize this difference from a CLIN talk from Erik Tjong Kim Sang about &lt;a href="https://ieeexplore.ieee.org/abstract/document/8588756"&gt;historians using ML to classify historical documents&lt;/a&gt;.
Big surprise: the historians only wanted to use machine learning if it was 100% transparent where classification errors came from.&lt;/p&gt;
&lt;p&gt;I also thought the &lt;a href="https://caro.io/hibot"&gt;HiBot&lt;/a&gt; was very cute: an arduino robot with motion sensor that cheerfully waves back whenever someone waves at it.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://kylebooten.me/"&gt;Kyle Booten&lt;/a&gt; presented work* which was inspired by Erasmus' book De Copia, a book with exercises for improving rhetorics and text variation.
I like both the fact that Booten drew inspiration from a historical Dutch figure (and texts and methods) and that he conducted small, elegant crowdsourcing experiments to test his hypotheses.&lt;/p&gt;
&lt;p&gt;Tony Veale discussed &lt;a href="https://twitter.com/readmelikeabot"&gt;a new Twitterbot&lt;/a&gt;* that responds to any Twitter account that uses the phrase &amp;quot;Read me like a book&amp;quot;.
The bot analyses tweets from these accounts to build an 11-parameter personality and language model for that account, and uses the model to tweet book recommendations to the user.
The bot builds on Veale's earlier work on metaphor generation and computational humor.
An example conversation between Veale's &lt;a href="https://twitter.com/trumpscuttlebot"&gt;Trumpbot&lt;/a&gt; and the book bot can be read &lt;a href="https://twitter.com/trumpscuttlebot/status/1141366006419472386"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Although I like work related to Twitter bots and language generation, I'm critical of the bot's social behavior.
It tends to tweet to unsuspecting users that have not explicitly invited the bot to interact with them, and the output can contain sensitive or controversial content, which is not in line with the best practices for Twitter bots.&lt;/p&gt;
&lt;p&gt;Razvan Bunescu mentioned a paper by &lt;a href="https://arxiv.org/abs/1901.03253"&gt;West and Horvitz&lt;/a&gt;, in which researchers turned a classic linguistic crowdsourcing experiment around:
they presented headlines from satirical news site 'The Onion' to crowdsource workers and asked them to change one word in the humorous headline to change it into a serious headline, for example &amp;quot;BP ready to resume oil {spilling, drilling}&amp;quot;.
This is much easier for humans than asking them to come up with satirical headlines on the spot, but the result is the same: a high quality dataset that can be used to study satirical language.&lt;/p&gt;
&lt;h2&gt;Poster session and demos&lt;/h2&gt;
&lt;p&gt;At the poster session I presented my prototype of Churnalist*.
The session coincided with the demo session (in another, adjacent room) and social event with good food and wine.
I spoke to various people (Kyle Booten, Sarah Harmont, Eyal Gruss, Pablo Gervás and many others) about my work, their work, art, music, our experiences visiting the USA and the future of computational creativity, which I enjoyed immensely.&lt;/p&gt;
&lt;p&gt;Kyle Booten presented a demo called &lt;a href="http://www.computationalcreativity.net/iccc2019/assets/creative-submissions/iccc19-booten-fragile-pulse.pdf"&gt;Fragile Pulse&lt;/a&gt;*, which seemed a satirical version of meditation apps.
I didn't have time to try it out, but the demo revolves around a text written by Booten that is paired with a microphone and motion sensor.
If the reader of the text makes noise or moves a lot, the text is modified by a text generator to include all kinds of anxiety-related words.
In other words: the only way to read the original text is by sitting still and being silent.&lt;/p&gt;
&lt;h2&gt;Day 2&lt;/h2&gt;
&lt;p&gt;On day two of the conference, artists &lt;a href="http://locurto-outcault.com/"&gt;Lilla LoCurto and Bill Outcault&lt;/a&gt; opened with a keynote about conceptual art that incorporates technology.
The keynote started with a bit of contemporary art history, with lots of examples by other artists.
I particularly liked &lt;a href="http://rhizome.org/editorial/2009/may/06/the-cybernetic-pioneer-of-video-art-nam-june-paik/"&gt;&lt;em&gt;Beuys Voice&lt;/em&gt;&lt;/a&gt; by Nam June Paik (a robot built from old television sets) and &lt;a href="https://www.artbasel.com/catalog/artwork/21155/Cheyney-Thompson-Stochastic-process-painting-14-detail"&gt;&lt;em&gt;Stochastic Process Painting&lt;/em&gt;&lt;/a&gt; by Cheyney Thompson (a painting consisting of tiny hand-painted squares, each square's color is picked algorithmically by a computer).
LoCurto and Outcault also disucssed their own works &lt;a href="http://locurto-outcault.com/the-willful-marionette-2014-2/"&gt;&lt;em&gt;the willful marionette&lt;/em&gt;&lt;/a&gt; and &lt;em&gt;cat's cradle&lt;/em&gt; -- it was fascinating to hear about the development of their artistic work.
In order to realise their ideas, they needed to collaborate with organisations, programmers, and researchers throughout the entire process.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=7nt76yUkcfY"&gt;Mike Cook recorded a talk&lt;/a&gt; about his survey* on framing in computational creativity.
Framing can be seen as the sign next to an artwork in a museum.
It gives the audience extra context in which they can interpret the artwork: the name of the artist, the year in which it was made, methods and materials used and the story behind the piece.
Cook argues that creative systems should provide something similar when presenting output to the user.
I figure that providing some kind of framing for an output is the minimum requirement for creating more explainable generative systems. It can also help us take a step in the next direction: creating generative systems that can reflect on the things that they're generating.
I have not read the accompanying paper yet, but I estimate that it will be important in my work -- and that of the rest of the Computational Creativity community -- in the coming years.&lt;/p&gt;
&lt;p&gt;Alison Pease made an interesting observation about framing in academia: &amp;quot;Papers frame systems, talks frame papers.&amp;quot;
Very true, and it illustrates clearly why framing is such an important concept in Computational Creativity.&lt;/p&gt;
&lt;h2&gt;Day 3&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://nickm.com/"&gt;Nick Montfort&lt;/a&gt; opened the third and final day of the conference.
In his keynote he distinguished between H-creativity (global, universal) and P-creativity (personal, individual) and posed this question to the audience: what lies in between?
Drawing on examples, Monfort argued that subjectivity plays a larger role in computational creativity than we (scientists) like to admit, and that it should get more attention, especially during evaluation.
In the evaluation phase, we should keep in mind the cultural background of the evaluators.
Similarly, the definition of &amp;quot;creativity&amp;quot; is a cultural artifact, and consequentially not something objective.
We shouldn't abandon the notion of objective research, but we should be aware of the culturally determined aspects of creativity.
Montfort finished with &lt;a href="https://twitter.com/MatthewGuz/status/1142063920800124929"&gt;slides&lt;/a&gt; with &lt;a href="https://twitter.com/ChristophSalge/status/1142057683857444865"&gt;advice&lt;/a&gt; for Computational Creativity researchers, which are well worth a read.&lt;/p&gt;
&lt;p&gt;A presentation by &lt;a href="https://maya-ackerman.com/"&gt;Maya Ackerman&lt;/a&gt; about field work in computational creativity* listed creative ways of obtaining feedback during every phase of the research process.
She also did a small reading of the published &lt;a href="http://counterpathpress.org/mexica-20-years-20-stories-rafael-perez-y-perez"&gt;book with computer generated stories&lt;/a&gt; of the MEXICA story generation system by Rafael Perez y Perez.&lt;/p&gt;
&lt;p&gt;Christoph Salge gave a short talk about the &lt;a href="http://gendesignmc.engineering.nyu.edu/"&gt;Generative Design in Minecraft Competition&lt;/a&gt;.
I was happy to hear that this year there will be a &lt;a href="https://arxiv.org/abs/1905.05888"&gt;bonus assignment focussing on chronicle generation&lt;/a&gt;*!
The goal is to generate a chronicle for the procedurally generated Minecraft settlements, i.e. a text that describes the historical background of the settlement.
It should be clear from the generated text which chronicle belongs to which settlement.
I'm looking forward to the results of this new bonus challenge, as it has some overlap with my PhD topic: natural language generation for games.
If you are interested in participating in the competition, be sure to check out the website.
The organizing team made it really easy to participate.
As long as you can code basic Python, you can experiment with their bootstrapping scripts and create a submission for the competition.&lt;/p&gt;
&lt;p&gt;Pablo Gervás talked about &lt;a href="https://www.researchgate.net/publication/324841339_INES_A_reconstruction_of_the_Charade_storytelling_system_using_the_Afanasyev_Framework"&gt;storytelling system INES&lt;/a&gt; that can create multiplot stories*.
I particularly liked the architecture of the system, which is based on multiple microservices.
Secondly, I recognized Gervás' story about the development process from my own experience:
although the goal was to design and implememt the system,
the primary researcher ended up working on one tiny but complex part of the system during his PhD.&lt;/p&gt;
&lt;p&gt;At some point in the talk, Gervás also mentioned the following dilemma for reseachers:
are we going to build tiny systems that tackle one specific problem, or are we going to investigate large difficult problems that we encounter in many different problem spaces?
Building solutions to tiny problems leads to completable projects with a clear scope and thus quicker/more publications.
However, solving the large difficult problems is probably more valuable for science and society in the long run, but not as &amp;quot;profitable&amp;quot; (career-wise) for early career researchers because of the high pressure to publish.
An interesting observation.&lt;/p&gt;
&lt;p&gt;The final conference session was about computational humor and colorful language.&lt;/p&gt;
&lt;p&gt;Khalid Alnajjar presented work on a &lt;a href="https://helda.helsinki.fi//bitstream/handle/10138/303715/iccc_proceedings_2019_258.pdf?sequence=1"&gt;creative headline generator&lt;/a&gt; built by a team from the University of Helsinki.
Although their goal was different from that of Churnalist, our implementations used the same libraries and datasets -- an encouraging observation.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://thomaswinters.be/"&gt;Thomas Winters&lt;/a&gt; gave a talk about joke generation for 'I like my X like I like my Y, Z' jokes*.
The trick is to find nouns that have a particular (adjective) property in common, such as:
&amp;quot;I like my coffee like I like my war, cold&amp;quot;.
He and his co-authors also created &lt;a href="https://github.com/twinters/jokejudger"&gt;JokeJudger&lt;/a&gt;, an opensource platform in javascript for generating and evaluating this type of joke.
It might be useful for evaluating other types of text too.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;In short, I felt right at home at ICCC.
The research community was very welcoming to newcomers, and the talks and social events were enjoyable, interesting and productive.
&lt;a href="https://twitter.com/MatthewGuz/status/1141723742604632069"&gt;Next year's conference&lt;/a&gt; is in Coimbra (Portugal) from June 29th--July 3 2020, and I'm definitely going to try to visit ICCC again.
In 2021 the conference will be in Mexico City, Mexico.&lt;/p&gt;
&lt;p&gt;If you want to talk about any of the stuff above, send me a message on &lt;a href="https://www.twitter.com/jd7h"&gt;Twitter&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;(Thanks to Ruud de Jong for proofreading this humongous blog post!)&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/visiting-iccc-2019-computational-creativity/index.html"/>
    <summary type="html">&lt;p&gt;This is a short report of my visit to ICCC, or the International Conference on Computational Creativity 2019 , in Charlotte, NC. It's not meant&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/visiting-iccc-2019-computational-creativity/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/visiting-iccc-2019-computational-creativity/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Research"/>
    <category term="Travel"/>
    <published>2019-07-03T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/conference-on-games-2019-report/index.html</id>
    <title>COG 2019 conference report</title>
    <updated>2019-09-03T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;By popular demand, another conference report!
Please note that this report is very biased towards the topics that are relevant for my PhD research, i.e. text generation and procedural content generation for games.&lt;/p&gt;
&lt;p&gt;Between August 24 and August 27 2019 I visited the &lt;a href="http://ieee-cog.org/"&gt;IEEE Conference On Games (COG)&lt;/a&gt; in London, UK.
In previous years, this conference was called Computational Intelligence and Games (CIG). The last edition of this name was in &lt;a href="https://project.dke.maastrichtuniversity.nl/cig2018/"&gt;Maastricht in 2018&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As opposed to &lt;a href="http://fdg2018.org/"&gt;Foundations of Digital Games&lt;/a&gt;, where most of the presented research seems to come from the social sciences, COG is more focused on the artificial intelligence aspects of games. The conference had two sessions on procedural content generation (PCG) alone, and I met multiple people with a background in mathematics or computability theory. This was not surprising given the type of research that was presented: during the poster session I saw posters about search spaces, generator expressivity, modal logic, and optimization, among other topics.
Other than that, the conference had special sessions about esports and opponent matchmaking.&lt;/p&gt;
&lt;p&gt;The majority of the participants seem to be from the &lt;em&gt;digital&lt;/em&gt; games industry, although there were some board game related talks. For example, Hamna Aslam gave a very useful tutorial about playtesting board games on Wednesday.&lt;/p&gt;
&lt;h2&gt;Industry day and demo session&lt;/h2&gt;
&lt;p&gt;The conference opened with the &lt;a href="http://ieee-cog.org/2019/industry_day/"&gt;industry day&lt;/a&gt; on Tuesday, with about 450 visitors from both academia and the games industry. The subsequent days had about 250 visitors.&lt;/p&gt;
&lt;p&gt;During this first day, the social media coverage was so extensive that I decided not to livetweet during this conference. However, in the days after, the amount of tweets decreased. It seems that on average games industry people are more active on Twitter than researchers.&lt;/p&gt;
&lt;p&gt;I was particularly interested in meeting people during industry day, as I wanted to talk to people from the gaming industry to find out whether they would be interested in using text generation for writing game content. I’ve visited local game developer meetups in the past, but that was a very different crowd than I encountered at COG. I met people from game development companies from all over the world (albeit mostly from Europe), including giant game publishers like Microsoft and Sony.&lt;/p&gt;
&lt;p&gt;I was at COG to &lt;a href="http://ieee-cog.org/2019/papers/paper_156.pdf"&gt;demonstrate headline generator Churnalist&lt;/a&gt;, and the demo session was planned during industry day.
Although I already presented &lt;a href="/assets/1905-churnalist2019vanstegeren-iccc2019.pdf"&gt;a system description paper&lt;/a&gt; at &lt;a href="/blog/2019/visiting-iccc-2019-computational-creativity.html"&gt;ICCC&lt;/a&gt; this year, this was the first event where people could try out the system themselves.&lt;/p&gt;
&lt;p&gt;I extended Churnalist with a Flask (Python) back-end and a Javascript front-end, to make sure that it was a bit more user-friendly than the bare-bones version. Although it is meant as a human-computer co-creation tool, I programmed the demo in such a way that it could run without any user interaction. On startup, the system generates 50 headlines and showcases them in a web page with a CNN-style news ticker.
I used the call for papers of COG as input for the generator, so the headlines included phrases like 'high-profile industry', 'academic leaders', artificial intelligence' and 'procedural generation'.
Whenever people wanted more details, I could show them the interactive elements that turn Churnalist into a writing support tool for game writers.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/churnalist-demo-screenshot.png"&gt;&lt;img width="100%" src="/images/churnalist-demo-screenshot.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visitors of the demo session seemed to appreciate Churnalist and its possible applications (&lt;a href="https://deusex.fandom.com/wiki/Category:EBooks"&gt;the newspaper flavour text from Deus:Ex&lt;/a&gt; is one of my favorite examples), and I had multiple conversations with interested researchers and developers. Antonios Liapis stopped by and mentioned the &lt;a href="https://twitter.com/rpgnewsroombot"&gt;Fantasy Newsroom Bot&lt;/a&gt;, a twitter bot that tweets fake news in a fantasy setting.
If you stopped by during the demo session: it was great to talk to you, and thank you for all your suggestions and questions.&lt;/p&gt;
&lt;p&gt;As an added bonus, the demo of the “fake news generator” made it easier for people with similar interests to spot me later at the conference. Well done to the organizers for planning the demo session relatively early in the conference.&lt;/p&gt;
&lt;p&gt;A static version of the demo, with pre-generated content, can be viewed &lt;a href="/demo/churnalist/"&gt;here&lt;/a&gt;. The headlines are based on a &lt;a href="https://www.utwente.nl/en/education/bachelor/programmes/creative-technology/study-programme/"&gt;description of the bachelor programme Creative Technology&lt;/a&gt; at the University of Twente.&lt;/p&gt;
&lt;h2&gt;Research highlights&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://twitter.com/drtowerstein"&gt;Javier Torres&lt;/a&gt;, whom I met last year at FDG, presented a &lt;a href="http://ieee-cog.org/2019/papers/paper_178.pdf"&gt;poster&lt;/a&gt; about modeling NPCs (agents) and their speech goals with logic. The idea was that agents can’t just reason about their own goals and speech acts, but also about those of other agents. In other words, they can choose to lie, but also find out that other NPCs are lying because there are logical inconsistencies in their speech!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/wallnergue"&gt;Guenter Wallner&lt;/a&gt; had a &lt;a href="http://ieee-cog.org/2019/papers/paper_52.pdf"&gt;poster&lt;/a&gt; about analyzing Twitter data to find different categories of gamers on social media. I’m always interested in seeing NLP research applied to social media data (a popular topic also at &lt;a href="http://www.acl2019.org/EN/index.xhtml"&gt;ACL&lt;/a&gt; this year). Besides that, the poster mentioned a way of measuring topical coherence in texts, which has interested me ever since I tried to judge the &lt;a href="https://www.aclweb.org/anthology/W19-3407/"&gt;coherence of NaNoGenMo novels&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/mtrc"&gt;Mike Cook&lt;/a&gt; (whom I finally met IRL at COG after many exchanges on Twitter) gave a very clear talk about &lt;a href="http://ieee-cog.org/2019/papers/paper_84.pdf"&gt;smoothing for monotonic generator functions&lt;/a&gt;. I have to set aside some time to ponder how we can use this for text generators. The talk can be viewed &lt;a href="https://www.youtube.com/watch?v=Bu3m_7-3Tm4"&gt;here&lt;/a&gt;: it is the first talk in the session on &lt;a href="https://www.youtube.com/watch?v=Bu3m_7-3Tm4"&gt;PCG and AI for Game Design&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/amidos2006"&gt;Ahmed Khalifa&lt;/a&gt; presented a word game called &lt;a href="http://ieee-cog.org/2019/papers/paper_239.pdf"&gt;ELIMINATION&lt;/a&gt;, in which the challenges are generated with PCG. The talk was interesting, and I also loved the art style of both the game and the slides (see the paper for examples). I liked how the procedurally generated content was evaluated in a realistic game context -- as it should be! This talk made me realise that COG is probably a good fit for my future research, as I’m planning on implementing a game so I can evaluate my generated texts in a representative environment.
The talk can be viewed &lt;a href="https://www.youtube.com/watch?v=Bu3m_7-3Tm4&amp;amp;t=3593s"&gt;here&lt;/a&gt;: it is the fourth talk in the session on &lt;a href="https://www.youtube.com/watch?v=Bu3m_7-3Tm4"&gt;PCG and AI for Game Design&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Joshua Sirota presented about &lt;a href="http://ieee-cog.org/2019/papers/paper_251.pdf"&gt;procedurally generated grounded languages&lt;/a&gt; for NPCs. He created a set of agents (neural networks) that learn a language by playing a referential game, with reinforcement learning for the learning. Although the title reminded me of work by Mark R. Johnson, who generated procedural language for his game Ultima Ratio Regum, this work is fundamentally different because the language is grounded, i.e. the agents try to learn the meaning of language as it applies to the &amp;quot;physical&amp;quot; world they can &amp;quot;see&amp;quot;.
The talk can be viewed &lt;a href="https://www.youtube.com/watch?v=Bu3m_7-3Tm4&amp;amp;t=4605s"&gt;here&lt;/a&gt;: it is the fifth talk in the session on &lt;a href="https://www.youtube.com/watch?v=Bu3m_7-3Tm4"&gt;PCG and AI for Game Design&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/OccupyMath"&gt;Dan Ashlocke&lt;/a&gt; and &lt;a href="https://twitter.com/CIGbalance"&gt;Vanessa Volz&lt;/a&gt; have started a special taskforce on player evaluation. They are bringing researchers together to work on standardized metrics for evaluating player experience and game content. I have joined their mailing list, as I want to investigate how we can evaluate textual game content, such as narratives and dialogue. If you want to contribute as well, contact one of the organisers.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://christoffer.holmgard.org/"&gt;Christoffer Holmgård&lt;/a&gt; of &lt;a href="https://modl.ai/"&gt;modl.ai&lt;/a&gt; gave a &lt;a href="https://www.youtube.com/watch?v=dCyLzrMWJvY"&gt;talk about the research gap between academia and industry&lt;/a&gt; in the video games domain.&lt;/p&gt;
&lt;h2&gt;Keynote by Emily Short (natural language and games)&lt;/h2&gt;
&lt;p&gt;The absolute highlight for me was the &lt;a href="https://www.youtube.com/watch?v=iBCmwvLxp24"&gt;keynote&lt;/a&gt; by &lt;a href="https://emshort.blog"&gt;Emily Short&lt;/a&gt;, titled &lt;a href="https://www.youtube.com/watch?v=iBCmwvLxp24"&gt;“Natural language and games”&lt;/a&gt;. Short works as Chief Product Officer at &lt;a href="https://spiritai.com"&gt;Spirit AI&lt;/a&gt; (London), which develops tools for natural language understanding and natural language generation, specifically for games. Their main product is the &lt;a href="https://spiritai.com/product/character-engine/"&gt;Character Engine&lt;/a&gt;, an authoring tool for game development. It can be used to generate dialogue, or to support a human game writer. It can also be used to build games with natural language understanding (think of the text input of games like &lt;a href="http://zorkonline.net/"&gt;Zork&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;When creating dialogue, the system keeps track of various aspects of the conversation: where we are in the global narrative, what the emotions of the speakers are, and what we know about the world in which the dialogue takes place.
The Character Engine uses a list of classifiers for detecting various kinds of speech acts and conversational intents. It can be expanded with additional classifers to tailor to specific projects or domains.&lt;/p&gt;
&lt;p&gt;Short talked about an experiment Spirit AI did to test their bot with real humans.
The experiment involved two sets of participants: the first was a group of 1800 beta testers, and the second was a group of trade show visitors at GDC.
Both groups interacted very differently with the bot.&lt;/p&gt;
&lt;p&gt;The beta testers used shorter phases and ‘played’ multiple times. Surprisingly, they were also a lot more abusive towards the bot.
The trade show visitors used longer and more varied sentences, and interacted with the bot for shorter periods of time. Their language also contained more typos.
Because of these results, Short advises playtesting NLU games with a large number of people, so the bot can be tested on a large variety of users and inputs.&lt;/p&gt;
&lt;p&gt;The keynote went beyond a regular “We developed thing X, this is how it works” talk.
Towards the end, Short discussed the difficulties in applying natural language processing and generation for games. Games differ in a few aspects from the usual applications of NLG:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Real world information might not be applicable in the game world, and thus strategies for finding answers to out-of-domain questions might not work.&lt;/li&gt;
&lt;li&gt;the player/user/reader is &lt;em&gt;role-playing&lt;/em&gt;, which means that they have a different type of interaction than regular chatbots have with their users, such as a person has with a customer support chatbot.&lt;/li&gt;
&lt;li&gt;There’s a larger variety in interaction styles: the NPC chat bot has to be able to mix functional questions (“How are you doing? Is grass green?”) with narrative moments to bring the story forward (the bot/NPC wants to introduce a certain quest line) and act in a believable way according to the NPCs goals and emotions (the bot is playing an alien from planet Y that doesn’t trust the player yet). All these types of interaction depend on different dialogue parameters and different NLG techniques.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In other words: problems that might be trivial to solve for a customer service chatbot could be complex when developing an NPC bot.&lt;/p&gt;
&lt;p&gt;Short also mentioned an unsolved problem in sentiment analysis research, one that I have encountered in my own projects as well. If we want to develop sentiment analysis tools for games, we need a classifier that is tailored to the gaming context. However, a proper model for this context is hard to create, as most sentiment analysis research is focused on (and thus biased towards) product reviews. Most of the datasets that are used to train and evaluate sentiment analysis tools are crowd sourced product review datasets, for example from Netflix, Amazon, etc.&lt;/p&gt;
&lt;p&gt;We really need open-source language models for sentiment analysis that can generalize to different domains, including game-playing and fictional game worlds.
I'm currently working with &lt;a href="https://people.utwente.nl/l.gatti"&gt;Lorenzo Gatti&lt;/a&gt; to solve this problem for Dutch. We are trying to improve &lt;a href="https://www.clips.uantwerpen.be/pages/pattern-nl"&gt;Pattern.nl&lt;/a&gt;, an NLP library for Dutch that also contains sentiment analysis functionality.&lt;/p&gt;
&lt;h2&gt;Keynote by James Dean (esports and WEAVR)&lt;/h2&gt;
&lt;p&gt;The conference ended with a &lt;a href="https://www.youtube.com/watch?v=7dc8HqvoLSw"&gt;keynote&lt;/a&gt; by &lt;a href="https://twitter.com/j1mco"&gt;James Dean&lt;/a&gt;, the founder of the UK division of the &lt;a href="https://www.eslgaming.com/"&gt;Esports League (ESL)&lt;/a&gt;. I wasn’t familiar with the professional esports world, and it was nice to get an overview of the activities of the ESL. Esports are fundamentally different from traditional sports, notably in terms of monetization: only 15% of esports funding comes from advertising.
The ESL is involved in a &lt;a href="http://weavr.tv/"&gt;research and development project called &amp;quot;WEAVR&amp;quot;&lt;/a&gt; together with the University of York. The project tries to find new ways of engaging the audience during sports matches, as methods from traditional analog sports are not really suitable for esports. The project tries to incorporate VR, personalized information, adaptivity, and augmented reality.&lt;/p&gt;
&lt;p&gt;Dean urged academia to put more effort into connecting with industry. People working in industry generally don't read scientific articles, so relying on publications to bring your research findings to people outside academia is not enough. York University used an industry outreach project to connect with ESL, which led to the collaboration.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;COG was an enjoyable conference, where I encountered a lot of the usual suspects from FDG and ICCC and met loads of interesting new people. Especially if you’re looking to discuss your technical ideas with people from both industry and academia, this is a good conference to visit.&lt;/p&gt;
&lt;p&gt;My estimate is that it will be a good fit for my future research. I haven’t done much research with digital games yet, as games are only a possible application of my work in natural language generation. Next year I plan to evaluate Churnalist in a games context, either with users, writers, or both. Another idea I have is to write a small game and use it to test the basic assumptions on which I build NLG tools. Both lines of research would fit nicely in COG’s program, so I’m sure I will visit this conference again.&lt;/p&gt;
&lt;p&gt;The organisation has recorded all talks. Once they are uploaded, I will update this blogpost with links to the talks. You can find the proceedings &lt;a href="http://ieee-cog.org/proceedings/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you want to talk about any of the stuff above, send me a message on &lt;a href="https://www.twitter.com/jd7h"&gt;Twitter&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Thanks to Ruud de Jong for proof-reading this post. :)&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/conference-on-games-2019-report/index.html"/>
    <summary type="html">&lt;p&gt;By popular demand, another conference report! Please note that this report is very biased towards the topics that are relevant for my PhD research, i.e.&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/conference-on-games-2019-report/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/conference-on-games-2019-report/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Research"/>
    <category term="Travel"/>
    <published>2019-09-03T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/twitter-guide-for-researchers/index.html</id>
    <title>Twitter guide for researchers</title>
    <updated>2019-09-23T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;In this blogpost I want to explain how I use Twitter, and how social media is helping me with my research.&lt;/p&gt;
&lt;p&gt;This blogpost is meant for researchers that either already have an account at Twitter or want to start using it.
Throughout this post, I do assume you are already familiar with how Twitter works. If you're not, read the &lt;a href="https://help.twitter.com"&gt;documentation in the Twitter help center&lt;/a&gt; or just create an account, dive in and learn it by doing. ;)&lt;/p&gt;
&lt;h2&gt;How I use Twitter&lt;/h2&gt;
&lt;p&gt;I mostly use Twitter for these three things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;getting news about my research field when I am not at a conference&lt;/li&gt;
&lt;li&gt;networking with other people: researchers, artists, industry people and companies.&lt;/li&gt;
&lt;li&gt;communicating with others when I’m attending a conference&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I use Tweetdeck combined with Twitter lists to manage streams for different accounts and topics.&lt;/p&gt;
&lt;p&gt;“A list is a curated group of Twitter accounts. You can create your own lists or subscribe to lists created by others. Viewing a list timeline will show you a stream of Tweets from only the accounts on that list.” &lt;a href="https://help.twitter.com/en/using-twitter/twitter-lists"&gt;Twitter help: lists&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;“TweetDeck offers a more convenient Twitter experience by letting you view multiple timelines in one easy interface.” &lt;a href="https://help.twitter.com/en/using-twitter/how-to-use-tweetdeck"&gt;Twitter help: Tweetdeck&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Using Tweetdeck and lists has the added bonus that I can separate my work-Twitter from my personal Twitter. I only read my work-related streams during working hours and read my personal timeline in my free time. :)&lt;/p&gt;
&lt;p&gt;Here’s an example of my Tweetdeck streams, one for my research topics, one for my university and one for my department.
On the right, there is a column with tweets with the hashtag &lt;a href="https://twitter.com/search?q=phdlife"&gt;#phdlife&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/tweetdeck-screenshot.png"&gt;&lt;img width="100%" src="/images/tweetdeck-screenshot.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Getting news about my research field&lt;/h2&gt;
&lt;p&gt;I have two main lists for work: one with &lt;a href="https://twitter.com/jd7h/lists/human-media-interaction"&gt;members of my research department&lt;/a&gt; and one with &lt;a href="https://twitter.com/jd7h/lists/my-research-topics"&gt;people who regularly post things that are relevant to my research&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Building the first list is fairly straightforward: you ask colleagues whether they’re on Twitter, add them to the list, and then take a look at their followers/following lists. You should be able to find most of your colleagues by walking their social network graph.&lt;/p&gt;
&lt;p&gt;The list for your research topics is harder to build. The key is to build this list organically. It doesn’t have to be perfect the first time.&lt;/p&gt;
&lt;p&gt;You can grow it over time by combining these strategies:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Try to find the relevant hashtags for your research field(s). In my case, that meant scrolling through the search results for #NLP, #NLG, #NLProc, #PCG, #procgen, etc.
Some hashtags, such as #NLP, are mainly used for marketing, which means they can be ignored.
On the other hand, #NLProc is a hashtag that is popular with the natural language processing academic community.
Twitter accounts that use #NLproc might tweet stuff that I find interesting can be added to the Twitter list.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Look at the Twitter accounts that mention (or follow) the conferences you plan to attend.
So far, this is my best source of list members.
The majority of the members in my “research topics” lists are people that have attended CLIN (NLP), iNLG (NLG), ICCC (computational creativity), FDG (games) and COG (games).
I noticed that important conference dates are shared earlier on Twitter than via the regular SIG mailinglists, which I find very handy.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Whenever you really enjoy the work (talk, publications, code, datasets) of a particular researcher, do a quick check to see if they are on Twitter. If they tweet about their research, add them to your list.
Don’t add people to the list just because they work in your field and have a Twitter account.
Some people just like sharing pictures of their dog or vacations.
That’s a fine use of Twitter, but their messages shouldn’t end up in your carefully curated work stream.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Every now and again, go over your list and see if you should change anything.&lt;/p&gt;
&lt;p&gt;I tend to read the tweets in this list whenever I’m at work and want to know what is happening in my research field.
Sometimes I read the tweet stream daily, sometimes only once a week.
Don’t worry about missing a few tweets. As your list grows, it becomes harder to keep up with the entire tweet history.
Consider the twitter list a way to get quick updates on the “general feeling” of the field.&lt;/p&gt;
&lt;h2&gt;Networking with other researchers&lt;/h2&gt;
&lt;p&gt;Every now and then I come across work (a paper, a game, a blogpost) that I really like, or that has a special connection with my own work. At moments like that I like see if the author is on Twitter. If yes, I go over to their profile, introduce myself and remark on the overlap between our work. I can ask questions about papers I’ve read, ask for preprints of new work, ask about conferences they’re attending, or propose a collaboration.
Twitter is perfect for meeting new people this way. It’s basically a never-ending, informal, digital conference.&lt;/p&gt;
&lt;p&gt;It depends on your field how many of your peers are on Twitter as well. Don’t get discouraged if you can’t find the right people right away. If you start tweeting about your own work and interests, the right people might find you instead!&lt;/p&gt;
&lt;h3&gt;Bonus: moral support&lt;/h3&gt;
&lt;p&gt;Twitter is also a great place to discuss academic life in general. Use these hashtags to talk to other academics: #askacademia, #academia, #phdlife and #phdchat.&lt;/p&gt;
&lt;h2&gt;Using Twitter during conferences&lt;/h2&gt;
&lt;p&gt;At the very least, I follow the conference hashtag(s) (there’s often more than one!) in a special column in Tweetdeck.
I create this stream by making a special column for the query &amp;quot;conferencename OR @officialconferenceaccount OR hashtag1 OR hashtag2&amp;quot;.
The advantage of Tweetdeck is that the column refreshes itself in realtime, so you get an ongoing livestream of messages.&lt;/p&gt;
&lt;p&gt;In the special conference stream, I can see
what’s going on in the “hallway track”,
what’s happening in the different parallel sessions,
and whether there are people interested in grabbing a drink and talking about specific topics.
During the conference, the organisers sometimes post important schedule updates and announcements at the official Twitter account,
if they have a good communications/social media chair.
Conference participants can use the conference hashtag to ask questions and organise meet-ups.
Discussions on Twitter often range from the contents of talks to directions and the best place to get coffee in town.&lt;/p&gt;
&lt;h3&gt;Live-tweeting talks&lt;/h3&gt;
&lt;p&gt;Sometimes I like to live-tweet during a conference. Live-tweeting can come in many different forms. Most often it means writing a small summary of a talk, sharing a picture of particular good slides, or sharing a link to papers or resources that the presenter mentions.&lt;/p&gt;
&lt;p&gt;When there is already sufficient coverage of the talk itself, I prefer to focus on the meta-matters. In this sense, live-tweeting can also be: mentioning similar or related work; contrasting the research method to other approaches, recording particularly good oneliners or jokes, making pictures of interesting visuals, video-recording a live-demo, tweeting a question or commenting on the state of the field.&lt;/p&gt;
&lt;p&gt;I’ve made quite a few friends by live-tweeting, and can recommend it wholeheartedly. It can take some effort, as you have to listen to the talks and jot down the interesting points (either as notes or directly as tweets) and curate your tweets and photos at the same time. However, I find that this heightened concentration helps me digest the contents of the talks better. Plus the tweets can serve as the basis for my &lt;a href="/blog/2017/my-experiences-at-infosec-conference-troopers-2017.html"&gt;elaborate&lt;/a&gt; &lt;a href="/blog/2019/visiting-iccc-2019-computational-creativity.html"&gt;conference&lt;/a&gt; &lt;a href="/blog/2019/conference-on-games-2019-report.html"&gt;reports&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;&amp;quot;Ok, that's all very well, but what should I post on Twitter? How do I get people to notice me?&amp;quot;&lt;/h3&gt;
&lt;p&gt;It might be clear from this guide that I mostly use Twitter as a source of information. It is perfectly fine to just lurk on Twitter and not post many tweets yourself.
However, if you would like to build a research-themed account on Twitter, here are some ideas for what you could post:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;conference Call For Papers deadlines&lt;/li&gt;
&lt;li&gt;conference dates &amp;amp; locations&lt;/li&gt;
&lt;li&gt;announcements whenever you publish a new article or paper, preferably with some keywords and a link to the full text (if possible) and maybe a short summary.&lt;/li&gt;
&lt;li&gt;links to published opensource software, printables, datasets and other research outputs that might be useful for other people&lt;/li&gt;
&lt;li&gt;information about events that you will be attending&lt;/li&gt;
&lt;li&gt;information about events that you would like to attend (this lets other people know that livetweeting is appreciated)&lt;/li&gt;
&lt;li&gt;links to newspaper articles and popular science articles about your research field&lt;/li&gt;
&lt;li&gt;comments on newspaper articles and popular science articles about your research field&lt;/li&gt;
&lt;li&gt;links to other people's blogposts, papers, tools, etc. that you appreciate&lt;/li&gt;
&lt;li&gt;relevant job openings at your department&lt;/li&gt;
&lt;li&gt;relevant job openings at other universities&lt;/li&gt;
&lt;li&gt;searching for research participants&lt;/li&gt;
&lt;li&gt;asking and answering questions about your research field&lt;/li&gt;
&lt;li&gt;academic memes&lt;/li&gt;
&lt;li&gt;pictures of your lab, your office, demo sessions, conference visits, your colleagues, how you work, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And, paraphrasing the words of blogger &lt;a href="https://jvns.ca/blog/2017/03/20/blogging-principles/"&gt;Julia Evans&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;anything you wish you knew an hour/a day/a week/a month/a year ago.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;About popularity&lt;/h3&gt;
&lt;p&gt;Some people like to measure the success of their Twitter usage by looking at Twitter's popularity metrics, such as the number of people that follow you on Twitter.
Personally, I don't care much about the number of followers I have. I have been using Twitter since my bachelor studies and the number of followers has grown organically over years -- although I have noticed a sharp increase after every live-tweeted conference. I advice you to not care too much about social media metrics. It's most important to (1) have fun (2) make Twitter work FOR you.&lt;/p&gt;
&lt;p&gt;All metrics in academia should be taken with a grain of salt, for the reason mentioned in this tweet:&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;Hi! I&amp;#39;m a researcher! It&amp;#39;s taken me a month to write down my research plans for the coming two years. That plan is 1936 words long. &lt;br&gt;&lt;br&gt;Apparently, my writing speed is 64 words/day.&lt;br&gt;&lt;br&gt;Thankfully, we all know that &amp;quot;words written&amp;quot; is a meaningless measure of scientific productivity. &lt;a href="https://t.co/3xIx5AfWw0"&gt;https://t.co/3xIx5AfWw0&lt;/a&gt;&lt;/p&gt;&amp;mdash; Judith van Stegeren (@jd7h) &lt;a href="https://twitter.com/jd7h/status/1184428776060575745?ref_src=twsrc%5Etfw"&gt;October 16, 2019&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;&lt;em&gt;I hope this guide gives you ideas about how you can wield Twitter as a powerful tool (sorry, I've been watching too much Critical Role) in your research practice. If you have any questions or tips, leave a comment below or talk to me on &lt;a href="https://www.twitter.com/jd7h"&gt;Twitter&lt;/a&gt;!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href="https://twitter.com/christophsalge"&gt;Christoph Salge&lt;/a&gt; and &lt;a href="https://twitter.com/khiettruong"&gt;Khiet Truong&lt;/a&gt; for giving feedback on this guide.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/twitter-guide-for-researchers/index.html"/>
    <summary type="html">&lt;p&gt;In this blogpost I want to explain how I use Twitter, and how social media is helping me with my research. This blogpost is meant&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/twitter-guide-for-researchers/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/twitter-guide-for-researchers/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="How-to"/>
    <category term="Research"/>
    <published>2019-09-23T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/city-guide-nijmegen/index.html</id>
    <title>City guide Nijmegen</title>
    <updated>2019-10-20T00:00:00+00:00</updated>
    <content type="html">&lt;img src="/images/nijmegen-watercolour.jpg" class="img-fluid" /&gt;
&lt;p&gt;A list of my favorite spots in Nijmegen, where I lived for seven years.&lt;/p&gt;
&lt;h2&gt;Coffee&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Coffeelovers Mariënburg&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This coffee bar is situated inside the city library. It has a long table, where you can drink a cup of coffee after perusing books, or you can entertain yourself with people-watching. When I lived in Nijmegen, I went here every saturday afternoon, after visiting the organic farmers market.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.coffeelovers.nl/locaties/koffiebar-marienburg-nijmegen/"&gt;www.coffeelovers.nl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bairro Alto and Downtown&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Great spot for a good cappuccino or a chai latte. Bairro Alto has a cute hipster vibe because of the Etsy-sourced interior and dishes. Downtown is a bit more modern, as it caters to flocks of freelancers that bring their Apple computers to work in this clean, white, light-filled coffee bar.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.bairroalto.nl/"&gt;www.bairroalto.nl&lt;/a&gt; and &lt;a href="https://www.facebook.com/DOWN-TOWN-1612289372378424/"&gt;Downtown's facebook page&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;De Blonde Pater&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cute lunchroom and coffee bar right in the best part of the city center. It's always busy between 12am-2pm, because it's one of the best places to sit outside. The cafe is right next to the Lange Hezelstraat, a street filled with small boutiques.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.blondepater.nl/"&gt;www.blondepater.nl&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Drinks&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Café Samson&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Craft beer, waiters with serious beer expertise and lots of free peanuts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Café Jos&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Good craft beer pub, just outside of the city centre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Brouwerij de Hemel&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;City brewery situated in the 17th century &amp;quot;Commanderie van Sint Jan&amp;quot; building.
Drink local beers, eat some snacks and soak up some sunshine on the big terrace.
De Hemel also sells all kinds of products that are made with their own beer and spirits.&lt;/p&gt;
&lt;h2&gt;Dinner&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Blixem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can get a decent dinner here without going bankrupt.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Popocatepetl&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Maybe I am biased, but I just love Mexican food.
I particularly like the chicken fajitas.
This restaurant is my favorite when I want to take people out to dinner.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wally&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here you can eat the tasty, slightly haute-cuisine burgers, freshly cut fries and good ginger ale.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;De Nieuwe Winkel&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;One of the best vegetarian restaurants in the Netherlands! Having dinner here was quite an experience.
You can also eat non-vegetarian food here. Nice detail: in addition to a wine arrangement, they have a great alcohol-free-drinks arrangement.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vesters&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Stylish dining in a relaxed atmosphere. The menu is fixed and changes with the seasons: small menu, great quality food.&lt;/p&gt;
&lt;h2&gt;Take-away&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Toon's Toon’s groente en fruit hoek (Houtstraat 33, Nijmegen)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This Turkish supermarket is located in the Houtstraat, opposite Café Samson. Ask for a &amp;quot;Broodje Alex&amp;quot;. You'll get a quarter of Turkish bread, filled with all kinds of tasty salads for € 2.50.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Munt&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A salad bar in a side street of the Molenstraat. You pay around a tenner for an epic portion of healthy greens.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;WokForGo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Good Daging Smoor for cheap.&lt;/p&gt;
&lt;h2&gt;Shopping&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Het Goed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is a large secondhand store with a good range of clothing and retro furniture.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;De Stikke Hezelstraat and Lange Hezelstraat&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This street has a lot of nice boutique shops. It's particularly good for slow food lovers: go to Bakker Arend for fresh bread, Simon Levelt for coffee and tea, De Wit for cheese and butchery Sjek Floor for organic meat and charcuterie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Klerengoed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This secondhand store is just outside the city center.
The store has quite a chaotic vibe because of the mess, but do not underestimate what you can find here.
They specialize in alternative women's clothing and also have a lot of second hand vinyl.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;De Vinotheek&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tasty wines for every budget and a chat with the knowledgeable storekeeper Maarten.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Van Nature&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Store with all sorts of green, organic and otherwise environment-friendly products, often directly from the producer.
A good place to get presents, for yourself or for someone else.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;De Waaghals&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The record store of Nijmegen. Enter at your own peril.
Whenever I go there, I tend to leave with a bag full of secondhand vinyl.
They also have a very nice collection of second-hand vinyl in the basement.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/city-guide-nijmegen/index.html"/>
    <summary type="html">&lt;p&gt;A list of my favorite spots in Nijmegen, where I lived for seven years. Coffee Coffeelovers Mariënburg This coffee bar is situated inside the city&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/city-guide-nijmegen/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/city-guide-nijmegen/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Travel"/>
    <published>2019-10-20T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/harry-potter-and-the-technical-twitter-meme/index.html</id>
    <title>Harry Potter and the Technical Twitter Meme</title>
    <updated>2019-11-22T00:00:00+00:00</updated>
    <content type="html">&lt;h2&gt;NLP on social media messages&lt;/h2&gt;
&lt;p&gt;Today, Twitter user &lt;a href="https://twitter.com/iamdevloper/status/1197281108213293056"&gt;@iamdevloper started a new meme&lt;/a&gt; asking for Harry Potter titles with technical references in them.
People started posting so many replies that a friend asked me whether I could find which ones where the best.
This post is a write-up of my method.
&lt;a href="#results-top-50-tech-hogwarts-titles"&gt;Click here to go straight to the results&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;Tech Hogwarts.&lt;br&gt;&lt;br&gt;Complete the title:&lt;br&gt;&lt;br&gt;Harry Potter and the ________&lt;/p&gt;&amp;mdash; I Am Devloper (@iamdevloper) &lt;a href="https://twitter.com/iamdevloper/status/1197281108213293056?ref_src=twsrc%5Etfw"&gt;November 20, 2019&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;h3&gt;Method&lt;/h3&gt;
&lt;p&gt;I used the Twitter API (Python3 and python-twitter) to scrape 3203 tweets that are a reply to @iamdevloper.
I filter specifically on replies to @iamdevloper newer than the original meme. I don't want to see retweets in my results.&lt;/p&gt;
&lt;p&gt;These elements make up the raw Twitter search query:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;@iamdevloper 
filter:replies
since_id:1197281108213293056
exclude:retweets 
-filter:nativeretweets 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I filtered these posts to just include direct replies to the original meme.
This left me with a dataset of 2733 tweets.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;target = api.GetStatus(1197281108213293056) # the original meme
target = target.AsDict()
replies = [t for t in tweets 
            if &amp;quot;in_reply_to_status_id&amp;quot; in t.keys() and 
                t[&amp;quot;in_reply_to_status_id&amp;quot;] == target[&amp;quot;id&amp;quot;]]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We came up with two ways to determine &amp;quot;the best&amp;quot; Twitter posts in the series.&lt;/p&gt;
&lt;h3&gt;Rank 1: reach&lt;/h3&gt;
&lt;p&gt;We can sorted tweets by reach, i.e. the number of users that were (potentially) reached by a certain post.
Each tweet is reached by the followers of the author, and the followers of every person that retweets it.
I wasn't able to get the number of followers for every user that retweeted a tweet,
so I decided to multiply the number of retweets by the median number of followers of all users in my dataset.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;followers = [tweet[&amp;quot;user&amp;quot;][&amp;quot;followers_count&amp;quot;] for tweet in tweets_ if &amp;quot;followers_count&amp;quot; in tweet[&amp;quot;user&amp;quot;].keys()] 
followers += (len(tweets) - len(followers)) * [0] # users with 0 followers are ignored by the list comprehension
average_followers = sum(followers)/len(followers)
followers.sort()
median_followers = followers[math.floor(len(followers)/2)] #192 is median of followers_count

reach(tweet, median_followers):
    return tweet[&amp;quot;user&amp;quot;][&amp;quot;followers_count&amp;quot;] + 
            tweet[&amp;quot;retweet_count&amp;quot;] * median_followers

reach_statistics = [ (tweet, reach(tweet, 193)) for tweet in replies]
reach_statistics.sort(key=lambda x:x[1], reverse=True)
for i in range(10):
    print(reach_statistics[i][0]['full_text'], reach_statistics[i][1])

@iamdevloper Harry Potter and the Useless Use of Cat 185845
@iamdevloper Harry Potter and the Bashed Bin of Unix 131775
@iamdevloper Config of WebPack 74163
@iamdevloper haslayout 67400
@iamdevloper Harry Potter and the #HollowsHunter 41347
@iamdevloper Harry Potter and the Prisoner of Kanban 40799
@iamdevloper Harry Potter and the Image Pull Policy 35719
@iamdevloper Harry Potter and the Room of Unclear Requirements 28759
@iamdevloper Race Condition Harry Potter and the 26434
@iamdevloper hollow of vim. 25424
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Rank 2: popularity&lt;/h3&gt;
&lt;p&gt;We can also sort tweets by popularity, i.e. calculate a popularity metric based on number of likes and number of retweets.
I decided to count favorites with weight 1, and retweets with weight 3.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;popularity(tweet, favorite_weight, retweet_weight):
    return tweet[&amp;quot;favorite_count&amp;quot;] * favorite_weight + 
            tweet[&amp;quot;retweet_count&amp;quot;] * retweet_weight

popularity_statistics = [ (tweet, popularity(tweet, 1, 3)) for tweet in replies]
popularity_statistics.sort(key=lambda x:x[1], reverse=True)
for i in range(10):
    print(popularity_statistics[i][0]['full_text'], popularity_statistics[i][1])

@iamdevloper Harry Potter and the Prisoner of Kanban 2233
@iamdevloper Harry Potter and the Room of Unclear Requirements 2030
@iamdevloper Race Condition Harry Potter and the 1936
@iamdevloper Harry Potter and the Prisoner of Vim 1417
@iamdevloper Chamber of NullPointerExceptions 854
@iamdevloper Harry potter and the unexpected &amp;quot;:&amp;quot; on line 43. 724
@iamdevloper szynszyliszys Harry Potter and the [object Object] 532
@iamdevloper Prisoner of jQuery 404
@iamdevloper Harry Potter and the ;SELECT * FROM users; 362
@iamdevloper HaaS (Hogwarts as a Service) 347
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Prett(y|ier) printing&lt;/h3&gt;
&lt;p&gt;I liked the results of the popularity metric best.
I sorted the tweets on their popularity and formatted the results in something a bit more readable.&lt;/p&gt;
&lt;p&gt;First, I removed all usernames at the beginning of the tweet with a regular expression.
Then I checked whether &amp;quot;Harry Potter&amp;quot; is already part of the tweet.
If it's not, I prepend the tweet with &amp;quot;Harry Potter and the &amp;quot;.
Unfortunately, this does not work perfectly,
as some people inserted ampersands, abbreviations and other deviations from @iamdevlopers fill-in-the-blank template.
There's a lot more I could do to make it prettier -- however, I'm just interested in getting the results in a readable format /fast/.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;for i in range(50):
    booktitle = popularity_statistics[i][0]['full_text']
    # delete usernames at the start of the tweet
    booktitle, sub = re.subn(r&amp;quot;^(@[A-Za-z0-9_]+ )+\s*&amp;quot;,r&amp;quot;&amp;quot;,booktitle)
    if &amp;quot;Harry Potter&amp;quot; not in booktitle:
        print(&amp;quot;Harry Potter and the&amp;quot;, booktitle)
    else:
        print(booktitle)
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Bonus: puns&lt;/h3&gt;
&lt;p&gt;So, which Harry Potter title is most suitable for making puns?
Let's count how many tweets refer to each book in their text:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;books = [
    &amp;quot;Harry Potter and the Philosopher's Stone&amp;quot;, 
    'Harry Potter and the Chamber of Secrets', 
    'Harry Potter and the Prisoner of Azkaban', 
    'Harry Potter and the Goblet of Fire', 
    'Harry Potter and the Order of the Phoenix', 
    'Harry Potter and the Half-Blood Prince', 
    'Harry Potter and the Deathly Hallows']
keywords = [
    ['sorcerer','philosopher', 'stone'], 
    ['chamber', 'secret'], 
    ['prisoner', 'azkaban'], 
    ['goblet', 'fire'], 
    ['order', 'phoenix'], 
    ['blood', 'prince', 'half'], 
    ['deathly', 'hallows']]

bookcounts = {}
for book in books:
  bookcounts[book] = 0

for t in tweets_:
  for index, book in enumerate(books):
    for keyword in keywords[index]:
      if keyword in t[&amp;quot;full_text&amp;quot;].lower():
        bookcounts[book] += 1
        break # count each book only once

for book in books:
  print(book, bookcounts[book])

Harry Potter and the Philosopher's Stone 83
Harry Potter and the Chamber of Secrets 178
Harry Potter and the Prisoner of Azkaban 131
Harry Potter and the Goblet of Fire 85
Harry Potter and the Order of the Phoenix 131
Harry Potter and the Half-Blood Prince 103
Harry Potter and the Deathly Hallows 94
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Most tweets don't refer to a specific book at all, but Chamber of Secrets has the most puns.&lt;/p&gt;
&lt;p&gt;So, which things are described as DEATHLY or SECRET by the replying punsters?&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;for t in tweets_:
  if &amp;quot;deathly&amp;quot; in t[&amp;quot;full_text&amp;quot;].lower():
    print(re.search(&amp;quot;deathly.*&amp;quot;,t[&amp;quot;full_text&amp;quot;].lower()).group())

    [ some omitted grep, tr, sort and uniq magic ]

      2 deathly deploy
      2 deathly exception
      2 deathly hallow
      2 deathly haskell
      2 deathly nullpointerexception
      3 deathly bug
      3 deathly ehlo
      3 deathly malloc
      4 deathly hello world
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;for t in tweets_:
  if &amp;quot;of secrets&amp;quot; in t[&amp;quot;full_text&amp;quot;].lower():
    print(re.search(&amp;quot;[^ ]* of secrets&amp;quot;,t[&amp;quot;full_text&amp;quot;].lower()).group())

    [ some omitted grep, tr, sort and uniq magic ]

      2 docker of secrets
      2 documentation of secrets
      2 repository of secrets
      2 vault of secrets
      3 container of secrets
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Results: top 50 Tech Hogwarts titles&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;Harry Potter and the Prisoner of Kanban
Harry Potter and the Room of Unclear Requirements
Race Condition Harry Potter and the
Harry Potter and the Prisoner of Vim
Harry Potter and the Chamber of NullPointerExceptions
Harry potter and the unexpected &amp;quot;:&amp;quot; on line 43.
Harry Potter and the [object Object]
Harry Potter and the Prisoner of jQuery
Harry Potter and the ;SELECT * FROM users;
Harry Potter and the HaaS (Hogwarts as a Service)
Harry Potter and the Stack Trace of Secrets
Harry Potter and the Static site generator
Harry Potter and the Hotfix on Production
Harry Potter and the ________ // TODO
Harry Potter and the Order of the Arguments
Harry Potter and the Unexpected Identifier
Harry potter and the prisoner of the legacy system
Harry Potter and the Container of Secrets
Harry Potter and the Bubble-Sorting Hat
Harry Potter and the Unsecured AWS Container
Harry Potter and the harry potter and the harry potter and the 
    harry potter and the harry potter and the harry potter and 
    the harry potter and the harry potter and the harry potter 
    and the CTRL-C [as Voldermort: a while(true) loop]
Harry Potter and the Problem That Couldn't Possibly Be DNS.
Harry Potter and the Conflicts of Git
Harry Potter and the Passwords in Plain Text
Harry Potter and the Code that Worked on His Machine
Harry Potter and the Kernel of Panic
Harry Potter and the marketing manager who always blames site 
    speed for poor sales performance.
Harry Potter and the Full-Stack Prince
Harry Potter and the Infinite Loop
Harry Potter and the Chamber of Application Secrets
Harry Potter and the Order of the Phoenix Project
Harry Potter and the Half-Blood Print Statement
Harry Potter and the Deathly Malloc
Harry Potter and the Config of WebPack
Harry Potter and the [Object object]
Harry Potter and the Prisoner of Friday Deployments.
Harry Potter and the Goblet of Java
Harry Potter and the Chamber of Shared Secrets
Harry Potter and the Blue Screen of Deathly Hallows
Harry Potter and the Order of the Nginx
Harry Potter and the Missing Node Module
Harry Potter and the Useless Use of Cat
Harry Potter and the De-referenced Null Pointer
Harry Potter and the conflict of kubernetes.
Harry Potter and the facepalm of vulnerabilities.
Harry Potter and the Deathly Requirements.
Harry Potter and the Arrow of Lambda
Harry Potter and the Source on Your Phone.
Harry Potter and the Order of the Callbacks
Harry Potter and the Accidently Delete Master Branch
Harry Potter anD 7#!../'*zz)n3,+1j¥%£&amp;amp;lt;22e.-3;_)#;dj82;I✊$1@;
    Segmentation fault (core dumped)
Harry Potter and Order of Flex Items
Harry Potter and the Chamber of Segfaults.
Harry Potter and the Image Pull Policy
Harry Potter and the CHMOD of secrets.
Harry Potter and prisoner of ASCII-ban.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you want even more, &lt;a href="https://www.jd7h.com/dump/tech_hogwarts_top1000.txt"&gt;here's the (uncleaned) top 1000&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Beware of unescaped, unsafe, untrusted user input. ;)&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/harry-potter-and-the-technical-twitter-meme/index.html"/>
    <summary type="html">&lt;p&gt;NLP on social media messages Today, Twitter user @iamdevloper started a new meme asking for Harry Potter titles with technical references in them. People started&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/harry-potter-and-the-technical-twitter-meme/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/harry-potter-and-the-technical-twitter-meme/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Projects"/>
    <published>2019-11-22T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/overview-2019/index.html</id>
    <title>Overview 2019</title>
    <updated>2020-01-07T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Following some of my &lt;a href="https://jvns.ca/blog/2019-year-in-review/"&gt;favorite&lt;/a&gt; &lt;a href="https://austinkleon.com/2020/01/01/100-things-that-made-my-year-2019/"&gt;bloggers&lt;/a&gt;, I've written an overview of 2019.
&lt;a href="https://www.youtube.com/watch?v=TeDfgUvyKHk"&gt;It was a very good year&lt;/a&gt;:
I spent a lot of time traveling, meeting new people and learning new stuff.
I've noticed I'm slowly getting better in the things that were new in the first year of my PhD, such as writing scientific papers and formulating research questions.&lt;/p&gt;
&lt;h2&gt;Research&lt;/h2&gt;
&lt;p&gt;At the very beginning of 2019, I gave a &lt;a href="https://judithvanstegeren.com/assets/1901-clin29-flavour-text-headlines.pdf"&gt;talk&lt;/a&gt; at CLIN (a meeting of computational linguistics researchers that focus on the Dutch language) about an unfinished prototype of headline generator Churnalist.
Here I also met &lt;a href="http://thomaswinters.be/"&gt;Thomas Winters&lt;/a&gt; from KU Leuven, who ended up being my ICCC travel buddy later this year as we stayed at the same hotel.&lt;/p&gt;
&lt;p&gt;I spend most of the winter months working on Churnalist and condensing everything I learned in &lt;a href="https://judithvanstegeren.com/assets/1905-churnalist2019vanstegeren-iccc2019.pdf"&gt;my first full paper&lt;/a&gt;. The paper was accepted at &lt;a href="http://computationalcreativity.net/iccc2019/"&gt;ICCC 2019&lt;/a&gt;, so I got to travel to the US and meet the wonderful members of the computational creativity field. I wrote up my experiences in &lt;a href="/blog/2019/visiting-iccc-2019-computational-creativity.html"&gt;this blogpost&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To take a break from Churnalist, I took the month April off from my main research project so I could do a fun side project.
I started analysing last year's &lt;a href="https://github.com/nanogenmo/2018"&gt;NaNoGenMo projects&lt;/a&gt; because I was curious to see what approaches and data people use if they only have 30 days to create a story generator.
By looking at other people's Github repositories (so many different languages!) I learned a lot about
programming, procedural generation and low-cost story generation.&lt;/p&gt;
&lt;p&gt;My notes about these projects turned into a &lt;a href="https://www.aclweb.org/anthology/W19-3407/"&gt;second full paper&lt;/a&gt;, which was accepted at the &lt;a href="http://www.visionandlanguage.net/workshop2019/"&gt;StoryNLP workshop&lt;/a&gt; at &lt;a href="http://www.acl2019.org/EN/index.xhtml"&gt;ACL 2019&lt;/a&gt; in Florence, Italy.
Visiting ACL was an interesting experience because it was a HUGE conference, and only a tiny minority of the attendees were interested in creative text generation. I felt a bit lost in the beginning, but I had a great time in the end.
I enjoyed the beautiful city of Florence (art! history! tiny cobblestone streets! icecream! truffle pasta!),
met &lt;a href="https://www.dongnguyen.nl/"&gt;Dong Nguyen&lt;/a&gt; (who also did a PhD with my supervisor &lt;a href="https://wwwhome.ewi.utwente.nl/~theune/"&gt;Mariët Theune&lt;/a&gt;) and found fellow story generation enthusiasts at the StoryNLP workshop.&lt;/p&gt;
&lt;p&gt;In August, I visited &lt;a href="http://ieee-cog.org/2019/"&gt;COG 2019&lt;/a&gt; to present a demo of my (now working!) prototype of Churnalist.
People seemed to like my ICCC conference report, so I wrote another &lt;a href="/blog/2019/conference-on-games-2019-report.html"&gt;conference report about COG&lt;/a&gt;. A few weeks later, I published the code for &lt;a href="https://github.com/jd7h/churnalist"&gt;Churnalist on Github&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Community&lt;/h2&gt;
&lt;p&gt;I was able to meet some of &lt;a href="https://twitter.com/jd7h/lists/text-generation-for-games"&gt;my favorite Twitter people&lt;/a&gt; In Real Life at ICCC, ACL and COG.
It was wonderful to meet so many of you!&lt;/p&gt;
&lt;p&gt;It feels great to be part of a research community where research, tech and art are so intertwined.
Especially in the procedural content generation (PCG) and computational creativity (CC) communities,
people tend to wear many hats:
game developers also publish about their projects in scientific journals, and some researchers also produce games.
A large part of the community is active on Twitter, or writes blogposts, tutorials, or open source code, or is involved in organising creative events like game jams.
All this sharing makes it easy to find resources and learn new things!&lt;/p&gt;
&lt;h2&gt;Creativity&lt;/h2&gt;
&lt;p&gt;I had a lot of fun this year with all kinds of creative projects!&lt;/p&gt;
&lt;p&gt;In March, I opened &lt;a href="https://meteorietdesign.nl/shop"&gt;my t-shirt webshop&lt;/a&gt; with Spreadshirt, which means that people can now order my t-shirt designs online. I've created 5 new designs in 2019 and uploaded a bunch of my old designs (that were previously only for sale in the Netherlands). Spreadshirt prints t-shirts on demand and ships to all European countries, so it's now much easier to buy one of my t-shirts! I also like that everything on Spreadshirt is customizable, so if you want a mug or a hat or a sweater with one of my designs, you can!&lt;/p&gt;
&lt;p&gt;I learned how to do &lt;a href="https://twitter.com/jd7h/status/1086257453312946176"&gt;3D modeling in Blender&lt;/a&gt; by following &lt;a href="https://www.youtube.com/playlist?list=PLjEaoINr3zgHs8uzT3yqe4iHGfkCmMJ0P"&gt;this course&lt;/a&gt; from BlenderGuru.&lt;/p&gt;
&lt;p&gt;In September, I started &lt;a href="https://www.twitch.tv/jd7h"&gt;streaming on Twitch&lt;/a&gt;. On Thursday evenings I play old and new games, drink tea and chat with the stream audience. Since my graduation I haven't spent as much time playing video games as I would've liked, and thanks to my streaming schedule (and the contagious enthusiasm of my audience), I have finally played some games from my backlog &amp;amp; some nostalgic &amp;quot;oldies&amp;quot;. So far I've played: Old Man's Journey, The Lion King (1994), House Flipper, Untitled Goose Game, Populous: The Beginning and Far From Noise. Besides these &amp;quot;Let's play&amp;quot; streams, I also streamed the design process of my &lt;a href="https://shop.spreadshirt.nl/meteoriet-design/death+jazz+bold-A5db21034222509427b04b427"&gt;Death Jazz t-shirt&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To set up a stream with decent quality, I had to learn how to work with broadcasting software &lt;a href="https://obsproject.com/"&gt;OBS Studio&lt;/a&gt;, fiddle around with my audio settings, find &lt;a href="http://radio.publicdomainproject.org/"&gt;suitable public domain music&lt;/a&gt;, read up on copyright laws and build some streaming layouts.
I also tried out different open source video editing tools and had to learn how Twitch works. I hadn't realised how much time and effort is involved in running and producing and presenting a stream. It makes me appreciate well-produced live-shows like &lt;a href="https://www.youtube.com/playlist?list=PL1tiwbzkOjQxD0jjAE7PsWoaCrs0EkBH2"&gt;Critical Role&lt;/a&gt; and &lt;a href="https://www.youtube.com/playlist?list=PL1tiwbzkOjQwuwLkGnqVdJnzQ-YNX2_qz"&gt;UnDeadWood&lt;/a&gt; even more.&lt;/p&gt;
&lt;p&gt;I wrote 8 blogposts in 2019, which is a lot more than the 2 blogposts I wrote in 2018. Besides the conference reports, people seem to like the &lt;a href="/blog/2019/twitter-guide-for-researchers.html"&gt;Twitter guide for researchers&lt;/a&gt; and the &lt;a href="/blog/2019/video-game-corpora.html"&gt;list of video game datasets&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I started an open source project in Python/Django called &lt;a href="https://github.com/jd7h/josephine"&gt;Josephine&lt;/a&gt; (named after Jo March from Little Women) for keeping track of the books I read. It was inspired by &lt;a href="https://books.hansdezwart.nl/"&gt;Hans de Zwart's booklist&lt;/a&gt; which is a bit like GoodReads, but completely self-hosted. Unfortunately, Hans' code is not open-source, so I decided to build my own version. If you like reading books and programming, feel free to contribute on Github.&lt;/p&gt;
&lt;h2&gt;The future&lt;/h2&gt;
&lt;p&gt;I'm half-way through my PhD! I've updated the chart I made earlier this year, which lists all my PhD projects and their research topics:&lt;/p&gt;
&lt;p&gt;&lt;a href="/images/phd_2019_chart.jpg"&gt;&lt;img width="100%" class="flow" src="/images/phd_2019_chart.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I think I have a clear idea of the general direction of my research, so it's time to start planning The Thesis (dun dun dunnnnn).
I think I'm going to follow &lt;a href="https://austinkleon.com/2012/10/11/scenes-from-a-book-in-progress/"&gt;Austin Kleon's example&lt;/a&gt; by making a paper prototype.
Then I can just flick through it and see where the &amp;quot;plot holes&amp;quot; are -- and start fixing them.&lt;/p&gt;
&lt;p&gt;I'm currently working on evaluating Churnalist by asking people to judge Churnalist's outputs. That means learning new research methodology (setting up human subject research was not part of my computer science curriculum), working with the ethical committee of my department and learning how crowdsourcing platforms work. It's not going as fast as I had originally planned, but it's all very interesting (I've had fun collecting materials for the questionaire) and my colleagues are helping me fill the gaps in my knowledge. I'm trying to the take the best practices from various ICCC papers, and &lt;a href="https://ehudreiter.com/2017/01/09/human-ratings-nlg-evaluation/"&gt;Ehud Reiter's blog&lt;/a&gt; also helps.&lt;/p&gt;
&lt;p&gt;My next prototype will be a system that can generate fictional radio chatter. The &lt;a href="https://www.data2game.nl"&gt;Data2Game partners&lt;/a&gt; are working on a science fiction game and they were looking for procedurally generated messages for the comms station. Enter text generation! Currently there is a student working on this -- she's using NASA radio transcripts as source material -- and I will continue this project in the rest of 2020.&lt;/p&gt;
&lt;p&gt;Another student is working on NLP (sentiment analysis) on Skyrim dialogues. Since I've been working on sentiment analysis on the side for some time, I hope we can turn her research project into something that is useful for game developers or games researchers.&lt;/p&gt;
&lt;p&gt;I will continue &lt;a href="https://www.twitch.tv/jd7h"&gt;streaming on Twitch&lt;/a&gt;, &lt;a href="https://www.meteorietdesign.nl/shop"&gt;designing t-shirts&lt;/a&gt; and learning new things and then &lt;a href="https://www.twitter.com/jd7h"&gt;tweeting&lt;/a&gt; about them. I wish you all a creative 2020!&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/overview-2019/index.html"/>
    <summary type="html">&lt;p&gt;Following some of my favorite bloggers , I've written an overview of 2019. It was a very good year : I spent a lot of&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/overview-2019/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/overview-2019/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Projects"/>
    <category term="Research"/>
    <published>2020-01-07T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/alice-eve-nanogenmo-narrative-generation-poster/index.html</id>
    <title>What NLP researchers can learn from NaNoGenMo</title>
    <updated>2020-01-24T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Today was the &lt;a href="https://fmt.ewi.utwente.nl/events/aliceandeve2020/"&gt;Alice &amp;amp; Eve 2020 symposium&lt;/a&gt; at the University of Twente. I sent in an abstract for the poster session about &lt;a href="https://www.aclweb.org/anthology/W19-3407/"&gt;last year's paper about story generation&lt;/a&gt;, in which I discuss 60 projects from &lt;a href="https://github.com/nanogenmo/2018"&gt;NaNoGenMo 2018&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The audience of Alice &amp;amp; Eve's poster session was &amp;quot;people with a technical background&amp;quot;, so a relatively general audience. I tried to write the abstract in such a way that anyone can understand it. I'm pretty happy with how it turned out, so now you can read it here. :)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/nanogenmo/"&gt;NaNoGenMo&lt;/a&gt; is an online programming challenge where participants try to create a novel generator, i.e. software that can autonomously compose a piece of fiction, in 30 days. At the end of the challenge, participants have to share their code and an output text of at least 50,000 words.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Although &lt;a href="https://github.com/NaNoGenMo/2018/issues/30"&gt;some generators trivially write the word ‘woof’ 50,000 times&lt;/a&gt; or &lt;a href="https://github.com/NaNoGenMo/2018/issues/96"&gt;modify one of the classics of world literature&lt;/a&gt;, a minority of participants creates a generator that outputs something resembling logical original prose. Given that coherent text generation is an open problem in the Natural Language Processing research field, this is no mean feat.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;We analyzed the code and output of 60 projects of NaNoGenMo 2018 to see how participants generated a coherent 50,000 word story, hoping that this would provide the NLP community with useful design patterns. We found that participants used four different approaches for coherent text generation: hardcoding a high-level text structure in the generator, simulation and emergent narrative, framing the output in a clever way, and faking coherence.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Story generators can be used to write new works of fiction, but also to create readable, informative texts that might normally not be accessible for a general audience. Think of texts that describe complicated expert knowledge or quantative data, like medical information for patients in a hospital, governmental policy documents, scientific findings or financial reports of companies. Design patterns like those found in NaNoGenMo projects can help us build better story generators, so that we can automatically create coherent, clear and engaging narratives.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If this abstract has made you curious about my findings, or story generation in general, you can find the &lt;a href="https://www.aclweb.org/anthology/W19-3407/"&gt;open-access paper here&lt;/a&gt;. And below is the accompanying poster that I showed during the poster sessions at ACL 2019 and Alice &amp;amp; Eve 2020:&lt;/p&gt;
&lt;p&gt;&lt;a href="/assets/1908-nanogenmo-poster-a4.png"&gt;&lt;img class="img-fluid" src="/assets/1908-nanogenmo-poster-a4.png" /&gt;&lt;/a&gt;&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/alice-eve-nanogenmo-narrative-generation-poster/index.html"/>
    <summary type="html">&lt;p&gt;Today was the Alice &amp;amp; Eve 2020 symposium at the University of Twente. I sent in an abstract for the poster session about last year's&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/alice-eve-nanogenmo-narrative-generation-poster/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/alice-eve-nanogenmo-narrative-generation-poster/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Projects"/>
    <category term="Research"/>
    <published>2020-01-24T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/research-seminar-formats/index.html</id>
    <title>Course formats for research seminars</title>
    <updated>2020-01-28T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;During my master studies in computer science at Radboud University, I followed three research seminar courses: on software science, on mathematical foundations of computer science and on privacy.
Normally, students would only do the one seminar course that had to do with their specialisation (i.e. software science, formal methods or computer security),
but I chose to do all three as part of my free elective courses.&lt;/p&gt;
&lt;p&gt;I like the format of seminar courses since students generally get a lot of freedom and responsibility during those courses.
I also find that they are excellent practice for being a PhD student: I got to know the research staff better, practiced various research skills and got a more realistic view of what it means to do research (as opposed to doing scoped, guaranteed feasible homework).&lt;/p&gt;
&lt;p&gt;All three seminars had different formats, and now that I am a PhD student (and occassionally help out with teaching at the University of Twente),
it is helpful to have an overview of the potential formats for a seminar course, either for me or as inspiration for my colleagues.&lt;/p&gt;
&lt;p&gt;I have tried to describe a lecture plan for each format. All courses are semester courses, i.e. two quarters of about 8 weeks of teaching.&lt;/p&gt;
&lt;p&gt;If you get (too) many students for a course, you can do two things:
(1) set a maximum number of students that can enroll (not always possible because of institutional policies) or
(2) adjust the group size, and then adjust the workload by changing the lecture length and paper length where neccesary.&lt;/p&gt;
&lt;p&gt;If you used one of these formats, I'd love to hear your experiences. If you have ideas for improvements, let me know in the comments.
I hope these formats can be of some benefit to university teaching staff out there. :)&lt;/p&gt;
&lt;h2&gt;Option 1: part capita selecta, part research internship&lt;/h2&gt;
&lt;p&gt;Based on the course &lt;a href="http://www.cs.ru.nl/~herman/onderwijs/mfocsseminar2011/"&gt;MFOCS research seminar&lt;/a&gt; (2014), half-year course, 6 EC&lt;/p&gt;
&lt;p&gt;This course was given by a group of ~5 lecturers with the same research field.
In the first half of the course, each lecturer would give a lecture about their specialisation, and describe it in the context of the larger research field.
This is the capita selecta part of the course.
In addition to these lectures, students would form groups of two and do a research project with one of the lecturers during the course.
The research project was new, based on some ideas by the lecturer and not well-defined when we started. This is risky but rewarding, and can give students a realistic view on what it entails to do research. Good prep for students thinking of doing a PhD. For me and my project partner lead to our first published research paper.&lt;/p&gt;
&lt;p&gt;Student groups would present twice: two weeks after starting (15 minute presentations), and near the end of the course (30+ minute presentations).&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Lecture format (example):
1 introduction lecture
  lecturers present their topics
  deadline: students choose groups and supervisor (1 group per lecturer)
2 lecturer 1
3 lecturer 2
4 lecturer 3
5 lecturer 4
6 lecturer 5
7
8

1 student groups present their research plans (short presentations)
2 
3 
4 
5 student groups present their findings (long presentations)
6 student groups present their findings (long presentations)
7
8 deadline research project report
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Option 2: lectures for and by students&lt;/h2&gt;
&lt;p&gt;Based on the course &lt;a href="http://www.cs.ru.nl/~jhh/secsem/2015/secsem.html"&gt;Privacy seminar&lt;/a&gt; (2015), half-year course, 6 EC&lt;/p&gt;
&lt;p&gt;This course was given by two lecturers, who both had a different perspective on the course topic (privacy): one computer scientist, and one lawyer.
They both gave a lecture at the start of the course, in which they gave an overview of the course topic from their respective specialisations.
They took care to point the students towards useful resources (field-specific terminology, literature) needed for the project work of this course.&lt;/p&gt;
&lt;p&gt;At the end of the first lecture, students make groups of 2 and choose a &lt;a href="http://www.cs.ru.nl/~jhh/secsem/topics.html"&gt;topic from a list&lt;/a&gt; provided by the lecturers. Based on this topic, they prepare &lt;a href="http://www.cs.ru.nl/~jhh/secsem/student-lecture.html"&gt;a full lecture&lt;/a&gt; (2x 45 minutes) in which they teach their fellow students about this subtopic, as if they were a lecturer themselves. Each group also prepares a 10-page &lt;a href="http://www.cs.ru.nl/~jhh/secsem/student-paper.html"&gt;research report&lt;/a&gt; in which they summarize their findings and describe at least two different technologies that try to solve a particular problem in the area of their subtopic. This research report is not about doing original research, but writing a small survey of a particular area and summarising the most important problems and developments.&lt;/p&gt;
&lt;h3&gt;Tips for the student lectures&lt;/h3&gt;
&lt;p&gt;The student lectures can start directly after the first two introductory lectures given by the teachers. As a teacher, you can decide to give your students a bit more time to prepare before the first student lecture. You could skip a few lectures, or invite industry speakers to talk about the course topic.
Do a &amp;quot;peer-review&amp;quot; in class after each student lecture. Ask students in the classroom to give compliments and points of improvements for the lecturing students.&lt;/p&gt;
&lt;h3&gt;Tips for the report&lt;/h3&gt;
&lt;p&gt;The report is due at the end of the course, but students would get a change to meet with the teachers to get feedback on the 'skeleton' (structure) of their report before handing it in. Additional meetings with one of teachers were possible in case of questions/problems, on an on-demand basis.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Lecture format (example):
1 introduction lecture
  lecturers present their specialisation
  deadline: students choose groups and topic
2 introduction lecture, lecturers present their specialisation
3 (guest lecture)
4 (guest lecture)
5
6
7 student lecture 1
8 student lecture 2

1 student lecture 3
2 student lecture 4
3 student lecture 5 
4 student lecture 6
5 student lecture 7 + deadline: research report skeleton
6 student lecture 8 
7
8 deadline: research project report
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Option 3: focus on explaining and reviewing&lt;/h2&gt;
&lt;p&gt;Based on the course &lt;a href="https://www.ru.nl/courseguides/science/vm/osirislinks/imc/nwi-imc045/"&gt;Software Science research seminar&lt;/a&gt;, 6 EC, half-year course&lt;/p&gt;
&lt;p&gt;This course focuses on reading (influential) research papers, explaining them to others, and writing constructive reviews.
Students write two long-form reviews of two influential research papers: one paper that is a 'classic' in a particular field, and one more modern paper (for example, a publication that has recently won a best paper award at a relevant conference).
The lecturer provides a list of these publications at the beginning of the course, and students can choose which papers they would like to read. The lecturer then makes a one-to-one mapping from students to papers.&lt;/p&gt;
&lt;p&gt;Student reviews consist of: a description of the problem that the author try to solve, how this problem is situated in the research field, the solutions that the authors propose, what kind of evidence they give for their solution, and an analysis of the writing style and argumentation. Reviews should be 4-6 pages.
Besides the long-form reviews, students also read one of the two presented papers of that week, and write a short review (summary + analysis of at most 1 page) for that paper.
In the second part of the course, students were asked to write a constructive &amp;quot;review&amp;quot; one of the student reviews from the first half of the course.&lt;/p&gt;
&lt;p&gt;During the lectures of this course, students take turns in explaining &amp;quot;their&amp;quot; paper to their fellow students in a half-lecture of 45 minutes. Students in the classroom are encouraged to ask questions and give feedback.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Lecture format (example):
0 lecturer provides publication list, students send in their preferences
1 student presentation classical paper 1 + 2
2 student presentation classical paper 3 + 4
3 student presentation classical paper 5 + 6
4 student presentation classical paper 7 + 8
5 student presentation classical paper 9 + 10
6 student presentation classical paper 11 + 12
7
8 deadlines: first long-form review, 
  various short reviews of classical papers

1 student presentation new paper 1 + 2
2 student presentation new paper 3 + 4
3 student presentation new paper 5 + 6
4 student presentation new paper 7 + 8
5 student presentation new paper 9 + 10
6 student presentation new paper 11 + 12
7
8 deadlines: second long-form review, 
  various short reviews of new papers and/or review of student review
&lt;/code&gt;&lt;/pre&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/research-seminar-formats/index.html"/>
    <summary type="html">&lt;p&gt;During my master studies in computer science at Radboud University, I followed three research seminar courses: on software science, on mathematical foundations of computer science&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/research-seminar-formats/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/research-seminar-formats/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Teaching"/>
    <published>2020-01-28T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/interview-wired-nanogenmo-coherence/index.html</id>
    <title>Interview: NaNoGenMo and coherence</title>
    <updated>2020-02-09T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;A few months ago I was interviewed by Wired about &lt;a href="https://github.com/nanogenmo/"&gt;NaNoGenMo 2019&lt;/a&gt;, an online programming challenge where participants try to build a novel-generator in 30 days.
The interview was part of the background research for &lt;a href="https://archive.is/9FseE"&gt;this Wired article&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I figured some people might be interested in this interview too, so I decided to put the questions and their answers up on my blog. I've rewritten some answers of my answers to clarify them -- the reporter who interviewed me had read my NaNoGenMo paper, but perhaps you haven't. :)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why the focus on &lt;em&gt;coherence&lt;/em&gt; in your text generation research?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I focused on generating coherent texts, because that is an open problem within natural language generation (NLG) research.&lt;/p&gt;
&lt;p&gt;It is easy to let a computer generate loads of gibberish,
but quite hard to generate a story that looks &amp;quot;natural&amp;quot;, as if it was written by a human.
The longer the generated text, the harder it is to get a coherent whole.
With current research, we can generate coherent sentences, and if we put in some effort, coherent paragraphs.&lt;/p&gt;
&lt;p&gt;(Note that this was written before the release of GPT-2 and GPT-3.
However, even these models don't solve the coherence problem completely:
GPT-2 and GPT-3 work primarily for the English language, and their language models are hard to copy since you would need a bigger dataset and more computing power than most people have access to.)&lt;/p&gt;
&lt;p&gt;Examples of things that can go wrong during text generation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the text generator loses track of the topic it's discussing&lt;/li&gt;
&lt;li&gt;the generator gets stuck in a loop and generates the same phrase over and over again&lt;/li&gt;
&lt;li&gt;the generators forgets to mention an important piece of information, confusing the reader
All these things can completely derail the flow of text.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some people solve this coherence problem by giving the text generator software a &lt;em&gt;text plan&lt;/em&gt;: a structure, a storyline, or a checklist of information that should be mentioned.
However, someone (or something) needs to write that text plan,
so with a text structure you don't solve the problem, but you move it elsewhere.&lt;/p&gt;
&lt;p&gt;I try to solve this problem differently.
My preferred solution is creating a text generator that can make readers believe they are reading coherent texts -- even if the texts are not coherent at all!
In other words, I'm more interested in &lt;em&gt;perceived coherence&lt;/em&gt; than actual coherence.&lt;/p&gt;
&lt;p&gt;I got the idea by looking at the text generators of NaNoGenMo 2018.
We humans are pattern matchers, and we are biased towards finding meaningful patterns even in random data.
Some NaNoGenMo participants used this to their advance by tricking the reader and playing with their expectations.&lt;/p&gt;
&lt;p&gt;Of course, &amp;quot;tricking the reader&amp;quot; is only a good strategy when you're generating creative texts, or fiction, not for informative texts.
My research is about generating texts for in video games (mostly RPGs).
The goals for those kind of texts are fundamentally different from goals of newspaper articles or weather reports.
Factualness is less important than entertainment value, aesthetics, and fit with the game narrative.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;From your paper, it sounds as though the novel length and form really pushes the boundaries on coherence. I wonder if you found most people were aiming for coherence, or for other attributes?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Given the projects I've seen, I think coherence was not an important requirement to the majority of the participants. I think most people are just trying to have fun and create something cool in one month. ;)&lt;/p&gt;
&lt;p&gt;Whether coherence is a goal depends on the output format chosen by the participants.
The NaNoGenMo challenge is defined as 'create a text generator that can output a text of 50,000 words', so the output format can be anything.
The novel format is not enforced by the organisers of the challenge in any way, which is part of the fun.
Some participants end up generating 50,000 words of word art, poems or &amp;quot;lists&amp;quot;.
For word art, the visual aspect is more important than coherent.
Poems and lists are microtexts, so they should be coherent at the word-level and paragraph-level, which is less challenging than generating one coherent 50,000 word text.&lt;/p&gt;
&lt;p&gt;It also depends heavily on the objective of the person participating in NaNoGenMo:
some people (like me) use it to learn about new techniques,
others are trying to create procedural art.
Some participants just like to be surprised by the output of their generator,
and some people use text generation to circumvent the effort of writing 50,000 words by hand. These are all really different goals, and require different levels of coherence.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do you have a sense of whether some of the newer methods, such as large language models, might make coherence easier to obtain? Or are other methods, such as hard-coding narrative structure, still the best bet?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using a large language model can definitely save you some time when developing a generator, as basic properties of the language are already embedded in the model. This means the programmer of the generator can focus on writing a specification of the /type/ of output (what is a good dialogue, poem, story, ...), instead of also having to define of the language itself (what is proper grammar, what is a sentence, what are valid words, where do we put an exclamation mark).&lt;/p&gt;
&lt;p&gt;However, large language models are not the end of all our problems. ;)&lt;/p&gt;
&lt;p&gt;Two problems that I regularly run into in my own research:
New methods generally work only with large amounts of data. For example, when we want to train a machine learning algorithm to do something for us, we need a large dataset to train it on.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;there are limited resources (datasets, opensource libraries) available for languages other than English, Spanish, Chinese, ...&lt;/li&gt;
&lt;li&gt;there are limited resources available for specific application domains. For example: if we want to generate text that should convey some kind of emotion or opinion, we need information about how this is expressed in text. However, most of the datasets available with this type of text contain product reviews. Product review texts do contain emotions and opinions, but a different dataset, such as one containing texts about emotional memories or personal experiences, might be more suitable for our goal. Ehud Reiter has written a good blog post about a similar problem: https://ehudreiter.com/2019/08/01/do-we-encourage-inappropriate-data-sets/&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;New NLG techniques are a big improvement, but even when you use them, coherence is still an open problem. From what I've seen, even new approaches, like those using deep learning, often display the same problems with coherence that I've mentioned above, especially in longer texts.&lt;/p&gt;
&lt;p&gt;For coherence of fictitious texts: how you use the technologies is more important than which technologies you use. Humans WANT to make sense of the stuff they read. We are natural pattern-searchers. We can use that when we generate texts, especially novels and other works or fiction.
If you can use people's goodwill towards a automatically generated text, towards a computer, that's more important than presenting factual statements in the right order (which is essential when you're generating informative, non-fiction text!). Think about the ELIZA-effect described by Douglas Hofstadter: people will attribute more intelligence and purpose to a computer program than is warranted by its code.
If you present people with computer-generated gibberish and tell them the &amp;quot;author&amp;quot; was drunk when they wrote it, or that the author has gone mad, people start actively looking for meaning in the text, and don't mind so much the grammar mistakes or unfinished sentences.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Have you tried your hand at NaNoGenMo? If so, were you aiming for coherence, the semblance of it, or something else?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I'm planning to participate this year for the first time! Together with my colleague Lorenzo Gatti I'm going to do a science-fiction themed project, as next year I'll be working on generating text for a new science fiction game. NaNoGenMo is a perfect playground for trying out new techniques, so I'm going to play around with GPT-2. :)&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/interview-wired-nanogenmo-coherence/index.html"/>
    <summary type="html">&lt;p&gt;A few months ago I was interviewed by Wired about NaNoGenMo 2019 , an online programming challenge where participants try to build a novel-generator in&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/interview-wired-nanogenmo-coherence/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/interview-wired-nanogenmo-coherence/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Natural language generation"/>
    <category term="Research"/>
    <published>2020-02-09T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/GPT2-and-BERT-a-comparison/index.html</id>
    <title>A comparison of GPT-2 and BERT</title>
    <updated>2020-08-04T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;GPT-2 and BERT are two methods for creating language models, based on neural networks and deep learning. GPT-2 and BERT are fairly young, but they are 'state-of-the-art', which means they beat almost every other method in the natural language processing field.&lt;/p&gt;
&lt;p&gt;GPT-2 and BERT are &lt;em&gt;extra&lt;/em&gt; useable because they come with a set of pre-trained language models, which anyone can download and use.
Pre-trained models have as main advantage that user don't have to train a language model from scratch, which is computationally expensive and requires a huge dataset. Instead, you can take a smaller dataset and &amp;quot;fine-tune&amp;quot; the large, pre-trained model to your specific dataset with a bit of additional training, which is much cheaper.&lt;/p&gt;
&lt;p&gt;For my next research project, I want to use one of the &amp;quot;state of the art&amp;quot; deep learning approaches to text generation, so I read up on GPT-2 and BERT and created this overview. I hope it is helpful to other people on the internet!&lt;/p&gt;
&lt;p&gt;Note that I just compared GPT-2 and BERT for the two languages that are relevant to my research (i.e. Dutch and English). Especially BERT has spawned a long list of alternative, spin-off models. Before you decide on a language model for your particular problem, read up on the strengths and weaknesses of a language model for specific tasks!&lt;/p&gt;
&lt;h2&gt;Quick decision table&lt;/h2&gt;
&lt;p&gt;I would use the following approach for specific task/language combinations, based on what I read about GPT-2 and BERT so far:&lt;/p&gt;
&lt;table class='table'&gt;
&lt;thead class="thead-light"&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;English&lt;/th&gt;
&lt;th&gt;Dutch&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tr&gt;
&lt;th scope="row"&gt;Natural language processing (NLP)&lt;/th&gt;
&lt;td&gt;BERT&lt;/td&gt;
&lt;td&gt;BERT (one of the BERT models for Dutch)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope="row"&gt;Natural language generation (NLG)&lt;/th&gt;
&lt;td&gt;GPT-2&lt;/td&gt;
&lt;td&gt;It depends:&lt;br&gt;
If input and output are not sensitive data:&lt;br&gt;
Combine GPT-2 (English) with GoogleTranslate API (Dutch to English and vice versa)
&lt;br&gt;
If you only need short texts (15-token sentences) and you have bi-directional prompts:&lt;br&gt;
BERT (one of the BERT models for Dutch)
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;h2&gt;A very quick introduction to GPT-2 and BERT&lt;/h2&gt;
&lt;h3&gt;GPT-2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Useful general information about this approach can be found in &lt;a href="https://github.com/openai/gpt-2/blob/master/README.md"&gt;OpenAI's README&lt;/a&gt; and the &lt;a href="https://github.com/openai/gpt-2/blob/master/model_card.md"&gt;model card for GPT-2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;GPT-2 is only partially open source. The training dataset (called 'WebText') is proprietary and &lt;a href="https://github.com/openai/gpt-2/issues/16"&gt;not published&lt;/a&gt; (although there are on-going &lt;a href="https://github.com/openai/gpt-2/issues/24"&gt;discussions&lt;/a&gt; about this on GitHub). The opensource community is trying to create an opensource version of the training dataset, such as &lt;a href="https://skylion007.github.io/OpenWebTextCorpus/"&gt;this initiative of Brown University researchers&lt;/a&gt; and &lt;a href="https://github.com/jcpeterson/openwebtext"&gt;this project&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;All sizes pre-trained models are freely available. The biggest model was &lt;a href="https://www.theguardian.com/technology/2019/feb/14/elon-musk-backed-ai-writes-convincing-news-fiction"&gt;at first kept closed source for fear of abuse&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Models can be finetuned with smaller datasets for particular generation purposes.&lt;/li&gt;
&lt;li&gt;It is only avaible for English. As far as I know, no model is available for Dutch, or other languages. Some &lt;a href="https://github.com/huggingface/transformers/issues/1407"&gt;people are trying to train a model for other languages than English&lt;/a&gt;, but lack of similar-sized heterogeneous training sets remains a practical problem:&lt;/li&gt;
&lt;li&gt;Is widely being used for experimental natural language generation, ranging from hobby projects to &lt;a href="https://aiweirdness.com/post/182824715257/gpt-2-it-learned-on-the-internet"&gt;exploratory research&lt;/a&gt;. Particularly cool examples: &lt;a href="https://minimaxir.com/apps/gpt2-mtg/"&gt;Procedural Magic cards&lt;/a&gt;, &lt;a href="https://www.theverge.com/2019/12/30/21042942/ai-dungeon-nick-walton-openai-gpt2-text-adventure-game-web-version-launch"&gt;AI dungeon game&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Is supported by &lt;a href="https://github.com/huggingface/transformers"&gt;Transformers&lt;/a&gt;, the biggest opensource library for AI/ML/NLP in Python.&lt;/li&gt;
&lt;li&gt;There is lots of information available on this model: example code, &lt;a href="https://github.com/minimaxir/gpt-2-simple"&gt;colabs&lt;/a&gt;, tutorials, spin-off opensource projects, etc.&lt;/li&gt;
&lt;li&gt;It is easy to use, even for students. I have seen multiple successful study projects of my students (for the courses &amp;quot;NLP&amp;quot;, &amp;quot;advanced NLP&amp;quot;, bachelor theses, etc) in the past two years. It's great for letting students experience the entire NLP research pipeline in a short time span: GPT-2 allows them to create a text generator, generate some outputs and evaluate them with humans in a couple of weeks.&lt;/li&gt;
&lt;li&gt;Outputs of smaller models tend to converge on repetitive language, loops, etc during generation. If output quality is important, you need to either use a bigger language model (larger computation cost), or take some time to do automated output cleaning, or manual inspection and selection of artifacts (i.e. human-computer co-creation).&lt;/li&gt;
&lt;li&gt;Can be used in combination with &amp;quot;field-specific tokens&amp;quot; to control the flow/coherence/structure of output text. This is best explained as using xml-tags in your training data and output prompt, to guide (force) the generator to generate a specific data structure. See for example the method used in &lt;a href="https://arxiv.org/pdf/1905.12616.pdf"&gt;this paper&lt;/a&gt; (page 3).&lt;/li&gt;
&lt;li&gt;The next version, GPT-3, has a similar architecture as GPT-2 but is even larger in size.&lt;/li&gt;
&lt;li&gt;GPT-3 is commercially available (not open source!) &lt;a href="https://openai.com/blog/openai-api/"&gt;via an API&lt;/a&gt;. The authors have &lt;a href="(https://github.com/openai/gpt-3)"&gt;written a paper and published some research data&lt;/a&gt;, but training data and models are not available.&lt;/li&gt;
&lt;li&gt;Demo API access is available for researchers (&amp;quot;private beta&amp;quot;), but there's a long &lt;a href="https://beta.openai.com/"&gt;waiting list&lt;/a&gt; as of June 2020. More media coverage about GPT-3: &lt;a href="https://thenextweb.com/neural/2020/07/23/openais-new-gpt-3-language-explained-in-under-3-minutes-syndication/"&gt;The Next Web&lt;/a&gt;, &lt;a href="http://archive.is/Jghxj"&gt;New York Times&lt;/a&gt; and &lt;a href="https://www.theverge.com/21346343/gpt-3-explainer-openai-examples-errors-agi-potential"&gt;The Verge&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;BERT&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;BERT stands for &lt;a href="https://github.com/google-research/bert#introduction"&gt;&amp;quot;Bidirectional Encoder Representations from Transformers&amp;quot;&lt;/a&gt;, and &amp;quot;is a new method of pre-training language representations which obtains state-of-the-art results on a wide array of Natural Language Processing (NLP) tasks.&amp;quot;&lt;/li&gt;
&lt;li&gt;There is an &lt;a href="https://arxiv.org/abs/1810.04805"&gt;academic paper available on arxiv&lt;/a&gt;, in which the creators explain the theoretical details. The same paper was later published in &lt;a href="https://www.aclweb.org/anthology/N19-1423/"&gt;NAACL conference of ACL&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;BERT was created by Google researchers, and it seems to be &lt;a href="https://github.com/google-research/bert"&gt;fully open source&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Fun fact: the name BERT fits into the long-standing &lt;a href="https://www.theverge.com/2019/12/11/20993407/ai-language-models-muppets-sesame-street-muppetware-elmo-bert-ernie"&gt;NLP tradition of naming systems after Muppets&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;All different sizes pre-trained models are freely available via Github. Sizes range from Tiny to Large.&lt;/li&gt;
&lt;li&gt;There are a number of smaller BERT models (tiny, mini, small, etc), which are intended for environments with restricted computational resources. Paper related to the smaller models: &lt;a href="https://arxiv.org/abs/1908.08962"&gt;&lt;em&gt;Well-Read Students Learn Better: On the Importance of Pre-training Compact Models&lt;/em&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Just as with GPT-2, models can be finetuned with smaller datasets for particular purposes.&lt;/li&gt;
&lt;li&gt;Some of the models are integrated in HuggingFace's Python library &lt;a href="https://github.com/huggingface/transformers"&gt;Transformers&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Researchers and users are encouraged to share new models and performance comparisons online. BERT has a very active open source community, which seems to be mostly driven by the Transformers library of HuggingFace. BERT has various spin-off models, such as RoBERTa (from Facebook) and DistilBert (by HuggingFace). Some examples can be found in the 'supported models' list of HuggingFace: https://github.com/huggingface/transformers#model-architectures&lt;/li&gt;
&lt;li&gt;Contrary to GPT-2, BERT has models for various languages: both monolingual models (English, Dutch, etc) and multilingual models. Multilingual models do not seem to perform as well as monolingual ones, possibly due to undertraining on the various included languages. This is a nice comparison paper for monolingual vs multilingual BERT-models, focused on Nordic languages: &lt;a href="https://www.aclweb.org/anthology/W19-6204/"&gt;&lt;em&gt;Is Multilingual BERT Fluent in Language Generation?&lt;/em&gt;&lt;/a&gt; by Rönnqvist et al. (2019).&lt;/li&gt;
&lt;li&gt;Performs well on NLP tasks, even compared to GPT-2.&lt;/li&gt;
&lt;li&gt;BERT was originally not meant for language generation, but Wang and Cho (2019) published a series of 'hacks' that uses BERT's training method (cloze test + follow-up sentence test) for generation. Relevant paper: &lt;a href="https://www.aclweb.org/anthology/W19-2304/"&gt;&lt;em&gt;BERT has a Mouth, and It Must Speak: BERT as a Markov Random Field Language Model&lt;/em&gt;&lt;/a&gt; by Wang and Cho (2019).&lt;/li&gt;
&lt;li&gt;Because of the deep bi-directionality of the neural architecture, BERT seems to perform best for text generation if there is a prompt prepended AND appended to each output sequence. If I recall correctly, GPT-2 is also bidirectional, but only shallowly, which is why it can perform better than BERT on 'standard' left-to-right text generation.&lt;/li&gt;
&lt;li&gt;There are at least two BERT models for Dutch: &lt;a href="https://arxiv.org/abs/1912.09582"&gt;BERTje&lt;/a&gt; (De Vries et al.) and &lt;a href="https://ipieter.github.io/blog/robbert/"&gt;RobBERT&lt;/a&gt; (Delobelle et al.), and there might be more.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It seems that if you want normal left-to-right generation in English, GPT-2 is still the best way to go. BERT's main strength is NLP tasks, and the variety of languages for which a pre-trained model is available.&lt;/p&gt;
&lt;p&gt;If you've used this overview to help you choose a language model, let me know in the comments. I'd love to hear about your NLP/NLG projects.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/GPT2-and-BERT-a-comparison/index.html"/>
    <summary type="html">&lt;p&gt;GPT-2 and BERT are two methods for creating language models, based on neural networks and deep learning. GPT-2 and BERT are fairly young, but they&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/GPT2-and-BERT-a-comparison/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/GPT2-and-BERT-a-comparison/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Natural language generation"/>
    <category term="Research"/>
    <published>2020-08-04T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/data-driven-investing-toolkit-hetty/index.html</id>
    <title>My data-driven investment toolkit</title>
    <updated>2020-08-18T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;This is the first post in a series about data-driven investing.&lt;/p&gt;
&lt;p&gt;In this post I describe a software toolkit called &lt;code&gt;hetty&lt;/code&gt;,
named after &lt;a href=""&gt;Hetty Green&lt;/a&gt;, an American investor
and contemporary of other famous investors like Andrew Carnegie, Henry Ford, John R. Rockefeller and J.P. Morgan.
Because I mostly follow a &lt;a href="https://en.wikipedia.org/wiki/Value_investing"&gt;value investing&lt;/a&gt; philosophy,
&lt;code&gt;hetty&lt;/code&gt; consists of a set of scripts for gathering, analyzing and monitoring &lt;a href="https://www.investopedia.com/terms/f/fundamentalanalysis.asp"&gt;&lt;em&gt;fundamental&lt;/em&gt; financial data&lt;/a&gt;.
Although I will not publicly share the scripts,
I hope the description of the problems I tried to solve might give you some inspiration for implementing your own investing toolkits.&lt;/p&gt;
&lt;p&gt;This post will not contain information about specific companies, or recommendations for securities.
I'm not a licensed investment banker, which means I'm not qualified to give Serious Advice about these matters.
I also believe it's not necessary to recommend any specific stocks.
As Warren Buffett pointed out in &lt;a href="https://www8.gsb.columbia.edu/articles/columbia-business/superinvestors"&gt;his essay about coin-flipping orangutans&lt;/a&gt;:
the most succesful investors in the world pick vastly different stocks -- there are many valid strategies for investing, and there is not one strategy that fits all investors.
Instead, do your own research and &lt;a href="https://en.wikipedia.org/wiki/Peter_Lynch#Investment_philosophy"&gt;invest in what you know&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Stock prices&lt;/h3&gt;
&lt;p&gt;The first script I wrote was the one that I still use most often: it scrapes the current price of a specific stock, currency, fund or commodity.
I say 'current price', but generally the price is delayed by 15 minutes.
Of course I can get this information from my broker, with the added benefit of realtime price updates.
However, for a value investor, knowing the &amp;quot;realtime&amp;quot; price for a stock is not essential at all.
If a stock is a good deal at €5,30, it's probably also a good deal at €5,36.
I'm not a high-frequency trader.
If I need to buy a stock &lt;em&gt;now&lt;/em&gt; for my investment strategy to work, it's probably not a very good strategy to begin with.&lt;/p&gt;
&lt;p&gt;Getting stock prices with a script has two big advantages.&lt;/p&gt;
&lt;p&gt;The first advantage is that I can get prices in bulk.
In the web interface provided by my broker, I can get &lt;em&gt;one&lt;/em&gt; stock price per search.
Getting a list of current prices, for say, 10, 100 or 1000 stocks would take too much time (and clicks and typing).
When you have a script, getting prices for 600 companies is as much hassle as getting the price for one company.&lt;/p&gt;
&lt;p&gt;The second big advantage is that I can spend less time on my broker's platform.
The broker's business model is to make money off transaction costs.
In other words, it's in the broker's best interest if I buy and and sell as much stocks as possible using their platform -- that's how they make money.
Consequently, their platform is engineered to make buying and selling as tempting as possible.
Flashing stock prices and bold headlines give users a sense of urgency, and pretty colours and big buttons give the impression of a video game or slot machine.
Value investor and writer Guy Spiers called Bloomberg Terminals &amp;quot;the informational equivalent of smoking crack cocaine&amp;quot; -- and that's also how internet brokers design their web interfaces.
Banks and their UI designers have made it almost trivial to spend large sums of money in the stock market.
Good for brokers, but generally not for investors.&lt;/p&gt;
&lt;h3&gt;Alerts&lt;/h3&gt;
&lt;p&gt;Once I could collect stock prices, I built a simple alerting system that sends me an email whenever a stock has reached a certain price.&lt;/p&gt;
&lt;p&gt;I do a lot of research to find companies that I would like to invest in.
However, sometimes the stock price is on the high side.
In that case, I set an alert for a lower stock price, so I get an email whenever the stock price has reached a point where buying that company is a good deal according to my investing strategy.&lt;/p&gt;
&lt;p&gt;If I already own a stock, I can use alerts to notify me of a pre-determined sell-condition.
For example, if the company is an &lt;a href="https://www.investopedia.com/terms/a/assetplay.asp"&gt;asset play&lt;/a&gt;, I can set the net asset value per share as the target share price.&lt;/p&gt;
&lt;p&gt;I imagine many investors will find this useful functionality.
You can set a target price for your favorite stocks and walk away, instead of staring at your favorite stock quote website for hours on end.
I was really surprised that my broker does not offer anything like this -- but maybe bankers reserve this kind of functionality for their premium clients?&lt;/p&gt;
&lt;h3&gt;Monthly overview&lt;/h3&gt;
&lt;p&gt;Generally, I buy stock once a month, for a fixed amount of money.
(This is called &lt;a href="https://www.investopedia.com/terms/d/dollarcostaveraging.asp"&gt;Dollar Cost Averaging&lt;/a&gt;, even though I trade in euros.)
I do this for three reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Investing is a form of saving (for me), so setting a fixed amount each month means I won't invest too little.&lt;/li&gt;
&lt;li&gt;Investing is a hobby, so setting a fixed amount means I won't spend more money than I planned.&lt;/li&gt;
&lt;li&gt;I want to mitigate timing risk: if I would invest all my money in one go, I would risk losing a lot of money if that moment turns out to be a peak (high point, local optimum) in market history.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Because I buy stocks once a month, I figured it would be useful to get a monthly report on companies and stock prices to help me decide which company I'm going to buy.
I like a contrarian investment style, i.e. I like to buy those stocks about which the general public is feeling very pessimistic.
These stocks are generally sold for huge discounts to what the underlying company is worth (&amp;quot;fair value&amp;quot;).&lt;/p&gt;
&lt;p&gt;In March 2020, Morningstar.nl posted &lt;a href="https://www.morningstar.nl/nl/news/201033/speuren-naar-ondergewaardeerde-aandelen.aspx"&gt;an article&lt;/a&gt; in which they discuss how the corona-virus market crash in March 2020 influenced stock prices across different sectors.
If you can't read Dutch, GoogleTranslate can translate the article for you.&lt;/p&gt;
&lt;p&gt;One of the graphs from the article shows the price-to-fair-value ratio over time:&lt;/p&gt;
&lt;img class="img-fluid" src="/images/morningstar-march2020-pfv-analysis1.jpg" alt="Morningstar's analysis of price to fair value over time"&gt;
&lt;p&gt;You can clearly see a huge dip around March 2020, when almost all companies were selling at a discount.&lt;/p&gt;
&lt;p&gt;The other graph shows which sectors were selling at a discount:&lt;/p&gt;
&lt;img class="img-fluid" src="/images/morningstar-march2020-pfv-analysis2.jpg" alt="Morningstar's analysis of price to fair value averages per sector after the market crash in March 2020"&gt;
&lt;p&gt;Even without a market crash in recent history, there are always a few sectors that are very popular and a few that most people try to avoid.
I figured that this information could be used to inspire my stock choices each month.&lt;/p&gt;
&lt;p&gt;Unfortunately, Morning Star's Fair Value calculations are only available for paying customers, and even then the metric is not fully transparent.
However, I can still use the data visualisation method without using the metric, if I use an alternative metric like &lt;a href="https://www.investopedia.com/terms/p/price-earningsratio.asp"&gt;price-to-earnings ratio&lt;/a&gt; (P/E ratio) instead.
I would &lt;em&gt;never&lt;/em&gt; make investment decisions based on price-to-earnings ratios alone, but they can be used to gain insight into the popularity of specific sectors.&lt;/p&gt;
&lt;p&gt;I wrote a script that, given a list of companies, collects the P/E ratio and sector information, and compiles an overview of the stock market per sector.
For each sector, the overview contains the average and median P/E ratio, and a list of companies with a P/E below the average.
Generally, I tend to pick one undervalued sector, and then research the companies within those sector to see if I can find an undervalued but high-quality company.&lt;/p&gt;
&lt;p&gt;This is a snippet of my monthly overview email for May 2020, which shows the statistics for the Automotive sector.
The crazy high average P/E is, of course, because of outlier Tesla (TSLA), which currently has a P/E of 950.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Automotive
---------------------------
Company name                         ticker     quote       P/E
---------------------------------------------------------------
Fiat Chrysler Automobiles NV         FCA:IM      8.02      3.20
Peugeot SA                            UG:FP     13.08      3.65
General Motors Co                     GM:US     22.29      4.62
Volkswagen AG                       VOW3:GR    127.98      5.93
CIE Automotive SA                    CIE:SM     15.99      7.20
Bayerische Motoren Werke AG          BMW:GR     54.00      7.30
Pirelli &amp;amp; C SpA                     PIRC:IM      3.55      8.10
Cie Generale des Etablissement        ML:FP     89.10      9.19
Ford Motor Co                          F:US      5.09      9.72

Sector average P/E Ratio                                 323.69

&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Company information&lt;/h3&gt;
&lt;p&gt;My handy monthly overview email created a new problem: which companies should I put in the overview?
Or, in investment jargon, which companies make up my &lt;a href="https://www.investopedia.com/terms/u/universeofsecurities.asp"&gt;investment universe&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;Even though I regularly read the Dutch equivalent of the Financial Times, I had a hard time thinking of a broad range of companies to include in my monthly report.
US investors can take the &lt;a href="https://en.wikipedia.org/wiki/S%26P_500_Index"&gt;S&amp;amp;P 500&lt;/a&gt; as their starting point, but the Dutch &amp;quot;major index&amp;quot;, the &lt;a href="https://en.wikipedia.org/wiki/AEX_index"&gt;AEX&lt;/a&gt;, only lists 25 companies.
Dutch financial news is generally limited to the AEX, &lt;a href="https://en.wikipedia.org/wiki/AMX_index"&gt;AMX&lt;/a&gt; and &lt;a href="https://en.wikipedia.org/wiki/AScX_index"&gt;AScX&lt;/a&gt; indices, which contain 75 companies in total.
This is not really a representative set of companies if you want to extract insights about the global economy.&lt;/p&gt;
&lt;p&gt;Instead, I wrote scrapers for two websites related to the European stock market: &lt;a href="https://www.stoxx.com/home"&gt;STOXX&lt;/a&gt; and &lt;a href="https://www.euronext.com/en"&gt;EuroNext&lt;/a&gt;.
These websites list basic info about all the companies that are part of their indices/exchanges, such as company name, country, sector, market cap and daily trading volumes.
I used this information to compile a list of 650 companies from Europe, the UK and US, which is the input for my monthly sector analysis.&lt;/p&gt;
&lt;p&gt;Later, I expanded these scrapers to also collect fundamental financial information, such as earnings and asset value.
However, so far I've found that the major financial websites do not contain reliable information about European companies at all.
Most of these websites get the financial data from &lt;a href="https://www.sec.gov/edgar/search-and-access"&gt;American SEC filings&lt;/a&gt;, which are all structured in the same way -- which makes them easy to scrape.
Unfortunately there is no European (or global) file format standard for reporting financial information.
If I want reliable fundamentals for European companies,
I either need to get a subscription to a data broker (too expensive, and even those don't always have high-quality data) or
I need to read the annual reports and transcribe the data myself -- which is what I'm doing at the moment.&lt;/p&gt;
&lt;h3&gt;Other stuff&lt;/h3&gt;
&lt;p&gt;Besides the stuff described above, I've written a framework for trading bots and a framework for backtesting,
so that I can try out new investing strategies without actually buying stocks.
I've also created a dashboard in Prometheus and Grafana that shows a collection of macro-economic indicators, which I use to gauge investor/consumer/industry sentiment before buying.
I'm planning on writing posts about those in the future.&lt;/p&gt;
&lt;p&gt;If you want to discuss any of this, please let me know!
I don't know many people interested in investing and stock picking in real life, so I'd love to hear from you.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/data-driven-investing-toolkit-hetty/index.html"/>
    <summary type="html">&lt;p&gt;This is the first post in a series about data-driven investing. In this post I describe a software toolkit called hetty , named after Hetty&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/data-driven-investing-toolkit-hetty/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/data-driven-investing-toolkit-hetty/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Finance"/>
    <category term="Projects"/>
    <published>2020-08-18T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/financial-data-sources-for-individual-investors/index.html</id>
    <title>Financial data sources for individual investors</title>
    <updated>2020-09-20T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;This is the second post in a series about data-driven investing.&lt;/p&gt;
&lt;p&gt;In the first post &lt;a href="(blog/2020/data-driven-investing-toolkit-hetty.html)"&gt;I described Hetty&lt;/a&gt;, a collection of tools for monitoring stocks and doing financial data analysis.
Naturally, Hetty needs a steady inflow of financial information, and I prefer not to input that information by hand, so that's where online data sources come in.&lt;/p&gt;
&lt;p&gt;In this post I want to discuss the sources for financial data that I reviewed as potential input sources for Hetty.
I found many questions on Quora and Medium posts about this,
but most of the &amp;quot;review articles&amp;quot; that discuss data brokers seem to be written by developer evangelists (ie. marketing people) of the data brokers themselves. Hmm.&lt;/p&gt;
&lt;h2&gt;Data wishlist&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;low-cost or free. If I'm investing $300 each month, I don't want my financial data to cost a significant percentage of that amount.&lt;/li&gt;
&lt;li&gt;API with good documentation&lt;/li&gt;
&lt;li&gt;data in a non-proprietary format such as JSON, CSV&lt;/li&gt;
&lt;li&gt;allow enough requests to do analyses on a stock universe of 500-1500 stocks&lt;/li&gt;
&lt;li&gt;financial information for European companies, not just US companies&lt;/li&gt;
&lt;li&gt;high data accuracy. After all, I might base investment decisions on it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Spoiler: I did not find a service that has all these properties.&lt;/p&gt;
&lt;h2&gt;Quandl&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.quandl.com/"&gt;Quandl&lt;/a&gt; is a marketplace for data.
Third parties can use it to sell subscriptions to financial datasets.
Quandl seems to target institutional investors, but they offer a set of 'core financial data' for individual investors.&lt;/p&gt;
&lt;p&gt;The platform was clearly built with automation in mind.
Upon registration, you immediately receive an API key for interacting with the platform.
Quandl also provides sample data for most of their datasets, which is a handy feature for developers.&lt;/p&gt;
&lt;p&gt;However, Quandl is not for me.
Even very basic information can only be found in 'premium' datasets, which cost about $30 dollar per month per dataset.
This seems a bit steep since you can get the same data for free from Yahoo Finance.
For example, a dataset with End of Day stock prices for US equities was $39,99 a month for personal use, or $299 anually.
Since I'd need to combine various datasets to get information for all the (European and American) companies I invest in, this would quickly become too expensive.
It's also a shame that you need to sign up for a Quandl account to just see the pricing for each dataset.&lt;/p&gt;
&lt;h2&gt;Alpha Vantage&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.alphavantage.co/"&gt;Alpha Vantage&lt;/a&gt; is financial data broker startup.
They cater to individual investors that need financial data in open formats such as JSON and CSV.
Their website specifically mentions the cryptocurrency and foreign exchange (FX) crowd, two areas of investment where many people do algorithmic trading.
The &lt;a href="https://www.alphavantage.co/support/#api-key"&gt;standard API is free&lt;/a&gt;, and limited to 5 requests per minute and 500 requests per day.
This would not be enough for Hetty's large-scale stock screening, which I run once a month.
If you want more requests per minute an no daily limit, you need to buy a subscription to their &lt;a href="https://www.alphavantage.co/premium/"&gt;premium API&lt;/a&gt;, which starts at $30 per month.&lt;/p&gt;
&lt;p&gt;Unfortunately, I got the feeling that Alpha Vantage's back-end is not completely ready yet.
At first, the website kept going offline, so I couldn't get an API key.
When I finally got some data out of the API, the stock prices contained many outliers: weird gaps and spikes in the data that did not reflect the real-world stock price movement.&lt;/p&gt;
&lt;p&gt;If Alpha Vantage's technology becomes a bit more stable, I might revisit it later to see if it fits my need, especially since Yahoo Finance is scheduled to disappear in the future.
In terms of product offering, Alpha Vantage came closest to being a solution for my problem -- only I don't trust the data quality yet.
If I am going to pay for a subscription to financial data, I want to be 100% sure of the data quality.&lt;/p&gt;
&lt;h2&gt;Atom.finance&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://atom.finance/"&gt;Atom.finance&lt;/a&gt; is another financial data startup, which offers a platform for tracking your investment portfolio, a stock screener, a social network for investors, etc.
Unfortunately, they currently do not offer any information about securities traded in European markets, and they also don't have an API.&lt;/p&gt;
&lt;p&gt;I registered to view the platform, but I quickly found out that Atom was not what I was looking for.
Their user management back-end still needs a bit of work.
After I deleted my account, I kept receiving marketing emails with an unsubscribe link to a non-existing user account. Their customer support fixed it for me manually after I sent them an email.&lt;/p&gt;
&lt;h2&gt;Bloomberg&lt;/h2&gt;
&lt;p&gt;Bloomberg is a big name in the financial world since they also make Bloomberg Terminals, which are used by professional traders for getting financial information.
They offer a clear, minimalist &lt;a href="https://www.bloomberg.com/europe"&gt;website with financial news and general information about equities&lt;/a&gt;.
The website even has up-to-date information for many European companies.&lt;/p&gt;
&lt;p&gt;I like that they report earnings for each company in a consistent format, unlike the Yahoo website, where the reported financials can be very different across companies.
Unfortunately I ran into problems when I wanted to collect company information in bulk.
The Bloomberg website has a very strict anti-bot-policy, which makes it impossible to scrape, and access to the Bloomberg API probably does not fit my budget.&lt;/p&gt;
&lt;h2&gt;Yahoo Finance&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://finance.yahoo.com/"&gt;Yahoo Finance&lt;/a&gt; is a great source of information for me.
I've read multiple reports that the service will disappear in the future, but so far, it doesn't look like that will happen any time soon.&lt;/p&gt;
&lt;p&gt;Apparently, Yahoo Finance used to have an API, but it's gone now (or only available for premium members).
However it doesn't matter that the API is gone, as I can grab all the data I need from the JSON data embedded in each webpage!
The Yahoo Finance website has no strict anti-scraping measures, unlike Bloomberg, so I can easily scrape and compare data for 1000 companies in one go.
As an added bonus, Yahoo allows users to &lt;a href="https://finance.yahoo.com/quote/TSLA/history?p=TSLA"&gt;download historical stock prices&lt;/a&gt; for each company.
Just go to a specific equity, go to 'historical prices', and click 'Download'.&lt;/p&gt;
&lt;p&gt;As for accuracy, stock prices, market information and general company information are high quality for every listed equity.
If you also want recent fundamental data (like balance sheets and statements of income), the data quality differs per company.
The data for companies traded on a US market is generally high quality, but the information might be incomplete, inaccurate or missing for companies outside the US.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;So far, Yahoo Finance is my best source of information outside of official company filings.
I only use it for up-to-date stock prices, as fundamental information is not accurate for European companies.&lt;/p&gt;
&lt;p&gt;I have not found a service yet that has all the properties I mentioned in my data wishlist above.
I'd love to know about any alternatives to the websites I've discussed in this post, so if you know another data source that I should investigate, let me know!&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/financial-data-sources-for-individual-investors/index.html"/>
    <summary type="html">&lt;p&gt;This is the second post in a series about data-driven investing. In the first post I described Hetty , a collection of tools for monitoring&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/financial-data-sources-for-individual-investors/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/financial-data-sources-for-individual-investors/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Finance"/>
    <category term="Projects"/>
    <published>2020-09-20T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/computer-security-resources-for-self-study/index.html</id>
    <title>Computer security resources for self-study and career planning</title>
    <updated>2020-09-27T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;This is a list of self-study resources for people that want to get into the computer security field.
I started this list in december 2015, just before I started my job as a security specialist at the National Cyber Security Centre of the Netherlands.
It contains resources for learning new techniques and tools, self-study, career planning and personal development.
All of these were useful to me personally, and every link is hand-picked. ;)&lt;/p&gt;
&lt;p&gt;As you can see, computer security is a huge field. Please don't feel overwhelmed. If you don't know where to start, check out the resources listed under 'career'.&lt;/p&gt;
&lt;p&gt;Most resources are in English and some of them are in Dutch.&lt;/p&gt;
&lt;p&gt;I hope this list is helpful. If you know any good additions, feel free to let me know via Twitter, email or in real life.&lt;/p&gt;
&lt;h2&gt;Assembly&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="//microcorruption.com"&gt;Microcorruption&lt;/a&gt;, Matasano [online challenges]&lt;/li&gt;
&lt;li&gt;&lt;a href="www.zachtronics.com/tis-100/"&gt;TIS-100&lt;/a&gt;, Zachtronics [game]&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.friedspace.com/assembly/intro.php"&gt;Assembly 101&lt;/a&gt;, FriedSpace [website]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Capture The Flag&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://picoctf.com/"&gt;PicoCTF&lt;/a&gt;, Carnegie Mellon University [online challenges]&lt;/li&gt;
&lt;li&gt;&lt;a href="//microcorruption.com"&gt;Microcorruption&lt;/a&gt;, Matasano [online challenges]&lt;/li&gt;
&lt;li&gt;&lt;a href="http://overthewire.org/wargames/"&gt;OverTheWire&lt;/a&gt;,  [online challenges]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.certifiedsecure.com/"&gt;Certified Secure&lt;/a&gt;, Certified Secure [online challenges] (Dutch)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Capture The Flag (Beginners)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://picoctf.com/"&gt;PicoCTF&lt;/a&gt;, Carnegie Mellon University [online challenges]&lt;/li&gt;
&lt;li&gt;&lt;a href="http://overthewire.org/wargames/"&gt;OverTheWire&lt;/a&gt;,  [online challenges]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.certifiedsecure.com/"&gt;Certified Secure&lt;/a&gt;, Certified Secure [online challenges] (Dutch)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Career&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.talosintel.com/2013/01/how-to-become-infosec-expert-part-i.html"&gt;How To Become an Infosec Expert, Part I&lt;/a&gt;, Alex Kirk, Talos Intel [book list]&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/"&gt;Don't Call Yourself A Programmer, And Other Career Advice&lt;/a&gt;, Patrick McKenzie, Kalzumeus [article]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://trailofbits.github.io/ctf/intro/careers.html"&gt;CTF Field Guide: Career Cheatsheet&lt;/a&gt;, Trail of Bits [article]&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.cobaltstrike.com/2012/12/26/computer-science-undergrad-to-offensive-security/"&gt;How to Milk a Computer Science Education for Offensive Security Skills&lt;/a&gt;, Raphael Mudge [article]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.google.com/about/careers/students/guide-to-technical-development.html"&gt;Google careers: Guide to technical development&lt;/a&gt;, Google [article]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tisiphone.net/2015/10/12/starting-an-infosec-career-the-megamix-chapters-1-3/"&gt;Starting an InfoSec Career - chapters 1-7&lt;/a&gt;, Lesley Carhart [article]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Cryptography&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="//cryptopals.com/"&gt;Cryptopals&lt;/a&gt;, Matasano [programming exercises]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=""&gt;The Code Book&lt;/a&gt;, Simon Singh [book, non-fiction]&lt;br&gt;&lt;i&gt;Nice introduction to secret language and cryptography for a general audience.&lt;/i&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.coursera.org/learn/crypto"&gt;Cryptography I&lt;/a&gt;, Stanford University [online course]&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Cybercrime&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.fraudehelpdesk.nl/"&gt;Fraudehelpdesk&lt;/a&gt;,  [organisation] (Dutch)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Cybersecurity In The Nederlands&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.ncsc.nl/documenten/publicaties/2020/juni/29/csbn-2020"&gt;Cybersecuritybeeld NL 2020&lt;/a&gt;, Nationaal Cyber Security Centrum [publication] (Dutch)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Dark Web&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=""&gt;The Dark Net&lt;/a&gt;, Jamie Bartlett [book, non-fiction]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Ethical Hacking&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://cvth.nl/vo.htm"&gt;Helpende hackers&lt;/a&gt;, Chris van 't Hof [book, non-fiction] (Dutch)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://english.ncsc.nl/publications/publications/2019/juni/01/coordinated-vulnerability-disclosure-the-guideline"&gt;Coordinated vulnerability disclosure (CVD): the guide&lt;/a&gt;, Nationaal Cyber Security Centrum [publication]&lt;br&gt;&lt;i&gt;A guide for organizations and ethical hackers for the responsible reporting and handling of vulnerabilities in information systems and (software) products.&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Fraud&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.fraudehelpdesk.nl/"&gt;Fraudehelpdesk&lt;/a&gt;,  [organisation] (Dutch)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.imdb.com/title/tt0264464/"&gt;Catch me if you can&lt;/a&gt;, Steven Spielberg [movie]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Incident Response&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.redblue.team/2016/02/a-soft-introduction-to-malware-analysis.html"&gt;A Soft-ish Introduction to Malware Analysis for Incident Responders&lt;/a&gt;, Greg Carson [article]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Information Security&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tcij.org/resources/handbooks/infosec"&gt;Information security for journalists&lt;/a&gt;, The Centre for Investigative Journalism [publication]&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.cl.cam.ac.uk/~rja14/book.html"&gt;Security Engineering&lt;/a&gt;, Ross Anderson [book, non-fiction]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Internet Freedom&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bof.nl/"&gt;Bits of freedom&lt;/a&gt;,  [organisation] (Dutch)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://craphound.com/littlebrother/download/"&gt;Little brother&lt;/a&gt;, Cory Doctorow [book, novel]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Linux&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://overthewire.org/wargames/"&gt;OverTheWire&lt;/a&gt;,  [online challenges]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nostarch.com/howlinuxworks2"&gt;How Linux Works: What every superuser should know&lt;/a&gt;, Brian Ward [book, non-fiction, technical]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Lockpicking&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://toool.nl/Toool"&gt;Toool: The Open Organisation Of Lockpickers&lt;/a&gt;,  [organisation]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Malware Analysis&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://digital-forensics.sans.org/blog/2010/11/12/get-started-with-malware-analysis/"&gt;How to Get Started With Malware Analysis&lt;/a&gt;, Lenny Zeltser, SANS [article]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nostarch.com/malware"&gt;Practical malware analysis: The Hands-On Guide to Dissecting Malicious Software&lt;/a&gt;, Michael Sikorski, Andrew Honig [book, non-fiction, technical]&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.redblue.team/2016/02/a-soft-introduction-to-malware-analysis.html"&gt;A Soft-ish Introduction to Malware Analysis for Incident Responders&lt;/a&gt;, Greg Carson [article]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://remnux.org/"&gt;REMnux&lt;/a&gt;, Lenny Zeltser &amp;amp; David Westcott [operating system/toolkit]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Penetration Testing&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.cobaltstrike.com/2012/12/26/computer-science-undergrad-to-offensive-security/"&gt;How to Milk a Computer Science Education for Offensive Security Skills&lt;/a&gt;, Raphael Mudge [article]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sans.org/course/network-penetration-testing-ethical-hacking"&gt;SEC560: Network Penetration Testing and Ethical Hacking&lt;/a&gt;, SANS [training course]&lt;/li&gt;
&lt;li&gt;&lt;a href="http://cvth.nl/vo.htm"&gt;Helpende hackers&lt;/a&gt;, Chris van 't Hof [book, non-fiction] (Dutch)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Physical Security&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://toool.nl/Toool"&gt;Toool: The Open Organisation Of Lockpickers&lt;/a&gt;,  [organisation]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Privacy&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tcij.org/resources/handbooks/infosec"&gt;Information security for journalists&lt;/a&gt;, The Centre for Investigative Journalism [publication]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bof.nl/"&gt;Bits of freedom&lt;/a&gt;,  [organisation] (Dutch)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://craphound.com/littlebrother/download/"&gt;Little brother&lt;/a&gt;, Cory Doctorow [book, novel]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kiosk.decorrespondent.nl/products/je-hebt-wel-iets-te-verbergen-boek"&gt;Je hebt wél iets te verbergen&lt;/a&gt;, Maurits Martijn &amp;amp; Dimitri Tokmetzis [book, non-fiction] (Dutch)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Programming&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="www.zachtronics.com/tis-100/"&gt;TIS-100&lt;/a&gt;, Zachtronics [game]&lt;/li&gt;
&lt;li&gt;&lt;a href="//cryptopals.com/"&gt;Cryptopals&lt;/a&gt;, Matasano [programming exercises]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Ransomware&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.fraudehelpdesk.nl/"&gt;Fraudehelpdesk&lt;/a&gt;,  [organisation] (Dutch)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nomoreransom.org/"&gt;No More Ransom&lt;/a&gt;, Europol, Kaspersky, Politie NL, e.a. [website]&lt;br&gt;&lt;i&gt;Initiative of Europol, Kaspersky Lab and the Dutch police to collect decryption keys for ransomware and put them online. Victims of ransomware can check this website to see if it is possible to undo the encryption.&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Responsible Disclosure&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://cvth.nl/vo.htm"&gt;Helpende hackers&lt;/a&gt;, Chris van 't Hof [book, non-fiction] (Dutch)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://english.ncsc.nl/publications/publications/2019/juni/01/coordinated-vulnerability-disclosure-the-guideline"&gt;Coordinated vulnerability disclosure (CVD): the guide&lt;/a&gt;, Nationaal Cyber Security Centrum [publication]&lt;br&gt;&lt;i&gt;A guide for organizations and ethical hackers for the responsible reporting and handling of vulnerabilities in information systems and (software) products.&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Reverse Engineering&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://remnux.org/"&gt;REMnux&lt;/a&gt;, Lenny Zeltser &amp;amp; David Westcott [operating system/toolkit]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Social Engineering&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.imdb.com/title/tt0264464/"&gt;Catch me if you can&lt;/a&gt;, Steven Spielberg [movie]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Wargames&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://picoctf.com/"&gt;PicoCTF&lt;/a&gt;, Carnegie Mellon University [online challenges]&lt;/li&gt;
&lt;li&gt;&lt;a href="//microcorruption.com"&gt;Microcorruption&lt;/a&gt;, Matasano [online challenges]&lt;/li&gt;
&lt;li&gt;&lt;a href="http://overthewire.org/wargames/"&gt;OverTheWire&lt;/a&gt;,  [online challenges]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.certifiedsecure.com/"&gt;Certified Secure&lt;/a&gt;, Certified Secure [online challenges] (Dutch)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style='color:grey;font-size:80%'&gt;This list was last updated on 2020-09-27&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/computer-security-resources-for-self-study/index.html"/>
    <summary type="html">&lt;p&gt;This is a list of self-study resources for people that want to get into the computer security field. I started this list in december 2015,&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/computer-security-resources-for-self-study/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/computer-security-resources-for-self-study/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Security"/>
    <published>2020-09-27T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/talk-transcript-int-fantastic-strings/index.html</id>
    <title>Talk transcript: Fantastic strings and where to find them</title>
    <updated>2020-10-19T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;This is a textual version of the talk I gave at the &lt;a href="https://sites.google.com/view/int2020/home"&gt;Intelligent Narrative Technologies&lt;/a&gt; workshop at &lt;a href="https://webdocs.cs.ualberta.ca/~santanad/aiide/participate.html"&gt;AIIDE 2020&lt;/a&gt;, for the research paper titled &lt;a href="https://judithvanstegeren.com/assets/vanstegeren2020fantastic.pdf"&gt;Fantastic Strings and Where to Find Them&lt;/a&gt;.
The talk was transcribed using &lt;a href="https://github.com/ggerganov/whisper.cpp"&gt;Whisper.cpp&lt;/a&gt; and co-edited with the open beta of &lt;a href="https://chat.openai.com"&gt;ChatGPT&lt;/a&gt; to improve the flow of the text.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Intro&lt;/h3&gt;
&lt;p&gt;Hi everyone, thank you for tuning in to my talk. My name is Judith van Stegeren and I collected three new datasets with video game text.&lt;/p&gt;
&lt;p&gt;But beyond just discussing the three datasets, I also want to address the underlying problem. Why is it so challenging for researchers to create new video game text corpora? And what are some possible approaches that you could take if you want to create a new dataset?&lt;/p&gt;
&lt;p&gt;I am a PhD student at the University of Twente and my research focuses on language generation for video games. There are many different types of texts in video games, but the ones that I am most interested in are in-game dialogue, game narratives, and flavor text for RPG games.
Flavor text is the decorative text that is not essential for gameplay or completing the game, but adds more depth to the game world.&lt;/p&gt;
&lt;h3&gt;Video game datasets&lt;/h3&gt;
&lt;p&gt;As I began my research, I was curious to learn what other datasets were being used by researchers in the field. Personally, I read a lot of papers from the procedural content generation and natural language processing fields. And I found that most researchers tend to work with texts from other domains, even if they list video games as their intended application domain. For example, researchers working on story generation use story corpora, and those working on dialogue generation use dialogue corpora. However, these corpora are typically sourced from domains outside of video games.&lt;/p&gt;
&lt;p&gt;One exception is Skyrim. Many papers use data from Skyrim because it comes with its own modding software, which is relatively user-friendly. This makes me think that we should encourage game developers to publish official modding software, as it can be very helpful for researchers.&lt;/p&gt;
&lt;h3&gt;Game writing is different from other writing&lt;/h3&gt;
&lt;p&gt;Additionally, I started reading about how game writers work in the industry, as I believe this could provide useful inspiration for creating my own text generators. I came across &lt;a href="https://openlibrary.org/works/OL8947818W/Game_Writing"&gt;a great book by Chris Bateman&lt;/a&gt; in which the authors argue that game writing is fundamentally different from other types of writing and fiction writing.&lt;/p&gt;
&lt;p&gt;Firstly, there is the interactive aspect of games to consider. But it's also because of the game development process. Game writers have to be able to adapt to the sometimes unpredictable development process, as games can change stories, genres, or styles within a few months. Game writers need to be flexible enough to handle this. Learning all of this made me realize that if I want to analyze and generate new video game texts, I want to work with source data from the video game domain.&lt;/p&gt;
&lt;h3&gt;Creating new datasets&lt;/h3&gt;
&lt;p&gt;However, I learned that there are not many available datasets with video game texts. So I had to create my own. But that turned out to be quite difficult. Ideally, I think the best data can be found directly in game files. But extracting those strings from an installed game is not straightforward. The strings might be spread across many different files, and the game engine reassembles them into what you see on screen during gameplay. Extracting this data is not easy, even for researchers with a computer science degree. You need to understand how the game works at a low level to access this data.&lt;/p&gt;
&lt;p&gt;I talked to a game developer friend of mine and he gave me some ideas. I also read about how others have solved this problem in scientific papers.&lt;/p&gt;
&lt;p&gt;I eventually found three possible approaches that I wanted to investigate further. These are ordered from easiest to most complex.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The first option is to build a web scraper and search the internet for fan-made websites with in-game texts. There are many places on the internet where you can find transcriptions of quest texts, dialogue, cutscenes, and other in-game texts.&lt;/li&gt;
&lt;li&gt;The second option is to use official modding software, if it is available for the game. Not all games come with their own software, but those that do are generally user-friendly and well-documented. Since the publisher released the software, they often have a vested interest in its success, making it a good option to consider.&lt;/li&gt;
&lt;li&gt;The final option is to search online for fan-made tooling for modification or extraction of game assets on websites like Nexus Mods. This could also be a viable option.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Pros and cons&lt;/h3&gt;
&lt;p&gt;I tried out all these approaches in practice and they led to three different datasets. However, each has its own pros and cons, so depending on your needs and technical proficiency, as well as whether the publisher has released anything, you can choose one of these methods.&lt;/p&gt;
&lt;p&gt;By the way, unfortunately, none of these methods are scalable, which is a disadvantage. You can build one extraction tool for one game, but it is unlikely that you can use it for another game, with the exception of games from the same publisher.&lt;/p&gt;
&lt;p&gt;The first option, using wikis, is the easiest to use. However, as with Wikipedia, the data is crowd-sourced and may require extra cleaning, have typos, or be incomplete. The data available for different games is also subject to the fan community, so it can vary.&lt;/p&gt;
&lt;p&gt;The second method is my favorite, but only a minority of games come with publisher-sanctioned modding software.&lt;/p&gt;
&lt;p&gt;The third method, using fan-made tools, is for adventurers only. It requires installing a lot of undocumented or old tools and seeing if they can do what you need. However, the hard work paid off in the end, as it led to some high-quality data for my final dataset.&lt;/p&gt;
&lt;h3&gt;Dataset 1: Elder Scrolls&lt;/h3&gt;
&lt;p&gt;For my first dataset, I scraped all of the in-game books from the RPGs in the Elder Scrolls series from a fan wiki.
For the second dataset, I used the official Torchlight 2 modding software, called Guts, to extract all the strings from that game.
And for the third dataset, I used a collection of open-source fan-made tools to extract all the branching dialogue from Star Wars Knights of the Old Republic 1.&lt;/p&gt;
&lt;p&gt;So, what does in-game books from the Elder Scrolls mean? The Elder Scrolls is a series of action RPGs, and the developers use in-game books to convey more information about the in-game world to the player. The player character can walk around the world and find books in shops and houses, and can read every book they encounter.&lt;/p&gt;
&lt;p&gt;The advantage of this dataset is that the books contain relatively long texts. Most game text is short to save the player time, but this dataset is quite large. In a previous project, I used it to learn the semantics of non-English words and create a sentiment analyzer based on those semantics. I believe it can be useful for many different NLP applications focusing on video games. It's a great starting dataset because of its size.&lt;/p&gt;
&lt;h3&gt;Dataset 2: Torchlight 2&lt;/h3&gt;
&lt;p&gt;The second dataset is very different from the first one in that it contains a wider variety of texts. The first dataset only contained fictional book texts, while this dataset is smaller but has a greater variety of texts.
It contains the starting, intermediate, and completion dialogue for every quest in Torchlight 2.
In addition to quest dialogue, it also contains GUI texts such as one-line quest objectives and toolbox tips. It also contains long-form summaries of the main quest and the entire main quest narrative of the game. I really like the variety of this dataset.&lt;/p&gt;
&lt;h3&gt;Dataset 3: Star Wars&lt;/h3&gt;
&lt;p&gt;The third dataset contains branching dialogue, which is a feature that Star Wars Knights of the Old Republic 1 is known for. The game was published by BioWare, who are famous for their games with high-quality writing and voice acting.&lt;/p&gt;
&lt;p&gt;Through branching dialogue, the player influence how their character reacts to situations and dialogue from other characters in the game. Not every choice is significant, but some can change the direction of the story. In the Star Wars games, there is a big focus on good versus evil, Jedi versus Sith alignment, and branching dialogue is one way they implement this.&lt;/p&gt;
&lt;p&gt;Branching dialogue is not something you find in every RPG, but I am happy to have collected this dataset as it contains over 30,000 lines of dialogue, including information about the conversation and speakers, and all branching options. This dataset can be used to research how branching dialogue in games works and to potentially generate new branching dialogue. I hope it is helpful for researchers interested in this topic.&lt;/p&gt;
&lt;p&gt;The third dataset again contains only one type of text, but it is a large dataset with a wide variety of dialogue that is heavy on emotion and personality. Unlike the books in the Elder Scrolls dataset, which contain neutral &amp;quot;facts&amp;quot;, this dataset has a diverse cast of characters. Researchers interested in analyzing personality, linguistic style, and emotions in narratives may be able to use this dataset.&lt;/p&gt;
&lt;h3&gt;Wrap-up&lt;/h3&gt;
&lt;p&gt;I will now take questions in the workshop Zoom session, but if you watch this talk later or have any questions, feel free to send me a message and I'd be happy to respond.
You can find some information about the dataset in the GitHub repository.&lt;/p&gt;
&lt;p&gt;For those who are not technically savvy, don't worry, I made sure that all the data is easy to use by formatting it into a CSV file. It can be read with Excel or your favorite programming language. I want to make it as usable as possible.&lt;/p&gt;
&lt;p&gt;Thanks for listening and I'll take some questions now.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/talk-transcript-int-fantastic-strings/index.html"/>
    <summary type="html">&lt;p&gt;This is a textual version of the talk I gave at the Intelligent Narrative Technologies workshop at AIIDE 2020 , for the research paper titled&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/talk-transcript-int-fantastic-strings/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/talk-transcript-int-fantastic-strings/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Projects"/>
    <category term="Research"/>
    <category term="Video games"/>
    <published>2020-10-19T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/networking-tips-for-your-first-conference/index.html</id>
    <title>Networking tips for your first conference</title>
    <updated>2021-04-15T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;I wrote this list of tips for networking just after I visited &lt;a href="/blog/2017/my-experiences-at-infosec-conference-troopers-2017.html"&gt;my first conference&lt;/a&gt;, where networking was supereasy! And it was FUN! Although Troopers 2017 was an industry conference, the tips should work fine for academic conferences too.&lt;/p&gt;
&lt;p&gt;I talked to so many interesting people, people working in infosec from all over the globe. I even managed to help some of them, by answering questions on social media, introducing people to each other, and pointing people to good self-education resources on the internet. I love to help people, so that made the networking activity feel very natural for me. It was not like the picture I had in my head at all (people in suits loudly talking about themselves while scattering business cards at random). I also loved to exchange horror stories about employers or infosec-gone-wrong. And the most fun thing is to form a spontaneous group of conference-friends and explore the local cuisine.&lt;/p&gt;
&lt;p&gt;All the tips in no particular order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Take advantage of the social activities that are offered at the conference. They are meant to facilitate fun and relaxed social interaction. So register for the social dinner, participate in a Capture The Flag competition, visit the craft booths (lock picking, soldering, ...), fiddle with the conference badge, hang around the coffee machines, and talk to random people. Academic conferences often have a social dinner, and game conferences might have a meet-and-greet with local game developers, or demo sessions where you can try out new games!&lt;/li&gt;
&lt;li&gt;Find people with the same job as you and exchange experiences and horror-stories. Exchanging stories is also a great way to scout for potential future employers. At the same time, you get to know which companies you should avoid.&lt;/li&gt;
&lt;li&gt;Use the information you can find online. Follow the live tweets (or posts on other social media) via the conference hashtag and see what other visitors are up to. Do they tweet about particularly good talks? Have they tried activities you haven't tried yet? Do they tweet about locations (either at the conference or in town) you haven't visited yet? Do they tweet requests, questions or invitations for additional activities? Maybe you can help other people too, by sharing your own experiences, or answering their questions. This post has &lt;a href="/blog/2019/twitter-guide-for-researchers.html"&gt;more tips about using Twitter during conferences&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;At the end of every day, write down the names of the people you've met, what they do, where they come from, and how you can help each other. You meet so many people at a conference that you really won't be able to remember this after one or two days.&lt;/li&gt;
&lt;li&gt;Feel free to exchange business cards, but only if at least 1 party can do something for the other.&lt;/li&gt;
&lt;li&gt;Speakers and crew members are not demi-gods. If you have questions, or you think you can help them or tell them something that they might find interesting, don't be shy and talk to them! However, if you run into them after their talk or during their 'off hours' during the conference, be respectful of their time and energy. They are normal people who also need coffee, sleep, down time, etc.&lt;/li&gt;
&lt;li&gt;Registration desk people and other crew members know a lot about the conference. Remember that they are often locals! Make use of this.&lt;/li&gt;
&lt;li&gt;Fun conversations arise most easily during a random meeting in the hallway, ie. at the coffee machine, at a pinball machine, in the cloakroom row, at a dinner, etc. The &amp;quot;hall-way track&amp;quot; is often my favorite conference track!&lt;/li&gt;
&lt;li&gt;If you're attending a conference with an international audience: PLEASE, do not, by default, converse in your own language with colleagues or fellow countrymen. You immediately exclude a large part of conference attendees, and you prevent new people from entering the conversation. It is rude. It is also to the detriment of yourself: you might deprive yourself of new acquaintances, friendships or interesting information.&lt;/li&gt;
&lt;li&gt;Take some time to recharge in between conference days or in-between talks. Take a walk, sit outside in the sun, find a quiet space at the conference venue to relax for a while, or enjoy some alone time in your hotelroom. My favorite coping methods for conference fatigue are (1) having dinner in a nice restaurant in the delightful company of my e-reader, or watching a movie in my pyjamas.&lt;/li&gt;
&lt;li&gt;Dare to show yourself; being on a business trip doesn't mean you can't be yourself. Be representative AND authentic. Yes, that's perfectly possible. One of my favorite memories from Brussels is a CTF-team member, a serious infosec consultant in daily life, showing off his crazy coloured, unmatched socks. I think one was orange with tiny avocados and one had a bicycle print. &amp;quot;Look!&amp;quot; he declared, &amp;quot;I always wear these to clients. Compliant, yet defiant!&amp;quot; Great socks, great quote.&lt;/li&gt;
&lt;li&gt;If the conference is at a different location than where you're staying, talk to the conference attendees stay in the same hotel. Maybe you can walk to the venue together, share a taxi, or meet up for breakfast in the hotel.&lt;/li&gt;
&lt;li&gt;Ask questions to start conversations. It's easy to find a suitable question for anyone. New people: is this your first conference? Locals: do you have any tips for good restaurants or places to visit in town? People you met earlier during the conference: Hello again, how is your day so far? What was your favorite talk so far? Connecting with people is not that hard. Be considerate and friendly, and people will remember your face.&lt;/li&gt;
&lt;li&gt;If you're shy: lots of people that visit a conference for work visit the conference alone. Chances are that other person near the coffee machine feels as disoriented, alone or shy as you.&lt;/li&gt;
&lt;li&gt;Be attentive in your follow-up to people. Do what you promise. If someone you meet asks for a brochure, a link to a website, a tip, an introduction, write the request down and contact them as soon as possible. I try to handle all these requests either the same day, or I deal with this todo-list the first workday after I return from the trip.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope you liked this list. I certainly would have liked to read it in 2016! I remember eagerly scanning the internet before my trip, searching for blogposts that could tell me how conferences &amp;quot;work&amp;quot; and what you're supposed to do when you're there.
Feel free to share your favorite conference experience or coping method in the comments.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/networking-tips-for-your-first-conference/index.html"/>
    <summary type="html">&lt;p&gt;I wrote this list of tips for networking just after I visited my first conference , where networking was supereasy! And it was FUN! Although&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/networking-tips-for-your-first-conference/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/networking-tips-for-your-first-conference/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Career"/>
    <category term="How-to"/>
    <category term="Research"/>
    <category term="Security"/>
    <category term="Travel"/>
    <published>2021-04-15T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/talk-transcript-finetuning-gpt-2-on-wow/index.html</id>
    <title>Talk transcript: Fine-tuning GPT-2 on World of Warcraft quests</title>
    <updated>2021-08-03T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;This is a textual version of the talk I gave at &lt;a href="http://fdg2021.org/"&gt;Foundations of Digital Games 2021&lt;/a&gt;, for the research paper titled &lt;a href="https://dl.acm.org/doi/10.1145/3472538.3472595"&gt;Fine-tuning GPT-2 on annotated RPG quests for NPC dialogue generation&lt;/a&gt;.
The talk was transcribed using &lt;a href="https://github.com/ggerganov/whisper.cpp"&gt;Whisper.cpp&lt;/a&gt; and co-edited with the open beta of &lt;a href="https://chat.openai.com"&gt;ChatGPT&lt;/a&gt; to improve the flow of the text.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Intro&lt;/h3&gt;
&lt;p&gt;Good morning everyone. My name is Judith van Stegeren and I'm here to present a fun project that I worked on together with my co-author Jakub.&lt;/p&gt;
&lt;p&gt;The project is a quest-giver dialog generator using GPT-2. We searched for a suitable data set to use and looked at multiple online RPGs. In the end, we chose to use a World of Warcraft data because it had the right amount of data points and context to make the project interesting.&lt;/p&gt;
&lt;h3&gt;Can GPT-2 support game writers?&lt;/h3&gt;
&lt;p&gt;This project wasn't initially focused on World of Warcraft. We simply wanted to see if GPT-2 could be used to support game writers.&lt;/p&gt;
&lt;p&gt;This project is part of my PhD research, which has three main themes.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;First, there is a lack of example texts from video games when using machine learning for video game text. So, finding new video game corpora and exploring how they can be used is something I'm interested in.&lt;/li&gt;
&lt;li&gt;Second, procedural content generation is a thriving field, but there aren't many researchers focusing on generating textual game assets. Combining natural language processing or generation with procedural content generation is an area that needs more research in my opinion.&lt;/li&gt;
&lt;li&gt;Third, there is a gap between academic research and industry practice. Even when natural language generation researchers find a new method, it may not be practical for the game industry. I believe we should try to address this by keeping industry requirements in mind when conducting research like this.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;There are many Transformer-based large scale language models, but we chose to use GPT-2 for our research because it is the most accessible for non-machine learning experts and non-computer scientists. This is mainly due to the availability of tutorials and Google Colabs written about it, as well as the popularity of GPT-2. It is also supported by a PyTorch wrapper called &lt;a href="https://github.com/minimaxir/gpt-2-simple"&gt;GPT-2-simple&lt;/a&gt; by Max Woolf, which makes it easy to use. Additionally, GPT-2 is already being used in &lt;a href="https://play.aidungeon.io/"&gt;AI Dungeon&lt;/a&gt;, which shows its potential in a gaming context.&lt;/p&gt;
&lt;h3&gt;Finding a suitable dataset&lt;/h3&gt;
&lt;p&gt;Our original idea was to create an NPC dialogue generator, but we hadn't decided on a game yet. To fine-tune a large scale language model on game text, we needed examples. Jakub looked at Destiny fan wikis, the Eve Online quest database, and the WoWHead quest database for World of Warcraft. We ultimately chose to use World of Warcraft because it had more data points and richer content than the other options. The quests were longer and had more text variation, providing us with more information to work with.&lt;/p&gt;
&lt;p&gt;GPT-2 is a powerful language model that can learn latent NLP tasks from examples. This means that even if we don't explicitly code a task for it, GPT-2 can learn the task by looking at the examples. The original transformer paper and the GPT-2 paper used machine translation examples to demonstrate this.&lt;/p&gt;
&lt;p&gt;For example, if we give GPT-2 a lot of examples that include the word &amp;quot;translate&amp;quot; and strings in the source and target languages, GPT-2 will learn that this is the correct output format. This means that if we give it a sentence in the source language and the target language, it will automatically generate a translation that fulfills the latent task it learned. We want to use this same approach for generating quest dialog.&lt;/p&gt;
&lt;p&gt;We wanted to use a data set that not only included raw text strings from the game, but also had metadata about those strings. This would allow us to use the metadata to structure the task for GPT-2. For example, we could say &amp;quot;give us quest dialogue given this quest title and quest objective.&amp;quot; We could also train GPT-2 to generate the quest title and objective given a piece of quest dialogue.&lt;/p&gt;
&lt;h3&gt;Generating World of Warcraft quests&lt;/h3&gt;
&lt;p&gt;We used the World of Warcraft quest database to create data points with the structure of &amp;quot;start of text,&amp;quot; &amp;quot;title,&amp;quot; &amp;quot;objective,&amp;quot; &amp;quot;NPC dialogue,&amp;quot; and &amp;quot;end of text.&amp;quot; This information is shown to the player when they start a quest or subquest. By feeding GPT-2 enough of these data points, it will become a NPC quest dialogue generator.&lt;/p&gt;
&lt;p&gt;We generated a bunch of quests using GPT-2 and mixed them with original World of Warcraft quests written by humans. We asked 32 people to rate the quests on several aspects, which is a common evaluation method in computational creativity. On average, the generated quests were rated worse than the handwritten quests, but in two out of five categories, the differences were not significant. We also found that in some cases, the generated quests had a wider range of content quality than the handwritten quests. This means that in some cases, a generated quest might be rated higher in quality than a human-written one. This suggests that GPT-2 can be successfully used for human-computer co-creation.&lt;/p&gt;
&lt;p&gt;Overall, these results were not surprising, but they were encouraging. This was only a pilot project, and we found that picking the right data set and looking at the limitations of this approach are more interesting than the approach itself, as many people have used similar methods for fine-tuning GPT-2.&lt;/p&gt;
&lt;h3&gt;What can we learn from this?&lt;/h3&gt;
&lt;p&gt;The new contribution of this work is not the approach itself, but rather exploring how we can generalize a large scale language model trained on game data to other games and video game genres. For example, we trained GPT-2 on World of Warcraft quests and used it to create more World of Warcraft quests or dialogue. But what would happen if we used the same language model to create content for a Star Wars game, My Little Pony game, or a Dungeons &amp;amp; Dragons game, which are similar but not the same as World of Warcraft? This is an interesting area for future research.&lt;/p&gt;
&lt;p&gt;It is important to consider other models besides GPT-2. While GPT-2 was initially chosen for its accessibility to non-experts, it has limitations, such as its large size and limited language support. I would be interested in seeing similar research projects using models like BERT, which supports multiple languages and is being developed to be smaller and more efficient. The Google BERT team is also researching this direction, whereas OpenAI is focusing on making larger and larger language models, such as GPT-3. Both approaches have merit and are worth researching.&lt;/p&gt;
&lt;p&gt;Finally I would like to experiment with incorporating more information about the player or player character into each data point. This could be useful for generating more personalized or adaptive content. This could potentially be used for creating adaptive games that can change and respond to the player's actions or choices. It would be interesting to explore this further and see how it can influence the generated content.&lt;/p&gt;
&lt;h3&gt;Wrap-up&lt;/h3&gt;
&lt;p&gt;In conclusion, this project shows that it is possible to use GPT-2 for human-computer co-creation. It is a promising first try and can be expanded in many ways. Making machine learning tools more accessible to game developers, as well as providing high-quality video game text corpora with metadata, would be beneficial for research in both procedural content generation and natural language generation. Additionally, exploring how we can generalize and transfer large language models to be reused across multiple games, genres, and domains is a valuable direction for future research.&lt;/p&gt;
&lt;p&gt;Thank you very much and I'll be happy to answer any questions you have.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/talk-transcript-finetuning-gpt-2-on-wow/index.html"/>
    <summary type="html">&lt;p&gt;This is a textual version of the talk I gave at Foundations of Digital Games 2021 , for the research paper titled Fine-tuning GPT-2 on&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/talk-transcript-finetuning-gpt-2-on-wow/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/talk-transcript-finetuning-gpt-2-on-wow/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Natural language generation"/>
    <category term="Projects"/>
    <category term="Research"/>
    <category term="Video games"/>
    <published>2021-08-03T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/investing-in-mergers-and-acquisitions-with-risk-arbitrage/index.html</id>
    <title>How I value mergers and acquisition deals</title>
    <updated>2022-11-06T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;Hi everyone! In this post I'll show you how I valuate mergers and acquisitions and other &lt;a href="https://www.investopedia.com/terms/s/special_situation.asp"&gt;special situation&lt;/a&gt; investments. I started doing this after reading &lt;a href="https://openlibrary.org/works/OL3354667W/You_can_be_a_stock_market_genius?edition=ia:youcanbestockmar00joel_0"&gt;You can be a stock market genius&lt;/a&gt; by Joel Greenblatt. Despite the clickbait title, this is a really good book about special situation investing.&lt;/p&gt;
&lt;img class="img-fluid my-4" src="/images/caution-merger.jpg" /&gt;
&lt;p&gt;This post is a write-up about the merger between US supermarkets &lt;a href="https://finance.yahoo.com/quote/KR"&gt;Kroger ($KR)&lt;/a&gt; and &lt;a href="https://finance.yahoo.com/quote/ACI"&gt;Albertsons Companies ($ACI)&lt;/a&gt;. I describe how I found about a new merger, what sources I used to find more information, and how I did computations to assess whether it might be a good investment. It involves quite some numbers, but don't worry, if you can multiply and divide, you have all the math you need to understand this post. Note that this is only a rough back-of-the-envelope calculation. The numbers are all estimates, but it gives me a good enough indication of the upside and downside of an investment.&lt;/p&gt;
&lt;p&gt;And finally: this is not investment advice, or an endorsement of the companies I mention here. Educate yourself, do your own research, and have fun.&lt;/p&gt;
&lt;h2&gt;My first experience with risk arbitrage&lt;/h2&gt;
&lt;p&gt;My first experience with investing in a merger was the &lt;a href="https://europe.autonews.com/automakers/fca-and-psa-complete-merger-become-stellantis"&gt;Fiat -- Peugeot merger deal&lt;/a&gt; in 2019/2020. I had just started stockpicking and I was looking into companies with low Price-to-Earnings (PE) ratios. The car industry is highly &lt;a href="https://www.investopedia.com/terms/c/cyclical_industry.asp"&gt;cyclical&lt;/a&gt;, which means that the stock prices go up and down with the economic cycle, and Fiat was trading for 2-5 times their yearly earnings at the time. After doing some research, which means reading a few press releases and doing basic math, I decided to buy shares in Fiat. According to my computations, I would spend a few euros per Fiat share, and I would receive that same amount per share (plus I would get keep the share I bought!) from Fiat once the deal was completed, some 12 months into the future. This hypothesis turned out to be right, which led to my first doubled investment (+100%).&lt;/p&gt;
&lt;h2&gt;Finding out about the Kroger -- Albertsons merger&lt;/h2&gt;
&lt;p&gt;Today I looked into the Kroger -- Albertsons merger, which I encountered by accident. I was browsing the website of financial magazine &lt;a href="https://www.barrons.com/"&gt;Barron's&lt;/a&gt;, searching for articles with 'takeover' or 'acquisition' in the title. Since I own some Kroger shares, my interest was piqued.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Barron's: &lt;a href="https://www.barrons.com/articles/kroger-buying-albertsons-merger-stock-price-51665747224"&gt;Kroger buying Albertsons merger stock price&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I am no longer a Barron's subscriber so I couldn't read the article itself, but I know that companies are legally obliged to make all information related to mergers and acquisitions public on their Investor Relations website. You can find these (gasp!) by googling the company name + &amp;quot;investor relations&amp;quot;, or search the corporate website of a public company.&lt;/p&gt;
&lt;img class="img-fluid" src="/images/where-to-find-kroger-investor-relations.png" alt="Finding the investor relations website of supermarket company Kroger" /&gt;
&lt;p&gt;I googled around for more news articles about the deal, and found another article on Barron's website:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Barron's: &lt;a href="https://www.barrons.com/articles/judge-pauses-albertsons-4-billion-special-dividend-payout-51667569850"&gt;Judge pauses Albertsons 4 billion special dividend payout&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Collecting facts&lt;/h2&gt;
&lt;h3&gt;News websites&lt;/h3&gt;
&lt;p&gt;Once I'm interested in a specific deal, I start collecting facts. I always by looking up a few news articles on Yahoo Finance, Barron's, the Wallstreet Journal website, MarketWatch, etc. This is much more efficient than immediately diving into the formal SEC forms and other official documents.&lt;/p&gt;
&lt;p&gt;From the Barron's articles I could gather the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kroger will pay 34.10 USD in cash for Albertsons shares, which are now trading for about 21 USD.&lt;/li&gt;
&lt;li&gt;A US judge temporarily stopped the payment of Albertsons &amp;quot;special dividend&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Investor's Relations websites&lt;/h3&gt;
&lt;p&gt;More information about the merger is really easy to find on Kroger's investor relations page:&lt;/p&gt;
&lt;img class="img-fluid" src="/images/kroger-investor-relations-merger-info-link.png" alt="Image of Krogers investor relations page with a link to information about the merger" /&gt;
&lt;p&gt;Here we can collect more facts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Albertsons is planning on paying a special dividend of 4 billion USD to shareholders, which was planned for November 4, 2022.&lt;/li&gt;
&lt;li&gt;The transaction is expected to close in early 2024. Let's presume that's March 2024 at the latest. Then the runtime for this deal is March 2024 minus November 2022 = 17 Months&lt;/li&gt;
&lt;li&gt;34.10 (cash offer) / 21 (current stock price of Albertsons) = 1.62, or 62% profit in 17 months. Not bad.&lt;/li&gt;
&lt;li&gt;a 4 billion dividend divided by 11 billion market cap worth of shares means a 36% dividend: 4 billion / 11 billion = 1.36. The market cap of 11 billion I found on the &lt;a href="https://finance.yahoo.com/quote/ACI"&gt;Yahoo Finance homepage for Albertsons&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I wanted to learn more about the special dividend. It was paused by the judge, can I still participate? Was it cancelled? Would someone need to own the shares on a specific date to qualify for the special dividend?&lt;/p&gt;
&lt;p&gt;On the &lt;a href="https://www.albertsonscompanies.com/newsroom/press-releases/news-details/2022/Kroger-and-Albertsons-Companies-Announce-Definitive-Merger-Agreement/default.aspx"&gt;Albertsons IR website&lt;/a&gt;, we can find this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;Subject to the outcome of a store divestiture process, the cash component of the $34.10 per share consideration may be reduced by the per share value of a newly created standalone public company (&amp;quot;SpinCo&amp;quot;) that Albertsons Cos. is prepared to spin off at closing in conjunction with the regulatory clearance process described further in the Transaction Details below.
As part of the transaction, Albertsons Cos. will pay a special cash dividend of up to $4 billion to its shareholders.
The cash component of the $34.10 per share consideration will be reduced by the per share amount of the special cash dividend, which is expected to be approximately $6.85 per share. This cash dividend will be payable on November 7, 2022, to shareholders of record as of the close of business on October 24, 2022.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;From this piece of text I could gather more facts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It's November 6, so I am not eligible for the special dividend. I should have owned shares on October 24 at the latest.&lt;/li&gt;
&lt;li&gt;the special dividend should be about 6.85 USD.&lt;/li&gt;
&lt;li&gt;the special dividend will be subtracted from the cash offer for Albertsons shares, so that's 34.10 USD - 6.85 USD = 27.25 USD per share.&lt;/li&gt;
&lt;li&gt;the merger deal is subject to anti-trust regulations. I think this means that Albertsons and Kroger are not allowed to merge if that leads to a monopoly type situation where competitors no longer stand a fair change. Kroger and Albertsons are planning to spin off (divest) some of their stores into a spin-off company, which will continue as an independent public company. &amp;quot;SpinCo&amp;quot; is the working title for this spin-off. Albertsons shareholders will receive shares of this spin-off company, and the value of those shares will be subtracted from the 34.10 as well.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Since the current stock price of Albertsons is only 21 USD, does the market think that the spin-off company will be worth 34.10 cash - 6.85 special dividend = 6.25 USD per share?&lt;/p&gt;
&lt;h2&gt;The spin-off&lt;/h2&gt;
&lt;p&gt;Let's find more information about this spin-off. There are two other interesting bits of text on the &lt;a href="https://www.albertsonscompanies.com/newsroom/press-releases/news-details/2022/Kroger-and-Albertsons-Companies-Announce-Definitive-Merger-Agreement/default.aspx"&gt;IR website&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The per share cash purchase price payable to Albertsons Cos. shareholders in the merger would be reduced by an amount equal to (i) three times four-wall adjusted EBITDA for the stores contributed to SpinCo divided by the number of Albertsons Cos. common shares (including common shares issuable upon conversion of Albertsons Cos.' preferred stock) outstanding as of the record date for the spin-off plus (ii) the per share amount of a special pre-closing cash dividend of up to $4 billion payable to Albertsons Cos. shareholders, which is expected to be approximately $6.85 per share. This cash dividend is expected to be payable on November 7, 2022, to shareholders of record as of the close of business on October 24, 2022.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;In connection with obtaining the requisite regulatory clearance necessary to consummate the transaction, Kroger and Albertsons Cos. expect to make store divestitures. As described in the merger agreement and subject to the outcome of the divestiture process, Albertsons Cos. is prepared to establish an Albertsons Cos. subsidiary (SpinCo). SpinCo would be spun-off to Albertsons Cos. shareholders immediately prior to merger closing and operate as a standalone public company. Kroger and Albertsons Cos. have agreed to work together to determine which stores would comprise SpinCo, as well as the pro forma capitalization of SpinCo. The establishment of SpinCo, which is estimated to comprise between 100 and 375 stores, would create a new, agile competitor with quality stores, experienced management, operational flexibility, a strong balance sheet, and focused allocation of capital and resources to provide customers with continued value and quality service and associates with ongoing compelling career opportunities.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I tried to figure out what the spin-off could be worth by combining numbers from these paragraphs.&lt;/p&gt;
&lt;p&gt;Facts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the spin-off will be comprised of 100 to 375 stores.&lt;/li&gt;
&lt;li&gt;the spin-off will be valued at 3x adjusted EBITDA (Earnings Before Interest Taxes, Depreciation and Amortization) of those stores.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We don't know which stores will be transferred to the spin-off company, but they will be Albertsons stores. So what is the EBITDA of an average Albertsons store?&lt;/p&gt;
&lt;p&gt;I took a look at the &lt;a href="https://www.sec.gov/ix?doc=/Archives/edgar/data/1646972/000164697222000031/aci-20220226.htm"&gt;last annual report&lt;/a&gt; (or &amp;quot;form 10-K&amp;quot;) filed by Albertsons to get more information about this. You can find these reports by going to &lt;a href="https://www.sec.gov/edgar/searchedgar/companysearch"&gt;EDGAR&lt;/a&gt;, the official database of the US Securities and Exchange commission.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;EDGAR: &lt;a href="https://www.sec.gov/edgar/browse/?CIK=1646972&amp;amp;owner=exclude"&gt;Albertsons Companies, Inc&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;As of February 26, 2022, we operated 2,276 stores across 34 states and the District of Columbia under 24 banners including Albertsons, Safeway, Vons, Pavilions, Randalls, Tom Thumb, Carrs, Jewel-Osco, Acme, Shaw's, Star Market, United Supermarkets, Market Street, Haggen, Kings Food Markets and Balducci's Food Lovers Market. Additionally, as of February 26, 2022, we operated 1,722 pharmacies, 1,317 in-store branded coffee shops, 402 adjacent fuel centers, 22 dedicated distribution centers, 20 manufacturing facilities and various digital platforms.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;Adjusted EBITDA was $4,398.4 million, or 6.1% of Net sales and other revenue, during fiscal 2021 compared to $4,524.0 million, or 6.5% of Net sales and other revenue, during fiscal 2020.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Facts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Albertsons has 2,276 stores, with a combined adjusted EBITDA of 4398 million USD in 2021.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some estimates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;4.3 billion EBITDA divided by 2276 stores means 1.8 million USD on average per store.&lt;/li&gt;
&lt;li&gt;in case of 100 stores in the new spin-off: 3x 100 stores * 1889279 = 566 million&lt;/li&gt;
&lt;li&gt;in case of 375 stores in the new spin-off: 3x 375 stores * 1889279 = 2.1 billion&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We need to divide the spin-off value by the number of Albertsons Cos. common shares (including common shares issuable upon conversion of Albertsons Cos.' preferred stock) outstanding as of the record date for the spin-off.&lt;/p&gt;
&lt;p&gt;For a current count of the outstanding shares, I'm looking at the &lt;a href="https://www.sec.gov/ix?doc=/Archives/edgar/data/1646972/000164697222000073/aci-20220910.htm"&gt;last quarterly report&lt;/a&gt; (or &amp;quot;form 10-Q&amp;quot;) of Albertsons, also in EDGAR.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;The Company calculates basic and diluted net income per Class A common share using the two-class method. [...] Diluted net income per Class A common share is computed based on the weighted average number of shares of Class A common stock outstanding during each period, plus potential Class A common shares considered outstanding during the period, as long as the inclusion of such awards is not antidilutive. Potential Class A common shares consist of unvested restricted stock units (&amp;quot;RSUs&amp;quot;), restricted common stock (&amp;quot;RSAs&amp;quot;) and Convertible Preferred Stock, using the more dilutive of either the two-class method or as-converted stock method. Performance-based RSUs are considered dilutive when the related performance criterion has been met.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;From the nearby table, I gather that the number of diluted Class A common shares was 576.3 million on September 10, 2022.&lt;/p&gt;
&lt;img class="img-fluid" src="/images/diluted-common-shares-in-10-q-albertsons.png" alt="A table in the latest quarterly report that shows the amount of diluted outstanding Class A common stock of Albertsons Companies" /&gt;
&lt;p&gt;More estimates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In case of 100 stores in the spin-off, the spin-off will be valued at 566 million EBITDA / 576.3 million shares = 0.98 USD per share&lt;/li&gt;
&lt;li&gt;In case of 375 stores in the spin-off, the spin-off will be valued at 2100 million EBITDA / 576.3 million shares = 3.64 USD per share&lt;/li&gt;
&lt;li&gt;Interestingly, Albertsons is currently valued at about 7 times it's EBITDA per share: 4398 EBITDA / 576.3 shares = 7.63 EBITDA per share. The current stock price is 21 USD, so the price-to-EBITDA ratio is about 3, just like the future spin-off!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Conclusion: if I want to participate in the spin-off, I can buy shares in Albertsons tomorrow for 21.50 USD per share. If everything goes according to plan, in spring 2024 I will get:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;0 USD special dividend&lt;/li&gt;
&lt;li&gt;1 share of the spin-off (estimated valued at 1.00 to 3.64 USD)&lt;/li&gt;
&lt;li&gt;27.25 USD minus the value of the spin-off share&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So is this riskless investment? Free money?&lt;/p&gt;
&lt;p&gt;Certainly not. There are many reasons a deal can fall through, such as shareholders (of either company), activist investors, a third-party, legal disputes and anti-trust laws. You only need to read the articles about Elon Musk's takeover of Twitter to know that mergers and acquisitions can be rollercoasters.&lt;/p&gt;
&lt;p&gt;Investing in mergers and acquisitions is sometimes called &lt;a href="https://www.investopedia.com/terms/r/riskarbitrage.asp#:~:text=Risk%20arbitrage%20is%20an%20investment,acquirer%27s%20valuation%20of%20that%20stock."&gt;risk arbitrage&lt;/a&gt;. As investor, you take the risk that the deal doesn't close, and in return, you get the computed amount as reward if everything goes as planned.&lt;/p&gt;
&lt;p&gt;So what can go wrong? What is the downside?&lt;/p&gt;
&lt;p&gt;If the deal falls through for whatever reason, an acquired company's stock price might sink to the level is was trading on the day the deal was announced. In Albertson's case this was October 14, 2022. However, at that time the stock was trading for 24 dollar, which is higher than the current amount. The stock price dropped dramatically on the &amp;quot;ex-dividend date&amp;quot;, the deadline for being eligible for the special dividend.&lt;/p&gt;
&lt;img class="img-fluid" src="/images/albertsons-drop-after-ex-dividend-date.png" alt="The steep drop in share price after the ex-dividend date of Albertsons Companies" /&gt;
&lt;p&gt;It could also be that the share of the spin-off is worthless, or worth much less than the assigned value of 3x EBITDA. This can happen if Albertsons and Kroger decide to spin-off the worst performing supermarkets. If I want to be conservative, I can value the spin-off share at 0 USD. Then the worst case up-side of buying a 21.50 USD share is 34.10 - 6.85 special dividend - 3.64 spin-off share price = 23.61. This translates into a profit of 23.61 / 21.50 = 1.098, or about 10 percent, over 17 months. It's not too bad, but it's also not great.&lt;/p&gt;
&lt;p&gt;I think the upside on this deal is not enough for me to participate, but I enjoyed the necessary detectivework nevertheless. If you've made it until here, well done. I think this is my longest blogpost yet.
I hope you found this write-up interesting!&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/investing-in-mergers-and-acquisitions-with-risk-arbitrage/index.html"/>
    <summary type="html">&lt;p&gt;Hi everyone! In this post I'll show you how I valuate mergers and acquisitions and other special situation investments. I started doing this after reading&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/investing-in-mergers-and-acquisitions-with-risk-arbitrage/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/investing-in-mergers-and-acquisitions-with-risk-arbitrage/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Finance"/>
    <category term="How-to"/>
    <category term="Projects"/>
    <published>2022-11-06T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/transcribing-talks-with-chatgpt-and-whisper/index.html</id>
    <title>A workflow for turning talks into blogposts with ML</title>
    <updated>2022-12-11T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;This blogpost was co-created with ChatGPT.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In this blogpost, I will describe the workflow I used to efficiently turn my talk videos into blogposts with machine learning. The heavy lifting is done by two relatively new machine learning tools: &lt;a href="https://github.com/ggerganov/whisper.cpp"&gt;whisper.cpp&lt;/a&gt; and &lt;a href="https://openai.com/blog/chatgpt/"&gt;ChatGPT&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I use whisper.cpp, created by Georgi Gerganov, for audio transcripton. Whisper.cpp is a lightning fast open-source implementation of OpenAI's automatic speech recognition (ASR) model Whisper. I love that it runs offline, on my 5 year old computer, without any third party dependencies. It transcribed 15-30 minute talks in mere minutes. The audio transcripts are edited by hand and then fed ChatGPT for further processing.&lt;/p&gt;
&lt;p&gt;ChatGPT is a large language model by OpenAI -- as it will repeatedly tell you if you feed it the wrong prompt. It can be used for a variety of natural language processing tasks, such as text completion, translation, and summarization. I use ChatGPT to help me rewrite my transcripts into more fluent and natural-sounding texts.&lt;/p&gt;
&lt;p&gt;Here's the workflow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Clone the &lt;a href="https://github.com/ggerganov/whisper.cpp"&gt;whisper.cpp git repository&lt;/a&gt; and follow the excellent installation instructions in the readme.&lt;/li&gt;
&lt;li&gt;Optional: download a specific GGML model for whisper. However, you don't NEED a fancy model. The &lt;code&gt;base&lt;/code&gt; model that is downloaded as part of the whisper.cpp demo worked fine for transcribing talks. The base model supports multiple languages. (Edit: for transcribing English talks I now use the medium-sized model for English: &lt;code&gt;ggml-medium.en.bin&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Prep the audio of the talk you want to transcribe. My old talks are on YouTube, so I used youtube-dlp to download the video and extract the audio as an mp3-file.
Example: &lt;code&gt;youtube-dlp -x https://www.youtube.com/watch?v=dQw4w9WgXcQ --audio-format mp3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Whisper.cpp only works on 16-bit wav files, so I then convert the mp3 to wav with ffmpeg. Example: &lt;code&gt;ffmpeg -i filename.mp3 -ar 16000 -ac 1 -c:a pcm_s16le filename.wav&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;I tell whisper.cpp to transcribe the file, following the demo in the project's README. Example: &lt;code&gt;./main -m models/ggml-base.bin -otxt filename.wav&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Now we start prepping the transcript to make it ingestible by ChatGPT. Start by adding newlines to the transcript and break up the text in clear paragraphs.&lt;/li&gt;
&lt;li&gt;Edit the text to remove any irrelevant paragraphs.&lt;/li&gt;
&lt;li&gt;Remove incorrect words or substitute them for placeholders such as &lt;code&gt;[name]&lt;/code&gt;. Things like names, urls and hyperspecific jargon can be tricky to transcribe for Whisper.&lt;/li&gt;
&lt;li&gt;Use ChatGPT to help you rewrite the transcript into a more fluent and natural-sounding text. A useful prompt for this step is: &amp;quot;You are a professional editor. Rewrite this transcript into a more fluent text. Break up long sentences without changing the meaning or leaving out information. Make the flow of the text more natural.&amp;quot; I started out with adding the prompt to every interaction with ChatGPT. However, the bot is optimized for dialogue and it pretty good in remembering the conversation so far, so retrospect this was not really necessary.&lt;/li&gt;
&lt;li&gt;Feed one or two paragraphs at a time to the language model. If you provide it with too much text (e.g. three or more paragraphs), it may start to leave out important information.&lt;/li&gt;
&lt;li&gt;Concatenate all rewritten paragraphs.&lt;/li&gt;
&lt;li&gt;Factcheck and spellcheck the text. If you skip this step, I will cry and/or lose my hope for the future of humanity.&lt;/li&gt;
&lt;li&gt;Finish up the blogpost by adding links, references, and images.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Writing a blogpost this way can still be a lot of work, but it definitely beats transcribing 30 minutes of audio by hand. As added bonus, I now have text-searchable (and search engine discoverable!) textual versions of my past talks.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/transcribing-talks-with-chatgpt-and-whisper/index.html"/>
    <summary type="html">&lt;p&gt;This blogpost was co-created with ChatGPT. In this blogpost, I will describe the workflow I used to efficiently turn my talk videos into blogposts with&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/transcribing-talks-with-chatgpt-and-whisper/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/transcribing-talks-with-chatgpt-and-whisper/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Natural language generation"/>
    <category term="Projects"/>
    <published>2022-12-11T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/stock-market-video-games-neopets/index.html</id>
    <title>Stock market games: Neopets</title>
    <updated>2023-01-10T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;This post is part of my Stock Market Video Games series! In these posts, I'll do a deepdive in the stock markets that we can find in video games!
I want to find out how these fictional stock markets behave, and how they differ from the real world. Are they random or realistic simulations? And how can we use that knowledge to get excess returns? After all, we should only invest in what we understand.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As far as stock market video games go, the first virtual stock market I encountered was in online game environment Neopets, around the early 2000s.&lt;/p&gt;
&lt;p&gt;Neopets is a website where you take care of a virtual pets, play games and interact with the world of Neopia and other Neopets players.
On the website, you can play online flash games in exchange for virtual money, or NP (neo points).
I would spend NP on buying food or items for my virtual pets. I would save my money in the Bank of Neopia, which would give me a whopping 12% interest (!).
However, after playing for a while, I found out that &amp;quot;investing&amp;quot; my NP in the Neopets Stock Market would yield even more than that.&lt;/p&gt;
&lt;h2&gt;How it works for players&lt;/h2&gt;
&lt;p&gt;NeoPets has a large community, so we can find quite some guides online that explain how their stock market works.
Most of the information in this post is taken from &lt;a href="https://www.jellyneo.net/?go=neopian_stock_market"&gt;this excellent guide&lt;/a&gt; by Jellyneo.net.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Stocks are shares in 40+ fictional Neopets-themed companies. Some companies can be found as location in the Neopets game environment.&lt;/li&gt;
&lt;li&gt;There is no &amp;quot;fundamental&amp;quot; information, apart from the ticker, a flavor icon, and stock price all companies are indistinguishable&lt;/li&gt;
&lt;li&gt;Stock prices update every 30 minutes&lt;/li&gt;
&lt;li&gt;The stock market is always open&lt;/li&gt;
&lt;li&gt;You can only buy stocks that have a stock price of 15 NP or above, although there is a special in-game reward that allows you to buy stocks with a minimum price of 10 NP.&lt;/li&gt;
&lt;li&gt;Stock prices are integers &amp;gt;= 6. The &lt;a href="https://neostocks.info/?period=all"&gt;highest price ever recorded&lt;/a&gt; according to NeoStock.info is VPTS, with a price of 1770 NP.&lt;/li&gt;
&lt;li&gt;A stock value will never go below 6 NP, but there is (in theory) unlimited upside.&lt;/li&gt;
&lt;li&gt;Players can buy at most 1,000 stocks per day&lt;/li&gt;
&lt;li&gt;Players can sell unlimited stocks per day for a fee of 20 NP.&lt;/li&gt;
&lt;li&gt;The stock market has a daily reset that determines opening prices and the 1,000 shares cap for buying shares&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Realism&lt;/h2&gt;
&lt;p&gt;If we look at the list above, the NeoPets stock market does &lt;em&gt;not&lt;/em&gt; seem very realistic.
The market is always open, there are hard caps on buying activity, and stock prices change only 48 times per day.
Stock prices seem to be random, and companies are interchangeable apart from ticker and price.
Realistic bits are that players pay transaction costs for selling stocks, and some companies have disappeared over the years.&lt;/p&gt;
&lt;p&gt;According to &lt;a href="%5D(https://www.jellyneo.net/?go=neopian_stock_market)"&gt;Jellyneo.net's guide&lt;/a&gt;, stock prices USED to be linked to in-game economics. However, this led to stock price manipulation by groups of players, so now prices are random:&lt;/p&gt;
&lt;blockquote&gt;
"Other than the current prices, the different companies are functionally indistinguishable. Years ago, the Stock Market was actually influenced by how well certain Neopian businesses did; for example, Hubert's Hot Dog stocks went up and down in value depending on how many items the shop of the same name sold. However, this led to pockets of users grouping together and buying out entire shops to inflate the value of their stocks, so The Neopets Team put a stop to that. These days, stock price updates are random, though [they] do follow some patterns [...]."
&lt;/blockquote&gt;
&lt;p&gt;Fan-website &lt;a href="https://neostocks.info/"&gt;Neostocks.info&lt;/a&gt; hosts statistics about the the NeoPets stock market in general, and specific stocks. In earlier years, the website neodaq.com (now down) had advanced tools for monitoring the Neopets stock market, including game timers, technical charts, and elaborate Excel sheets for tracking player portfolios. I can imagine that charting and technical trading was a real thing for hard-core players back when the stock prices were still linked to in-game user behavior.&lt;/p&gt;
&lt;p&gt;Using archive.org, I looked up the &lt;a href="https://web.archive.org/web/20030920141740/http://neodaq.com/index.php?page=history2"&gt;list of tickers on neodaq.com&lt;/a&gt;, which listed 52 companies in 2003. Neostocks.info lists 43 companies, so some companies have disappeared or &amp;quot;gone bankrupt&amp;quot;.&lt;/p&gt;
&lt;p&gt;A funny detail is that Neopets has a stockbroker character called &lt;a href="https://bookofages.jellyneo.net/characters/411/"&gt;Nigel the Chia&lt;/a&gt;, who will occassionally give you tips about which stocks to buy. However, his tips are truly &lt;a href="https://www.jellyneo.net/?go=random_events"&gt;random&lt;/a&gt;, so following Nigel's tips is generally detrimental to your return.
I suspect these events are hard-coded sentences with random tickers, because I've read that some of the stocks he recommends no longer exist.
Whenever you want to sell stocks, Nigel the stockbroker earns a trading fee of 20 NP. That's a nice touch of realism: it's a bad idea to blindly follow stock tips, and your stock broker will always profit from increased trading activity.&lt;/p&gt;
&lt;h2&gt;How it works under the hood&lt;/h2&gt;
&lt;p&gt;Some NeoPets player communities have collected 6 months of stock price data and done some analysis to find patterns, such as price change distributions. According to Jellyneo's guide, the stock market prices can be modelled as a Markov chain. Only the current stock price determines the minimum and maximum price change, and all stocks follow the same probability distributions.&lt;/p&gt;
&lt;p&gt;I think this visualization by Reddit user &lt;a href="https://www.reddit.com/r/neopets/comments/af8p38/comment/edwe8lo/"&gt;not-the-artist&lt;/a&gt; says it all:
&lt;img class="img-fluid my-2" src="/images/neopets-analysis-by-not-the-artist-reddit.png" /&gt;&lt;/p&gt;
&lt;p&gt;If you want to know more about the distributions, read &lt;a href="https://www.jellyneo.net/?go=neopian_stock_market"&gt;Detailed Stock Behavior&lt;/a&gt; in Jellyneo's guide, or the &lt;a href="https://www.reddit.com/r/neopets/comments/af8p38/comment/edwe8lo/"&gt;Reddit post that inspired it&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;How to get rich*&lt;/h2&gt;
&lt;p&gt;*in the NeoPets stock market&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Only buy at stock prices of 15 NP&lt;/li&gt;
&lt;li&gt;Only sell at a profit&lt;/li&gt;
&lt;li&gt;Have patience&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Profit guaranteed :)&lt;/p&gt;
&lt;p&gt;Of course, this is what made the Neopets stock market so enticing for me, as a ten year old: &amp;quot;Unlike the real world, you are guaranteed to make a profit on all of your stocks eventually; it's just a matter of waiting.&amp;quot;&lt;/p&gt;
&lt;p&gt;I remember I would buy stocks only when they were at 15 NP. I would spread my expendable NP income over multiple cheaply priced stocks and... just wait for the price to go up. Since there were no company fundamentals, no analist coverage, or investor relations updates to follow, I only had to wait (days or weeks) before the price would have randomly ambled to 30, and I would sell at a 100% or more return. The only thing I had to do was check the stock prices once every day.&lt;/p&gt;
&lt;h2&gt;More&lt;/h2&gt;
&lt;p&gt;This concludes my research into NeoPets Stock Market! If you would like more background about NeoPets, I can recommend this &lt;a href="https://www.youtube.com/watch?v=rI5cu3G5oXk"&gt;micro-documentary about NeoPets&lt;/a&gt; by &lt;a href="https://www.youtube.com/@PeopleMakeGames"&gt;People Make Games&lt;/a&gt;:&lt;/p&gt;
&lt;iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/rI5cu3G5oXk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;I hope you enjoyed this blogpost.
If you know of any other video games with stock markets that I should play and/or look into, drop me a line below in the comments, via email or Twitter!&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/stock-market-video-games-neopets/index.html"/>
    <summary type="html">&lt;p&gt;This post is part of my Stock Market Video Games series! In these posts, I'll do a deepdive in the stock markets that we can&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/stock-market-video-games-neopets/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/stock-market-video-games-neopets/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Finance"/>
    <category term="Video games"/>
    <published>2023-01-10T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/job-hunting-tips-for-people-in-tech/index.html</id>
    <title>Job hunting tips for people in tech</title>
    <updated>2023-06-01T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;A friend of mine is currently looking for a new job. She was asking around for a few good tips on job hunting.
I spent quite some time looking for a job right after finishing my PhD in 2022, so I had ample to share.
After penning down these tips on irc, we decided that storing them in a more persistent, public place might be useful for others as well.&lt;/p&gt;
&lt;p&gt;Please keep in mind that everything below is based on my personal experience and might be overfitted to an extraverted tech-worker in the Netherlands.&lt;/p&gt;
&lt;h2&gt;Tip 1: Take your time.&lt;/h2&gt;
&lt;p&gt;The process of job hunting can be exhausting. Reflecting on what you want, exploring your options, searching vacancies, and applying for jobs takes time and energy. Finding a good job is a marathon, not a short distance race. Pace yourself and treat yourself kindly.&lt;/p&gt;
&lt;h2&gt;Tip 2: Define your nightmare scenario&lt;/h2&gt;
&lt;p&gt;Create a &amp;quot;dealbreaker&amp;quot; list that highlights things you absolutely cannot tolerate in a job. Take the time to visualize the worst job in the world. This list will help you determine which opportunities are not worth your time and energy. And even if you receive a high salary offer from a place that ticks a few of the items on your dealbreaker list, this will help you with saying no to the temptation. You can also use it to evaluate your new job, after you've been there for a few months: did any of these dealbreaker properties pop up in after a while?&lt;/p&gt;
&lt;p&gt;Here is my dealbreaker list from 2021 as an example:&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3&gt;My nightmare job&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Lengthy daily commute by car or train&lt;/li&gt;
&lt;li&gt;Working over 40 hours per week&lt;/li&gt;
&lt;li&gt;Frequent overtime, on-call, night, or weekend shifts&lt;/li&gt;
&lt;li&gt;Lack of personal development opportunities or training&lt;/li&gt;
&lt;li&gt;Limited vacation days&lt;/li&gt;
&lt;li&gt;Micromanagement, e.g. fine-grained time tracking&lt;/li&gt;
&lt;li&gt;Difficult to take leave&lt;/li&gt;
&lt;li&gt;Lack of supportive or friendly colleagues&lt;/li&gt;
&lt;li&gt;No job security or permanent contract&lt;/li&gt;
&lt;li&gt;Working in a restructuring organization&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://web.archive.org/web/20180807024932/http://strikemag.org/bullshit-jobs/"&gt;bullshit job&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Being underpaid compared to peers with similar backgrounds or experience&lt;/li&gt;
&lt;li&gt;Working for a financially unstable organization&lt;/li&gt;
&lt;li&gt;Being the only woman in the team&lt;/li&gt;
&lt;li&gt;Bro-grammer or macho culture&lt;/li&gt;
&lt;li&gt;A highly competitive work environment&lt;/li&gt;
&lt;li&gt;Strict 9-to-5 (or longer) presence requirement at my desk&lt;/li&gt;
&lt;li&gt;Overly strict punctuality rules&lt;/li&gt;
&lt;li&gt;Limited influence over my workprocess.&lt;/li&gt;
&lt;li&gt;No autonomy&lt;/li&gt;
&lt;li&gt;Narrowly defined role&lt;/li&gt;
&lt;li&gt;Lack of acceptance for alternative clothing, progressive values, etc&lt;/li&gt;
&lt;li&gt;An organization reluctant to use open-source software like Linux or Git, preferring corporate-style software&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;This list turned out to be very important to me. A financial company had offered me a job with really high compensation, but just before I signed the contract, the HR manager came back to tell me they could not support remote working of any kind. This meant I would have to commute for 3-4 hours every day -- something that violated multiple points on my dealbreaker list. ;)
I took a job closer to home, which was the best decision I made that year.&lt;/p&gt;
&lt;h2&gt;Tip 3: Reflect on your dream job&lt;/h2&gt;
&lt;p&gt;Make a second list, this time with all the properties of &amp;quot;the perfect job&amp;quot;. &lt;a href="/blog/2017/searching-for-a-job-after-graduation.html"&gt;As I've said before&lt;/a&gt;, this is a great starting point for hunting jobs online. Think about everything that you would like or that makes you happy: travel distance, salary, day-to-day activities, work culture, colleagues, working in a specific sector, working with specific technologies.&lt;/p&gt;
&lt;p&gt;Here is my dream job description from 2021 as an example:&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3&gt;My dream job&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Close to or in my hometown, or completely remote&lt;/li&gt;
&lt;li&gt;In finance or related to investing&lt;/li&gt;
&lt;li&gt;High probability of fixed contract&lt;/li&gt;
&lt;li&gt;Salary of at least X&lt;/li&gt;
&lt;li&gt;Involves at least some research&lt;/li&gt;
&lt;li&gt;Requires software engineering and data wrangling&lt;/li&gt;
&lt;li&gt;My PhD research is relevant or my research skills can be applied&lt;/li&gt;
&lt;li&gt;Environment that allows me to learn a bit more about running a business&lt;/li&gt;
&lt;li&gt;Small or medium sized company&lt;/li&gt;
&lt;li&gt;Not a non-profit or government org&lt;/li&gt;
&lt;li&gt;Allows me to talk, blog, publish etc. about my work&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Tip 4: Ask other people for advice&lt;/h2&gt;
&lt;p&gt;Once you know what you are looking for in a job, it's time to talk to other people about this.
Use your IRL social network (friends, family, peers, colleagues) and online social networks (e.g. Mastodon, LinkedIn) to find people that are already working in your dream job. In other words, look for people who you'd want to trade places with.&lt;/p&gt;
&lt;p&gt;Send these people a message such as this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;Hello, nice to meet you! I'm [your name here]. I'm currently doing X, but I would like to do Y in the future. I see that you are doing Z. Could we have a 30-minute virtual coffee chat and discuss this further? I'm curious about your advice / I would like to ask you some questions.&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Here are some examples for Z:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&amp;quot;You work at a company I like!&amp;quot;&lt;/li&gt;
&lt;li&gt;&amp;quot;You work in a sector I'm interested in!&amp;quot;&lt;/li&gt;
&lt;li&gt;&amp;quot;You did a cool relevant hobby project!&amp;quot;&lt;/li&gt;
&lt;li&gt;&amp;quot;You gave an interesting talk!&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;When I was preparing for a job in industry in the final year of my PhD, I cold-emailed a bunch of people like this. 80% of people said yes (and 20% of people never responded). In many of the conversations, I was offered a follow-up conversation with a hiring manager job, even when that was not my intention when I requested the conversation.&lt;/p&gt;
&lt;p&gt;Why does this approach work? If you are sending messages to the right people, and you are respectful and show up prepared, people don't mind investing a bit of time in you. Most people will say &amp;quot;yes&amp;quot; because everyone likes talking to an enthusiastic person!&lt;/p&gt;
&lt;p&gt;Besides, most successful company are always looking for good employees, and these are particularly hard to find. If you're proactively reaching out to other people, this shows you are a person with soft skills. If your contact liked talking to you, they might think &amp;quot;hey-- I bet this person would be a fun colleague!&amp;quot; Your contact will tell their manager/HR department/friend at another place about the positive impression you made. Suddenly the barrier to getting hired is much lower than when you would've applied somewhere through a job ad.&lt;/p&gt;
&lt;h2&gt;Tip 5: The internet is a gold mine.&lt;/h2&gt;
&lt;p&gt;Reading can give you an information advantage. Being more prepared than the average applicant will immediately pay off.
Patrick McKenzie wrote two very useful blog posts about &lt;a href="https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/"&gt;careers&lt;/a&gt; and &lt;a href="https://www.kalzumeus.com/2012/01/23/salary-negotiation/"&gt;salary negotiations&lt;/a&gt;. If you ask me, this is non-optional reading.&lt;/p&gt;
&lt;p&gt;Dutch entrepreneur Bert Hubert also gave an interesting &lt;a href="https://www.youtube.com/watch?v=Lf-LljB2EYk"&gt;talk&lt;/a&gt; titled &amp;quot;Career Development &amp;amp; Money: How to be happy at work for the next 40 years (from a mostly Dutch/European IT perspective)&amp;quot;.&lt;/p&gt;
&lt;h2&gt;Tip 6: Search for technologies, not roles&lt;/h2&gt;
&lt;p&gt;You can of course apply to jobs through official published vacancies on &amp;quot;careers&amp;quot; pages or vacancy sites like Indeed. However, finding suitable technical jobs can be difficult because role titles tend to change as frequently as JavaScript frameworks (pun by ChatGPT). Searching for specific technologies such as languages (Python), libraries (Pandas) or frameworks worked much better for me than searching for specific roles like data scientist or machine learning engineer.&lt;/p&gt;
&lt;p&gt;On that subject: if you're in data science, be aware that the title &amp;quot;data scientist&amp;quot; is very problematic. At one company, it means &amp;quot;person who uses Excel or Tableau fulltime&amp;quot;, while at another company it means &amp;quot;person who manages AWS instances and builds custom ML pipelines using 200 different bleeding-edge technologies&amp;quot;. If you're planning on applying to a &amp;quot;data science&amp;quot; role, be sure to come to the interview with an extensive list of questions to see which variety they actually mean...&lt;/p&gt;
&lt;h2&gt;Tip 7: Give context for your skills&lt;/h2&gt;
&lt;p&gt;Many tech CVs have to pass Human Resources before they are sent to CTOs and technology managers. We techies LOVE putting large lists of programming languages, tools and obscure libraries in our CVs, to show off our projects and how competent we are.
However, these lists are often difficult to interpret for people without a tech background!&lt;/p&gt;
&lt;p&gt;This slide from a &lt;a href="https://www.youtube.com/watch?v=0hR4peP9V4A"&gt;talk by Vincent D. Warmerdam&lt;/a&gt; illustrates the problem nicely:&lt;/p&gt;
&lt;img src="/images/vincent-warmerdam-pokemon-recruiter-meme.png" class="img-fluid" alt="My linkedin profile: R, python, javascript, shiny, dplyr, purrr, ditto, ggplot, d3, canvas, spark, sawk, pyspark, sparklyR, lodash, lazy, bootstrap, jupyter, vulpix, git, flask, numpy, pandas, feebas, scikit, pgm, bayes, h2o.ai, sparkling-water, tensorflow, keras, onyx, ekans, hadoop, scala, unity, metapod, gc, c#/C++, krebase, neo4j, hadoop. I typically ask recruiters to point out which of these are pokemon."/&gt;
&lt;p&gt;A recruiter advised me to include a 'tech translation page' in my CV. This page should be a prose description of how and when I would use the things I listed as my technical proficiencies.&lt;/p&gt;
&lt;p&gt;Time for a concrete example! Instead of writing&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Operating systems: Windows, Linux (Arch Linux, Debian/Ubuntu, Kali), iOS, Android&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;you can write&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I’m familiar with Windows, multiple flavors of Linux, iOS and Android. I use Linux for development and other technical tasks. I run Arch Linux on my personal laptops and manage multiple VPSes (virtual private servers) that typically run Debian. In the past I’ve also used Ubuntu, Linux Mint, and Kali Linux for projects in the information security domain.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A longer example can be found on page 3 of &lt;a href="https://jd7h.com/dump/cv-Judith-van-Stegeren.pdf"&gt;an old version of my CV&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the days before ChatGPT, this appendix also signaled to hiring managers that you could actually write a piece of text.
Now that we have large language models, every text might be written by a robot, so I wonder how long we will keep using written applications...&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;I hope these tips were useful! Good luck with your job hunt.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/job-hunting-tips-for-people-in-tech/index.html"/>
    <summary type="html">&lt;p&gt;A friend of mine is currently looking for a new job. She was asking around for a few good tips on job hunting. I spent&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/job-hunting-tips-for-people-in-tech/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/job-hunting-tips-for-people-in-tech/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Career"/>
    <category term="How-to"/>
    <published>2023-06-01T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/how-to-install-herrie-music-player/index.html</id>
    <title>How to install Herrie on Arch Linux</title>
    <updated>2024-09-02T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;&lt;a href="https://web.archive.org/web/20120119130515/http://herrie.info/"&gt;Herrie&lt;/a&gt; is the best music player there is! That is, if you're like me and you like minimal terminal applications.&lt;/p&gt;
&lt;p&gt;&lt;img src="images/herrie-music-app-screenshot.png" alt="screenshot of herrie, a minimal music player, running in a terminal" /&gt;&lt;/p&gt;
&lt;p&gt;Whenever I get a new laptop and a fresh Arch Linux installation I immediately miss it -- once every 6 years, which is exactly long enough to forget how to install it. ;)
It used to be in the &lt;a href="https://web.archive.org/web/20131222162153/https://aur.archlinux.org/packages.php?do_Details=1&amp;amp;ID=11623"&gt;AUR&lt;/a&gt;, but not anymore.
So here's a cheatsheet for installing Herrie on Arch Linux in 2024, even though the application was last actively developed in the 00s.
I think Herrie's longevity is a testament to the creator's superior programming skills. Thanks Ed! &amp;lt;3&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-bash"&gt;# install dependencies
sudo pacman -S gettext dbus dbus-glib glib2 base-devel glib2-devel \
alsa-lib libao libcurl-gnutls libid3tag libmad libmodplug libsndfile \
libvorbis ncurses pulseaudio

# get the latest version of the repository
# NOT the latest official release herrie 2.2
git clone git@github.com:EdSchouten/herrie.git

# get libxspf from the AUR: 
wget https://aur.archlinux.org/cgit/aur.git/snapshot/libxspf.tar.gz
tar xzfv libxspf.tar.gz
cd libxspf
makepkg -sri
cd ..
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sometimes the compiler is complaining about missing &lt;code&gt;somefile_c.h&lt;/code&gt; files, even when you're sure you've installed the right package.
The compiler might be expecting the files in &lt;code&gt;/usr/include&lt;/code&gt; but sometimes they're in &lt;code&gt;/usr/include/some_lib&lt;/code&gt;.
You can create a symlink to fix that.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-bash"&gt;sudo ln -s /usr/include/libmodplug/modplug.h /usr/include/
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Install herrie. Herrie defaults to using ALSA so if you use pulseaudio, don't forget to explicitly tell &lt;code&gt;./configure&lt;/code&gt;.
Read the README for more info on the &lt;code&gt;./configure&lt;/code&gt; flags.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-bash"&gt;cd herrie/herrie
./configure pulse
make
sudo make install
&lt;/code&gt;&lt;/pre&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/how-to-install-herrie-music-player/index.html"/>
    <summary type="html">&lt;p&gt;Herrie is the best music player there is! That is, if you're like me and you like minimal terminal applications. Whenever I get a new&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/how-to-install-herrie-music-player/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/how-to-install-herrie-music-player/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="How-to"/>
    <published>2024-09-02T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/lessons-learned-in-phd-year-one/index.html</id>
    <title>Lessons from the first year of my PhD</title>
    <updated>2025-06-16T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;I finished my PhD in computer science more than three years ago. Now that I have a little bit of mental distance from my PhD time, I'm going through my research diary to see if there's stuff in there that can be useful for other people.&lt;/p&gt;
&lt;p&gt;Apparently I'm incapable of writing short-form texts, so here is part 1. ;)&lt;/p&gt;
&lt;h3&gt;General life advice&lt;/h3&gt;
&lt;p&gt;When you're stuck, ask for help.&lt;/p&gt;
&lt;h3&gt;Research&lt;/h3&gt;
&lt;p&gt;Take inspiration from chemists/laboratory workers and keep a research log. It will occasionally save your life (and sanity). My log from year 1 is 139 pages long. That's about half the length of my PhD thesis.&lt;/p&gt;
&lt;p&gt;Your research log doesn't have to be fancy. My research log was just a very long Libreoffice document. Each entry consists of a date and whatever I wanted to write about that day! It's filled with braindumps, todo lists, project ideas, observations, philosophical ramblings, doubts, meeting notes, and questions.&lt;/p&gt;
&lt;p&gt;I recommend that you keep your research log 100% private so there's no pressure to sound smart or sophisticated whatsoever. Express yourself freely while writing in this doc. It will help you think.&lt;/p&gt;
&lt;p&gt;It's a perfectly valid strategy to enter a new research field by reading interesting-looking papers and painstakingly looking up every unknown abbreviation, word, concept, and technique. Here's a list from my first week at work, way back in 2018:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Definitions to look up after reading survey paper 1:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;computational linguistics&lt;/li&gt;
&lt;li&gt;nlproc&lt;/li&gt;
&lt;li&gt;canned strings&lt;/li&gt;
&lt;li&gt;English glosses&lt;/li&gt;
&lt;li&gt;lexical items&lt;/li&gt;
&lt;li&gt;ontological status of categories&lt;/li&gt;
&lt;li&gt;surface linguistic forms&lt;/li&gt;
&lt;li&gt;discourse history&lt;/li&gt;
&lt;li&gt;morphologic&lt;/li&gt;
&lt;li&gt;orthographic&lt;/li&gt;
&lt;li&gt;bidirectional grammars&lt;/li&gt;
&lt;li&gt;linearising words&lt;/li&gt;
&lt;li&gt;forest (machine learning)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Every research project starts with not knowing what you're going to do (exactly). This should not worry you or cause anxiety: it is an integral part of the process.&lt;/p&gt;
&lt;p&gt;Start writing your thesis from day 1, even if it's just writing down the main premise of a paper in two sentences.&lt;/p&gt;
&lt;p&gt;Research can be an intangible activity, so take measures to make it more tangible! This helps to combat PhD progress anxiety. I did this by writing my research log, evaluating my overall progress and happiness via a monthly evaluation questionnaire (blogpost forthcoming), and making daily tallies of distraction-free pomodoro sessions.&lt;/p&gt;
&lt;p&gt;When I started my PhD, it took me an entire workday to work through a single 8-page conference paper. This will get better over time.&lt;/p&gt;
&lt;p&gt;Never forget you're studying a subfield of a subfield of a subfield. You can't know everything. See also Matt Might's &lt;a href="https://matt.might.net/articles/phd-school-in-pictures/"&gt;Illustrated Guide to a PhD&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you're feeling insecure about your research work: talk about your insecurities with friends, family and colleagues - but, whatever happens, continue working. Don't let your insecurities hold you back. In the words of Matt Might: be &lt;a href="https://matt.might.net/articles/successful-phd-students/"&gt;tenacious&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When doing a PhD you will invariably bump into your own weaknesses. In the end you're the project manager and the only project contributor.&lt;/p&gt;
&lt;p&gt;When designing experiments with human participants: it's a huge advantage if the researcher does not have to be in the room while the data gathering/experiment takes place. This way you can do longitudinal experiments without sacrificing all your research time because you have to babysit (sometimes literally) your participants.&lt;/p&gt;
&lt;p&gt;There is a large difference in quality between PhD courses. Ask your colleagues which courses are worth your time and consider ignoring/replacing the rest.&lt;/p&gt;
&lt;p&gt;Half of the experiments in Human Media Interaction don't involve any automated system at all. Instead these experiments are &lt;a href="https://en.wikipedia.org/wiki/Wizard_of_Oz_experiment"&gt;&amp;quot;wizarded&amp;quot;&lt;/a&gt;: a PhD student sits behind a curtain and acts like an automated system, so that data gathering can take place. And yes, sometimes it's hard not to laugh when you're being the Wizard.&lt;/p&gt;
&lt;h3&gt;Applied research&lt;/h3&gt;
&lt;p&gt;If you're creating software/code artifacts during your PhD, it's worthwhile to invest in your software engineering skills. Scripting (=run once code) is not the same as software engineering! Find people that are working as a software engineer in industry and humbly ask them for feedback on your code. Thanks to the advice of my friends, I got started with virtual environments, pinning my dependencies, linters, some typechecking (but still not enough), more complex version control, and writing basic tests.&lt;/p&gt;
&lt;p&gt;Not all learning needs to immediately pay off. You should have some time for exploring new technologies or doing sideprojects. For example, I started learning Flask, Django, test-driven development, typed Python, and Javascript in my first year. I also built a first (tiny) js game, a static site generator, a few webscrapers, a text generation demo based on &lt;a href="/blog/random-tony-generates-chocolate-flavours-from-context-free-grammar/"&gt;grammars&lt;/a&gt; (so cute!), and did more devops on my VPS because I managed the website for our research consortium.&lt;/p&gt;
&lt;p&gt;Try out demos or beta products of companies operating within your area of expertise. This gives you a sense of what industry is working on and what they're considering worthwhile problems. Example: in January 2018 I tried out &amp;quot;Microsoft Cognitive Services&amp;quot; which had a picture description API at the time. This was before LLMs with vision capabilities so this was a big deal! Another colleague (specialized in dialogue systems) was doing side-projects on a secondhand Amazon Echo device.&lt;/p&gt;
&lt;p&gt;If you have to create artifacts (games, stories, illustrations, large documents that are not scientific papers or your PhD thesis, ...) for your research project, and they're not essential to the research itself, try to work from things that already exist as much as possible.&lt;/p&gt;
&lt;p&gt;For demo sessions and demo markets at conferences: pre-recorded videos are the way to go. Live demos are cool, but the chance that your multi-component text generation pipeline suddenly doesn't work is not worth it. Better not waste the precious time and attention from audience in the room, or the people who wandered past your corner of the demo floor.&lt;/p&gt;
&lt;p&gt;Demos don't have to be representative or recent, as long as they're entertaining, they bring your point across and spark conversations with new and relevant people.&lt;/p&gt;
&lt;h3&gt;Communication&lt;/h3&gt;
&lt;p&gt;It is completely unnecessary in academia to explain &lt;em&gt;why&lt;/em&gt; you're asking a question.&lt;/p&gt;
&lt;p&gt;Ask open questions, and try not to fill in too much when asking questions. I noticed people ask closed questions for various reasons. Some people want to look smart. Other people mistakingly think communication is more &amp;quot;efficient&amp;quot; if they can guess upfront what your answer will be.
Example: if I ask someone &amp;quot;Did you use technique X?&amp;quot;, they will say &amp;quot;No, I used technique Y&amp;quot;, and spend most of their time explaining why they're not using X -- which is not what I wanted to know. It's better to ask &amp;quot;What is the underlying technique?&amp;quot;.&lt;/p&gt;
&lt;h3&gt;Networking&lt;/h3&gt;
&lt;p&gt;Find your community within academia. Find a group of people that shares your research interests, with a positive, non-toxic, supportive culture. No, just having shared research interests is not enough.&lt;/p&gt;
&lt;p&gt;Find your peers! Your direct colleagues at your university might not be working on the same topic as you, but some people in the world probably are. It often takes a few months before you visit your first academic conference and meet these international colleagues. Luckily, you can speed up this process a bit. Every now and then, spend some time on the internet and use your best &lt;a href="https://en.wikipedia.org/wiki/Open-source_intelligence"&gt;OSINT&lt;/a&gt; skills to find pockets of people working on similar stuff as you. Look into social media platforms, &amp;quot;old-skool&amp;quot; mailinglists, irc channels, forums, research magazines, or special interest &amp;quot;workgroups&amp;quot;. For example, my first conference was CLIN28 (Computational Linguistics in the Netherlands) and I discovered many relevant people and cool projects by trawling Twitter for historical mentions of &amp;quot;CLIN&amp;quot; or the conference website.&lt;/p&gt;
&lt;p&gt;Great ways to find conferences to attend or follow: ask your supervisor; visit the conferences that have published your favorite paper in their &amp;quot;conference proceedings&amp;quot;; stalk your academic friends on social networks; subscribe to relevant newsletters and alerts; any websites/groups/other conferences mentioning a conference you've already visited.&lt;/p&gt;
&lt;p&gt;I hope this was useful. See also my &lt;a href="/blog/twitter-guide-for-researchers/"&gt;blogpost about using &lt;s&gt;Twitter&lt;/s&gt; microblogging as a researcher&lt;/a&gt;, and &lt;a href="/blog/networking-tips-for-your-first-conference/"&gt;tips for attending (industry) conferences&lt;/a&gt;.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/lessons-learned-in-phd-year-one/index.html"/>
    <summary type="html">&lt;p&gt;I finished my PhD in computer science more than three years ago. Now that I have a little bit of mental distance from my PhD&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/lessons-learned-in-phd-year-one/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/lessons-learned-in-phd-year-one/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Career"/>
    <category term="How-to"/>
    <category term="Research"/>
    <published>2025-06-16T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/pragmatic-method-for-picking-phd-research-projects/index.html</id>
    <title>A pragmatic method for picking PhD research projects</title>
    <updated>2025-06-17T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;This blogpost applies (as all my PhD related writings) to a PhD in computer science in the Netherlands. It will be different for other research fields and other countries.&lt;/p&gt;
&lt;p&gt;In The Netherlands, most PhD students get a contract as university employees for 4 years.
After the first 12-18 months there is an evaluation moment. By then, you are expected to have either your first conference paper under your belt (co-written with your supervisor), or at least have a paper manuscript ready for publication.&lt;/p&gt;
&lt;p&gt;In my experience you can defend your PhD in computer science if you managed to get 4 conference papers published and gather these in a PhD thesis with an acceptable &amp;quot;narrative arc&amp;quot;: a logical string of research questions within a specific narrow research field.&lt;/p&gt;
&lt;p&gt;That means that if you manage to do one research project per year and publish it in a conference, you're on track with your PhD.&lt;/p&gt;
&lt;h3&gt;Too many ideas, too little time&lt;/h3&gt;
&lt;p&gt;Of course, as a PhD student you're always pressed for time.&lt;/p&gt;
&lt;p&gt;Apart from reading papers, writing code, conducting experiments, doing evaluations, and writing papers, you're also spending time on teaching, mandatory coursework, meetings, helping your colleagues, loafing around the coffee machine, traveling, and exchanging ideas with highly-educated strangers. You might do an internship at a company, or perform extra academic service activities to prepare for your next job interview: (sub)reviewing papers, organizing workshops, and so on.&lt;/p&gt;
&lt;p&gt;So your research must be reasonably efficient.&lt;/p&gt;
&lt;p&gt;To make matters worse, you probably have more research ideas than you can execute on during your PhD time.&lt;/p&gt;
&lt;p&gt;You're especially liable to Research Idea Overabundance if:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;you have many different interests and see connections everywhere&lt;/li&gt;
&lt;li&gt;you are surrounded by interesting people&lt;/li&gt;
&lt;li&gt;you work on multidisciplinary problems&lt;/li&gt;
&lt;li&gt;you like to read widely&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Choose anyway&lt;/h3&gt;
&lt;p&gt;The list below describes a very pragmatic approach for selecting research ideas.&lt;/p&gt;
&lt;p&gt;You can use this list of statements to find the most promising research ideas, in such a way that will &lt;em&gt;probably&lt;/em&gt; allow you to finish your PhD within the fixed term of 4 years.&lt;/p&gt;
&lt;p&gt;The checklist is meant for selecting research projects that take 3-6 months, and have a reasonable chance of succeeding and getting published.&lt;/p&gt;
&lt;p&gt;If you do one such project every 6 months, you can do 7 full research projects in 3.5 years and then still have take 6 months to finish up your thesis and find your next job.
Not all your projects might end up in your PhD thesis, and that's fine.
The focus of your thesis will probably shift organically over time, as you collaborate with different colleagues and develop your own research vision.&lt;/p&gt;
&lt;p&gt;I would argue that it's even possible to do a 6-month research project in the first half year of your PhD.
In fact, I highly recommend it.
Just treat it as a more advanced master's thesis.
It probably won't be your best work, because when you start, you're still feeling out the nuances of your research field.
But you will immediately get your feet wet, and you'll probably learn a lot faster than when you're spending your first 6 months just reading survey papers and worrying about your qualifier exams.&lt;/p&gt;
&lt;h3&gt;My experience&lt;/h3&gt;
&lt;p&gt;I used this approach to pick research projects during my PhD, and I was finished within 4 years. I would strive to do two 6-month projects per year, and have time left for submitting papers, waiting for reviews, and dealing with unforeseen setbacks.&lt;/p&gt;
&lt;p&gt;In the end I finished with 10 publications -- written between 2018 and 2021 with various wonderful co-authors -- of which several were suitable for inclusion in the narrative arc of my PhD thesis.&lt;/p&gt;
&lt;h2&gt;Checklist for selecting a 6-month research project&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Something similar has been done before, but not exactly the same. List similar papers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You can find peer-reviewed literature on this topic. List papers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It's clear which subfield of your work domain this research falls into. List the most important keywords you will use to describe the research project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You can come up with a good validation method for your research. List papers that use same methodology.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;All necessary data is available or can easily be created. List links to datasets.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;All necessary code is available or can easily be created. List links to git repositories, models, Python packages etc.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;All necessary hardware, infrastructure and other resources are available or can easily be obtained. List resources and how/where you will get them.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It's clear what problems you will encounter during your research. List of problems and how you will tackle them.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There is someone who can help you if you get stuck with your research. List names, contact details and their expertise.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The research is interesting from an academic perspective. Do &lt;s&gt;ancient men with beards&lt;/s&gt; established people in your field find this interesting or remarkable? Describe your reasoning.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bonus points: the research is interesting from a commercial/economic perspective. Do entrepreneurs, companies, multinationals benefit from it? Describe your reasoning.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bonus points: the research is interesting from a societal perspective. Does your mother, grandmother, or neighbor benefit from it? People from other countries? Specific groups? Extend this question according to your personal values. Describe your reasoning.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There is a journal or conference where the paper that describes this research will fit in. List names of publications. You get bonus points if your paper will cite other papers from this publication.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The research can be completed within an estimated 6 months. Incorporate time for unforeseen problems: plan for 4 months and the work will probably be done in 6 months. Add a rough weekly planning.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The research project cannot be broken up into sub-projects worthy of a full conference paper. If your research projects can be divided up even further: that's great! Write down your vision for the larger project, and go through this checklist for each subproject. No cheating.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://blog.regehr.org/archives/46"&gt;John Regehr wrote&lt;/a&gt;: &amp;quot;Every good research idea is a departure from the accepted wisdom, but it's important to depart at the right level.&amp;quot; So... &lt;em&gt;is&lt;/em&gt; your departure from accepted wisdom at the right level? Find the middle ground between &amp;quot;Everyone is wrong! I know better!&amp;quot; and &amp;quot;This small insignificant change has no impact on the world whatsoever.&amp;quot; Describe your reasoning.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The paper fits into your envisioned narrative arc of your PhD thesis. Describe how the main research question of the project relates to your other papers or research topics.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I hope this list helps you with finishing your PhD on time.
Feel free to also send this to your master students when they're struggling to pick a worthwhile topic for their master thesis.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/pragmatic-method-for-picking-phd-research-projects/index.html"/>
    <summary type="html">&lt;p&gt;This blogpost applies (as all my PhD related writings) to a PhD in computer science in the Netherlands. It will be different for other research&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/pragmatic-method-for-picking-phd-research-projects/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/pragmatic-method-for-picking-phd-research-projects/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="How-to"/>
    <category term="Research"/>
    <published>2025-06-17T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/niels-van-spaendonck-kunstenaar/index.html</id>
    <title>Niels van Spaendonck, kunstenaar</title>
    <updated>2025-06-29T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;This blogpost is a write-up of some internet research I did on Niels van Spaendonck after buying her etching &amp;quot;Ampullen&amp;quot;. The original write-up is in Dutch, but if you're curious and can't understand Dutch, just use your browser-native translation functionality or throw this post in GoogleTranslate. Machine translation is pretty decent nowadays. :)&lt;/p&gt;
&lt;p&gt;&lt;img src="images/artworks/ampullen-niels-van-spaendonck-in-frame.jpg" alt="Ampullen (1980) van Niels van Spaendonck" /&gt;&lt;/p&gt;
&lt;p&gt;Ik heb onlangs de ets/aquatint &amp;quot;Ampullen&amp;quot; van Niels van Spaendonck gekocht. Hij hing in een chaotische kringloopwinkel en viel bijna niet op tussen alle zooi, maar de zachte structuur van de ets fascineerde me. Ik kon bij thuiskomst erg weinig over deze kunstenaar vinden, dus ik heb wat online onderzoek gedaan en hieronder verzameld wat ik kon vinden.&lt;/p&gt;
&lt;h2&gt;Over Niels van Spaendonck&lt;/h2&gt;
&lt;p&gt;Allereerst: Niels van Spaendonck is een vrouw. Niels is een afkorting van Reinilda.&lt;/p&gt;
&lt;blockquote&gt;Reinilda Carola Anna Maria Dolk (‘Niels’) geb. Leiden 27 augustus 1910. Woonde en werkte in Leiden, Rijswijk, Den Haag; thans in Tilburg. 
Huwde 31-7-1939 te Tilburg met E. A. J. A. M. van Spaendonck. Leerlinge van de Akademie v. B.K. in Den Haag, etsles van R. van Rossem en lessen van W. van Leusden; later avondcursussen op de Bredase Akademie ‘St. Joost’.
Schildert portretten, tekent (pen) en etst naar vrije verbeelding. Verkreeg een prijs voor portretschilderen onder de leden van ‘Kunstliefde’ te Utrecht, waar zij lid van is.&lt;/blockquote&gt;
&lt;p&gt;Bron: Lexicon Nederlandse beeldende kunstenaars 1750-1950 van Pieter Scheen (1969), gepubliceerd op &lt;a href="https://www.ensie.nl/pieter-scheen/reinilda-carola-anna-maria-dolk"&gt;Ensie.nl&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;De achternaam van Niels van Spaendonck is nogal verwarrend, en dat komt omdat ze trouwde met een familielid! Haar moeder was Aloysia (&amp;quot;Louise&amp;quot;, &amp;quot;Louisa&amp;quot; of &amp;quot;Wies&amp;quot;) van Spaendonck en haar vader's achternaam was Dolk.&lt;/p&gt;
&lt;blockquote&gt;Aloysia Christina Vincentius Maria van Spaendonck (‘Louise’) geb. Tilburg 15 juli 1888, overl. Tilburg 14 december 1967. Huwde 27-11-1908 aldaar met H. C. M. Dolk, van wie 14-3-1925 in Den Haag gescheiden.
Moeder van de schilderes R. C. A. M. Dolk. Woonde en werkte in Tilburg, Leiden, Rijswijk (Z.H.), Den Haag en Tilburg. Leerlinge van Ch. L. P. Zilcken.
Schilderde en aquarelleerde stillevens, bloemen en portretten.
Exposeerde in Den Haag. Leiden en Tilburg.&lt;/blockquote&gt;
&lt;p&gt;Bron: Lexicon Nederlandse beeldende kunstenaars 1750-1950 van Pieter Scheen (1969), gepubliceerd op &lt;a href="https://www.ensie.nl/betekenis/aloysia-christina-vincentius-maria-van-spaendonck"&gt;Ensie.nl&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Niels huwde op 31 juli 1939 met Eduardus Andreas Josephus Antonius Maria van Spaendonck uit Tilburg. Dat was een achterneef uit Tilburg met dezelfde achternaam als haar moeder.&lt;/p&gt;
&lt;p&gt;Stamboom Niels van Spaendonck:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reinilda Carola Anna Maria Dolk was een kind van Henricus Carolus Marie Dolk en Aloysia Christina Vincentius Maria van Spaendonck&lt;/li&gt;
&lt;li&gt;Aloysia Christina Vincentius Maria van Spaendonck was een kind van Carolus Gerardus Joseph Maria van Spaendonck en Anna Maria Francisca Houben&lt;/li&gt;
&lt;li&gt;Carolus Gerardus Joseph Maria was een kind van Andreas Josephus van Spaendonck en Maria Rosalia Janssens&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Stamboom Eduard van Spaendonck (echtgenoot van Niels):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mr. Eduardus Andreas Josephus Antonius Maria van Spaendonck was een kind van Eduardus Antonius Maria van Spaendonck en Ludovica Antonia Maria Mutsaers&lt;/li&gt;
&lt;li&gt;Eduardus Antonius Maria was een kind van Andreas Josephus van Spaendonck en Maria Rosalia Janssens&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bovenstaande gegevens komen uit &lt;a href="https://www.genealogieonline.nl/stamboom-driessen/I14131.php"&gt;Stamboom Driessen op Genealogieonline.nl&lt;/a&gt;. Online stambonen zijn niet altijd de meest betrouwbare informatiebron, maar de gegevens komen overeen met wat ik elders heb gevonden.&lt;/p&gt;
&lt;p&gt;Eduardus van Spaendonck werkte als notaris, en commissaris bij de Tilburgsche Waterleiding Maatschappij en de Tilburgsche Spaarbank. Zijn aktetas is Brabants materieel erfgoed! Meer informatie over zijn leven vind je bij &lt;a href="https://www.brabantserfgoed.nl/collectie/object/enb-324-objecten/8e557bb03c83e2cc794ff7838cf6c42a272f4fb2"&gt;Brabants Erfgoed&lt;/a&gt; of &lt;a href="https://stadsmuseumtilburg.nl/collecties/?diw-id=brabantcloud_enb-324-objecten_enb-324.objecten-df261a78-7d51-85c6-557f-c785fd622109-4c13dffa-20bf-4446-b40b-fd25ca2cb9a5"&gt;Stadsmuseum Tilburg&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Niels van Spaendonck overleed op 27-10-2002. Ze ligt begraven in Tilburg, samen met haar echtgenoot. Bron: &lt;a href="https://www.online-begraafplaatsen.nl/zerken.asp?command=showgraf&amp;amp;bgp=449&amp;amp;grafid=305455&amp;amp;view=Zerkenlijst&amp;amp;page=17"&gt;Begraafplaats Heike Tilburg&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Lijst van kunstwerken&lt;/h2&gt;
&lt;p&gt;Het oudste werk dat ik online heb kunnen vinden is uit 1972, toen was Niels van Spaendonck ongeveer 62 jaar oud. Hier is de lijst van alle werken die online staan in chronologische volgorde:&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-man-en-vrouw-in-tuin.jpg" alt="Niels van Spaendonck - Man en vrouw in tuin (1972)" /&gt;&lt;/p&gt;
&lt;p&gt;Man en vrouw in tuin (1972)
Bron: &lt;a href="https://www.kunstveiling.nl/items/niels-van-spaendonck-niels-van-spaendonck-ets-en-aquatint-man-en-vrouw-in-tuin/218348"&gt;kunstveiling.nl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-wind.jpeg" alt="Niels van Spaendonck - Wind (1972)" /&gt;&lt;/p&gt;
&lt;p&gt;Wind (1972)
Bron: Marktplaats.nl&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-klanken.jpg" alt="Niels van Spaendonck - Klanken (1973)" /&gt;&lt;/p&gt;
&lt;p&gt;Klanken (1973)
Bron: &lt;a href="https://www.kunstveiling.nl/items/niels-van-spaendonck-niels-van-spaendonck-ets-en-aquatint-klanken/28148"&gt;kunstveiling.nl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/no-image-available.jpg" alt="No image available" /&gt;&lt;/p&gt;
&lt;p&gt;Dansende vrouw (1974)
Bron: gecachete advertentie op Marktplaats.nl&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-tussen-takjes.jpg" alt="Niels van Spaendonck - Tussen takjes (1975)" /&gt;&lt;/p&gt;
&lt;p&gt;Tussen takjes (1975)
Bron: &lt;a href="https://www.vanbommelvandam.nl/collectie/zoeken/kunstenaar-niels-van-spaendonck/"&gt;Museum Van Bommel Van Dam&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-oude-tekens.jpg" alt="Niels van Spaendonck - Oude tekens (1975)" /&gt;&lt;/p&gt;
&lt;p&gt;Oude tekens (1975)
Bron: &lt;a href="https://www.vanbommelvandam.nl/collectie/zoeken/kunstenaar-niels-van-spaendonck/"&gt;Museum Van Bommel Van Dam&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-fantasiefiguren.jpeg" alt="Niels van Spaendonck - Fantasiefiguren (?) (1975)" /&gt;&lt;/p&gt;
&lt;p&gt;Fantasiefiguren (?) (1975)
Bron: &lt;a href="https://www.kunstveiling.nl/items/niels-van-spaendonck-ets-en-aquatintfantasie-figuren-ingelijst/291632"&gt;Kunstveiling.nl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-de-koning-danst.jpg" alt="Niels van Spaendonck - De koning danst (1977)" /&gt;&lt;/p&gt;
&lt;p&gt;De koning danst (1977)
Bron: &lt;a href="https://www.heden.nl/kunstenaar-collectie/Niels%20van%20Spaendonck"&gt;Stichting Heden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-meisje-1977.jpg" alt="Niels van Spaendonck - Meisje (1977)" /&gt;&lt;/p&gt;
&lt;p&gt;Meisje (1977)
Bron: &lt;a href="https://www.invaluable.com/auction-lot/spaendonck-n-van-1910-meisje-colour-4926-c-47444eed8d"&gt;Invaluable&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-winterlandschap.jpg" alt="Niels van Spaendonck - Winterlandschap (1978)" /&gt;&lt;/p&gt;
&lt;p&gt;Winterlandschap (1978)
Bron: &lt;a href="https://www.vanbommelvandam.nl/collectie/zoeken/kunstenaar-niels-van-spaendonck/"&gt;Museum Van Bommel Van Dam&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-boompjes.jpg" alt="Niels van Spaendonck - Boompjes (1978)" /&gt;&lt;/p&gt;
&lt;p&gt;Boompjes (1978)
Bron: &lt;a href="https://www.kunstveiling.nl/items/niels-van-spaendonck-niels-van-spaendonck-ets-en-aquatint-boompjes/218333"&gt;kunstveiling.nl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-in-het-bos.jpg" alt="Niels van Spaendonck - In het bos (1979)" /&gt;&lt;/p&gt;
&lt;p&gt;In het bos (1979)
Bron: &lt;a href="https://stichtingkunstcollectie.nl/collectie/68"&gt;Stichting Kunstcollectie Essent + Enexis&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-wording.jpg" alt="Niels van Spaendonck - Wording (1979)" /&gt;&lt;/p&gt;
&lt;p&gt;Wording (1979)
Bron: &lt;a href="https://www.kunstveiling.nl/items/niels-van-spaendonck-niels-van-spaendonck-aquatint-wording/48651"&gt;kunstveiling.nl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/artworks/ampullen-niels-van-spaendonck.jpg" alt="Niels van Spaendonck - Ampullen (1980)" /&gt;&lt;/p&gt;
&lt;p&gt;Ampullen (1980)
Bron: mijn eigen collectie en &lt;a href="https://www.kunstveiling.be/items/niels-van-spaendonck-niels-van-spaendonck-aquatint-ampullen/48649"&gt;kunstveiling.be&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-de-geest-uit-de-fles.jpg" alt="Niels van Spaendonck - De geest uit de fles (1980)" /&gt;
De geest uit de fles (1980)
Bron: &lt;a href="https://stichtingkunstcollectie.nl/collectie/61"&gt;Stichting Kunstcollectie Essent + Enexis&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-muzische-sfeer.jpg" alt="Niels van Spaendonck - Muzische sfeer (1980)" /&gt;
Muzische sfeer (1980)
Bron: &lt;a href="https://www.artpeers.de/nl/items/niels-van-spaendonck-niels-van-spaendonck-muzische-sfeer/177286"&gt;artpeers.de&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-stilleven.jpg" alt="Niels van Spaendonck - Stilleven (1983)" /&gt;
Stilleven (1983)
Bron: &lt;a href="https://www.vanbommelvandam.nl/collectie/zoeken/kunstenaar-niels-van-spaendonck/"&gt;Museum Van Bommel Van Dam&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/niels-van-spaendonck-stilleven-in-de-schemering.jpg" alt="Niels van Spaendonck - Stilleven in de schemering (1983)" /&gt;
Stilleven in de schemering (1983)
Bron: &lt;a href="https://www.vanbommelvandam.nl/collectie/zoeken/kunstenaar-niels-van-spaendonck/"&gt;Museum Van Bommel Van Dam&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="images/no-image-available.jpg" alt="No image available" /&gt;
Hemelse boodschap (jaar onbekend)
Bron: gecachete advertentie op Marktplaats.nl&lt;/p&gt;
&lt;h2&gt;Familie&lt;/h2&gt;
&lt;p&gt;De familie Van Spaendonck is een &lt;a href="https://historietilburg.nl/wp-content/uploads/Jaargang-24-2006-nummer-1.pdf"&gt;familie uit de gegoede burgerij uit Tilburg&lt;/a&gt; die ook veel kunstenaars heeft voortgebracht. De beroemdste kunstenaar uit deze grote familie is &lt;a href="https://nl.wikipedia.org/wiki/Gerard_van_Spaendonck"&gt;Gerardus van Spaendonck&lt;/a&gt;, die aan het hof van koning Louis XVI van Frankrijk werkte als bloemschilder en miniatuurschilder. Een van zijn bloemstillevens hangt in het &lt;a href="https://www.rijksmuseum.nl/nl/collectie/object/Bloemstilleven-met-albasten-vaas--145500dc2288c281ad302d482caf592d"&gt;Rijksmuseum&lt;/a&gt;. Het Parool schreef in 2018 &lt;a href="https://www.parool.nl/kunst-media/rijksmuseum-verwerft-bloemstilleven-van-spaendonck~ba9b88e5/"&gt;een artikel&lt;/a&gt; over deze aanwinst.
Gerard kreeg geen kinderen, dus Niels van Spaendonck is geen directe afstammeling van hem.&lt;/p&gt;
&lt;p&gt;In 2010 was er een gezamelijke tentoonstelling van actieve kunstenaars uit de familie Van Spaendonck in Tilburg. In de &lt;a href="https://www.trouw.nl/nieuws/de-van-spaendoncken-delen-hun-kunstgenen~b294b26c/"&gt;Trouw van 3 mei 2010&lt;/a&gt; staat een leuk interview met drie van de exposerende familieleden: Els van Spaendonck, Marie-Colette van Spaendonck en Joris van Spaendonck.&lt;/p&gt;
&lt;blockquote&gt;
[...] 
Ruim twintig Van Spaendoncken exposeren in het Duvelhok, een oud fabriekspand in het centrum van Tilburg. Ze stammen uit een familie van welgestelde Tilburgers, die ooit haar kapitaal vergaarde in de wollenstoffenindustrie Daarnaast is de familie al eeuwenlang artistiek. In het Duvelhok hangen kunstwerken van de laatste generatie. De diversiteit is groot: er hangt werk van bejaarde Van Spaendoncken naast tekeningen die een 17-jarige Van Spaendonck maakte op school. Opvallende metalen sculpturen, stillevens van boeken en schilderijen, van mensfiguren met enorme open monden delen de ruimte. Een enorm bloedend hart, uitgevoerd in wol, hangt in een hoek. 
[...]
De familie verwijst graag naar de afstamming van Gerard en Cornelis van Spaendonck: gerenommeerde kunstenaars uit de achttiende eeuw. Gerard schopte het tot hofschilder van de Franse koning Lodewijk XVI. Zijn werk hangt in het Louvre in Parijs. „Ze hadden beiden geen kinderen”, zegt Joris. „Dat heeft een oom van me ooit verteld.”Toch zit kunst ook deze tak van de familie in het bloed, zegt Marie-Colette. Zijzelf groeide op zonder haar kunstminnende Van Spaendonck-vader, die omkwam in de oorlog. Het was niet haar opvoeding die haar aanzette tot beeldhouwen en later tot fotograferen. Haar moeder had er niets mee. „Het is een drang, ik moet me bezighouden met wat mooi is, dingen betekenis geven”, zegt ze. Alle Van Spaendoncken delen dat gevoel voor esthetiek, denkt Marie-Colette, ook de niet-kunstenaars. „Het huis van mijn grootmoeder was prachtig ingericht. Alle dingen waren in balans.”&lt;/blockquote&gt;
&lt;h2&gt;Tentoonstellingen&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://artindex.nl/lexicon/default.asp?id=6&amp;amp;num=0151900087075010651191797009850910506591"&gt;Artindex.nl&lt;/a&gt; heeft een uitgebreide lijst van publicaties en tentoonstellingen van Niels van Spaendonck. Hieronder noem ik de dingen die ik d.m.v. het internet kon verifieren, op chronologische volgorde:&lt;/p&gt;
&lt;p&gt;Uit de &lt;a href="https://leiden.courant.nu/issue/LLC/1969-06-23/edition/0/page/2"&gt;Leidse Courant&lt;/a&gt; van maandag 23 juni 1969:&lt;/p&gt;
&lt;blockquote&gt;Galerie de Sfinx, O.Z. Vooburgwal 241, Amsterdam, exposeert tot zondag 6 juli (1969) schilderijen en grafiek van Niels van Spaendonck&lt;/blockquote&gt;
&lt;p&gt;Uit &lt;a href="https://www.cursor.tue.nl/magazine-archief/volume/12/"&gt;th berichten 34&lt;/a&gt;, 12e jaargang, 15 mei 1970:&lt;/p&gt;
&lt;blockquote&gt;Agenda: Tentoonstellingen: Galerie Willy Schoots: Niels van Spaendonck, grafiek en tekeningen&lt;/blockquote&gt;
&lt;p&gt;Volgens &lt;a href="https://rkd.nl/library/149775"&gt;het RKD&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;Niels van Spaendonck exposeert in de Schouwburg - Galerie grafiek;  Schouwburg Tilburg; 1972-04-14 tot 1972-05-04&lt;/blockquote&gt;
&lt;p&gt;Uit het &lt;a href="https://resolver.kb.nl/resolve?urn=ddd:010556233:mpeg21:a0176"&gt;Limburgs dagblad 16-01-1973&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
Bonnefantenmuseum: Schilderijen, etsen van Willem van Leusden, etsen van Niels van Spaendonck, tm 28 januari van 10 tot 12 en van 14 tot 17 uur, zaterdags en zondags van 14 tot 17 uur. &lt;/blockquote&gt;
&lt;p&gt;Van het Utrechts Archief, in &lt;a href="https://hetutrechtsarchief.nl/collectie/609C5BB082A34642E0534701000A17FD"&gt;777-1: Schilder- en tekenkundig genootschap Kunstliefde te Utrecht&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
"2. Lijst van gehouden tentoonstellingen over 1807-1977:&lt;/br&gt;
1971: "Vrouwen van Kunstliefde", werk van Ton Diekstra, A.L. Boellaard van Heeckeren, Emmy Eerdmans, Antoinette Gispen, Charlotte Groen, Jo de Recht, N. van Spaendonck-Dolk, Eka Thoden van Velzen en Plony van Zuylen, 27 november-18 december. &lt;/br&gt;
1974: Grafiek van Niels van Spaendonck, en beeldhouwwerk van Joep Faddegon, 12 januari-3 februari. 
&lt;/blockquote&gt;
&lt;p&gt;Uit &lt;a href="https://leiden.courant.nu/issue/LLC/1977-05-13/edition/0/page/16"&gt;Leidse courant 13 mei 1977&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
Exposities: De Plataan (stationsstraat zoetermeer) Niels van Spaendonck tm 28 mei werkdagen 13.30-17, vrij 19-21.&lt;/blockquote&gt;
&lt;p&gt;Van de &lt;a href="https://www.ekathodensculpturen.nl/over-eka/"&gt;website van Eka Thoden&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;Utrecht, “Kunstliefde”, duo-tentoonstelling met Niels van Spaendonck, 1978&lt;/blockquote&gt;
&lt;p&gt;Uit het cultureel supplement van &lt;a href="https://www.nrc.nl/nieuws/1985/04/19/agenda-exposities-kb_000028255-a3431640"&gt;NRC handelsblad&lt;/a&gt; van 19 april 1985:&lt;/p&gt;
&lt;blockquote&gt;Putten Gem[eente] Huis: Niels van Spaendonck e.a., tot 5 mei.&lt;/blockquote&gt;
&lt;h2&gt;Veilingen&lt;/h2&gt;
&lt;p&gt;In de context van veilingen kwam ik Niels van Spaendonck maar twee keer tegen:&lt;/p&gt;
&lt;p&gt;Catalogus van &lt;a href="https://veilinghuispeerdeman.nl/catalogus2.php?id=81&amp;amp;back=all"&gt;Veilinghuis Peerdeman&lt;/a&gt; voor zondag 9 maart 2014:&lt;/p&gt;
&lt;blockquote&gt;Niels van Spaendonck (1910), zes kleurenetsen, allen gesigneerd en gedateerd '82, '83 en '84 - Niet verkocht&lt;/blockquote&gt;
&lt;p&gt;Catalogus van het &lt;a href="https://zeeuwsveilinghuis.nl/wp-content/uploads/2025/04/Indonesian-Art-13-May-2025.pdf"&gt;Zeeuws Veilinghuis&lt;/a&gt; van mei 2025, en een kopie op &lt;a href="https://www.invaluable.com/auction-lot/isaac-israels-1865-1934-self-portrait-in-his-stud-39-c-c064da2b53"&gt;Invaluable.com&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;Isaac Israels (1865-1934) 'Self portrait in his studio', ca. 1931, signed lower left (in the painting on the easel), oil on panel. H. 26.5 cm. W. 35 cm. Provenance: Louise Dolk-van Spaendonck, a painter who was friends with Isaac Israels (Israels probably gave the painting to her); Reinilda van Spaendonck-Dolk, better known as Niels van Spaendonck (also a painter); thence by descent. See 'Lexicon Nederlandse beeldende kunstenaars 1750-1950' by Pieter Scheen, volume MZ, 1970, p. 373 for more information about Louise Dolk-van Spaendonck.&lt;/blockquote&gt;
&lt;h2&gt;Collecties&lt;/h2&gt;
&lt;p&gt;Er bevinden zich 5 werken van Niels van Spaendonck in de collectie van Museum Van Bommel Van Dam: &amp;quot;tussen takjes&amp;quot;, &amp;quot;stilleven&amp;quot;, &amp;quot;stilleven in de schemering&amp;quot;, &amp;quot;winterlandschap&amp;quot;, &amp;quot;oude tekens&amp;quot;. Bron: &lt;a href="https://www.vanbommelvandam.nl/collectie/zoeken/kunstenaar-niels-van-spaendonck/"&gt;Museum Van Bommel Van Dam&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Stichting kunstcollectie Essent-Enexis heeft &amp;quot;In het bos&amp;quot; en &amp;quot;De geest uit de fles&amp;quot;. Bron: &lt;a href="https://stichtingkunstcollectie.nl/kunstenaar/34"&gt;Stichting kunstcollectie Essent-Enexis&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Stichting Heden, een kunstuitleen in Den Haag, heeft &amp;quot;De koning danst&amp;quot;. Bron: &lt;a href="https://www.heden.nl/kunstenaar-collectie/Niels%20van%20Spaendonck"&gt;Stichting Heden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Stichting Océ Kunstbezit heeft volgens &lt;a href="https://www.artindex.nl/lexicon/default.asp?id=6&amp;amp;num=0831307591011090000750279011590751803230"&gt;ARTindex Lexicon Online&lt;/a&gt; ook werk van Niels van Spaendonck, maar ik kon niet vinden welke.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/niels-van-spaendonck-kunstenaar/index.html"/>
    <summary type="html">&lt;p&gt;This blogpost is a write-up of some internet research I did on Niels van Spaendonck after buying her etching &amp;quot;Ampullen&amp;quot;. The original write-up is in&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/niels-van-spaendonck-kunstenaar/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/niels-van-spaendonck-kunstenaar/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Art"/>
    <published>2025-06-29T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/eerste-kennismaking-met-kunstveiling/index.html</id>
    <title>Eerste kennismaking met een kunstveiling</title>
    <updated>2025-06-30T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;There is also an English translation of this post here: &lt;a href="blog/my-first-visit-to-art-auction"&gt;My first experience with an art auction&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Na het lezen van &lt;em&gt;Onschatbare waarde&lt;/em&gt; (2004) van Bert Bakker en Johan Bosch van Rosenthal was ik wel benieuwd naar hoe zo'n veiling in het echt verloopt. Het dichtstbijzijnde grote veilinghuis is Veilinghuis Derksen in Arnhem, dus ik had in mei 2025 de kijkdagen van hun eerstvolgende veiling in mijn agenda gezet.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/onschatbare-waarde-bert-bakker-boek.webp" alt="Omslag van het boek Onschatbare waarde, geschreven door Bert Bakker en Johan Bosch van Rosenthal, 2004" /&gt;
    &lt;figcaption&gt;Onschatbare waarde, Bert Bakker en Johan Bosch van Rosenthal, 2004&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Kijkdag in Arnhem&lt;/h2&gt;
&lt;p&gt;Een week voor de veilingdagen bleek ik ook daadwerkelijk tijd te hebben om er langs te gaan. Mooi! Ik kon via de website alvast de hele catalogus van de veiling bekijken. Met een account kon ik alvast een shortlist maken van interessante objecten.&lt;/p&gt;
&lt;p&gt;Ik zag veel leuks. Ik ben voornamelijk geinteresseerd in 2D kunst, dus er stonden voornamelijk schilderijen op mijn shortlist, van serieuze olieverf schilderijen tot moderne grafiek.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/schilderij-platbodem-volle-zee-hoffmanns.jpg" alt="Schilderij van een platbodem op volle zee met driekleur bij het roer" /&gt;
    &lt;figcaption&gt;
&lt;p&gt;Gesigneerd G J Hoffmans, platbodem op volle zee met driekleur bij het roer, paneel 20e eeuw, 40x50 cm&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
    &lt;img src="images/hendrik-valk-naakt-ingelijst-zeefdruk.jpg" alt="Zeefdruk van een gestileerd naakt door Hendrik Valk" /&gt;
    &lt;figcaption&gt;Hendrik Valk (1897-1986), Naakt, zeefdruk gedateerd 1963, EA, 47/100, 25,5x18 cm&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
    &lt;img src="images/keisuke-yamamoto-light-time-silence-24.jpg" alt="Zwart-wit litho van Keisuke Yamamoto van een eenzame stoel in een verder lege kamer met dramatische lichtval. In de achtergrond een grote raampartij met daarachter wolken." /&gt;
    &lt;figcaption&gt;Keisuke Yamamoto (1961-), "Light Time Silence 24", litho genummerd 3/20, 47x87 cm&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Op zondag, de laatste dag van de kijkdagen, belde ik last-minute naar Christiaan om te vragen of hij mee wilde. We gaan normaal gesproken samen graag kringlopen af. Hij had tijd, dus we konden samen in zijn auto carpoolen naar Arnhem. We hebben ons twee uur goed vermaakt met kijken naar meer dan 3000 kavels die stonden uitgestald in het gebouw van Derksen. Drie verdiepingen met schilderijen, keramiek, glaswerk, antieke meubels, prenten, aziatische kunst zoals Chinees porselein en Japanse netsuke, sieraden en horloges, oude Leica fotocamera's, en nog wat &amp;quot;rariteiten&amp;quot; die niet in een categorie vallen.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/ivoren-netsuke-aap-japan-meiji-periode.jpg" alt="Ivoren netsuke van een aap uit Japan" /&gt;
    &lt;figcaption&gt;Ivoren netsuke van een aap, Japan, Meiji periode ca. 1900, 31 mm hoog&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Christiaan verzamelt glas en houdt van fotografie, en ik verzamel grafiek. Daarnaast houden we allebei ontzettend van Japanse kunst. We hebben ons in Arnhem uitstekend vermaakt. ;)&lt;/p&gt;
&lt;p&gt;Ik vroeg me vantevoren af hoe ze de honderden ingelijste werken gingen tonen die in de veilingcatalogus stonden -- die zou je niet allemaal tegelijk in een veilinghuis kunnen ophangen, daarvoor waren het er teveel. Beneden hingen de meeste olieverfschilderijen, en op de eerste verdieping stonden grote houten stellingkasten met daarin de minder dure grafiek netjes op een rij, zoals in een bibliotheek. Als je bepaalde prenten in het echt wilde zien, moest je het kavelnummer doorgeven aan de vriendelijke meneer achter de balie, en dan werden de werken voor je uit de stellingkast gehaald.&lt;/p&gt;
&lt;p&gt;Christiaan en ik zagen allebei wel dingen die ons aanspraken, dus gewapend met een reeks notities gingen we weer terug naar huis.&lt;/p&gt;
&lt;h2&gt;Voorbereiding&lt;/h2&gt;
&lt;p&gt;In de hele week na de kijkdagen was er elke avond om 19:00 een live veiling via het internet. Derksen streamt alle veilingen via hun website, met een veilingzaal zonder publiek. Het bieden verloopt volledig via internet. Medewerkers van Derksen zitten wel in de zaal en representeren in real-time via hun laptop de biedingen van het online publiek.&lt;/p&gt;
&lt;p&gt;Daarnaast werden de minder bijzondere kavels verkocht via een &amp;quot;timed online veiling&amp;quot;, wat ongeveer vergelijkbaar is met een veiling op Ebay: de kavels hebben een duidelijke countdown timer, alle biedingen zijn openbaar, en je hebt lang de tijd (bijvoorbeeld een week) om een bod uit te brengen.&lt;/p&gt;
&lt;p&gt;Ik wilde wel meebieden op een aantal werken die ik in het veilinghuis in het echt had gezien, dus ik heb twee avonden meegekeken met de live veilingen. Op maandag werden er alleen antieke meubels geveild, iets waar ik geen directe interesse in had, dus ik heb die veiling gekeken om eens te zien hoe het allemaal werkt.&lt;/p&gt;
&lt;p&gt;Om te voorkomen dat ik teveel of te weinig zou gaan bieden, deed ik voor de werken waar ik Serieuze Interesse in had eerst wat vooronderzoek. Wat kost een vergelijkbaar werk van deze maker typisch gezien? Met of zonder lijst? In wat voor staat is het werk? Wat is de oplage? Met deze informatie bepaalde ik hoeveel ik zelf bereid was om er voor te betalen.&lt;/p&gt;
&lt;p&gt;Ik maakte ook een Excelsheet met daarin alle biedstappen exclusief en inclusief de veilingkosten van 30%. Hiermee kon ik snel zien wat ik netto kwijt zou zijn bij een bepaald bod. Een bod van 100 euro betekent namelijk 130 euro afrekenen. Omdat het om een percentage gaat, kan het bij een hoger bedrag erg snel gaan met de bijkomende veilingkosten.&lt;/p&gt;
&lt;p&gt;Ik zag tijdens de meubelveiling van maandag al dat het snel kon gaan. Er leek ongeveer ~1 seconde latency te zijn bij mijn videoverbinding met de veilingzaal, wat betekende dat je als bieder snel moet reageren. Anders zit er teveel tijd tussen het moment dat de veilingmeester in het echt afhamert, en het moment dat jij op je scherm ziet dat dit gebeurt, en kan het zomaar voorkomen dat je te laat bent met je bod. Met mijn voorbereiding zorgde ik ervoor dat ik een duidelijk plan had en tijdens de veiling zelf zo min mogelijk hoefde na te denken.&lt;/p&gt;
&lt;h2&gt;Deelname live en timed online veilingen&lt;/h2&gt;
&lt;p&gt;De schilderijen en grafische werken die live werden geveild werden uiteindelijk te duur voor mij en mijn aanvalsplan, waarna ik heel braaf stopte met bieden. Maar de hilarische glazen tijger die in de vitrine stond, naast de glaskunst die Christiaan uitvoerig had bekeken tijdens de kijkdag, bleef keurig binnen mijn budget. Deze ga ik komende woensdag ophalen in Arnhem.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/glazen-beeld-zittende-tijger.jpg" alt="Glazen beeld van een zittende tijger" /&gt;
    &lt;figcaption&gt;Polychroom glazen beeld van een zittende tijger, 27,5 cm hoog&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Oeps, naast grafiek en keramiek heb ik nu dus ook mijn eerste glazen object.&lt;/p&gt;
&lt;p&gt;Bij de timed veilingen had ik ook verschillende ervaringen. Ik vond het fijn dat hier in ieder geval wat minder tijdsdruk achter zat. Sommige leuke werken stegen erg snel in prijs, dus daar haakte ik op een gegeven moment af. Andere werken spraken mij erg aan, terwijl er juist heel weinig interesse was van andere veilingdeelnemers. Uiteindelijk kocht ik nog 4 ingelijste werken voor 5, 5, 15 en 15 euro in de timed veilingen. Twee aquarellen van Henri Herman L. Tieland, een Chinees/Japanse inkttekening van pruimenbloesem en een kleurrijk werk van Dirkjan Ribbeling.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/sumi-e-pruimen-bloesem-china-japan.jpg" alt="Uploaded image" /&gt;
    &lt;figcaption&gt;Sumi-e schilderij van pruimenbloesems&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Conclusies&lt;/h2&gt;
&lt;p&gt;Ik weet niet of ik nog in de toekomst vaak wil deelnemen aan live veilingen. Ik vind het concept van geld uitgeven onder tijdsdruk heel vervelend. Daarnaast moet je soms best lang wachten op de kavelnummers die je interessant vind. Het is onmogelijk om exact in te schatten wanneer kavels uit jouw shortlist langskomen in de live veiling, en de eerste keer dat ik dit probeerde, was ik meteen te laat. Het verschilt namelijk heel sterk hoe lang de veilingmeester doet over 1 kavel. Bij sommige kavels is het al snel duidelijk dat er niemand interesse heeft, en is de veiling na 30 seconden voorbij. Bij andere kavels gaat het bieden lang door. Zo ging het bieden op een prachtige art nouveau kast door tot wel 1400 euro.&lt;/p&gt;
&lt;p&gt;Het viel me ook op dat ik totaal niet in kon schatten wat de uiteindelijke veilingprijs ging worden voor de kavels. Een litho van Escher met serieuze waterschade werd verkocht voor 650 euro. Een rijkbewerkte Indonesische kris (een soort kort zwaard) met schede werd verkocht voor maar 45 euro.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/escher-orde-chaos-litho-waterschade.jpg" alt="Litho van M.C. Escher getiteld Orde en Chaos met waterschade" /&gt;
    &lt;figcaption&gt;Maurits Cornelis Escher (1898-1972), getiteld "Orde en Chaos", kompasroos, litho 1955, 40x38 cm (waterschade aan rand onderzijde en rechterzijkant)
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Het zal iets te maken hebben met vraag en aanbod, afwezigheid/aanwezigheid van specialistische kennis onder de veilingdeelnemers, de stand van de economie, de gewildheid van sommige kunstenaars, tijdsperiodes of stijlen in de huidige kunstmarkt, en nog allerlei andere aspecten.&lt;/p&gt;
&lt;p&gt;Deze &amp;quot;willekeur&amp;quot; is ook wat mij zo fascineert aan veilingen en (de economie van) de kunstwereld.&lt;/p&gt;
&lt;p&gt;Ik heb het gelukkig heel makkelijk. Ik hoef alleen maar 3 vragen te beantwoorden: vind ik het leuk, past het qua grootte in mijn huis, en is het binnen budget?&lt;/p&gt;
&lt;p&gt;Er is in ieder geval geen enkele correlatie tussen hoe mooi of interessant ik iets vind en hoe duur het is.&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/eerste-kennismaking-met-kunstveiling/index.html"/>
    <summary type="html">&lt;p&gt;There is also an English translation of this post here: My first experience with an art auction . Na het lezen van Onschatbare waarde (2004)&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/eerste-kennismaking-met-kunstveiling/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/eerste-kennismaking-met-kunstveiling/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Art"/>
    <published>2025-06-30T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.judithvanstegeren.com/blog/my-first-visit-to-art-auction/index.html</id>
    <title>My first visit to an art auction</title>
    <updated>2025-06-30T00:00:00+00:00</updated>
    <content type="html">&lt;p&gt;&lt;em&gt;This is an English translation of my Dutch post &lt;a href="blog/eerste-kennismaking-met-kunstveiling"&gt;Eerste kennismaking met een kunstveiling&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;After reading &lt;em&gt;Onschatbare waarde&lt;/em&gt; (&amp;quot;Priceless Value&amp;quot;) (2004) by Bert Bakker and Johan Bosch van Rosenthal, I wanted to experience an art and antiques auction in real life. The nearest major auction house is Veilinghuis Derksen in Arnhem, so last May I marked the viewing days of their next auction in my calendar.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/onschatbare-waarde-bert-bakker-boek.webp" alt="Cover of the book Onschatbare waarde, written by Bert Bakker and Johan Bosch van Rosenthal, 2004" /&gt;
    &lt;figcaption&gt;Onschatbare waarde ("Priceless Value"), Bert Bakker and Johan Bosch van Rosenthal, 2004&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Viewing day in Arnhem&lt;/h2&gt;
&lt;p&gt;A week before the auction days, it turned out I actually had some time to visit. Great! I could already view the entire auction catalog on the website. With an account, I could create a shortlist of interesting objects.&lt;/p&gt;
&lt;p&gt;I saw many appealing items. I'm primarily interested in 2D art, so my shortlist mainly consisted of art on paper, from serious oil paintings to modern art prints.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/schilderij-platbodem-volle-zee-hoffmanns.jpg" alt="Painting of a flat-bottomed boat on the open sea with tricolor at the helm" /&gt;
    &lt;figcaption&gt;
&lt;p&gt;Signed G J Hoffmans, flat-bottomed boat on open sea with tricolor at the helm, panel 20th century, 40x50 cm&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
    &lt;img src="images/hendrik-valk-naakt-ingelijst-zeefdruk.jpg" alt="Screen print of a stylized nude by Hendrik Valk" /&gt;
    &lt;figcaption&gt;Hendrik Valk (1897-1986), "Naakt" ("Nude"), screen print dated 1963, artist's proof, 47/100, 25.5x18 cm&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
    &lt;img src="images/keisuke-yamamoto-light-time-silence-24.jpg" alt="Black and white lithograph by Keisuke Yamamoto of a solitary chair in an otherwise empty room with dramatic lighting. In the background, a large window section with clouds behind it." /&gt;
    &lt;figcaption&gt;Keisuke Yamamoto (1961-), "Light Time Silence 24", lithograph numbered 3/20, 47x87 cm&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;On Sunday, the last day of viewing, I called Christiaan last-minute to ask if he wanted to come with me. We enjoy going to thrift stores together. He had time for the viewing, so we could carpool in his car to Arnhem. We spent two entertaining hours looking at more than 3000 lots displayed in Derksen's building. Three floors with paintings, ceramics, glassware, antique furniture, prints, Asian art such as Chinese porcelain and Japanese netsuke, jewelry and watches, old Leica cameras, and some &amp;quot;oddities&amp;quot; that don't fit into a category.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/ivoren-netsuke-aap-japan-meiji-periode.jpg" alt="Ivory netsuke of a monkey from Japan" /&gt;
    &lt;figcaption&gt;Ivory netsuke of a monkey, Japan, Meiji period ca. 1900, 31 mm high&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Christiaan collects glass and loves photography, and I collect graphics. We also both absolutely love Japanese art. We had an excellent time in Arnhem. ;)&lt;/p&gt;
&lt;p&gt;I wondered beforehand how they would display the hundreds of framed works listed in the auction catalog -- it wasn't possible to hang them all in the auction house, there were just too many. Downstairs most oil paintings hung on display, and on the first floor stood large shelves with the less expensive framed prints neatly arranged in rows, as in a library. If you wanted to see certain prints, you only had to give the lot number to the friendly gentleman behind the counter, who would then retrieve the works from the shelves.&lt;/p&gt;
&lt;p&gt;Both Christiaan and I saw lots of things that we liked, so after making some notes and taking photos, we headed back home.&lt;/p&gt;
&lt;h2&gt;Preparation&lt;/h2&gt;
&lt;p&gt;Throughout the week after the viewing days, there was a live auction every evening at 7:00 PM via the internet. Derksen livestreams all auctions through their website, from an auction room without in-person bidders. Bidding takes place entirely via the internet. Derksen employees do sit in the room and represent the online audience's bids in real-time via their laptops.&lt;/p&gt;
&lt;p&gt;Additionally, the less special lots were sold via a &amp;quot;timed online auction,&amp;quot; which is roughly comparable to an eBay auction: the lots have a clear countdown timer, all bids are public, and you have plenty of time (for example, a week) to place a bid.&lt;/p&gt;
&lt;p&gt;I wanted to bid on several works I had seen in person at the auction house, so I watched the live auctions for two evenings. On Monday, only antique furniture was auctioned, something I had no direct interest in, so I watched that auction to learn the structure of an auction, and how bidding works on the online platform.&lt;/p&gt;
&lt;p&gt;To prevent myself from bidding too much or too little, I did some preliminary research on the works I was Seriously Interested in. What does a comparable work by this maker typically cost? Is it framed or not? What condition is the work in? What is the edition size? With this information, I could determine how much I was willing to pay for it.&lt;/p&gt;
&lt;p&gt;I also made an Excel sheet with all bidding steps excluding and including the 30% auction costs. This allowed me to quickly see what I would pay net for a certain bid. A bid of 100 euros means paying 130 euros to the auction house. Because it's a percentage, the net price can quickly increase at higher bid amounts.&lt;/p&gt;
&lt;p&gt;I already saw during Monday's furniture auction that bidding happened really fast. There seemed to be about ~1 second latency in my video connection to the auction room, which meant you had to react quickly as a bidder. Otherwise, there's too much time between when the auctioneer actually hammers down and when you see this happen on your screen, and it could easily happen that you're too late with your bid. With all my preparation, I had a clear plan, so I needed to think as little as possible during the auction itself.&lt;/p&gt;
&lt;h2&gt;Participation in live and timed online auctions&lt;/h2&gt;
&lt;p&gt;The paintings and graphic works in the live auction ultimately went over my budget, after which I very sensibly stuck to my plan the campagne and stopped bidding. But the hilarious glass tiger that stood in the display case, next to the glass art that Christiaan had extensively examined during the viewing day, stayed neatly within my budget. I'll be picking it up in Arnhem next Wednesday.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/glazen-beeld-zittende-tijger.jpg" alt="Glass sculpture of a sitting tiger" /&gt;
    &lt;figcaption&gt;Polychrome glass sculpture of a sitting tiger, 27.5 cm high&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Oops, besides some prints and ceramics, I now also have my first glass object.&lt;/p&gt;
&lt;p&gt;I also had mixed experiences with the timed auctions. I liked the lack of time pressure here. Some nicer prints rose very quickly in price, so I dropped out at some point. Other works really appealed to me, while there was very little interest from other bidders. Eventually, I bought 4 more framed works for 5, 5, 15, and 15 euros in the timed auctions. Two watercolors by Henri Herman L. Tieland, a Chinese/Japanese ink drawing of plum blossoms, and a colorful work by Dirkjan Ribbeling.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/sumi-e-pruimen-bloesem-china-japan.jpg" alt="Uploaded image" /&gt;
    &lt;figcaption&gt;Sumi-e painting of plum blossoms&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;Conclusions&lt;/h2&gt;
&lt;p&gt;I don't know if I'll want to participate in live auctions often more in the future. I find the concept of spending money under time pressure very unpleasant. Live auction seem to involve a lot of waiting around until the lot number come up that you find interesting. It was impossible to estimate exactly when lots from my shortlist would come up in the live auction. The first time I tried to join the auction just in time for a specific lot number, I was immediately too late. The time the auctioneer spends on each lot varies significantly. With some lots, it quickly becomes clear that no one is interested, and the auction is over after 30 seconds. With other lots, the bidding goes on for a long time. For instance, the bidding on a beautiful art nouveau cabinet went up to 1400 euros.&lt;/p&gt;
&lt;p&gt;I also noticed that I couldn't estimate at all what the final auction price would be for the lots. A lithograph by M.C. Escher with serious water damage was sold for 650 euros. An elaborately decorated Indonesian kris (a type of short sword) with sheath was sold for only 45 euros.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="images/escher-orde-chaos-litho-waterschade.jpg" alt="Lithograph by M.C. Escher titled Order and Chaos with water damage" /&gt;
    &lt;figcaption&gt;Maurits Cornelis Escher (1898-1972), titled "Orde en Chaos" ("Order and Chaos"), compass rose, lithograph 1955, 40x38 cm (water damage at bottom edge and right side)
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;It probably has to do with supply and demand, absence/presence of specialist knowledge among auction participants, the state of the economy, the desirability of certain artists, time periods or styles in the current art market, and all sorts of other aspects.&lt;/p&gt;
&lt;p&gt;This &amp;quot;randomness&amp;quot; is also what fascinates me so much about auctions and (the economics of) the art world.&lt;/p&gt;
&lt;p&gt;Fortunately, I am in a very straightforward situation. When buying art, I only need to answer 3 questions: do I like it, does it fit in my house, and is it within budget?&lt;/p&gt;
&lt;p&gt;In any case, I've found that there is no correlation whatsoever between how beautiful or interesting I find something and how expensive it is. :)&lt;/p&gt;
</content>
    <link href="https://www.judithvanstegeren.com/blog/my-first-visit-to-art-auction/index.html"/>
    <summary type="html">&lt;p&gt;This is an English translation of my Dutch post Eerste kennismaking met een kunstveiling . After reading Onschatbare waarde (&amp;quot;Priceless Value&amp;quot;) (2004) by Bert Bakker&amp;nbsp;&lt;a href="https://www.judithvanstegeren.com/blog/my-first-visit-to-art-auction/"&gt;...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.judithvanstegeren.com/blog/my-first-visit-to-art-auction/"&gt;Read More&lt;/a&gt;&lt;/p&gt;</summary>
    <category term="Art"/>
    <published>2025-06-30T00:00:00+00:00</published>
  </entry>
</feed>
