<!DOCTYPE html><html lang="en"><head>
		
<!-- Global Metadata -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<link rel="icon" type="image/x-icon" href="/favicon.ico">

<!-- Primary Meta Tags -->
<title>Blog posts — Ville Karavirta</title>
<meta name="title" content="Blog posts — Ville Karavirta">
<meta name="description">

<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:url">
<meta property="og:title" content="Blog posts — Ville Karavirta">
<meta property="og:description">
<!-- <meta property="og:image" content="https://astro.build/social.jpg?v=1" /> -->

<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:url">
<meta property="twitter:title" content="Blog posts — Ville Karavirta">
<meta property="twitter:description">
<!-- <meta property="twitter:image" content="https://astro.build/social.jpg?v=1" /> -->



	

<link rel="stylesheet" href="../assets/prism-coy-without-shadows.992d5e33.css"><link rel="stylesheet" href="../assets/blog.54fa7bd7.css">
</head>

	<body>
		<header class="astro-UGDJWCMC">
	<article class="astro-UGDJWCMC">
		<h1 class="astro-UGDJWCMC">
			<a href="/" class="astro-UGDJWCMC">
				<span class="astro-UGDJWCMC">Ville Karavirta</span>
			</a>
		</h1>
		<ul class="navigation astro-UGDJWCMC">
			<li class="navigation__item astro-UGDJWCMC"><a href="/projects/" class="astro-UGDJWCMC">Projects</a></li>
			<li class="navigation__item astro-UGDJWCMC"><a href="/publications/" class="astro-UGDJWCMC">Publications</a></li>
			<li class="navigation__item navigation__item--blog astro-UGDJWCMC"><a href="/blog/" class="astro-UGDJWCMC">Blog</a></li>
		</ul>
	</article>
</header>



		<div class="content">
            <main class="content">
		<section aria-label="Blog post list">
			
<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">January 28, 2015</p>
		<a href="/blog/goodbye-2014-welcome-2015" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Goodbye 2014, Welcome 2015</h1></a>
	</header>
	<p class="astro-CEDGHXA7">2015 started a while ago, but I only now managed to polish my draft for 2014 review and goals for 2015. Since we're late already, let’s get right into it.</p>
	<a href="/blog/goodbye-2014-welcome-2015" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">October 20, 2014</p>
		<a href="/blog/moving-to-squarespace" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Moving to SquareSpace</h1></a>
	</header>
	<p class="astro-CEDGHXA7">Last weekend I finally did what I had been planning to do for a long time - move this site off the self-hosted WordPress and into SquareSpace. I had been neglecting the site, and it simply didn't look or feel modern.</p>
	<a href="/blog/moving-to-squarespace" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">December 10, 2013</p>
		<a href="/blog/new-publications-in-november" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">New Publications in November</h1></a>
	</header>
	<p class="astro-CEDGHXA7">Even though I'm no longer working at the university, November was an excellent month publication wise.</p>
	<a href="/blog/new-publications-in-november" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">July 31, 2013</p>
		<a href="/blog/leaving-academia-and-aalto-at-least-for-now" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Leaving Academia and Aalto (at least for now)</h1></a>
	</header>
	<p class="astro-CEDGHXA7">Today was my last day at Aalto University (formerly known as Helsinki University of Technology). I've worked there 11 years (and had at least as many fixed-term contracts). Early this Spring, when it started to look like things might come to an end at Aalto, I started writing a blogpost nitpicking the pros and cons of academic work.</p>
	<a href="/blog/leaving-academia-and-aalto-at-least-for-now" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 25, 2012</p>
		<a href="/blog/quality-of-wordpress-plug-ins-an-overview-of-security-and-user-ratings" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Quality Of WordPress Plug-Ins - An Overview of Security and User Ratings</h1></a>
	</header>
	<p class="astro-CEDGHXA7">The main purpose of the new paper "Quality Of WordPress Plug-Ins - An Overview of Security and User Ratings" was to analyze a set of WordPress plugins to find out if plugin ratings predict the number of potential security vulnerabilities in them.</p>
	<a href="/blog/quality-of-wordpress-plug-ins-an-overview-of-security-and-user-ratings" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">May 20, 2012</p>
		<a href="/blog/event-handling-for-jsav-data-structures" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Event Handling for JSAV Data Structures</h1></a>
	</header>
	<p class="astro-CEDGHXA7">For a while now, I've been meaning to start a series of articles on JSAV features. The current documentation&nbsp;only works as a reference to the API and does not explain or give enough examples. Also, it does not argue why things are done certain way and writing these things down makes me really think them through. As I recently implemented a support for easy attachment of event handlers to data structures, that seems like as good as any topic to start.</p>
	<a href="/blog/event-handling-for-jsav-data-structures" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">February 14, 2012</p>
		<a href="/blog/our-first-mobile-app-for-learning-python-soon-ready" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Our First Mobile App for Learning Python - Soon Ready</h1></a>
	</header>
	<p class="astro-CEDGHXA7">Our company's (ByTheMark, that is) first mobile application is getting closer to publishing. It is a quiz game for learning and testing Python programming knowledge. Name of the app is Quiz &amp; Learn Python.</p>
	<a href="/blog/our-first-mobile-app-for-learning-python-soon-ready" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">January 3, 2012</p>
		<a href="/blog/books-i-read-in-2011" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Books I Read in 2011</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/books-i-read-in-2011" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">November 6, 2011</p>
		<a href="/blog/more-engaging-learning-with-accelerometer" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">More Engaging Learning with Accelerometer</h1></a>
	</header>
	<p class="astro-CEDGHXA7">I finally found the time to complete the binary search tree search assignment that uses the accelerometer.</p>
	<a href="/blog/more-engaging-learning-with-accelerometer" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">October 9, 2011</p>
		<a href="/blog/deviceorientation-event-and-device-orientation" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">DeviceOrientation event and device orientation</h1></a>
	</header>
	<p class="astro-CEDGHXA7">I've been building an HTML5+JavaScript demo for using the device orientation and device motion events for an educational application. In my case, I'm controlling a ball based on the device orientation. This is easy to do with HTML5 device orientation events.</p>
	<a href="/blog/deviceorientation-event-and-device-orientation" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 8, 2011</p>
		<a href="/blog/oembed-endpoint-for-trakla2-algorithm-visualizations" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">OEmbed Endpoint for TRAKLA2 Algorithm Visualizations</h1></a>
	</header>
	<p class="astro-CEDGHXA7">This summer in the Program Visualization Workshop 2011, I had a paper with a colleague about the use of web services to help algorithm visualization (AV) systems. One potential service we identified and implemented was an OEmbed endpoint for embedding AVs into hypertext learning materials such as ebooks.</p>
	<a href="/blog/oembed-endpoint-for-trakla2-algorithm-visualizations" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">August 20, 2011</p>
		<a href="/blog/javascript-algorithm-visualization-jsav-library-v0-2-released" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">JavaScript Algorithm Visualization (JSAV) Library v0.2 Released</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/javascript-algorithm-visualization-jsav-library-v0-2-released" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">May 25, 2011</p>
		<a href="/blog/css3-and-av-revisited-with-flexible-box-layout" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">CSS3 and AV revisited (with flexible box layout)</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/css3-and-av-revisited-with-flexible-box-layout" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">March 11, 2011</p>
		<a href="/blog/css3-transformations-and-transitions-for-algorithm-visualization" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">CSS3 Transformations and Transitions for Algorithm Visualization</h1></a>
	</header>
	<p class="astro-CEDGHXA7">CSS3 offers some interesting new properties that could be used for algorithm visualization. Here, I'll first introduce the new properties and then proceed to show and explain some demos that I've created.</p>
	<a href="/blog/css3-transformations-and-transitions-for-algorithm-visualization" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">July 1, 2010</p>
		<a href="/blog/new-publication-list-with-bib-publication-list" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">New Publication List with bib-publication-list</h1></a>
	</header>
	<p class="astro-CEDGHXA7">I finally got tired of updating my old HTML publication list by hand. I wanted something that would be automatically generated from my BibTeX file, without me having to remember to run any scripts or copy files. So, I wrote bib-publication-list. With it, I can just include the BibTeX into my HTML page and tell the script to turn it into a sortable and searchable table.</p>
	<a href="/blog/new-publication-list-with-bib-publication-list" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">March 9, 2010</p>
		<a href="/blog/fun-with-mozorientation-in-firefox-3-6" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Fun with MozOrientation in Firefox 3.6</h1></a>
	</header>
	<p class="astro-CEDGHXA7">The already not so new Firefox 3.6 ships with a way for websites to detect the orientation of the laptop/device of the user. This opens interesting new possibilities for web applications similar to some iPod/iPhone/etc games.</p>
	<a href="/blog/fun-with-mozorientation-in-firefox-3-6" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">February 2, 2010</p>
		<a href="/blog/a-comprehensive-taxonomy-of-algorithm-animation-languages" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">A Comprehensive Taxonomy of Algorithm Animation Languages</h1></a>
	</header>
	<p class="astro-CEDGHXA7">The article "A comprehensive taxonomy of algorithm animation languages" was finally published in the Journal of Visual Languages &amp; Computing in volume 21, issue 1.</p>
	<a href="/blog/a-comprehensive-taxonomy-of-algorithm-animation-languages" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 28, 2009</p>
		<a href="/blog/interactive-questions-in-jsxaal" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Interactive Questions in JSXaal</h1></a>
	</header>
	<p class="astro-CEDGHXA7">Interactive questions in algorithm animations are questions shown to the student. Typically, the questions require students to predict what is going to happen in the following steps of the animation based on the current state and the algorithm in question.</p>
	<a href="/blog/interactive-questions-in-jsxaal" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 17, 2009</p>
		<a href="/blog/tokyo-last-day-1" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Tokyo - last day 1</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/tokyo-last-day-1" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 13, 2009</p>
		<a href="/blog/bye-bye-kyoto-welcome-tokyo-again-day-6" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Bye Bye Kyoto, Welcome Tokyo (Again, day 6)</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/bye-bye-kyoto-welcome-tokyo-again-day-6" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 13, 2009</p>
		<a href="/blog/kyoto-day-6-mmm-osaka" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Kyoto - day 6 &amp; mmm....Osaka</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/kyoto-day-6-mmm-osaka" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 13, 2009</p>
		<a href="/blog/kyoto-day-5" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Kyoto - day 5</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/kyoto-day-5" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 13, 2009</p>
		<a href="/blog/nara-kyoto-day-4" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Nara (Kyoto - day 4)</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/nara-kyoto-day-4" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 12, 2009</p>
		<a href="/blog/kyoto-day-3" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Kyoto - day 3</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/kyoto-day-3" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 12, 2009</p>
		<a href="/blog/kyoto-day-2" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Kyoto - day 2</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/kyoto-day-2" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 8, 2009</p>
		<a href="/blog/kyoto-day-1" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Kyoto - day 1</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/kyoto-day-1" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 8, 2009</p>
		<a href="/blog/tokyo-day-5" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Tokyo - day 5</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/tokyo-day-5" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 6, 2009</p>
		<a href="/blog/tokyo-day-4" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Tokyo - day 4</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/tokyo-day-4" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 3, 2009</p>
		<a href="/blog/tokyo-day-3" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Tokyo - day 3</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/tokyo-day-3" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">September 1, 2009</p>
		<a href="/blog/tokyo-day-2" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Tokyo - day 2</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/tokyo-day-2" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">August 31, 2009</p>
		<a href="/blog/tokyo-day-1" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Tokyo - Day 1</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/tokyo-day-1" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">August 27, 2009</p>
		<a href="/blog/photos-from-new-york" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Photos from New York</h1></a>
	</header>
	<p class="astro-CEDGHXA7"></p>
	<a href="/blog/photos-from-new-york" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">August 20, 2009</p>
		<a href="/blog/jsxaal-goes-open-source" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">JSXaal Goes Open Source</h1></a>
	</header>
	<p class="astro-CEDGHXA7">JSXaal viewer, the JavaScript viewer for XAAL animations is now an open source project at Google Code. You can find the project at http://code.google.com/p/jsxaal/.</p>
	<a href="/blog/jsxaal-goes-open-source" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">August 17, 2009</p>
		<a href="/blog/xaal-has-a-new-home-at-xaal-org" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">XAAL has a new home at xaal.org</h1></a>
	</header>
	<p class="astro-CEDGHXA7">As I aim to publish XAAL and the related tools for the whole AV community to benefit from, XAAL has moved to http://xaal.org/. The site has all the important information about XAAL.</p>
	<a href="/blog/xaal-has-a-new-home-at-xaal-org" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">August 4, 2009</p>
		<a href="/blog/my-article-seamless-merging-of-hypertext-and-algorithm-animation-in-toce" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">My article "Seamless Merging of Hypertext and Algorithm Animation" in TOCE</h1></a>
	</header>
	<p class="astro-CEDGHXA7">My article "Seamless Merging of Hypertext and Algorithm Animation" was finally published in ACM Transactions on Computing Education (TOCE) in volume 9, issue 2.</p>
	<a href="/blog/my-article-seamless-merging-of-hypertext-and-algorithm-animation-in-toce" class="astro-CEDGHXA7">Read more</a>
</article>



<article class="post-preview astro-CEDGHXA7">
	<header class="astro-CEDGHXA7">
		<p class="publish-date astro-CEDGHXA7">August 4, 2009</p>
		<a href="/blog/welcome-to-villekaravirta-com" class="astro-CEDGHXA7"><h1 class="title astro-CEDGHXA7">Welcome to VilleKaravirta.com</h1></a>
	</header>
	<p class="astro-CEDGHXA7">Welcome, I don't know how you ended up on this page, but this is (or will be) my blog. Me being Ville Karavirta. I'll write about algorithm animation, computer science education tools, and post some photographs. At least that's the plan for now, we'll see what it becomes..</p>
	<a href="/blog/welcome-to-villekaravirta-com" class="astro-CEDGHXA7">Read more</a>
</article>



		</section>
	</main>
		</div>
	
</body></html>