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

<channel>
	<title>void-flower</title>
	<atom:link href="http://void-flower.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://void-flower.net</link>
	<description></description>
	<lastBuildDate>Sat, 31 Jul 2010 03:15:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Summer&#8217;s almost over&#8230;</title>
		<link>http://void-flower.net/2010/07/summers-almost-over/</link>
		<comments>http://void-flower.net/2010/07/summers-almost-over/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 03:07:53 +0000</pubDate>
		<dc:creator>Rebecca</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[orientation]]></category>
		<category><![CDATA[pokemon]]></category>

		<guid isPermaLink="false">http://void-flower.net/?p=344</guid>
		<description><![CDATA[I love Pokemon.]]></description>
			<content:encoded><![CDATA[<p>From two entries ago (so still on this page&#8230;):</p>
<blockquote><p>Come summer though, I’ll probably do something. I keep planning a lot of things to do, but never do them (story of my life). [March 14, 2010]</p></blockquote>
<p>Sure, like that really happened. Wishful thinking as always. [Insert meta-ing about meta posts here.]</p>
<p>It is now July, and I haven&#8217;t done much aside from my fourth co-op term (done this item Sept. 3rd) and the Math Orientation website. John and I visited each other a lot, and I went to his cottage last weekend. He is there now, while I am studying for STAT231 (<abbr title="Bullshit">BS</abbr>231) &#8212; lucky him! I also took another Japanese course this term, and already had the exam. Two courses and co-op &#8212; never again.</p>
<p>I remember back in high school, the summers I would just waste away doing nothing. I think all I did was develop random useless scripts on the computer and play <abbr title="Ragnarok Online">RO</abbr>. I used to stay up until 5-6am, go to bed, and then wake up in the early evening to resume what I was doing before. What a waste! This summer, I am working full-time, on the computer doing side projects/websites, and playing RO again. That is mostly just the weekdays, too. Weekends usually have consisted of John coming down (from Toronto) or me going up via Greyhound. There (or here) we spend our time lying around doing nothing at all.</p>
<p>Such contrast from the high school summers.</p>
<p>It&#8217;s a bit depressing that I will never have a high school summer again, as I will never have a summer where I won&#8217;t be in school still or working full-time. The only time I can imagine having a &#8216;free&#8217; summer like that is when I am very pregnant/having small children. That won&#8217;t be for a long while though :)</p>
<p>Awesomely enough, my summer has also been filled with Pokemon. I think I have also progressed from a fan to avid fan. </p>
<p>From the beginning of the Orientation week planning, I suggest Pokemon because it&#8217;s awesome &#8212; it made it to being the theme. I am the webmaster for the website, so lots of Pokemon for me there. Designing/developing that hackery was/is fun. <a href="http://orientation.math.uwaterloo.ca" title="UW Math Orientation 2010 - POKEMON!11!!">Check out the glory.</a> A lot of the hours spent aren&#8217;t even visible to the user, sadly. The secret special <abbr title="Awesome organizer people">FOC</abbr> pages are what I spent most of the time on. There the four FOC can view/edit the applicants&#8217;/leaders&#8217; information. Not exactly difficult with PHP/MySQL, but it takes more time for error handling/data checking when not just writing things for myself. A couple forms and things from the main website that the leaders/applicants used also took some time as well. Frankly I&#8217;m surprised no one from the <abbr title="UW Computer Science Club">CSC</abbr> or elsewhere has attempted to break/hijack the entire thing. Everyone has generally been nice &#8212; only a few spams and stupid things. </p>
<p>In addition to that, I just bought Pokemon SoulSilver. I previously&#8230; acquired&#8230; the ROM image from the vastness of the <abbr title="Series of tubes">Internet</abbr> and placed it on my&#8230; piece of DRAM that magically allows games to be played on the DS&#8230; but the game kept freezing and once erased my save file. After 5+ times of restarting the game, I just decided to buy the thing. First time I bought a DS game. I was so excited to learn that it came with a little pedometer thing &#8212; the PokeWalker. Sounds really lame, but you can put a Pokemon from the DS game &#8216;on&#8217; it, and take it for a  &#8216;walk&#8217;. I thought it was just steps => EXP, but you can apparently play little item/Pokemon games on it. It has a little concept of currency which you can trade for the ability to play a little game to get an item, or play a little game to find a Pokemon and fight/capture it. It reminds me of those old Nanos and Tamagotchis. I&#8217;m pretty impressed, I must say.<br />
The graphics of the DS game are super hot, too. :D</p>
]]></content:encoded>
			<wfw:commentRss>http://void-flower.net/2010/07/summers-almost-over/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I can resurface now!</title>
		<link>http://void-flower.net/2010/04/i-can-resurface-now/</link>
		<comments>http://void-flower.net/2010/04/i-can-resurface-now/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 14:59:55 +0000</pubDate>
		<dc:creator>Rebecca</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[CS]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[TLB]]></category>

		<guid isPermaLink="false">http://void-flower.net/?p=341</guid>
		<description><![CDATA[The last couple days were OS assignment3-filled. My group and I did the bulk of our virtual memory assignment over the weekend. I feel like interrupts were turned off and the only thread that was allowed to run was &#8220;do OS&#8221;. My sleep schedule was also like: 6am-10am on Friday morning, 4am-9am this morning. 
It [...]]]></description>
			<content:encoded><![CDATA[<p>The last couple days were OS assignment3-filled. My group and I did the bulk of our virtual memory assignment over the weekend. I feel like interrupts were turned off and the only thread that was allowed to run was &#8220;do OS&#8221;. My sleep schedule was also like: 6am-10am on Friday morning, 4am-9am this morning. </p>
<p>It was a good assignment, but I think the system calls one (A2) was better. A2 was also easier to split up amongst a group of people. For A3, we needed to implement the physical memory manager, on demand page loading, and TLB replacement algorithms. </p>
<p>One of my major parts was the TLB replacement and it was pretty interesting. Since our TLB is a software-based one, you could modify your TLB to do whatever you wanted. I could have emulated &#8216;use bits&#8217; or kept a reference count of some sort. However, something I made sure to keep in mind the whole time was that a TLB is supposed to be <strong>fast</strong>. This is the <em>purpose</em> of the TLB. So if the replacement algorithm takes a long time to decide or uses more TLB writes to store reference counts or whatever, it&#8217;s approaching the point of not being worth it. Instead I chose to just do a bunch of TLB reads to decide which entry to evict. I played on the fact that code/data is usually loaded sequentially in memory. I basically chose a random pivot entry, and compared the &#8216;distance&#8217; in virtual memory between the pivot and the other entries. As the number of sequential pages increases in the TLB, I&#8217;ll also have a higher chance of choosing a pivot that has a lot of &#8216;close&#8217; entries around it already. I then pick the entry &#8216;furthest&#8217; away for eviction.</p>
<p>At the time this made sense to me, and even now it does, but I still get the feeling someone will be like &#8220;this is stupid because ___&#8221; and I&#8217;ll go &#8220;damn&#8230;&#8221; and cry on the inside. There are obviously better things out there, but this is already a slow software TLB so making it slower sucks. </p>
<p>Now I can resurface, resume my life, and do my last assignment. Then I start studying for finals. </p>
<p>It&#8217;s Easter today as well &#8212; I have a chocolate bunny to eat :D</p>
]]></content:encoded>
			<wfw:commentRss>http://void-flower.net/2010/04/i-can-resurface-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Behind</title>
		<link>http://void-flower.net/2010/03/behind/</link>
		<comments>http://void-flower.net/2010/03/behind/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 23:22:03 +0000</pubDate>
		<dc:creator>Rebecca</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://void-flower.net/?p=337</guid>
		<description><![CDATA[Again I suck at updating. Again I am behind in life. Again I blog about it.]]></description>
			<content:encoded><![CDATA[<p>Super behind in a lot of things, this included obviously. Come summer though, I&#8217;ll probably do something. I keep planning a lot of things to do, but never do them (story of my life).</p>
<p>School clearly keeps getting more challenging each time, and unfortunately I&#8217;m not nearly motivated enough to go meet it. This term, however, my operating system&#8217;s course is the only thing I&#8217;m really interested in (even Japanese is losing my interest). It&#8217;s <em>so</em> fun. We just had our &#8216;implement system calls&#8217; assignment, and it was awesome. A really small subset of system calls, but fun anyways. We have groups for it too, and I&#8217;m with my roommate and her boyfriend (and friend of mine). Super fun. (and I&#8217;m a huge nerd.)</p>
<p>Today I discovered something cool while visiting some websites I hadn&#8217;t for a while (whilst procrastinating on homework of course). I know CSS2 and even CSS3 has been around for a while, but I&#8217;m really behind on that stuff too. </p>
<p>With the example below, things like <a href="http://wiki.novemberborn.net/sifr/What+is+sIFR" alt="sIFR" title="sIFR">sIFR</a> are going to die for sure (and probably already have):</p>
<pre>
@font-face {
  font-family: "FONT";
  src: url(FONT.ttf) format("TYPE");
}
h1 { font-family: "FONT", sans-serif }
</pre>
<p>This basically will load the font specified onto your viewers&#8217; computer, then replace the font as required in the load[ing/ed] page. With Chrome, this seems to be extremely flawless and happens in an instant. When I visited the person&#8217;s page, I thought the text was an image. However, a quick test of highlighting it told me it was not. Then I looked at the source, and saw this.</p>
<p>Firefox, on the other hand, took about half a second for it to replace the text. Not a problem, but people will notice. Especially if you user is downloading something else, or the font is just a big file, it will take a second or so to load. This is a lot of time for a user while viewing a website. </p>
<p>More information about this process <a href="http://www.alistapart.com/articles/cssatten">here</a> (alistapart.com)</p>
<p>So that&#8217;s pretty exciting, and motivates me a little bit to make a new design for my blog (which I barely update anyways). I guess I could bore anyone who comes here and talk about operating systems though, because I love to talk about it. :D</p>
<p>Also: Happy March. School ends so soon.. what a quick term D:</p>
]]></content:encoded>
			<wfw:commentRss>http://void-flower.net/2010/03/behind/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Birthday!</title>
		<link>http://void-flower.net/2010/01/birthday-2/</link>
		<comments>http://void-flower.net/2010/01/birthday-2/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 00:07:27 +0000</pubDate>
		<dc:creator>Rebecca</dc:creator>
				<category><![CDATA[Out of the Grind]]></category>

		<guid isPermaLink="false">http://void-flower.net/?p=334</guid>
		<description><![CDATA[I&#8217;m 21 now! I don&#8217;t feel any older though. I get to enjoy alcoholic beverages in the USA (and other countries) now (not like I&#8217;m rushing to go get sloshed in the states though&#8230;)
I had such a sweet birthday &#8212; definitely the best birthday ever. It started on Monday (day before my birthday) with Disney [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m 21 now! I don&#8217;t feel any older though. I get to enjoy alcoholic beverages in the USA (and other countries) now (not like I&#8217;m rushing to go get sloshed in the states though&#8230;)</p>
<p>I had such a sweet birthday &#8212; definitely the best birthday ever. It started on Monday (day before my birthday) with Disney movies: Beauty and the Beast &#038; Little Mermaid. At 12am John wished me happy birthday. Then we went to bed. Some hours later I woke up and he made breakfast for me! Next time he came back to my room there was a yummy-looking omelette on the plate with a chocolate orange as well! Yummmm. </p>
<p>I seriously meant to go to class and then the library to study on the Tuesday (birthday), but that turned into: stay at home and watch Disney movies with John all day. Then I justified not doing any work on my birthday since it was my birthday, and I can always do work on the weekend. John also had a headache, so that was also a very valid reason to stay home :) </p>
<p>Between watching Pocahontas and Lion King (see note at the bottom about Lion King), John started making his cake for me: vanilla cake with chocolate icing and raspberry pie filling throughout. Mmmmm. Shortly after Lion King, I was then called downstairs to Andrew/Matt&#8217;s place. When I got down there, I couldn&#8217;t believe it: Gwynn had made me a cake that was shaped like a vaporeon! OMG It&#8217;s soooo awesome! I couldn&#8217;t wait to eat it, yet didn&#8217;t want to destroy the work! Meanwhile John was icing my other awesome cake. Sooo much cake!</p>
<p><a href="http://void-flower.net/wordpress/wp-content/uploads/2010/01/IMG_1712.jpg"><img src="http://void-flower.net/wordpress/wp-content/uploads/2010/01/IMG_1712.jpg" alt="" title="Vaporeon cake!" width="358" height="269" class="aligncenter size-full wp-image-335" /></a></p>
<p>After that was dinner time, and 6 awesome people + me went out to a place down King St that has awesome olive + grilled chicken pizza. Maria bought me a shot called a &#8220;muff diver&#8221;, which I didn&#8217;t know what it was at first. It came to the table and I was honestly a little scared &#8212; just a martini glass filled with whipped cream. Apparently the shot of Bailey&#8217;s/Kahlua was inside. I had to stick my face in and fish it out. It was interesting because the cup was too small to shove my face into&#8230; but I eventually got it. (I also couldn&#8217;t use my hands&#8230;) Someone from another table (that I knew) also bought me a shot that was also delicious ['crispy crunch']. </p>
<p>Following dinner we returned to my place and had mountains of cake. It was amazing just having all those awesome people around to share tons of cake with :D </p>
<p>I have sooo much junky food around the place now&#8230; Chocolate from Christmas left over, now tons of cake from my birthday, and cookies I made last week. Valentine&#8217;s day is also less than a month away now. So much cake to eat&#8230;</p>
<p>Note about Lion King: We watched the &#8217;special edition&#8217;. It was no different from the original EXCEPT some super lame song they spliced into the movie. The scene where Zazu tells Moufasa of the &#8216;morning report&#8217; is now <em>a song</em>. A horrible one at that. Simba also joins in with some stupid line about morning reports after the original cut of him pouncing on the annoying bird. It was soo bad. Fortunately that was the only lame thing that was added into this timeless classic. </p>
]]></content:encoded>
			<wfw:commentRss>http://void-flower.net/2010/01/birthday-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obligatory Christmas Post</title>
		<link>http://void-flower.net/2009/12/obligatory-christmas-post/</link>
		<comments>http://void-flower.net/2009/12/obligatory-christmas-post/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 06:11:47 +0000</pubDate>
		<dc:creator>Rebecca</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[boring]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[school]]></category>

		<guid isPermaLink="false">http://void-flower.net/?p=332</guid>
		<description><![CDATA[I&#8217;m home back in Ottawa for the holidays, and finally taking my long awaited break from everything. Christmas is tomorrow, and it feels weird. I walked into a Wal-mart before heading home from Waterloo, and it had a Christmas count-down. It said there were 3 days left. I thought to myself: Just three? Wow.
I feel [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m home back in Ottawa for the holidays, and finally taking my long awaited break from everything. Christmas is tomorrow, and it feels weird. I walked into a Wal-mart before heading home from Waterloo, and it had a Christmas count-down. It said there were 3 days left. I thought to myself: Just three? Wow.</p>
<p>I feel like I should be happier during my break&#8230; but I&#8217;m really not. Home is stressful, buying gifts was financially stressful today, and seeing my marks this evening was just icing on the cake for terribleness. Sighh. I&#8217;m so screwed for money in the coming months, it&#8217;s not even funny. I know my debt is not even that crazy right now opposed to other people, but I just feel so crappy about it. I feel like a failure for not being able to pay for school myself. Not really my fault though, as it costs a lot.</p>
<p>This coming school term will probably be a lot of fun, but I need to work really hard too. I guess that will be my &#8216;new year resolution&#8217;. </p>
<p>This is just one big complainy post now. :\</p>
]]></content:encoded>
			<wfw:commentRss>http://void-flower.net/2009/12/obligatory-christmas-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modelling Small Systems with UML and dot/graphviz</title>
		<link>http://void-flower.net/2009/12/modelling-uml-with-dotgraphviz/</link>
		<comments>http://void-flower.net/2009/12/modelling-uml-with-dotgraphviz/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 11:28:14 +0000</pubDate>
		<dc:creator>Rebecca</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[all-nighter]]></category>
		<category><![CDATA[dot]]></category>
		<category><![CDATA[graphviz]]></category>
		<category><![CDATA[pokemon]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://void-flower.net/?p=301</guid>
		<description><![CDATA[Learn about modelling small systems with UML and graphviz/dot.]]></description>
			<content:encoded><![CDATA[<p>The first (but hopefully not last) geeky instructional-type thing I&#8217;ll post.</p>
<h2>What is UML, graphviz, dot?</h2>
<p>UML stands for <a href="http://en.wikipedia.org/wiki/Unified_Modeling_Language">Unified Modelling language</a>. A picture/diagram is used to represent a &#8217;system&#8217;, by which I mean a program in this case. Wikipedia says &#8220;UML includes a set of graphical notation techniques to create visual models of software-intensive systems.&#8221;</p>
<p><a href="http://graphviz.org">Graphviz</a> is a free set of software that allows you to describe graphs in various ways. Dot is a language &#8211; nothing more &#8211; that represents a graph. The graphviz software takes a description of a graph written in dot, and give you your image in various formats.</p>
<p>Dot is a simple language, and uses intuitive labels and values for things like edges and nodes. The hardest part is thinking of what you need, and finding the correct spelling of the attributes to apply to your node/edge. (But that can be found on the documentation site &#8211; and google).</p>
<p>To make any graphs, you need: graphiz (there are windows binaries, and packages in popular linux distributions). Dot is a tool included with graphviz. You also need a text editor. There are GUIs for making graphs (and OSes like OSX have larger programs that use graphviz) but I&#8217;m going to be on the command line in Ubuntu. </p>
<h2>First graph</h2>
<p>There are a couple types of graphs (that I&#8217;ve seen so far and used) and they are directed graphs and undirected graphs. Directed means that there are arrows and form a direct relationship between nodes, and undirected means there are no arrows between the nodes, and the path from one node to another is bidirectional.</p>
<p>So let&#8217;s make a graph now. The hello world of graphs:</p>
<pre>
digraph G {
    node [ shape="box" ]
    edge [ arrowhead="dot" ]

    Hello [ label="Hello" ]
    World [ label="World", color="blue" ]

    Hello -> World
}
</pre>
<p><span id="more-301"></span><br />
On the command line, I ran this command:</p>
<pre>
$ dot -Tpng -o helloworld.png helloworld.dot
</pre>
<p>-T specifies a type for the output to take. I chose a PNG image. Other types include, but not limited to, PDF, PS, BMP, GIF, JPEG&#8230; the list goes on. The -o allows me to specify an explicit output file. Last on the line is the input file &#8211; my description of the graph.</p>
<p>and this makes:</p>
<p><img src="http://void-flower.net/wordpress/wp-content/uploads/2009/12/helloworld.png" alt="Hello -&gt; World" title="helloworld" width="85" height="155" class="size-full wp-image-303" /></p>
<p>As you may have noticed, I didn&#8217;t say anything about where things were placed, or whether Hello  is below World or not. The point of this graphing software is to that stuff for you. It magically figures out (via fancy algorithms) where to put things to occupy the space in the most efficient manner, without having things overlap or look ugly. </p>
<p>The line-by-line:<br />
<b>digraph G</b> says you&#8217;re going to make a new digraph (short for <em>di</em>rected graph) called G. <b>node</b> and <b>edge</b> here are describing all the edges and nodes for this graph. <b>Hello</b> and <b>World</b> are nodes. They have attributes: label, and for World, color. By default, text is black, nodes are white. I&#8217;ve changed the shape colour of World to blue. I could have set other things like background colours, text colours, and probably shape outlines. The label goes inside the node. One of the most important lines, <b>Hello -> World</b>, describes the relationship between Hello and World. The <em>edgeop</em> here tells us that Hello points to World. Since I chose &#8220;dot&#8221; for my edge above, I get a line with a circle at the end. Without relationships, directed graphs are pretty pointless. </p>
<p>Play around with all the options and you can make some pretty cool graphs. I made a digraph to model my course plan for university a while ago located <a href="http://csclub.uwaterloo.ca/~rjputins/courseplan.png">here</a>. Each node is a course, and the relationships define prerequisites. I coloured a bunch of nodes the same colours, and those represent the terms I will do those courses in. Other examples of digraphs include things like family trees, maps, fancy to-do lists, graph theory stuff, visualisations of various data structures. </p>
<h2>UML and this digraph stuff</h2>
<p>So for my last CS246 project, we need to make a UML diagram to fit on an 8.5&#215;11 sheet of paper. We&#8217;re handing it in electronically, so it must be done on the computer at some point. I really didn&#8217;t feel like writing it on paper, then opening up gimp/paint to draw boxes and lines for 3hrs. I&#8217;ve used dot before, so I know it&#8217;s much easier to open a text editor and write the descriptions of these graphs. It&#8217;s very easy to modify, then just compile in less than a second. </p>
<p>There are 7 classes, and 2 subclasses for this project design. So I need 9 boxes to draw the classes, then shove arrows between them in a way that describes how the classes interact with each other. UML&#8217;s boxed are sectioned into at least 2 sections. So far I&#8217;ve only done one shape &#8211; the box. Most of the other shapes graphviz offers look to be like only one label. How do I fit so much stuff into a node?</p>
<p>There is a special shape called a &#8216;record&#8217;. It allows for a special definition of a label that makes sections out of your node. The sections are formed when a pipe (|) character is seen in the label. <a href="http://www.graphviz.org/doc/info/shapes.html#record">Read more about the record shape.</a></p>
<pre>
digraph C {
    SomeClass [
        shape="record"
        label="{SomeClass|some attributes\l|some operations/methods\l}"
    ]
}
</pre>
<p><img src="http://void-flower.net/wordpress/wp-content/uploads/2009/12/class.png" alt="class" title="class" width="267" height="112" class="aligncenter size-full wp-image-309" /></p>
<p>The description looks messy for that, but the important point here is that the pipes separate the label into sections. The \l in there means: make a new line, and align to the left. </p>
<p>With record, I can make my classes now, and then join them like a normal digraph. I&#8217;ll make a sample, more interesting system to model instead of the one I&#8217;m doing for my project.</p>
<h2>Sample Model &#8211; Pokemon</h2>
<p>Pokemon is cool. Let&#8217;s use pokemon for an example. I&#8217;ll model an example party of pokemon and a trainer. The key thing to look for here is common methods (attacks) between pokemon, and the connection between me (the trainer). You will see the basics UML and a simple system model in this example. </p>
<pre>
digraph Party {
    node [ shape="record" ]
    // I want the default arrowhead, so I won't set any
    // global (until changed later) edge descriptions

    Trainer [
        // You can use string concatenation to split strings into smaller chunks
        label="{Trainer|- name : String\l- money : Integer\l|" +
                 "- party : String[1..*]\l" +
                 "+ callPokemon( pokemon : Pokemon ) : bool\l" +
                 "+ returnPokemon ( pokemon : Pokemon ) : void\l}"
     ]

    Pokemon [
        label="{Pokemon|- name : String\l- health : Integer\l|" +
                 "+ tackle : Attack\l}"
        color="orange"
    ]

    Charmander [
        label="{Charmander|\l|+ ember : Attack\l}"
        color="red"
    ]

    Vaporeon [
        label="{Vaporeon|\l|+ surf : Attack\l}"
        color="blue"
    ]

    // Finally, the relationships
    // Vaporeon is a Pokemon
    Vaporeon -> Pokemon [ arrowhead="empty" ]

    // So is Charmander
    Charmander -> Pokemon [ arrowhead="empty" ]

    // Trainer can have up to 6 pokemon
    // Each pokemon is caught by only one trainer
    Trainer -> Pokemon [
        label="caught"
        headlabel="1..6"
        taillabel="1"
        arrowhead="none"
    ]
}
</pre>
<p>Once again:</p>
<pre>
dot -Tpng -o pokemon.png pokemon.dot
</pre>
<p>Okay, so that took a long time. I should have been working on something else (see <a href="#sidenote">sidenote</a>). It looks like a lot of stuff up there in order to describe an image you could have drawn faster, but for much larger diagrams, this is faster (you can write programs to write dot code for you). The product of all this is:</p>
<p><img src="http://void-flower.net/wordpress/wp-content/uploads/2009/12/pokemon.png" alt="pokemon" title="pokemon" width="386" height="160" class="aligncenter size-full wp-image-315" /></p>
<p>As for explaining things, I will assume you now have some knowledge of UML from the wikipedia page, and understand what the arrows and lines mean as well as the basic attribute types.</p>
<p>The most important segment of the description above is:</p>
<pre>
    Trainer -> Pokemon [
        label="caught"
        headlabel="1..6"
        taillabel="1"
        arrowhead="none"
    ]
</pre>
<p>This tells us about the relationship between the Trainer and the multiple pokemon &#8211; called &#8216;caught&#8217;. Since a party of pokemon can contain from 1 to 6 pokemon (1 to 6 caught pokemon), I&#8217;ve set my label to be 1..6 at the pokemon point. Each pokemon can only be caught by only one trainer, so taillabel is 1. These are called &#8216;restrictions&#8217; in the model. They give the viewer some more detail about how your system/program works. If I had put headlabel=&#8221;*&#8221; that would mean that a Trainer could catch 0 or more pokemon (all 150+!).</p>
<pre>
Charmander -> Pokemon [ arrowhead="empty" ]
Vaporeon -> Pokemon [ arrowhead="empty" ]
</pre>
<p>These two lines mean that the subclasses of Pokemon &#8211; Charmander and Vaporeon &#8211; are represented as a parent/child relationship. Pokemon contains common operations (attacks) and attributes (name, health). In a program, Vaporeon and Charmander would <em>inherit</em> from the Pokemon base class.</p>
<h2>Conclusion</h2>
<p>Pokemon is awesome. The record shape makes UML possible in dot.</p>
<p><a name="sidenote"></a><br />
<em>It&#8217;s 6am now and I didn&#8217;t sleep yet for one, and I should have been writing the test documentation and finishing the UML diagram for the project. Instead, I thought I&#8217;d make this tutorial. I&#8217;ve also eaten a lot of carrots in this time.</p>
<p>Idea: turn this into a mathNEWS article!!11!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://void-flower.net/2009/12/modelling-uml-with-dotgraphviz/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>EOT</title>
		<link>http://void-flower.net/2009/11/eot/</link>
		<comments>http://void-flower.net/2009/11/eot/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 04:07:19 +0000</pubDate>
		<dc:creator>Rebecca</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[boring]]></category>
		<category><![CDATA[CS]]></category>
		<category><![CDATA[school]]></category>

		<guid isPermaLink="false">http://void-flower.net/?p=297</guid>
		<description><![CDATA[Less worried about school now. Volunteered for more projects again. Almost the end of term Fall 09]]></description>
			<content:encoded><![CDATA[<p>End of term! Almost.</p>
<p>The end of my term is going well compared to the beginning/middle. I&#8217;m improving on most of my important assignments. The courses that aren&#8217;t as imperative are probably suffering a bit more though. Most important is definitely CS240 and CS246, though. CS245 is even more of a mindfuck now, and MATH239 is getting weirder. I&#8217;m sure if I spent some time reading over notes a million times with those two, I&#8217;d understand eventually. </p>
<p>I just really can&#8217;t wait for the holidays&#8230; I haven&#8217;t actually had a solid week off doing anything I wanted since last Christmas. <strong>Last Christmas</strong>. I need to catch up on sleep and do nothing for a while. </p>
<p>I managed to sign myself up for more volunteer work today. I already have the <a href="http://csclub.uwaterloo.ca/~rjputins/profquotes/">profQUOTES</a> database thing I haven&#8217;t finished yet (since the profQUOTES books were printed so finishing the script wasn&#8217;t very important anymore&#8230; the books were awesome though!) and this very website is also suffering. Anyways, the orientation committee is starting to plan Fall 2010 orientation already, and Maria is a <abbr name="F-something Orientation Committee">FOC</abbr> so I felt the need to get involved. I offered to do the website and some other back-end stuff that involves collecting information from the students who want to be leaders/organizers. The previous orientation used Google spreadsheets and email. You perhaps understand how that could get disorganized quickly. Spreadsheets had no error checking, no authentication, and no way to guard against duplicates. Emails were great for announcements though. What I proposed was a more centralized location for all these forms we need to fill out. A database would store the information, and the FOC/organizers could just select their data/filters. </p>
<p>A small hurdle to get over: The guy I&#8217;m working with hates PHP and uses Perl. He told me today that it was because he&#8217;s seen some horrible PHP code. It&#8217;s true, it&#8217;s very possible to write horrible code and have it work. As with any language this is possible. However, PHP is a bit different as you can embed HTML/CSS/whatever in it. So this can turn into a clusterfuck of language in one file. It&#8217;s good to separate out into classes/functional files, and simply call your functions within your &#8216;pure&#8217; HTML files. </p>
<p>A new-ish concept for school so far: working in partners for a project. I know this is coming for OS next term, but it just makes the end of this term a bit hectic. There wasn&#8217;t anyone I knew in the class who didn&#8217;t have a partner already, so I asked the girl who I usually sit next to (but don&#8217;t talk to) to work with me. This should be interesting :) I think it&#8217;s better I&#8217;m working with someone I don&#8217;t know. OS will be with someone I know (hopefully?).</p>
<p>I&#8217;ve been using Windows 7 so long (because it&#8217;s awesome!) that I really miss my linux. Using linux is also more &#8216;natural&#8217; and easier for me to do constructive things like programming. Things like git/compiling/http-servers feel&#8230; closer to me I guess? There&#8217;s too much stuff in windows I need to do to get at a working setup for development (for me anyways). I should probably start using an IDE at some point.. but I find them just too clunky. I downloaded NetBeans about an hour ago, but I dislike it already. Just a text editor is good enough for me (but clearly there are times in the future where this won&#8217;t be sufficient&#8230;)</p>
<p>Final note: Congratulations <a href="http://jemjabella.co.uk">Jem</a> on her new baby girl :)</p>
]]></content:encoded>
			<wfw:commentRss>http://void-flower.net/2009/11/eot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>November</title>
		<link>http://void-flower.net/2009/11/november/</link>
		<comments>http://void-flower.net/2009/11/november/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 08:52:53 +0000</pubDate>
		<dc:creator>Rebecca</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[CS]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[worry]]></category>

		<guid isPermaLink="false">http://void-flower.net/?p=294</guid>
		<description><![CDATA[Ranting about how fail I am at CS.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s November now. Time really flew by this term&#8230; Only one solid month of school left.</p>
<p>School isn&#8217;t going so well this term. It just hit me a couple days ago that I&#8217;m in serious trouble for my courses&#8230; If I don&#8217;t start doing very well on assignments for the CS courses, there&#8217;s a good chance I&#8217;ll fail. The consequence of failing one or both of CS240 or CS246 is not being able to take my next term&#8217;s courses. If not all of them, then at least the most important ones required to go on even further in my degree.</p>
<p>I spent way too much time doing nothing this term&#8230; I&#8217;m not including going to the gym in this &#8216;nothing&#8217; though &#8212; that was at least beneficial to my health. This term has been the most work ever, and unfortunately one with lots of bad profs. CS240 and CS245 have probably the worst profs ever. I don&#8217;t have much against their inability to speak English properly, but more their translation from knowing the material themselves to teaching it to students who are not familiar with the course. CS245 is so ridiculous. The midterm average was 42%. When I saw my grade was 63%, I was thinking: They must have bell-curved it. But that 63% is a 63% against the 42% average, which makes me look good. I find it ironic that the only class I&#8217;ve passed all the assignments in, is the class that&#8217;s most retarded (CS245).</p>
<p>I&#8217;m currently pulling an all-nighter to get a CS240 assignment done, but I don&#8217;t think that&#8217;s going to work very well. The newsgroup is full of people asking for extensions. While having this assignment is not a problem, but having the <em>largest</em> (both in worth and content) assignment before the midterm <em>two days later</em> is pretty unacceptable. I think the prof is just an asshole. This assignment is worth about 10% of my grade, while the others are worth about 2%. This obviously isn&#8217;t the only course I&#8217;m taking either, so I have other midterms.</p>
<p>I really just feel like breaking down and crying, but there seriously isn&#8217;t even time for that. This month will be a crazy one. Luckily I have someone nice who brings me Tim&#8217;s at midnight :D <3</p>
<p>The holidays will be very, very welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://void-flower.net/2009/11/november/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fell through again</title>
		<link>http://void-flower.net/2009/10/fell-through-again/</link>
		<comments>http://void-flower.net/2009/10/fell-through-again/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 07:20:39 +0000</pubDate>
		<dc:creator>Rebecca</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[CS]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[school]]></category>

		<guid isPermaLink="false">http://void-flower.net/?p=292</guid>
		<description><![CDATA[Basically: I suck at blogging. Is it just me, or do most of my posts seem to be about this?]]></description>
			<content:encoded><![CDATA[<p>Every time I promise myself (which apparently means nothing these days) that I&#8217;ll blog about things or update my &#8216;content&#8217;. That, and many other things. I still have the nasty, nasty habit of doing nothing with my time.</p>
<p>It&#8217;s been a month now of the school term. I&#8217;ve had (I think) 5 total assignments now. I definitely didn&#8217;t start those early either. I&#8217;m supposed to do some volunteer work that was started in bloody <em>May</em> that I still haven&#8217;t done. Sighhh I&#8217;m a waste of space.</p>
<p>School is going well so far. The math class I&#8217;m in is a bit over my head, but I think it&#8217;s getting better. It could be because the prof barely understands what he&#8217;s writing on the board himself. Fail. The three other classes I&#8217;m taking are all computer science classes. They are of&#8230; varying awesomeness. One is a heavy programming course, one a theory on data structures and run-time analysis, and the other logic course. All three profs have their many faults. The best prof is the one that doesn&#8217;t know anything beside the slides he&#8217;s reading off of, the other two can barely speak English. The data structures prof pronounces words like &#8216;complexity&#8217; as &#8216;compressity&#8217; and &#8216;graph&#8217; as &#8216;gwaff&#8217;.</p>
<p>On the plus side: I&#8217;m going to the gym to lift weights with a bunch of big guys. They&#8217;re not <em>that</em> massive I guess, but they can lift a bunch of weight so therefore big in comparison to me. I&#8217;m mostly the only girl in the weight gym when we go. I think my total for bench press, squats, and dead lift is around 300lbs now. I feel more rigid and stronger too; I can actually see my biceps!</p>
<p>There were other big things&#8230; I think. Every time something cool happens I say to myself: Yeah I&#8217;ll go blog about that! It doesn&#8217;t happen of course. If this blog starts getting updated once a week, assume it&#8217;s someone impersonating me. </p>
<p>I&#8217;m totally addicted to the newish Facebook app &#8211; Café World. The name is a little lame (&#8216;World&#8217;? ohplease). You basically have your little café, and make meals. Random bots and AI-controlled friends of yours walk in and stuff their faces full of your stuff you just made. The game is slow compared to Farmville &#8212; it doesn&#8217;t seem well balanced at the moment. It seems to take a long time to earn the currency, yet decorations are pretty expensive. Oh! Here&#8217;s something exciting: The company that made these games (Farmville, Mafia Wars, Café World), Zynga, is coming to U Waterloo to give an information session for co-op students applying for jobs. I&#8217;ll definitely be going, and asking questions about why their flash optimization seems to suck. It chews up way too much CPU for this stuff. </p>
<p>That&#8217;s it for now, I&#8217;ll just continue staying up all night now. I want to get some assignment stuff done before going home for the weekend. The biggest downside is that it&#8217;s so cold as I&#8217;m not warm in bed&#8230; :(</p>
]]></content:encoded>
			<wfw:commentRss>http://void-flower.net/2009/10/fell-through-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Go Away Insurance Guys!</title>
		<link>http://void-flower.net/2009/09/go-away-insurance-guys/</link>
		<comments>http://void-flower.net/2009/09/go-away-insurance-guys/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 16:14:43 +0000</pubDate>
		<dc:creator>Rebecca</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[idiots]]></category>
		<category><![CDATA[insurance]]></category>

		<guid isPermaLink="false">http://void-flower.net/?p=290</guid>
		<description><![CDATA[I know insurance guys are notorious for wanting to sell you stuff you do not need, but these last two days have been such a hassle!!!
It started last Thursday with my new landlord calling me and telling me I needed tenant insurance. Okay, sure. Maybe I&#8217;m a little new to this insurance thing, but I [...]]]></description>
			<content:encoded><![CDATA[<p>I know insurance guys are notorious for wanting to sell you stuff you do not need, but these last two days have been such a hassle!!!</p>
<p>It started last Thursday with my new landlord calling me and telling me I needed tenant insurance. Okay, sure. Maybe I&#8217;m a little new to this insurance thing, but I was thinking insurance worth not even $200 for a year wouldn&#8217;t take that long to get. Friday I go to TD Canada Trust, and they tell me they cannot give me insurance <em>in person</em>. I need to call. The website, where I obtained my quote, told me nothing of the sort. Luckily, the guy I talked to had a friend at State Farm and I got his number.</p>
<p>Monday morning, yesterday, I call then go see this insurance guy. He seems nice enough. Too bad even the nice, and seemingly honest, insurance guys still try to sell you things. I was only there for renter&#8217;s insurance. I made that clear. I get a great quote for the insurance I <em>actually</em> want. He did quote me further for car insurance, which was okay since it was <strong>MUCH</strong> lower than what I&#8217;m paying now. About half of what I pay now. It doesn&#8217;t matter anyways, since I&#8217;m taking my car off the insurance for essentially 8 months. I told him this many times too, but he conveniently ignored me. I get my tenant&#8217;s insurance and gtfo back to work.</p>
<p>About 20 minutes ago, the other insurance dude calls me (who I worked with for my car). I meant to call him for address changes, but he got to me first. I changed my address successfully, with minimal interruptions. After many times interrupting me with more sales pitch, I finally got through to him that I wanted to take my road insurance off for the next 8 months except for December. My dad had done it a few times before, so how hard could it be? Apparently a lot more of a hassle for me! I have to send him pictures of my car and photocopy the parking permit that doesn&#8217;t exist.</p>
<p>He got incredibly confused when I tried to explain to him that my car is parked on the premise of my apartment building. He thought I was paying to park at the school. This is on my cell too, so there&#8217;s a bunch of airtime wasted. When he finally understood what was even going on, he tried to sell me tenant&#8217;s insurance. I tried to say &#8220;no&#8221;, but he continued to interrupt me. I let him quote me, hoping to say &#8220;lol I got way lower from other company&#8221;. He quotes me for double of what I&#8217;m paying now, and I quickly tell him he sucks (not really, but I wish).</p>
<p>I&#8217;m very tempted to just ring him up again and tell him to cancel me completely. I can just go with someone else (like that other insurance guy from yesterday). Siiigh.</p>
]]></content:encoded>
			<wfw:commentRss>http://void-flower.net/2009/09/go-away-insurance-guys/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
