2014-01-17 - Budgeter Project part 3.5
I originally planned to do a post for each stage of the project but it turns out that when I get coding I don’t really feel like writing afterwards. They are fairly similar activities and I only have so much creative juice to go around. In the future I will likely leave the writing till long after the program is done and just put it on the writings page, separation of coding and writing.
I do want to give some updates on the project though. Part 1 was the database planning as I posted earlier and that’s never going to be done. I’ve changed it a bunch since I “finished” planning and will likely change it more. Part 2 was the DataViewer prototype application, which is mostly done. It needs a bit of clean up and re-organization but it does what it’s supposed to do. Part 3 is the program itself and that’s going along nicely. I’ve been using it for a few months and it’s been working out well. There’s a few features that I still need to add but the base functionality is there. To carry on from the last post here is a diagram of the current database structure. It has changed a fair bit.
Speaking of databases, one welcome side effect of the program is that since all my transactions are in a database I can run queries against them. I wanted to know how much I’ve paid on my student loans recently and I was able to do a simple select from transactions where description like “%NSLSC%” query which game me all transactions that mention the NSLSC. It’s always nice to be able to do things easily.
2014-01-03 - New Monitor 2
I went and bought myself an actually new monitor. The colours still look strange but at least they’re consistent. The old new one seemed to change colour depending on how I looked at it and it also had a dark spot right in the middle of the screen. So it's at least an improvement, it’s also wide-screen. Display settings are one of those things where it’s not really a case of right and wrong but more just differences.
If you look at a display long enough you will get used to that specific display’s settings. If you look at a different display it will look wrong because it’s different. If you look at a different display long enough you will get used to it and the other display will start looking wrong. Without a “perfect” display to use as an example it’s very hard to actually tell which is more correct.
It is also nearly impossible to get two displays to match up. With Brightness, Contrast, Red, Blue, and Green you have 5 settings to try and align. There’s also the difference in viewing angle between two monitor setups and differences in monitor technologies. You end up with a lot of variables and only one equation. Linear algebra was a while ago but I can still tell that’s not an easy equation to solve.
I replanted the old monitor’s stand with the old new monitor’s stand. They have the same connecting mechanism and the old mew one is more adjustable. So it’s wasn’t a complete waste.
2013-12-27 - New Monitor
I’ve got a new monitor and it seems to be working alright, for being second hand. It’s got some colour and brightness issues so I may end up replacing it with an actually new monitor. The point though is that I have a second monitor which means that I can use the old monitor with the older computer. I fixed GRUB, installed word, Notepad++, WinSCP and it is now ready for writing. My plan is to spend Fridays on this computer working on website related things.
Now I may not be writing posts every Friday. Some of that time might be spent ensuring all the pages are encoded properly, or writing up note sections for comics, or sitting on the bed listening to music. The point is that I won’t be on the computer set up to watch videos, or the computer set up to play games. We’ll see how long this lasts.
2013-08-17 - Imagine the Computer
Someone told me a little while ago that they didn’t think programming required imagination. I thought this was strange since I was sure I used my imagination while programming but then I started thinking about it. At its simplest introductory level programming is just a translation process and I can understand why someone wouldn’t think that required imagination. If you want to add two numbers you get two numbers and then add them, but that’s a trivial example on the level of a book designed to teach children to read. As the problems get more and more complex being able to imagine them becomes more and more important. Now I wouldn’t go so far as to say imagination is required for programming but I would say it’s required for good programming.
Now there’s a reason I mention introductory reading books and that's because writing and programming are very similar. Both involve using the constructs of a language to build environments, characters, and events. In writing one uses words and sentences to build worlds. In programming one uses symbols and statements to build programs. In both cases imagination comes into play by allowing you to look past the words and see the larger picture that they create. With programming this is really important because you are dealing with a medium meant for two distinct audiences. Programmers have to be able to read code in order to maintain it; computers also have to be able to read code in order to create the program. This requires a programmer to be able to read it as the computer does. You have to be able to see the program in the code to be able to understand how changing a line affects the whole. You also must be able to see the code in the program to be able to understand what needs to change in the code to make it work as expected.
Now the reason that I think some people may believe programming doesn’t require imagination is because their imagination isn’t compatible with programming. We are all wired differently, we all have different skills and strengths and that’s what drives us to do different things. I wouldn’t use my imagination when painting because my mind doesn’t work like that. I can picture a circularly linked list in my head but I couldn’t picture “hope” and know how to draw it. That’s fine though because I’m not an artist, I’m a programmer. Programming is what I enjoy doing and that’s what my imagination connects with. When someone sees a program freeze up they see a program that has crashed, I see a program that is taking a long time processing input and hasn’t been able to handle any other messages for a while.



![[Valid RSS]](/images/valid-rss-rogers.png)
