<?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>FLiFnotes &#187; Deborah Hawkins</title>
	<atom:link href="http://www.flifnotes.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flifnotes.com</link>
	<description></description>
	<lastBuildDate>Mon, 06 Sep 2010 16:12:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>What confidentiality lacks in the Bell-La Padula model</title>
		<link>http://www.flifnotes.com/42-what-confidentiality-lacks-in-the-bell-la-padula-model/</link>
		<comments>http://www.flifnotes.com/42-what-confidentiality-lacks-in-the-bell-la-padula-model/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 16:12:12 +0000</pubDate>
		<dc:creator>Deborah Hawkins</dc:creator>
				<category><![CDATA[UTCS]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.flifnotes.com/?p=42</guid>
		<description><![CDATA[The Bell-La Padula model (BLP) is a type of security system that presents a solution to one of the classic problems in security&#8211;multilevel security. BLP preserves confidentiality in the system and is a model that&#8217;s referenced even today, even though it has some serious flaws. Multilevel security (MLS) presents a set of users and a [...]]]></description>
			<content:encoded><![CDATA[<p>The Bell-La Padula model (BLP) is a type of security system that presents a solution to one of the classic problems in security&#8211;multilevel security. BLP preserves confidentiality in the system and is a model that&#8217;s referenced even today, even though it has some serious flaws.</p>
<p><a href="http://en.wikipedia.org/wiki/Multilevel_security">Multilevel</a> security (MLS)  presents a set of users and a set of objects to be accessed. Both the users and objects are classified hierarchically with a security level as well as need-to-know categories. For example, you may have an &#8220;Unclassified&#8221; user trying to read a &#8220;Classified&#8221; object or a &#8220;Classified Crypto&#8221; user trying to write a &#8220;Classified Nuclear&#8221; object.</p>
<p>The <a href="http://en.wikipedia.org/wiki/Bell-La_Padula_model">Bell-La Padula model</a> defines a way for deciding whether to grant access in each of these cases. This model uses a formula to define whether a certain level combined with a category <em>dominates</em>some other level combined with a category. We&#8217;ll define &#8220;Classified&#8221; as a higher level than &#8220;Unclassified&#8221;, so in the first example &#8220;Classified&#8221; (with no category) dominates &#8220;Unclassified&#8221; (with no category). I&#8217;ll ignore categories here for simplification, but in reality for one classification to dominate another, both its level <em>and</em> category set must dominate the other.</p>
<p>Having this domination function defined, we can describe the two main properties in the Bell-La Padula model:</p>
<ul>
<li>The Simple Security Property &#8211; A user can only read an object if the classification of the user dominates that of the object. (Also known as &#8220;read down&#8221; or &#8220;no read up&#8221;.)</li>
<li>The *-Property &#8211; A user can only write to an object if the classification of the object dominates that of the user. (Also known as &#8220;write up&#8221; or &#8220;no write down&#8221;.)</li>
</ul>
<p>The reasoning behind the Simple Security Property is pretty straight-forward. If you&#8217;re concerned about confidentiality, you definitely don&#8217;t want people to read anything that they don&#8217;t have to. It&#8217;s the second property that raises some eyebrows. Why should a user be able to overwrite something that they can&#8217;t even read? Doesn&#8217;t this create huge issues with integrity?</p>
<p>The answer is simply that BLP doesn&#8217;t concern itself with integrity. But when you look at the property solely from the concept of confidentiality, the idea becomes a bit more clear. A user at a certain level knows information that users at lower levels don&#8217;t, so he shouldn&#8217;t be able to write anything to those other levels. However, users at a higher level already know that information so in that sense it&#8217;s okay to write to a higher level. You don&#8217;t have to worry that someone will see something they shouldn&#8217;t know about.</p>
<p>Another question in this model is how can someone give an order to their subordinate at a lower level? Here BLP adds the concept of trusted users. These are a special type of users who are proven trustworthy and who have the ability to write to lower levels. To me this seems like a cheap way of adding in functionality that should be provided by the basic system. &#8220;How do you make sure someone is trustworthy?&#8221; seems like as much of a complex question as &#8220;how do you make sure information isn&#8217;t written where it shouldn&#8217;t be?&#8221; Perhaps the reason for considering the first is that it&#8217;s easier to just have a person decide the second.</p>
<p>Overall, it&#8217;s interesting to find that the Bell-La Padula model has retained such influence despite its inherent shortcomings. As we continue in my Computer Security course, I look forward to seeing how more modern models compare and how they&#8217;ve solved the integrity problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flifnotes.com/42-what-confidentiality-lacks-in-the-bell-la-padula-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My last blog in DVORAK</title>
		<link>http://www.flifnotes.com/40-my-last-blog-in-dvorak/</link>
		<comments>http://www.flifnotes.com/40-my-last-blog-in-dvorak/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 04:05:34 +0000</pubDate>
		<dc:creator>Deborah Hawkins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[DVORAK]]></category>

		<guid isPermaLink="false">http://www.flifnotes.com/40-my-last-blog-in-dvorak/</guid>
		<description><![CDATA[I gave it a shot. For over a year, my laptop has been set to use the DVORAK keyboard layout. I heard it could possibly help me type faster or be more ergonomic, but at this point I&#8217;m calling it quits. Compared to my former 71 wpm in QWERTY, my peak in DVORAK is only [...]]]></description>
			<content:encoded><![CDATA[<p>I gave it a shot. For over a year, my laptop has been set to use the DVORAK keyboard layout. I heard it could possibly help me type faster or be more ergonomic, but at this point I&#8217;m calling it quits.</p>
<p>Compared to my former 71 wpm in QWERTY, my peak in DVORAK is only around 55 wpm. Of course, this is partly because whenever I use any computer other than my own, it&#8217;s in QWERTY. If there&#8217;s someone who can maintain finger fluency in two keyboard languages, they have all my respect. I&#8217;m not like that. And I&#8217;m not quite sure what my typing speed on QWERTY has dwindled down to. If there&#8217;s a potential to type faster, that&#8217;s just in ideal situations. As for any possible ergonomic benefits, that simply doesn&#8217;t matter. Switching back and forth between two keyboard layouts does not work.</p>
<p>Goodbye, DVORAK. I&#8217;ll miss your home-row words like &#8220;the&#8221; and &#8220;sound&#8221;. I&#8217;ll miss the lack of single-handed words. But none of my friends like you so it just won&#8217;t work out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flifnotes.com/40-my-last-blog-in-dvorak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Semester in Review &#8211; Spring &#8217;10</title>
		<link>http://www.flifnotes.com/39-semester-in-review-spring-10/</link>
		<comments>http://www.flifnotes.com/39-semester-in-review-spring-10/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 02:45:28 +0000</pubDate>
		<dc:creator>Deborah Hawkins</dc:creator>
				<category><![CDATA[UTCS]]></category>
		<category><![CDATA[software design]]></category>

		<guid isPermaLink="false">http://www.flifnotes.com/?p=39</guid>
		<description><![CDATA[One more semester closer to graduation. This spring I took only three courses&#8211;all of them upper-division computer science&#8211;but fortunately they were all different enough to feel like a balanced course load. I got in each of the three M&#8217;s: mathematics (Analysis of Programs), machines (Computer Systems Architectures), and models (Software Design). CS 336: Analysis of [...]]]></description>
			<content:encoded><![CDATA[<p>One more semester closer to graduation. This spring I took only three courses&#8211;all of them upper-division computer science&#8211;but fortunately they were all different enough to feel like a balanced course load. I got in each of the three M&#8217;s: mathematics (Analysis of Programs), machines (Computer Systems Architectures), and models (Software Design).</p>
<dl>
<dt>CS 336: Analysis of Algorithms (Myers)</dt>
<dd>This class focuses on formal proofs of algorithm correctness, including topics such as weakest preconditions, developing invariants, induction, and probability. Even for a computer science course, it&#8217;s very math-intensive. One of my favorite things about this class, though, was having a support group available. There are some classes where you&#8217;re supposed to figure out everything on your own and not discuss the homeworks at all, while here we were encouraged to attend ACM&#8217;s weekly theory reviews or our own groups to meet up and work on the homeworks. For a class where the students have such varying backgrounds (everyone teaches 313k differently), it&#8217;s really necessary. I may not have been able to get a firm grip on recurrence relations without it.</dd>
<dt>CS 352: Computer Systems Architectures (McKinley)</dt>
<dd>This was McKinley&#8217;s first time teaching CS 352, and unfortunately it was at times very obvious. Reading the textbook was helpful, but the exercises often used terminology not in the rest of the book and were very confusing. The midterms were also insanely difficult. I&#8217;d go in thinking I had a good understanding of the material but then leave completely stunned. (Being able to keep the graded midterms would have been nice.) But for the final at least, I had almost a whole week to study. I read the book, worked out extra exercises, summarized the class notes, checked Wikipedia for clarifications, and everything came together. Sure, there were a couple of small things that I couldn&#8217;t remember ever going over, but in an hour and a half I was done and ended up with a 90.5&#8211;the highest grade on the final for any student. If you want to do well in this class, you need to have a <em>lot</em> of time to devote to it.</dd>
<dt>CS 378: Software Design (Batory)</dt>
<dd>This has been probably my favorite computer science course. We learned how to reason about programs using UML and studied refactorings, design patterns, and architectural patterns. For even common design patterns like hooks, I had never understood before <em>exactly</em> what they were. My favorite part, though, was learning about parallel architectures and having the opportunity to simulate everything from a basic join up to the parallelized Gamma join architecture. It&#8217;s a difficult class, but Batory&#8217;s generally an entertaining lecturer and I would recommend it to any computer science student.</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://www.flifnotes.com/39-semester-in-review-spring-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to refactor Wikipedia articles</title>
		<link>http://www.flifnotes.com/38-how-to-refactor-wikipedia-articles/</link>
		<comments>http://www.flifnotes.com/38-how-to-refactor-wikipedia-articles/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 04:36:48 +0000</pubDate>
		<dc:creator>Deborah Hawkins</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[software design]]></category>

		<guid isPermaLink="false">http://www.flifnotes.com/?p=38</guid>
		<description><![CDATA[One of the first topics we discussed in Software Design was refactoring&#8211;making small, incremental changes to code that wouldn&#8217;t affect the behavior of the program but would make the code more readable and easier to modify. I considered it at first to be something like the fictional writer Joseph Grand in Camus&#8217;s The Plague. Grand [...]]]></description>
			<content:encoded><![CDATA[<p>One of the first topics we discussed in <a href="http://www.cs.utexas.edu/users/dsb/CS378/" title="CS 378: Software Design">Software Design</a> was refactoring&#8211;making small, incremental changes to code that wouldn&#8217;t affect the behavior of the program but would make the code more readable and easier to modify.</p>
<p>I considered it at first to be something like the fictional writer Joseph Grand in Camus&#8217;s <i>The Plague</i>. Grand had started a novel some time back but hadn&#8217;t gotten past the first sentence because he wanted to find the perfect words and was never satisfied. And it somewhat reminds me of myself trying to get back in the habit of writing these blog entries. Knowing when not to refactor really is the hardest part. Sometimes you have to just complete <em>something</em> even knowing that you could write it so much better.</p>
<p>Looking for examples of refactoring in prose writing rather than code, I stumbled across the history of Wikipedia&#8217;s article on <a href="http://en.wikipedia.org/wiki/Code_refactoring">code refactoring</a> which includes such gems as the <a href="http://en.wikipedia.org/w/index.php?title=Code_refactoring&#038;action=historysubmit&#038;diff=341674191&#038;oldid=341672378">Adding Quotation (to Make the Topic Less Dry)</a> refactoring or the <a href="http://en.wikipedia.org/w/index.php?title=Code_refactoring&#038;action=historysubmit&#038;diff=330819204&#038;oldid=330654147">Change Word (&#8220;Metric&#8221; to &#8220;Measurement&#8221;)</a> refactoring.</p>
<p>Keep in mind, though, that not everything counts as a refactoring. There are some transformations such as <a href="http://en.wikipedia.org/w/index.php?title=Code_refactoring&#038;action=historysubmit&#038;diff=327800160&#038;oldid=327751414">Remove Excess Comma</a> which are still just good ole&#8217; bug squashing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flifnotes.com/38-how-to-refactor-wikipedia-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Reflection in Java</title>
		<link>http://www.flifnotes.com/37-using-reflection-in-java/</link>
		<comments>http://www.flifnotes.com/37-using-reflection-in-java/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 18:15:50 +0000</pubDate>
		<dc:creator>Deborah Hawkins</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[reflection]]></category>

		<guid isPermaLink="false">http://www.flifnotes.com/?p=37</guid>
		<description><![CDATA[Last semester, my two main programming courses were CS 315 and CS 310 where we learned to use Lisp and LC-3 assembly code respectively. In both, programs and data were of the same format, so modifying a program was as simple as modifying data. In Java, however, it&#8217;s a bit more awkward. Sure, you can [...]]]></description>
			<content:encoded><![CDATA[<p>Last semester, my two main programming courses were CS 315 and CS 310 where we learned to use Lisp and LC-3 assembly code respectively. In both, programs and data were of the same format, so modifying a program was as simple as modifying data. In Java, however, it&#8217;s a bit more awkward. Sure, you can treat a .java file as text and modify it, but what if you only have the .class file? Or what if you just want an easier way? Fortunately, Java provides a solution called <a href="http://java.sun.com/developer/technicalArticles/ALT/Reflection/" title="Using Java Reflection">reflection</a>. </p>
<p>In our <a href="http://www.cs.utexas.edu/users/dsb/CS378/" title="CS 378">Software Design</a> course, our first assignment of the semester is to use reflection to create Java programs called adaptors. I&#8217;ve just started with the assignment by playing around with the Java reflection library and figuring out how to use these tools, but I thought I&#8217;d share a simple example which may be much quicker to understand than the article linked to above.</p>
<pre><code>import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class Main {
    public static void main(String[] args) { 

        // select the class to look into
        Class myclass = String.class;

        // check how many methods the class declares
        Method[] methods = myclass.getDeclaredMethods();
        System.out.println( "Number of methods in "
                + myclass.getName() + " class: " + methods.length + "\n" );

        // select a method from the class
        int methodNum = 52;
        Method mymethod = methods[methodNum];
        System.out.println( "Checking method #" + methodNum + ":" );

        // name of method
        System.out.println( "Name: " + mymethod.getName() );

        // modifiers such as protected or static
        // note: getModifiers() returns an int that you need the Modifier
        //       class to makes sense of
        System.out.println( "Modifiers: "
                + Modifier.toString(mymethod.getModifiers()) );

        // return type of method
        System.out.println( "Return Type: " + mymethod.getReturnType().getName() );

        // list of method's parameters
        Class<?>[] mytypes = mymethod.getParameterTypes();
        for (Class c: mytypes)
            System.out.println( "Parameter: " + c.getName() );
    }
}</code></pre>
<p>The output for this program is:</p>
<pre><code>Number of methods in java.lang.String class: 68

Checking method #52:
Name: substring
Modifiers: public
Return Type: java.lang.String
Parameter: int
Parameter: int</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.flifnotes.com/37-using-reflection-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How do you design a favicon?</title>
		<link>http://www.flifnotes.com/36-how-do-you-design-a-favicon/</link>
		<comments>http://www.flifnotes.com/36-how-do-you-design-a-favicon/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 22:38:38 +0000</pubDate>
		<dc:creator>Deborah Hawkins</dc:creator>
				<category><![CDATA[RandoMe]]></category>
		<category><![CDATA[favicon]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.flifnotes.com/?p=36</guid>
		<description><![CDATA[From all the classes I&#8217;ve taken in college, Mike Scott and Don Batory are two of my favorite professors. Aside of being well-prepared for lectures and such, the small details really do matter. The favicons on their websites for CS 307 and CS 378 are fantastic. Whenever I&#8217;m scrounging through my bookmarks or just looking [...]]]></description>
			<content:encoded><![CDATA[<p>From all the classes I&#8217;ve taken in college, Mike Scott and Don Batory are two of my favorite professors. Aside of being well-prepared for lectures and such, the small details really do matter. The favicons on their websites for <a href="http://www.cs.utexas.edu/~scottm/cs307/" title="Computer Science 307">CS 307</a> and <a href="http://www.cs.utexas.edu/users/dsb/CS378/" title="Software Design">CS 378</a> are fantastic. Whenever I&#8217;m scrounging through my bookmarks or just looking among a dozen open tabs, having a quickly recognizable image helps me find just what I&#8217;m looking for right away.</p>
<p>A few years ago, I had fun using Gimp for one of the first times in creating the favicon for Chavez360. It was just a smiley face with a red headband. The favicon was very simple, but it symbolized something easily recognizable to any Chavez fan.</p>
<p>This blog is a whole different story, though. Even after almost a year of occasional posts, I don&#8217;t have a main focus so a true symbol is out of the question. However, after putting it off for so long, I had to come up with something. Fortunately, I have a short word in the title and used a <a href="http://www.favicon.cc/">online favicon generator</a> to come up with something reasonable. Then not knowing what else to put in all the blank space left over, I added in some symmetrical symbols. <a href="http://codex.wordpress.org/Creating_a_Favicon" title="Add a favicon in WordPress">Adding it to WordPress</a> was simple.</p>
<p>No, it&#8217;s not the best favicon in the world, but it sure beats the default icon that Firefox provides so now when I visit, it feels just a little more like home.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flifnotes.com/36-how-do-you-design-a-favicon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Major Oops</title>
		<link>http://www.flifnotes.com/35-major-oops/</link>
		<comments>http://www.flifnotes.com/35-major-oops/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 04:37:18 +0000</pubDate>
		<dc:creator>Deborah Hawkins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[customer-orientation]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[godaddy]]></category>
		<category><![CDATA[hosting]]></category>

		<guid isPermaLink="false">http://www.flifnotes.com/35-major-oops/</guid>
		<description><![CDATA[Yesterday I discovered the hard way that I had let my domain registration lapse. My credit card number changed a few months ago so the registration couldn&#8217;t be renewed, and my contact info was old as well. When I went to my site to post a few article updates, it was gone. Just a generic [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I discovered the hard way that I had let my domain registration lapse. My credit card number changed a few months ago so the registration couldn&#8217;t be renewed, and my contact info was old as well.</p>
<p>When I went to my site to post a few article updates, it was gone. Just a generic landing page with annoying ads instead of the fansite that I had toiled over for so long.</p>
<p>I immediately went to the GoDaddy site to renew my domain as well as my webhosting, which I discovered had also expired. As I was scrambling to type in various numbers, I was thinking to myself: When was the last time I backed up the database? Are all the files on my local machine the same as those that were online when my site was last up? So <em>this</em> is what all those best practices are <em>really</em> about.</p>
<p>Fortunately, shortly after my payment went through, everything was back to normal. All the files, the databases&#8211;it was all saved even though GoDaddy could&#8217;ve gotten rid of it all if they wanted to. I just have to thank them for making it so easy to get it all back.</p>
<p>Then I went straight to the forum to post an apology to any visitors who had seen that awful page. By evening, there was a response from someone who was afraid I had just given up on the site and was thankful it was back up.</p>
<p>Yep, that&#8217;s what makes it all worthwhile.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flifnotes.com/35-major-oops/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Semester in Review &#8211; Fall &#8217;09</title>
		<link>http://www.flifnotes.com/33-semester-in-review-fall-2009/</link>
		<comments>http://www.flifnotes.com/33-semester-in-review-fall-2009/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 00:39:56 +0000</pubDate>
		<dc:creator>Deborah Hawkins</dc:creator>
				<category><![CDATA[UTCS]]></category>

		<guid isPermaLink="false">http://www.flifnotes.com/?p=33</guid>
		<description><![CDATA[Ah, my second semester in computer science has finally come to a close. When the Spring semester starts, I&#8217;ll no longer be a pre-CS student but a full-fledged CS student. It&#8217;s been a very busy semester for me but very rewarding at the same time. I finally feel like I&#8217;m at the point where I [...]]]></description>
			<content:encoded><![CDATA[<p>Ah, my second semester in computer science has finally come to a close. When the Spring semester starts, I&#8217;ll no longer be a pre-CS student but a full-fledged CS student. It&#8217;s been a very busy semester for me but very rewarding at the same time. I finally feel like I&#8217;m at the point where I can comprehend most any topic in CS that anyone cares to throw at me, even though it may still take a little extra time to sink in.</p>
<p>Anyhow, some closing thoughts on the classes that have encompassed me for the past few months:</p>
<dl>
<dt>CS 315: Algorithms and Data Structures (Novak)</dt>
<dd><a href="http://www.cs.utexas.edu/users/novak/cs315.html">Novak&#8217;s CS 315</a> site is one of the best in the department&#8211;if for nothing else than having an excellent vocabulary list and so many ways to browse the class notes. Novak wasn&#8217;t the most exciting lecturer, but he always made sure we understood what was going on. If I could change one thing about this class, though, I&#8217;d like to look at implementations a bit more. He&#8217;d tell us that the code already existed, and his focus was on making programming faster and easier for others, but for now I still want to see things very in depth.</p>
<dt>CS 310: Computer Organization and Programming (Boral)</dt>
<dd>In this course, we got to learn the fundamentals. We implemented our own stack and heap using LC-3 and learned how to write machine code. There&#8217;s much to be learned from this, but I think the main thing is to cherish the high-level languages we get to use (I still think it&#8217;s funny to call C &#8220;high-level&#8221; though) and to optimize how we use them without having to constantly focus on the small details. Boral was usually an entertaining lecturer, and if it wasn&#8217;t for the unpredictability of his tests I&#8217;d love to take another course with him.</dd>
<dt>CS 313K: Logic, Sets, and Functions (Lifschitz)</dt>
<dd>I took this class ten years ago as Philosophy 313K, so I expected this to be mostly a refresher course, and as such much of it was quite boring. However, I couldn&#8217;t miss any lectures because the exams would have questions about topics that weren&#8217;t in any of our notes or assignments. The course was mainly focused on mathematical functions and sequences, and I was a bit disappointed that logical quantifiers and connectives weren&#8217;t really covered. At least it was a (mostly) easy A for me.</dd>
<dt>EE 316: Digital Logic Design (Touba)</dt>
<dd>Between readings, homeworks, and labs, EE 316 is probably the most time-intensive course I&#8217;ve taken so far. (The required lab section doesn&#8217;t count for any credit hours.) Much of the material looks easy in retrospect, but the pace is so quick that you&#8217;re sure to get behind at some point along the way and have a lot of trouble catching up. The verbosity of VHDL is quite irritating, but learning all the tricks with Karnaugh maps was fun and state diagrams seem almost natural now.</dd>
<dt>M 328K: Introduction to Number Theory (Caputo)</dt>
<dd>Ah, my last ever pure math course. For being a rather easy course, though, it really made me miss Differential Equations. I mentioned this earlier, and now I&#8217;m sure that Moore method isn&#8217;t my strong point. I love to research things just to get new ideas even and felt pretty stifled in this class. It looks like what I did learn won&#8217;t go to waste, though. I&#8217;ve been looking over the supplementary textbook for CS 336 (next semester), and many of the theorems and algorithms I&#8217;ve learned are in there. <img src='http://www.flifnotes.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </dd>
</dl>
<p>(Note: I&#8217;m still waiting for my official grades to come out, but as I&#8217;ve calculated it: for the semester I have A&#8217;s in CS 310, CS 313k, and M 328k, and B&#8217;s in CS 315 and EE 316.<br />
Update: I got an A in CS 315 and an A- in EE 316. Whoo!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flifnotes.com/33-semester-in-review-fall-2009/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Experience is the best teacher</title>
		<link>http://www.flifnotes.com/32-experience-is-the-best-teacher/</link>
		<comments>http://www.flifnotes.com/32-experience-is-the-best-teacher/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 21:08:05 +0000</pubDate>
		<dc:creator>Deborah Hawkins</dc:creator>
				<category><![CDATA[UTCS]]></category>
		<category><![CDATA[Moore method]]></category>

		<guid isPermaLink="false">http://www.flifnotes.com/?p=32</guid>
		<description><![CDATA[Some things just take a while to sink in. This summer I was studying my class textbooks in advance because the ideas just simmer in the back of my brain and then make so much more sense when we actually get to them in class. However, my number theory class this semester is different. The [...]]]></description>
			<content:encoded><![CDATA[<p>Some things just take a while to sink in. This summer I was studying my class textbooks in advance because the ideas just simmer in the back of my brain and then make so much more sense when we actually get to them in class. However, my number theory class this semester is different. The class textbook is super thin and holds a few axioms to learn, but then asks us, the students, to explain them and to prove other theorems based on them. Sure, I can read in advance and try to work my way through, but it&#8217;s difficult without any feedback. With all these worries, can this still be a better way to learn?</p>
<p>This is a way of teaching known as the <a href="http://www.discovery.utexas.edu/rlm/reference/mahavier1.html">Moore method</a>. Instead of the standard lectures, this method allows students to experiment in a way by doing proofs and seeing how what we already know applies to new situations. We all progress at the same rate by presenting what we&#8217;ve learned in class and discussing what we did differently or anything that still doesn&#8217;t make sense.</p>
<p>Though this method is also used in our logic course, most computer science classes follow the standard lecture and lab format. Professor Gordon Novak told us, &#8220;CS is an experimental science,&#8221; but by this he didn&#8217;t mean that we discover new data structures just by trying to solve a problem and seeing that that would be the best possible solution. Instead with some exceptions, we learn most of the time we don&#8217;t need to reinvent the wheel. The focus is on learning about many different data structures, gaining experience using them, and figuring out how to decide which is the best solution to any particular problem.</p>
<p>Of course, the concept of number theory is completely different than most of what we encounter in computer science. The method of proving the theorem (which may be as close to programming as math gets) isn&#8217;t so important as the fact that you <em>can</em> prove it and really understand why something&#8217;s true. It&#8217;s still kind of a shock being in a Moore method class, but it&#8217;s only been two weeks, so I still have most of a semester left to see if this works for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flifnotes.com/32-experience-is-the-best-teacher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting started with Google AdSense</title>
		<link>http://www.flifnotes.com/31-getting-started-with-google-adsense/</link>
		<comments>http://www.flifnotes.com/31-getting-started-with-google-adsense/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 02:17:06 +0000</pubDate>
		<dc:creator>Deborah Hawkins</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[adsense]]></category>

		<guid isPermaLink="false">http://www.flifnotes.com/31-getting-started-with-google-adsense/</guid>
		<description><![CDATA[A year ago, my AdSense application was denied because I had just started a new blog with only a handful of articles and they said my website was still under construction. This time I applied with my more developed hobby site instead and was pleasantly surprised with how easy it was to set up. (I [...]]]></description>
			<content:encoded><![CDATA[<p>A year ago, my AdSense application was denied because I had just started a new blog with only a handful of articles and they said my website was still under construction. This time I applied with my more developed hobby site instead and was pleasantly surprised with how easy it was to set up. (I modified the templates directly because I was too impatient to get a plugin working the way I wanted it to.)</p>
<p>After two whole weeks, I&#8217;ve earned a whopping $2.13! At this rate, I&#8217;ll hit my first $100 payout in just a short couple of years. Now I really wish I had applied again last year instead of putting it off; then I&#8217;d already be halfway there. Oh, well. In the end when it&#8217;s all averaged out, I&#8217;ll have made just enough to cover my hosting costs which makes this a no-cost hobby. There&#8217;s nothing better.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flifnotes.com/31-getting-started-with-google-adsense/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
