Category: Programming

  • GITI Gets Fit

    As with any great change in my life, the Getting It Together Interface will be changing with me. In the next few days, the Health module (to be called Heath and Fitness Module) will gain a nutrition component to supplement the existing workout component. The components will then be integrated into the common module. During this change, the Exercise module will likely become more complex and more able to handle the complexity of routines I will be doing. Exercise will become more about planning and scheduling than recording data. For too long GITI has been about recording data that won’t mean shit to anyone in 6 months, so its time for a change, time to get GITI more involved in my life and helping in its improvement. The new nutrition component will be able to calculate my dietary needs based on information that it knows about me and will be able to make suggestions as to the profile of foods that I should eat. Maybe eventually I will get the cookbook module written and it will be able to suggest specific foods that I should eat.
    One thing I think this will reveal about GITI is that it is a very personal thing. GITI isn’t the type of application you can create an account on and instantly get what you need from it. GITI has to know a lot about you before it can help you. If I ever open GITI to the world, each module will require a “getting acquainted” survey, as well as probably a synopsis of the logic used to write each module. Some things are too specific to ever be for everyone though, such as the sneaker management utility (its friendly name is “collection”).
    I think if I put enough effort into GITI’s Health and Fitness module, I will learn more than I ever wanted to know about the topic of fitness, but also will be more dedicated to it than before the existence of the module. The fun part will be using the creation once its finished and having it dictate what workouts I do and what I eat.

  • GITI Reaches 1000 Education Items

    During the summer of 2003, I began work on “Journal” project, after spending the Spring working on Address Book with Chris. Working on the Address Book project gave me a lot of experience with PHP and introduced me to the database driven web application. A few weeks into the Journal project, I began work on a Schedule utility. It seemed silly to me to have multiple applications for tasks that were so similar. There we have “The Interface”. The third “module” of the Interface was written in late July 2003, the module was called “homework”.
    The “homework” module was later renamed to “Education” once class tracking support was added. The first assignment was added to GITI (named such after education was written) on August 4, 2003. Since that day, 1000 assignments have been recorded, executed and tracked in GITI.
    One-thousand Records from August 4, 2003 to October 3, 2007.

  • todo, v2_todo, or list

    I’m starting to think that GITI is going to get a new module, “List”, a hybrid of v2_todo, notepad and just a general linked tree structure for storing information that isn’t very long.
    This evening I realized that GITI’s v2_To Do module isn’t really used at all and isn’t really practice. The v2_ToDo module doesn’t even use due dates. I am planning to bring the old Todo code back from the dead, as well as its old database table and work to make the code better than it was and maybe change the table structure to make it more usable. The module used to be useful in GITI v1, even though it was kind of privative, but at least I used it.

  • Frustration with Previous Self

    In past few days I have looked at more of my own old code for GITI (Scheduler, PIM, the Interface, whatever) than I ever have before. The things I am finding in my old code are not pleasant. I left myself almost no code comments, there is no spacing, no indention and everything is basicly one giant lump of code. To make things worse, I am discovering that a lot of the identifiers I used for queries previously are not things that will always be unique, therefore there is room to confuse GITI as to what records I am requesting. I did a lot of stupid things in my past before I had any formal CS instruction.
    It is difficult being in my old code again, but I am gradually working towards making things sane again, one function and one module at a time. I should have no difficulty getting the education module and its dependancies fully audited, corrected, converted (to v2 standards) and functional before the semester starts.

  • Notes Module Converted

    The GITI Notepad module has been successfully converted and extended for GITI v2.

  • Time to Say Goodbye

    I have been fighting myself on the topic of the GITI v1 to v2 migration for far too long now. I have three weeks in which I don’t have to do anything, and I think it is time for me to dedicate some time to finalizing the transistion and letting v1 go to rest permenantly (minus the administration functions, which will serve for v2 in the interim). I have been dragging out the conversion for way too long. I dont need to have v2 complete, I just have to get all of the modules assebled and as functional as they were in v1. So far I need to finish out education and schedule, then convert todo, notepad and email. Once those critical pieces are finalized, everything should be a go for packaging up GITI v1 permenantly.

  • GITI Vision Vs. GITI Reality

    GITI was designed as an idea on June 16, 2003. GITI’s primary objective was to be a place for me to keep up with things I do, hence the original module being the schedule module. Part of the idea of GITI is that I could be more social, keep track of my events and perhaps start feeling good about myself. The oringal plan was very simplistic and didn’t involve me working on GITI for more time that I am out being social. In addition to making me more social GITI was also supposed to keep me more organized, well… it met that goal without a problem. I have never been as together as I am now that I have GITI.
    Now, GITI is a wall for me to hide behind, as long as there is something popping up in the summary view, then there is something to be done, an excuse for why I can’t do something social. In addition, there is never a sense of completion, or a sense that ive done something worthwhile that will make me feel better about myself, because everytime an assignment gets marked complete, another one comes up from the bottom of the list to take its place, which makes completing assignments seem like an infinite loop.
    while (x>= 1)
    {
    worry = true;
    x=x+1;
    complete_assignment();
    x = x -1;
    }

    the only way to get away from it is to have nothing left in the queue to do, but that has only happened like once in GITI’s history, and that was at the end of Spring semester this year. Every other time in its life, there has been something in it to do.
    In short, I think GITI is beginning to slowly ruin my life.

  • Mistakes Are Fine As Long As They Are Consistent

    It would appear that as long as a mistake in logic is consistent, then there is no real error. It would appear that I have been storing ID info for “time” journal entries incorrectly, I have been using all values of the date for them, but omittiing all leading zeros, hence, today is 2005916, not 20050916. Upon looking at the problem closer, I noticed that GITI is retrieving the entries using the same stupid mistake, so I guess as long as all is consistent, it doesn’t give a shit how far off it is… If this does become a problem though, im moving to a less problematic time system… perhaps seconds since Unix Epoch and getting info for an entire day using a range… or maybe Star Dates, at least they use decimals and not some multi-part orgy of numbers for identifying something so solitary as a day.

  • Disgust with v1

    It finally happened, I am now to the point where I can’t stand GITI version 1. It is hard to navigate, a pain to develop for and lacks any form of logical structure. GITI Version 1 has been perfectly fine for me the entire time it has existed until now, and I think im falling in love with version 2’s ease of use and simple navigation. In addition, now that I have the ability to make GITI function uniformly, developing for it is a lot more fun (the “command” module). Version 1’s time is nearing an end. As soon as I have time I must convert all modules to version 2, especially now that v2 has its own modules (Library primarily). A lot of things from version 1 will be joining the Do-Do bird soon, this includes the “Journal” module, it is being replaced by only the “item journal” stuff, since I can treat a day as an object (funny how 20050915 resembles something like 0734 isn’t it?). GITI will remain under the Pythagorean system of organization (numbers, only numbers), so there is no problem with any of that. Another problem area is the concept of making GITI v2 multi-user. In version 1 of GITI, everyone is the same and everyone has access to all functions for their own accounts. This is all well and good for those of us who can ignore superfolous [movable type needs spellcheck] features, but for some users it is confusing. Currently for v2 I am experimenting with a group-driven system, which i plan to expand to group+user-specfic. Yesterday I added my mother to GITI as a member of the “librarians” group, so she has only access to menus specified for that group, which at the current time is Home and Library. I am a member of a group that I called “System”, im not sure why I called it that, but I should probably go back and call it “Full” or something equally non-confusing. At the current time all of the menus are done by client-side JavaScript using a SQL query. This works for group based stuff, but it wont work for group+user specific, unless I want all of the user-specific stuff at the end of the menu. I will probably end up using a standard array for this, so I can have the ability to sort a second time before thowing the information to the Javascript.
    On my way home tonight I began considering the many options for replacing my main summary on GITI, which is highly restrictive currently. It isn’t the first time ive gotten ideas for ways to better use the space that is availible to me in v2. I like the ideas of utilizing columns instead of just a centered table with very little information. I have roughly 1024 pixels I can utilize for that page, why should I use just 500 in the middle of the page, and none anywhere else? Before GITI’s summary was called “summary” it was called “GITI Today”, indicating that it was supposed to cover roughly 1 day, maybe 2 at most I think. I have been feeling so overloaded with the stuff that GITI has been showing me, even though some of the stuff can be as far away as 15 days. I shouldn’t feel like my life and ability to do stuff is impeded by the fact that I have 5 things that must be done in the next 15 days. I have time, time for fun, time for whatever the hell I want between now and then. Either GITI must address every possible aspect of my life, or it must be configured to not make me feel like i have some sort of obligation all the time. Since I am not planning to write a module to handle every possible thing I might want to do in my life, then I must get GITI to chill out a bit. I am a very non-motivated and tend to try to stick to my obligations only, this is a very bad practice.

  • Almost Functional

    How long can something remain almost functional before it becomes hopeless?