Category: Technical

  • World’s Worst Written Manual

    http://exif35.pcfire.net/docs.php?doc=manual

    There it is. I have looked over it several times and tried to correct on it, but I just don’t know exactly where to begin making this document something that a human (specifically a film photog) would actually be able/want to read. Obviously my skills for writing do not extend to software documentation. This is my first time ever having to actually write out documentation and unfortunately, I don’t have a bunch of trained monkeys working to turn my overly-technical docs into something more usable.

  • Writing Destructive Code Is Fun

    I don’t know why, but writing code that is somewhat destructive is really fun. I was thinking earlier that there is no way in ExIf35 itself to fully remove the configuration file and remove personally-identifying information from the application. This seemed like it could be a bad things, so I set out to make a simple feature addition to ExIf35, a kill switch. It’s probably a little childish to make it this dramatic or to enjoy writing the code this much, but how often do you get to tell an application to go through and individually remove every file in a (system) folder? I didn’t do the really annoying application kill thing where there are 5 nested boxes asking variations of “Are you sure?”.

    image

    Red is always a fun color for a button, makes it look important and mysterious.

  • Text-file Addiction?

    For the last few weeks a great amount of things that I have written have been written in plain text files, most of it in the release notes for each release of ExIf35. Now I find that instead of writing HTML documents for the exif35 web pages, I am writing things out in text files that are 80 characters wide. At first this made sense, for things like the list of fields that ExIf 35 uses, which is considered to be a release note itself. Additionally, I have begun recording the features list and basic instructions in text files as well. I suppose that with applications, I just don’t see the point of writing things in Word or some equally bizarre format. If I had to I could always convert the documents to PDF, but somehow I don’t imagine that being something that would be required with the general user base of my application. Now for some reason I am thinking about papers that I need to write for some of my classes, and I don’t really love the idea of having to use a Word processor, they seem so horrid and clunky. I just want to write a paper, not plan the construction of an ocean liner, why all the little buttons and shit? I guess I’m just a geek and always will be. Plain text files are really cool. XML files aren’t bad, but they do add some complication to things. I don’t know why anyone would have their application write to a binary file format, except for compression.

    Anyway, I really like text files, they are so incredibly simple and so universal.

  • Star Ratings Suck

    As a person that is being rated more and more often lately in varying areas and on multiple sites, I am starting to really despise the star rating system. First of all, the system is entirely anonymous from the recipient’s perspective. This means that it isn’t possible to determine the difference between the overexciting rating of a friend or the hateful ratings of an enemy. Second, it is too easy for someone to rate something that they have not seen/used, just assigning a rating arbitrarily. Finally, if someone gives 1 star, you know they didn’t like it, but how useful is it to know someone didn’t like something? It puts things into a situation of thinking that people don’t like it, so therefore, just give up, as opposed to having actual comments and being able to respond to those comments by making changes to the way things are done in the future. Without an opportunity to improve, sharing artistic or technological creations with the world is pointless.

  • Fighting ExIf

    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).

    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 0x8827 for “ISO Speed”). 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.

    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.

  • Mobile Computing Power

    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.

  • Boredom and its outcomes

    Last night after becoming somewhat bored, I decided I really wanted to play “Rodent’s Revenge”. It’s not at all a fancy game, so I thought I would give it a shot on CMK7-M. Somewhere along the way I forgot that the game was originally for Windows 3.1 and would not run on a 64-bit operating system. It makes sense, after a while, things need to be left behind and not be emulated, so that the rest of the world can do things more efficiently. I considered letting go of the idea of playing the game before I remembered that I have VMWare installed on my laptop. It is there because I considered creating a dual boot machine with Ubuntu before the system was obtained (and I really hate rebooting). Anyway, for some reason I can’t explain, instead of installing a Windows XP VM, or even 2000 or Me, I decided I would go for the most archaic thing I have access to, Windows 3.1.

    I had forgotten how much of a pain Windows 3.1 was to install, especially without a floppy drive. I ended up having to a bootable DOS 6.0 image, then installing DOS 6.22 (because all I have is an upgrade copy), and finally installing Windows 3.1. Installing Windows 3.1 was pretty easy in itself though, once the pre-reqs were in place.

  • An Environmental Impact Report

    Here is my new laptop’s report so far on its usage of electricity and how much power it thinks it saves by utilizing the Toshiba “eco” power plan. Blue is usage, and green is the amount of power it thinks it has conserved. Since at full power the laptop draws about 15W (vs the lightbulb in a fixture at 60W), I am not much too concerned about the amount of power that my computer is drawing. The system runs pretty cool, uses little power, but still manages to handle all of the tasks I throw at it, although, I haven’t tried running PhotoShop yet.

  • Privacy

    Privacy seems to be something that a lot of individuals are worried about, but organizations seem to have no care for their constituents to have it. Facebook and Google lure users into their services with promises of secure communication and access to some special attribute that only that service can offer. With Buzz, Google violated the trust that users had placed in them, but of course, this was not the first time. Google has always had somewhat shady policies regarding information storage and use. With Google, there is an expectation of privacy on the part of the user, but an expectation of complete ownership of all information that passes through its network on the part of Google themselves. These are perhaps conflicting expectations. Facebook on the other hand, is just badly designed. There is now an open-door policy on a service that was once a protected place for university students to communicate with each other and for friends who went to different schools to stay in contact with each other. Now, there is a creepy factor since things have been opened up to allow any strange person in the world to sign up. It is a bit concerning, especially for anyone who may have had an account when the service was safe, and has since abandoned it. At this point Facebook is just careless, allowing any and all types of applications access to their API and making simple mistakes that cause email notifications to be mis-delivered, which is a severe breach of privacy. Twitter, on the other hand, is a gaping privacy hole, but that’s perfectly fine, since Twitter users have absolutely no expectation of privacy.

    I personally do not have much worry about privacy, because in general I don’t really have anything to hide, but I do not like the idea of my information being released without my consent. I do not want to be added to services that I have not signed up for, and I especially do not want things that I write or create to become the property of Google, it just isn’t right.

  • Char[140] Message

    Why 140 characters? Why not 150, or 130? I have recently begun experimentally using Twitter. I still hold my previous opinions of it as being a gross social devolution, but I do find it to be somewhat amusing and even interesting in other contexts. I presently have my GITI statuses post to Twitter just for the purpose of because I can, I can get GITI to do it and it doesn’t force any extra effort on me. I still do not believe that Twitter is a useful service by itself, but with the addition of various readers and other tools that can integrate it into other things, it becomes the quite essential personal QOTD utility. I suppose in some ways, short messages are essential in technology, but not in human communication, that’s why we have e-mail, IM and a variety of other things that allow us to communicate without being stuck into a 140 character bubble. Sometimes writing for Twitter feels more like a game invented by an English professor, forcing the efficient use of the language. Can every thought someone would want to express be done in 140 characters? I don’t know, but it sounds like a great experiment for a PSYC major.