<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>I, Curtis</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/" />
    <link rel="self" type="application/atom+xml" href="http://www.disturbingthoughts.net/atom.xml" />
    <id>tag:www.disturbingthoughts.net,2007-10-07:/2</id>
    <updated>2010-03-18T05:56:38Z</updated>
    <subtitle>From my inner mind to the page</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.3-en</generator>

<entry>
    <title>ExIf 35</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/exif-35.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1681</id>

    <published>2010-03-17T19:19:12Z</published>
    <updated>2010-03-18T05:56:38Z</updated>

    <summary>With all that has been going on with ExIf 35 and the amount I have blogged about it, it has occurred to me that I haven&apos;t really introduced the app on my blog at all, outside of the problems I...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>With all that has been going on with ExIf 35 and the amount I have blogged about it, it has occurred to me that I haven't really introduced the app on my blog at all, outside of the problems I have been having with getting things working exactly the way that I want. 
</p><p>First, a screenshot: 
</p><p><a href="http://images.livecurt.net/blog/apps/main.png"><img src="http://images.livecurt.net/blog/031710_1919_ExIf351.png" alt="" border="0"/></a>
	</p><p>The application is designed for film photographers (me) to store information about each exposure on a roll. The original intent of the application was to simply store the information into an XML file, but after that portion of the application was finished being written I added the ability for the application to write the information in the image file for the scanned negative or print. At some point I also decided that I wanted to keep up with lens information, which of course required me to learn a new skill of putting information into the files using XMP, what a joyful experience that was. Now the application is on the path to fully utilizing XMP, including contact information (I still have to put that feature in). I am also working on utilizing some custom fields in XMP that will store the information that is specific to the film process, such as the film type, developing chemicals used and the date the roll was developed. I intend to in the future (when the application has a web presence) to post the specifications for the custom fields that I utilize. In the future I may also add functionality for managing the rolls and not just the images on the rolls. 
</p><p><a href="http://images.livecurt.net/blog/apps/add-edit.png"><img src="http://images.livecurt.net/blog/031710_1919_ExIf352.png" alt="" border="0"/></a>
	</p><p>This is the form used to add or edit images on a roll. 
</p><p><a href="http://images.livecurt.net/blog/apps/manlens.png"><img src="http://images.livecurt.net/blog/031710_1919_ExIf353.png" alt="" border="0"/></a>
	</p><p>This form is used to manage the lenses available to the exposures. 
</p><p><a href="http://images.livecurt.net/blog/apps/mapexif.png"><img src="http://images.livecurt.net/blog/031710_1919_ExIf354.png" alt="" border="0"/></a>
	</p><p>Finally, this form will be used to write the information to the JPEG files. As you can see, it also allows the inclusion or not of other information. 
</p><p>
 </p><p>SourceForge Project: <a href="https://sourceforge.net/projects/exif35/">https://sourceforge.net/projects/exif35/</a>
	</p><p>Download From: <a href="https://sourceforge.net/projects/exif35/files/">https://sourceforge.net/projects/exif35/files/</a> (latest has Windows icon beside it)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Lens Information Stored</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/lens-informatio.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1677</id>

    <published>2010-03-16T06:38:50Z</published>
    <updated>2010-03-16T06:38:50Z</updated>

    <summary>Finally, I have managed to store lens information in my JPEG files! It isn&apos;t using ExIf though, because honestly, it&apos;s way too hard and would require me learning way too much information about how the Makernote segment of ExIf works....</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>Finally, I have managed to store lens information in my JPEG files! It isn't using ExIf though, because honestly, it's way too hard and would require me learning way too much information about how the Makernote segment of ExIf works. As an alternative, I am using XMP. XMP is an Adobe developed standard based on XML that is embedded into JPG files (or as  a standalone beside RAW). I am so far using two fields of XMP that come from Microsoft's standards used for Windows Vista/7's image management tools, those are <span style="color:#a31515; font-family:Courier New; font-size:10pt">/xmp/MicrosoftPhoto:LensManufacturer</span> and <span style="color:#a31515; font-family:Courier New; font-size:10pt">/xmp/MicrosoftPhoto:LensModel </span>as well as <span style="color:#a31515; font-family:Courier New; font-size:10pt">/xmp/xmp:lens </span>and <span style="color:#a31515; font-family:Courier New; font-size:10pt">/xmp/aux:Lens</span>. I've gone from having 0 places for lens information to having 3 places for lens information. At this point I am just happy it's in there, but now that I am using XMP, I have more places to put information which means I can allow for the option of storing more information in the files. I now have intentions on letting ExIf 35 store contact information in the files when the option is selected. Additional things I would like to store is things like the chemicals used in developing and a better way to do the film information, other than just a user comment area that states "Shot on ____ film". Because things are moving more digital, I am likely to have to write my own schema addition to XMP and store the information. It's likely that the only thing that will read those fields is ExIf 35 itself, but I'm hopeful that if it has to be done, I might be able to convince Flickr to adopt my schema addition as well, since it is quite likely it would be the only one anywhere near supporting film information. All of this information is relevant to the image, and it would be great to get it all in. </p>]]>
        
    </content>
</entry>

<entry>
    <title>ExIf Lens Information</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/exif-lens-infor.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1675</id>

    <published>2010-03-13T04:22:41Z</published>
    <updated>2010-03-13T04:22:41Z</updated>

    <summary>I think I have managed to accomplish all that I wanted with ExIf except for one thing. I still want to store lens information in the ExIf info. Unfortunately, the only place to do that is MakerNotes, and I don&apos;t...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>I think I have managed to accomplish all that I wanted with ExIf except for one thing. I still want to store lens information in the ExIf info. Unfortunately, the only place to do that is MakerNotes, and I don't know how to work with them. It is my understanding that I would have to pick a specific set of makernotes to use for this, but I'm not even sure how to go about that. Because of the nature of my project I am not tied down to one particular set of notes, but that also means that I don't need all of the tags included in a full set. I can't make heads or tails out of how makernotes function. Do I have to somehow specify what the notes are? Are there internal references between the notes that tell photo viewers what each tag is? I don't have a clue and its starting to get to me. Is it possible to create my own maker notes? My guess on that is no, since everyone seems to be desperate to track down makernotes for every major camera ever created. I feel like I am Googling in circles at the moment trying to make things work. </p>]]>
        
    </content>
</entry>

<entry>
    <title>What is deserving of film?</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/what-is-deservi.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1674</id>

    <published>2010-03-11T21:22:57Z</published>
    <updated>2010-03-11T21:22:57Z</updated>

    <summary>What images are deserving of being stored on film? As I have only taken 7 exposures of film so far I have found myself thinking about this a good bit. I don&apos;t think I would want to us film for...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="Film" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>What images are deserving of being stored on film? As I have only taken 7 exposures of film so far I have found myself thinking about this a good bit. I don't think I would want to us film for special occasions, as there are way too many things that could go wrong, and yet, I don't want to use film for frivolous photography because film is expensive. I suppose this puts film in the category of "serious art photography", but I don't like that, as I don't think "serious" and "art" go together, one pollutes the other. I do believe I want to use film only for art photography and not for the other purposes mentioned. I still question what I should shoot as I don't think I have ever thought about photography in this way. With clay I have to put a lot of effort and focus into what I do because the clay is precious. When thinking about it, film is even more precious because while you can make a bowl, even though it may be a bad bowl, it still has all of the basic properties of a bowl, it can hold things. With film, a bad exposure is just that, a bad exposure. I suspect my problem here in the question of what deserves film is more or less about my compositional skill, which at the moment is pretty non-existent. With digital I shoot until things look right, with film I don't have that option. Perhaps it's time for me to wander around with a viewfinder to my head and answer my own question. </p>]]>
        
    </content>
</entry>

<entry>
    <title>The Many Ways to Flash (or Not to Flash)</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/the-many-ways-t.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1673</id>

    <published>2010-03-09T05:22:24Z</published>
    <updated>2010-03-09T05:24:03Z</updated>

    <summary>Just thought of adding some of the more fun flash codes to my ExIf tool, but have decided against it for now unless someone directly requests it. I am perfectly happy with the binary choice of 0 (Flash did not...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="C#" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>Just thought of adding some of the more fun flash codes to my ExIf tool, but have decided against it for now unless someone directly requests it. I am perfectly happy with the binary choice of 0 (Flash did not fire) or 1 (Flash fired). All of the other options are roughly as easy from a logical standpoint, but they are much harder to pass into my existing code for encoding into the ExIf of image files. 
</p><p><span style="font-family:Arial; font-size:9pt"><strong>0000.H = Flash did not fire.
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0001.H = Flash fired.
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0005.H = Strobe return light not detected.
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0007.H = Strobe return light detected.
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0009.H = Flash fired, compulsory flash mode
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>000D.H = Flash fired, compulsory flash mode, return light not detected
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>000F.H = Flash fired, compulsory flash mode, return light detected
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0010.H = Flash did not fire, compulsory flash mode
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0018.H = Flash did not fire, auto mode
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0019.H = Flash fired, auto mode
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>001D.H = Flash fired, auto mode, return light not detected
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>001F.H = Flash fired, auto mode, return light detected
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0020.H = No flash function
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0041.H = Flash fired, red-eye reduction mode
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0045.H = Flash fired, red-eye reduction mode, return light not detected
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0047.H = Flash fired, red-eye reduction mode, return light detected
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0049.H = Flash fired, compulsory flash mode, red-eye reduction mode
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>004D.H = Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>004F.H = Flash fired, compulsory flash mode, red-eye reduction mode, return light detected
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>0059.H = Flash fired, auto mode, red-eye reduction mode
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>005D.H = Flash fired, auto mode, return light not detected, red-eye reduction mode
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>005F.H = Flash fired, auto mode, return light detected, red-eye reduction mode
</strong></span></p><p>On the other hand, I have decided to add all 21 types of light, since that seems more useful (and is less likely to give me a headache)
</p><p><span style="font-family:Arial; font-size:9pt"><strong>1 = Daylight
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>2 = Fluorescent
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>3 = Tungsten (incandescent light)
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>4 = Flash
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>9 = Fine weather
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>10 = Cloudy weather
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>11 = Shade
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>12 = Daylight fluorescent (D 5700 – 7100K)
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>13 = Day white fluorescent (N 4600 – 5400K)
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>14 = Cool white fluorescent (W 3900 – 4500K)
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>15 = White fluorescent (WW 3200 – 3700K)
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>17 = Standard light A
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>18 = Standard light B
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>19 = Standard light C
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>20 = D55
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>21 = D65
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>22 = D75
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>23 = D50
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>24 = ISO studio tungsten
</strong></span></p><p><span style="font-family:Arial; font-size:9pt"><strong>255 = other light source</strong></span></p>]]>
        
    </content>
</entry>

<entry>
    <title>ExIf Bytes</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/exif-bytes.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1671</id>

    <published>2010-03-08T21:00:48Z</published>
    <updated>2010-03-08T21:02:16Z</updated>

    <summary>I am victorious over ExIf! The documentation for ExIf overcomplicates things. While ExIf uses a lot of different types (0x1 through 0xA), it is possible to interact with most common values utilizing only 2 of these, 0x2 and 0x5. 0x2...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="C#" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>I am victorious over ExIf!  The documentation for ExIf overcomplicates things. While ExIf uses a lot of different types (0x1 through 0xA), it is possible to interact with most common values utilizing only 2 of these, 0x2 and 0x5. 0x2 is the null terminated string, and 0x5 is the 2 pair of Long Ints, acting as a rational. It would also seem that even though the documentation suggests that length only matters for 0x2, it cares for all of them, so it is a must to give the length of the byte array used to carry the long ints. A small error on my part was trying to convert directly from String (because I used System.Window.Forms.TextBox to get the information) to byte[] without passing through the intermediate int, or trying to convert to byte[] from double, which was very nasty. I learned these little tricks about things by reading in ExIf information in the application itself without the aid of any little helper apps that try to clean things up, it make the structure a lot more clear. 
</p><p>For anyone else trying a similar exercise in futility, here is a bit of my code:
</p><p><span style="font-family:Courier New; font-size:10pt">
			<span style="color:blue">if</span> (Type == 0x2) 
</span></p><p><span style="font-family:Courier New; font-size:10pt">            { 
</span></p><p><span style="font-family:Courier New; font-size:10pt">                tmpProp.Len = value.Length + 1; 
</span></p><p><span style="font-family:Courier New; font-size:10pt">                value = value + nullChar;
</span></p><p><span style="font-family:Courier New; font-size:10pt">                tmpProp.Value = <span style="color:#2b91af">ASCIIEncoding</span>.ASCII.GetBytes(value);
</span></p><p><span style="font-family:Courier New; font-size:10pt">            }
</span></p><p style="margin-left: 36pt"><span style="font-family:Courier New; font-size:10pt"><span style="color:blue">else</span>
			<span style="color:blue">if</span> (Type == 0x5)
</span></p><p><span style="font-family:Courier New; font-size:10pt">            {
</span></p><p>                
 </p><p><span style="font-family:Courier New; font-size:10pt">
			<span style="color:#2b91af">Byte</span>[] tmp1 =  <span style="color:#2b91af">BitConverter</span>.GetBytes(<span style="color:#2b91af">Convert</span>.ToInt32(value.Split(<span style="color:#a31515">'/'</span>)[0]));
</span></p><p><span style="font-family:Courier New; font-size:10pt">
			<span style="color:#2b91af">Byte</span>[] tmp2 = <span style="color:#2b91af">BitConverter</span>.GetBytes(<span style="color:#2b91af">Convert</span>.ToInt32(value.Split(<span style="color:#a31515">'/'</span>)[1]));
</span></p><p><span style="font-family:Courier New; font-size:10pt">
			<span style="color:#2b91af">Byte</span>[] tmp3 = <span style="color:blue">new</span>
			<span style="color:#2b91af">Byte</span>[tmp1.Length + tmp2.Length];
</span></p><p><span style="font-family:Courier New; font-size:10pt">                tmp1.CopyTo(tmp3,0);
</span></p><p><span style="font-family:Courier New; font-size:10pt">                tmp2.CopyTo(tmp3, tmp1.Length);
</span></p><p>
 </p><p><span style="font-family:Courier New; font-size:10pt">                tmpProp.Value = tmp3;
</span></p><p><span style="font-family:Courier New; font-size:10pt">                tmpProp.Len = tmp3.Length;
</span></p><p><span style="font-family:Courier New; font-size:10pt">            }
</span></p><p>I love C#, so simple, but yet such a pain in the ass, all at once. </p>]]>
        
    </content>
</entry>

<entry>
    <title>The Downfall of Distance Education</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/the-downfall-of.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1670</id>

    <published>2010-03-08T18:43:05Z</published>
    <updated>2010-03-08T18:43:05Z</updated>

    <summary>When I first started distance education (online) courses back in 2004 things were different than they are now. From that statement you might gather that things have improved, you know, something technical, so it has to have gotten better. The...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="Academic" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Fayetteville State University" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>When I first started distance education (online) courses back in 2004 things were different than they are now. From that statement you might gather that things have improved, you know, something technical, so it has to have gotten better. The situation is quite the opposite. When I started online courses, I liked them better than lecture courses because they were better on many different aspects. Online instructors used to be specialized in what they did, they had a special affection for the online course delivery method. Often instructors would use such tools as web based chat, interactive websites and sometimes even video to keep students engaged in courses. The point being that the courses were actually web based courses, using the Internet as a key part of the instructional process and not just as the delivery method for the course. Now courses seem to be more structured like independent study courses that merely utilize the Internet as a method for sending in papers or taking quizzes. There is no instruction and often instructors are primarily lecturers looking to pick up a few extra hours on their schedule. To students, these instructors barely exist. I have a hard time remembering the names of my instructors because of their lack of interaction. I remember a time when I took online courses and I had a message in my inbox from an instructor at least once a week, sometimes more. Instructors would do things like send out links that may be of interest, or some little personal observation about course performance. Now the courses are pretty much forced to run themselves. It is quite a sad change. I feel as though the changes in the way online courses have been treated will eventually cause the online method to either be terminated, or force them into a completely different accreditation status. 
</p><p>I believe the change in the way distance education courses have been taught in recent years has a lot to do with adult learners wanting to complete degrees. Those adult students do not want a lot of a materials to handle, or any type of interaction, they just want to do the reading for the course, take the test, and then get a meaningless piece of paper to stick on the wall. I do not believe those students truly want an education, they want a degree. With that downturn of academic ambition there isn't a lot of reason for instructors to be involved or to do much more than a copy/paste online course in Blackboard. The courses are technically capable of running themselves, they can grade a lot of their own material and they can handle operating on a schedule, no intervention required, but do we really want to change the way academic institutions are structured to have students interacting with a course and not an instructor? If this pattern continues, that's what will happen, no more instructors, just courses and "course designers" (the people that presently prepare courses for instructors). 
</p><p>I hope that when I begin my masters program I won't find the same thing in graduate courses as I am finding in undergrad courses. </p>]]>
        
    </content>
</entry>

<entry>
    <title>Still an ExIf No Go</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/still-an-exif-n.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1669</id>

    <published>2010-03-08T06:39:56Z</published>
    <updated>2010-03-08T06:39:56Z</updated>

    <summary>I am still trying to wrap my head around everything in ExIf. The Strings are no big deal, they just convert cleanly to byte arrays and go into the file, but I don&apos;t even know where to begin making things...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="C#" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>I am still trying to wrap my head around everything in ExIf. The Strings are no big deal, they just convert cleanly to byte arrays and go into the file, but I don't even know where to begin making things the right format for everything else. If anyone can make any sense of this, please see the documents below, and if you think you can help, request to be added to the project on SourceForge so you can have SVN access to active code. 
</p><p><a href="http://msdn.microsoft.com/en-us/library/system.drawing.imaging.propertyitem.type.aspx">http://msdn.microsoft.com/en-us/library/system.drawing.imaging.propertyitem.type.aspx</a> Defines the types I am forced into using
</p><p><a href="http://www.exif.org/samples/nikon-e950.html">http://www.exif.org/samples/nikon-e950.html</a> Gives some examples of the fields and their values (still not helpful, since it doesn't give me the raw input form)
</p><p><a href="http://msdn.microsoft.com/en-us/library/ms534418%28VS.85%29.aspx">http://msdn.microsoft.com/en-us/library/ms534418%28VS.85%29.aspx</a> The tags, in order, that VS supports. 
</p><p><a href="http://exif35.svn.sourceforge.net/viewvc/exif35/ExIF35/">http://exif35.svn.sourceforge.net/viewvc/exif35/ExIF35/</a> My source code. Feel free to poke around. 
</p><p>
 </p><p>The problem:
</p><p>Everything has to be converted to an array of bytes (byte[]). I do not know how to get things like 1/100, 2.8/1 and 50/1 into the proper forms (see first link above) to put them into the byte array. I am just so incredibly frustrated at this point. </p>]]>
        
    </content>
</entry>

<entry>
    <title>Fighting ExIf</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/fighting-exif.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1668</id>

    <published>2010-03-08T01:31:22Z</published>
    <updated>2010-03-08T01:31:22Z</updated>

    <summary>The Exchangable Image-file Format is a nice little thing that keeps up with information relating to how a picture was taken, where it was taken, who took it and what is in the picture (as vague as how far from...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="C#" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>The Exchangable Image-file Format is a nice little thing that keeps up with information relating to how a picture was taken, where it was taken, who took it and what is in the picture (as vague as how far from the camera the subject, or even detailed information about the subject). The use of ExIf is primarily linked to digital photography, but there are some instances when it doesn't have to be. The options for storing the type of sensor method used to capture the image is certainly a digital-only field, however, there are things such as "DTDigitized", which is "Date/Time Digitized" that would indicate that the moment the image was captured and the moment it was digitized might be more than a second apart (such as in film photography). 
</p><p>I am horrible at keeping up with notes, so I am attempting to write software that will store all of my relevant information for me. The software for storing the actual notes was not a big deal, it is just a form that writes everything to a giant XML file, no complication there. Where things get tricky is the writing of data to the files themselves. First of all, with as common as ExIf information is, I assumed that there was some type of text-based value used to identify the properties, that isn't the case, they are large integers (such as <span style="font-family:Courier New; font-size:10pt">0x8827 for "ISO Speed")</span>. Those integers map to a specific property. The information itself is stored as individual arrays of bytes, no strings at all, everything is stored numerically. Things have to be written in a very particular way or else when the bytes are converted back to strings for reading, things don't match up and you get off the wall values. 
</p><p>Now I am fighting with C# and the .NET System.Drawing.Imaging library (specifically the PropertyValue class) in an attempt to make everything work out. I have to set like 4 values for each one ExIf property I want to use. It is going to be a very long night before this application is ready for use. </p>]]>
        
    </content>
</entry>

<entry>
    <title>Writing Software</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/writing-softwar-7.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1667</id>

    <published>2010-03-06T06:35:07Z</published>
    <updated>2010-03-06T06:40:49Z</updated>

    <summary>It seems like lately I have been creating a lot of software applications, but not really getting any of them where I want them in terms of functionality. All of my apps are very specific in what they do and...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="C#" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programming" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>It seems like lately I have been creating a lot of software applications, but not really getting any of them where I want them in terms of functionality. All of my apps are very specific in what they do and aren't really of much use to anyone else. Several of these applications are in the repositories on <a href="https://sourceforge.net/users/cmkularski">SourceForge</a> and their code is publicly viewable. I am starting to think I should put some effort into all of these, except the ones relating to GITI, since they are merely supplements to the online system itself. 
</p><p><strong>APA Reference Manager</strong><br/>The insanity this came from was dodging writing a paper, while still sort of working on it. It's pretty much the same as the web-based conversion services, except this one is on your PC and won't suddenly demand a fee to get your references [<a href="http://images.livecurt.net/blog/apps/aparefman.png">Screenshot</a>]
</p><p><strong>ExIf 35</strong><br/>Now that I have a 35mm camera I started thinking about the fact that most film photogs carry around little notepads. Well, I don't like those notepads, at least not for long term storage of my picture information, so, I have written this little tool to store that information to a file, and eventually I hope to get the ability to write the ExIf data directly to the scanned negative files. [<a href="http://images.livecurt.net/blog/apps/exif35.png">Screenshot</a>]
</p><p><strong>GITI Desktop</strong><br/>A very basic desktop application that I have now abandoned working on. It is supposed to get information from GITI on the web and present it for the user, eventually it would theoretically be able to handle all of the modules of GITI, but that seems a little too hard at the moment. [<a href="http://images.livecurt.net/blog/apps/giti.png">Screenshot</a>]
</p><p><strong>GITI Cookbook</strong><br/>This application has the GITI name, but isn't strictly for GITI. It can retrieve recipes from GITI's cookbook, but it can also retrieve recipes from a file, or take them from user input and then store them in a file. Very simple as far as use, but a really neat app to write from the standpoint of using XML and object orientation. [<a href="http://images.livecurt.net/blog/apps/giticookbook.png">Screenshot</a>]
</p><p><strong>GITI Notify</strong><br/>This is my second attempt at a GITI application. This focuses on upcoming items in the queue of GITI. Nothing too complicated, a very clean app in my opinion. I want to add more things to it, such as status updates. I also plan to make it minimize to the tray. [<a href="http://images.livecurt.net/blog/apps/gitinotify.png">Screenshot</a>]
</p><p><strong>GPSWriter</strong><br/>This one is basically complete. It takes in files written by my GPS receiver (in NMEA sentence files), and then runs them through a pre-written converter (GPSBabel) and then places them in the proper folder. Its not a big deal, but I have given it a drag and drop interface that will let me put in a batch of files very easily. The app I use in the background to make this work only takes one file at a time. [<a href="http://images.livecurt.net/blog/apps/gpswriter.png">Screenshot</a>]
</p><p><strong>Side By Side</strong><br/>This was born from one of the crazy little things that keeps me from replying to email. I hate having to move between windows or tabs or whatever to reply to a message. This little app will let me paste plain text into box 1 and type a response to it in box 2. I want to make this one more interesting, but it doesn't really go beyond what I have mentioned as far as expected functionality. It's like having two notepad windows side by side, except these two boxes are permanently bound by this single application. [<a href="http://images.livecurt.net/blog/apps/sidebyside.png">Screenshot</a>]
</p><p><strong>Virtual Kiln</strong><br/>This one I thought was neat at the time, but not so much now. It is a piece of software that mimics the controller on my kiln and tries to determine what the temperature might be when ramping up. In the future I might add the ability to save programs as well as kiln statistics in it. [<a href="http://images.livecurt.net/blog/apps/virtualkiln.png">Screenshot</a>]
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Chicken Lasagna Rolls</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/chicken-lasagna.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1659</id>

    <published>2010-03-06T03:31:19Z</published>
    <updated>2010-03-06T03:56:52Z</updated>

    <summary>Category: ChickenPrep Time: 00:40:00Cook Time: 00:40:00 12 Lasagna Noodles3 Chicken Breasts, boneless2 cups Heavy Cream3 tbsp Butter, not margarine2 tbsp AP Flour1 pinch Nutmeg, ground1 tsp Salt2 tsp Black pepper, ground1 tsp Garlic powder(Optional)2 cups Marinara sauce6 ounces Mozzarella cheese,...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="Cooking" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p><span style="font-size:12pt">Category: Chicken<br/>Prep Time: 00:40:00<br/>Cook Time: 00:40:00<br/>
		</span></p><p><span style="font-size:12pt">12  Lasagna Noodles<br/>3  Chicken Breasts, boneless<br/>2 cups Heavy Cream<br/>3 tbsp Butter, not margarine<br/>2 tbsp AP Flour<br/>1 pinch Nutmeg, ground<br/>1 tsp Salt<br/>2 tsp Black pepper, ground<br/>1 tsp Garlic powder(Optional)<br/>2 cups Marinara sauce<br/>6 ounces Mozzarella cheese, grated<br/>2 tsp Olive oil(Optional)<br/>
		</span></p><p><span style="font-size:12pt">To cook the chicken and pasta: 
</span></p><p><span style="font-size:12pt">1. Slice raw chicken breasts into pieces that are slightly longer than the width of the noodles, and will allow the noodle to be wrapped around it several times. <br/>
		</span></p><p><span style="font-size:12pt">2. Brown chicken in a hot skillet, a non-stick skillet will require no oils. For other pan types, use about 2 tsp of olive oil to lubricate. <br/>
		</span></p><p><span style="font-size:12pt">3. While browning chicken begin boiling water for the noodles, and cook them per the package directions. Let them drain on a cooling rack. <br/>
		</span></p><p><span style="font-size:12pt">For the bechamel:
</span></p><p><span style="font-size:12pt">4. Once the chicken and noodles are cooked, heat the butter in a sauce pan until it begins to melt, then whisk in the flour, whisking continuously until the mixture is smooth and begins to bubble.<br/>
		</span></p><p><span style="font-size:12pt">5. Once the mixture is bubbling, add the heavy cream (or milk, milk just takes longer to cook, but absolutely no 2% milk). Bring the mixture to a boil, whisking continuously and until the mixture reduces to a sauce that resembles alfredo or a nacho sauce. Remove from heat as soon as desired thickness is reached and whisk in nutmeg, salt, pepper and garlic (if desired). <br/>
		</span></p><p><span style="font-size:12pt">Assembly: 
</span></p><p><span style="font-size:12pt">6. Place one noodle on a cutting board or other clean surface in front of you. Spoon about 3 tablespoons of the bechamel on the length of the noodle, most nearest you, and gradually thinning as you approach the top. Sprinkle about 1/12th of the cheese (1/2 ounce) evenly along the length of the noodle. Place a piece of chicken (1 large piece, or 2 small pieces) horizontally on the noodle at the end nearest you. Roll up the noodle and place it face down in a baking dish.  Repeat for all remaining noodles. <br/>
		</span></p><p><span style="font-size:12pt">7. Pour any remaining bechamel on top of the noodles. <br/>
		</span></p><p><span style="font-size:12pt">8. Pour marinara sauce over the noodles. <br/>
		</span></p><p><span style="font-size:12pt">9. Bake at 350 degrees for about 40 minutes. 
</span></p>]]>
        
    </content>
</entry>

<entry>
    <title>Mobile Computing Power</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/mobile-computin.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1657</id>

    <published>2010-03-04T21:46:58Z</published>
    <updated>2010-03-04T21:47:35Z</updated>

    <summary>In the past several months I have spent a lot of time hanging out in UNC-Charlotte&apos;s Atkins Library, and I have noticed an odd trend among students who take computers with them to the library... a lot of them plug...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>In the past several months I have spent a lot of time hanging out in UNC-Charlotte's Atkins Library, and I have noticed an odd trend among students who take computers with them to the library... a lot of them plug in. When I began college, only a few people brought laptops to class or even to the library, and almost no one brought their power packs. In general, back then, laptops had enough power to run for a few hours without needing to be plugged in. Now software applications are more power hungry and CPUs just sort of let them have at what they want to use. When I was researching what computer I wanted to buy for the purpose of having a mobile computer for taking with me when I go places, the first thing I looked at was battery life. I was less concerned about overall computing power than battery life. It may be hard to do things with an underpowered CPU at times, but it is even more difficult to do things when you have no power for the CPU to use at all. So why is it in this age of everything mobile and social that laptops are built in such a way that they require the power adapter leash? Personally, I am sitting here with 94% and 13 hours of battery life available to me, and even though I plan to be here until about 9:30 this evening, I know that I will have more than enough power. On this laptop I have Windows 7, Office, Visual Studio and a few image applications (everything short of PhotoShop), and the "low power" CPU I have doesn't seem to struggle at all with them. I suppose having two cores is better than one, no matter what voltage those cores consume. 
</p><p><img src="http://images.livecurt.net/blog/battery2.png"></p>]]>
        
    </content>
</entry>

<entry>
    <title>Arrival of Nikon N80QD</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/arrival-of-niko.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1656</id>

    <published>2010-03-04T21:25:51Z</published>
    <updated>2010-03-04T21:29:40Z</updated>

    <summary>The Nikon N80QD arrived at 11:50 this morning. I ordered a camera listed as &quot;used&quot; in Adorama&apos;s inventory. I ordered the one with the best rating that I could find (a rating of &quot;D&quot; for demo). Even with the device...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>The Nikon N80QD arrived at 11:50 this morning. I ordered a camera listed as "used" in Adorama's inventory. I ordered the one with the best rating that I could find (a rating of "D" for demo). Even with the device being of "demo" grade, I was expecting to see some signs that it had been touched before, but I had difficulty finding any. The camera came in its original box, in its plastic bag, complete with undisturbed silica gel packets. The only sign of the camera being used at all was the removed proof of purchase UPC on the side of the box. Also, the manual was missing, which isn't shocking, since it is worth a lot more away from the camera than it is with the camera. 
</p><p><img src="http://images.livecurt.net/blog/N80.PNG"></p>]]>
        
    </content>
</entry>

<entry>
    <title>Returning to a Simpler Time</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/03/returning-to-a.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1655</id>

    <published>2010-03-02T23:33:01Z</published>
    <updated>2010-03-02T23:33:01Z</updated>

    <summary>My 35mm film SLR shipped from Adorama this afternoon, after a 24 hour delay (which has yet to be explained). I have decided to spend a little time today reading the manual for it. So far what I have noticed...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>My 35mm film SLR shipped from Adorama this afternoon, after a 24 hour delay (which has yet to be explained). I have decided to spend a little time today reading the manual for it. So far what I have noticed is that I am sending myself to a simpler time photographically. The Nikon N80QD is very similar to the Nikon D90's direct predecessor the Nikon D80, but there are things that are obviously very different. The biggest thing I have noticed from reading the manual is that the highly customizable menus that exist on the D80 and D90 are present on the N80, with many of the same options (or their film equivalent), except for a major difference. Where I have been used to working with a full color menu with help options and a variety of other little conveniences, on the N80 I will have the menu options guide from the manual and the option to select 1 or 0 for each of the numbered options in the menu (just numbers, no names). When I first got the D90 I asked why the menus had numbers, since the D60's menus do not have numbers, I suppose now I have my answer, because in that line of cameras there was an early history of using numbers to identify options instead of names. I suspect it will be a pain in the ass to learn all of the menu options, but I will give it my best shot and hopefully not spend the first few weeks with the camera learning its controls. Other than the main menu, all of the other controls are laid out just like the D80, which again, is nearly identical to the D90. </p>]]>
        
    </content>
</entry>

<entry>
    <title>Film Photography Welcome Kit</title>
    <link rel="alternate" type="text/html" href="http://www.disturbingthoughts.net/archives/2010/02/film-photograph.php" />
    <id>tag:www.disturbingthoughts.net,2010://2.1651</id>

    <published>2010-02-28T22:53:20Z</published>
    <updated>2010-02-28T23:46:54Z</updated>

    <summary>To get me started on the wonderful world of film photography, I have ordered the following:  SKU Brand Product Qty Price Total -------------------- ---------------------------------------- --- ----------- ----------- DKG16 Adorama One (1) Pint (500 Ml) Plastic Gr 1 $3.95 $3.95 DKFC4...</summary>
    <author>
        <name>Curtis</name>
        <uri>http://www.livecurt.net</uri>
    </author>
    
        <category term="Photography" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.disturbingthoughts.net/">
        <![CDATA[<p>To get me started on the wonderful world of film photography, I have ordered the following: 
</p><p>
 </p><p><span style="font-family:Consolas; font-size:10pt"><pre>SKU                  Brand Product                           Qty   Price      Total
</pre></span></p><p><span style="font-family:Consolas; font-size:10pt"><pre>-------------------- ---------------------------------------- --- ----------- -----------</pre>
</span></p><p><a href="http://www.adorama.com/DKG16.html"><span style="font-family:Consolas; font-size:10pt">DKG16</span></a><span style="font-family:Consolas; font-size:10pt"><pre>               Adorama One (1) Pint (500 Ml) Plastic Gr  1    $3.95        $3.95</pre>        
</span></p><p><a href="http://www.adorama.com/DKFC4.html"><span style="font-family:Consolas; font-size:10pt">DKFC4</span></a><span style="font-family:Consolas; font-size:10pt"><pre>               Adorama Stainless Steel Film Clips, Pack  1    $5.85        $5.85</pre>        
</span></p><p><a href="http://www.adorama.com/CHISBP.html"><span style="font-family:Consolas; font-size:10pt">CHISBP</span></a><span style="font-family:Consolas; font-size:10pt"><pre>              Adorama Indicator Stop Bath for Black &amp;a  1    $4.99        $4.99</pre>        
</span></p><p><a href="http://www.adorama.com/KKPF200P.html"><span style="font-family:Consolas; font-size:10pt">KKPF200P</span></a><span style="font-family:Consolas; font-size:10pt"><pre>            Kodak Photo-Flo 200 Photographic Wetting  1    $7.95        $7.95 </pre>       
</span></p><p><a href="http://www.adorama.com/ILRF500.html"><span style="font-family:Consolas; font-size:10pt">ILRF500</span></a><span style="font-family:Consolas; font-size:10pt"><pre>             Ilford Rapid Fixer 500 Milliliter Bottle  1    $6.95        $6.95</pre>        
</span></p><p><a href="http://www.adorama.com/CHFD.html"><span style="font-family:Consolas; font-size:10pt">CHFD</span></a><span style="font-family:Consolas; font-size:10pt"><pre>                Adorama Film Developer for all Black &amp;am  1    $5.99        $5.99</pre>        
</span></p><p><a href="http://www.adorama.com/PAT135.html"><span style="font-family:Consolas; font-size:10pt">PAT135</span></a><span style="font-family:Consolas; font-size:10pt"><pre>              Paterson 35mm Tank and Reel               1    $25.95       $25.95</pre>       
</span></p><p><a href="http://www.adorama.com/FJNP400365.html"><span style="font-family:Consolas; font-size:10pt">FJNP400365</span></a><span style="font-family:Consolas; font-size:10pt"><pre>          Fujifilm Neopan 400 Black &amp;amp%3B White   1    $18.75       $18.75</pre>       
</span></p><p><a href="http://www.adorama.com/US%20%20%20%20371316.html"><span style="font-family:Consolas; font-size:10pt">US371316</span></a><span style="font-family:Consolas; font-size:10pt"><pre>            Nikon N80 Autofocus W/date Body W/box   D 1    $159.00      $159.00<pre>      
</span></p><p><span style="font-family:Consolas; font-size:10pt"><pre>----------------------------------------------------------------- ----------- -----------</pre>
</span></p><p><span style="font-family:Consolas; font-size:10pt">Subtotal: $239.38      
</span></p><p>
 </p><p>I have assembled this little getting started kit from following the advice from <a href="http://chromogenic.net/develop">http://chromogenic.net/develop</a>. I hope this works out well. I am a little nervous about having to open a film canister and putting the film on to the reel for developing. I am not good at doing things in the dark. Once the film is in the tank, very little can go wrong, or so I'm told. </p>]]>
        
    </content>
</entry>

</feed>