Saturday, April 16, 2011

mission failed

We weren't able to get the idt program in on time. It was a failure in both planning and in estimation of abilities. When we had first sat down to plan it out, we divided the work into equal parts for the three of us. We figured that since we only had about about a week left, working independently with division of labour was the best way to go about it, and it might have been.

The problem, though, was that we didn't estimate properly the time it would take each of us to work out the problem. I don't know how much work my teammates were putting into it, but I put in about an hour or two every day that week. I guess (I hope) they were doing the same. I estimated my programming ability pretty well (which is unusual for me), and got it done just in time - I then volunteered to do the extra work of putting the three parts together at the end, because we needed someone to, and I might as well. All this time, I assumed that my teammates were working at about the same pace as me, and making about as much progress. This was a mistake.

On friday, when the sent me their code, so that I could combine it with mine and submit it, it turned out that they, together, had about 50 lines of code to my 200, and were asking me to finish doing the majority of what they were supposed to have done - the abstraction of figuring out window locations and comparing them. There was no way I could have done this, together with adding a user interface as I had volunteered to do, before midnight, so I figured it was best not to submit at all - this was wrong.

The main thing I learned from our problem here is that equal distribution of labor is not the best way to go about things. Instead, I should have made sure that my teammates were not being given more than they could handle. Of course, I could not have done much more than I did in a week, so perhaps it was impossible for us to do it. Still, I should have given myself much more work than I gave them, rather than distributing it equally. Still, though, they did say they'd be able to handle it, so I also learned to always report my ability correctly in planning - and to make sure others do the same.

Thursday, April 14, 2011

finished the corner-finder

I just finished my assigned part of the program for idt, the bit that actually scans the image and finds the corners between windows. It's pretty good and effective, it scans from the bottom up and left to right for windows, and although it isn't perfect, windows would have to be positioned just perfectly in the right spots to trick it. It is, unfortunately, a bit slow, but i don't believe the competition grades us based on execution time.

Tuesday, April 5, 2011

Last week I:
Learned about the png library we're going to be using to read images, and figured out how to read individual pixel data from an image using it

Today I:
Started working on a function that will read an image and determine the number of non-occluded windows in it

Before next week I will:
Finish work on that function, while the rest of my team works on the overall algorithm for computing the number and locations of windows using my data

Tuesday, April 13, 2010

Odd problem

I'll describe what happened more in detail in this class later, but first - an odd problem I found.

when I loaded a page handled by the generic static-page function for the app engine (the one that basically just calls the render() function), even after I had logged out (using the google users module), it still used my username in referencing the page. This didn't happen with any of my other pages, even the highscores one which did absolutely nothing involving users. Eventually, I fixed it by making the default function just pass an empty dictionary. I really don't know why this worked, but it did.

Tuesday, March 23, 2010

Work on guessing game

I finished all the code for the actual guessing game, which works beautifully now, and then spent about 45 minutes completely failing to get a highscore table to work. I may try again next week, but at home I'll work on getting it to use the datastore and not just the memcache.

I had written the code for the game, but eventually had to move it to make it more sensible and work better - moving much of the logic from the post to the get function. I have not yet uploaded it to Google's servers

Tuesday, March 2, 2010

New Book

Started the new book today, It's interesting. Assumes you havn't read the other one, so I'm learning the same things multiple times - and multiple ways. It's good though, learning some stuff. I plan to, over this week, re-write the clock app using more stuff - templates, css, etc - from the other book, that style seemed a lot better, more elegant, easier. I'll probably learn a lot by combining them as well.

Wednesday, January 27, 2010

Chapter 2 work and reactions:

I read through the chapter. I liked it, it was good and informative. I've got to say, I don't much enjoy working with html - now or any time i've tried it before. CSS is interesting, seems like it has a lot of potential to do cool stuff with, but still not amazingly fun to work with. I did the work, it's at http://students.gctaa.net/~dreich/projects/ch2/. I didn't do either the end-chapter excerices or the excerices you linked to, because they all just seemed like meaningless busywork, considering I understand the stuff already. If you want me to do them, I will, but that's the one thing I didn't expect to see taking a college-level course. Particularly that one you have where you wanted me to make a table of dec/hexa/octal/binary values; that's excatly the sort of thing I (and, presumably, other computer-hacker-y people, including you) would hate - mindless, not even copy-pasting, but typing the same thing over and over. If you made me do it, I'd likely just write up a python script to generate it. Which, admittedly, may take longer, but it might not and it would wind up actually teaching me something - which doing that wouldn't. Not to mention, it would be about 100x more fun.

Anyway, that semi-rant went on for a while. Looking ahead a bit... the next chapter's on really insanely simple stuff with python. I can skip that, right? The next one's on.. (these ellipses are me checking)... Something I don't know, that looks fairly simple. I'll do it soon then. I'll probably be done with it by the time I come to the acreer center, finally - next tuesday, right?

Friday, January 22, 2010

Chapter 1 Reactions:

First, I read though all of chapter 1 and did this in about 40 minutes at home while multitasking. It's the only substantial bit of (not post - 10:00) free time i've had or will have until monday, with science fair and the musical. So forgive me if I havn't been entirely... thorough in reading it. I get it though, it's very simple stuff. The writing style is fine, nothing to get excited about but definately readable. Some of the metaphors are a bit stretched, but that seems about par for the course in computer stuff. As to what i find interesting, the abstraction stuff certainly - both interesting about what it is and about how i'll get to use it. The bits of code they have are cool, i can kinda figure out what they do - the index.py (named like index.html?) file prints a plain text file that the app.yaml tells the app engine to serve. As for the excersies (don't know if you wanted this or not, so good to do it):

1. I have less to worry about on the server end, but have to be sure I don't do anything to Google either.

2. My computer sends a message through the DNS, etc. 'cloud' to the server, telling the server what it wants and giving a return adress, and the server starts sending those 40 things (text, code, html, pics, movies, sound, anything) back to me.

3. to name the locations of files etc in the app.

Thursday, January 14, 2010

lots more working ciphers!

I've been working on redocnE over a while, and have all ciphers except bookcode (which I can imagine how I'll impliment) and User-defined ciphers, which will be hard, but really cool when they're done. I may hold off on that one for a while to add other features - i've realised redocnE has no way of decoding in the gui yet, but that'll be easy to fix.

Code's in devel on launchpad, as always.

Saturday, January 9, 2010

Functional (in the sence that it can do 1/16th of what it's supposed to) GUI!

Well, I got the gui to the point where I can encode text using Atbash. Atbash is the easiest though, the way I have it planned the area on the side will be used for code-specific fields like keys and so on - atbash has none of these.

Sunday, December 20, 2009

Done?

Well, the virtual keyboard is looking fairly complete. I changed the display to a text field, so now you can copy-paste in, type in, etc, but still enter stuff with the virtual keyboard. I made this only as a learning project, and not something actually to code, so I don't figure I have to update it much. In addition to adding the text-view field, I also realised that I can use the same variable name to declare multiple buttons. This let me obsolete my text-creator and much tidy up the code.

The code can be found the same place as before, http//students.gctaa.net/~dreich/projects/virtual_keyboard/, under 2.0. Btw, if you can think of any interesting-to-program key to put where I had backspace (I couldn't get backspace to integrate with the new method of storing text. Well, I probably would be able to, but it did not seem like it would be fun to figure out or work with.), that would be good. As-is, I'm going to start on redocnE-gui over winter break, I think.

Tuesday, December 15, 2009

text

Today I looked at the textview gtk widget. It seems to be a relevant and useful one to the virtual keyboard, redocnE, and many other things, and I seem to be at the point that I can kinda jump around the pygtk docs to the various widgets I need.

Reminded of redocnE, maybe I should try to have a useable alpha of it up with graphics sometime - maybe by when I start the NOVA thing? I would probably have to do some stuff over winter break then though, which I might do. I guess I'll see how it goes.

I was too much looking at the textview docs to write any new code today, but I will soon.

Monday, December 14, 2009

caps lock etc

I implemeted a caps-lock button today, along with a number-key row. I'm trying to think of some sort of special key to put in the last avalible space - any ideas?

Anyway, here's the code: http://students.gctaa.net/~dreich/projects/virtual_keyboard/ Hopefully that works.

Wednesday, December 9, 2009

continued work!


I worked a lot more on the virtual keyboard today, making a main button to display the text and adding a spacebar and backspace key (that uses the arrow widget). It works very nicely, but is hard to use - not that that was the point of making it. I left some space on the side, into which I'm planning to put a caps lock key.

Tuesday, December 8, 2009

virtual keyboard

I worked on a virtual keyboard today in class (only got to writing the entry now though), and I got to the point where I had a window with a 4-row table of 26 buttons. In order to declare the 26 buttons, rather than writing a 4-line thing 26 times with different letters once in each, I made a little script to do it, which worked well. It may have been faster to do it the boring way, but that would have been, well, boring. Anyway, I can't take a picture now, I'm at home, but I will later.

Monday, December 7, 2009

more pygtk

I looked at pygtk some more today, tables (which I understand, but havn't really tested my knowledge of yet) and details of buttons (which I think I get now, but I'm not sure, I'll look at it a bit more tommorow).

Wednesday, December 2, 2009

ubuntu up!

got ubuntu up, running, updated, and made useable - installed LXDE and geany. Didn't get to get any work done though, i'll get back seriously next week

Wednesday, November 18, 2009

implemented!

I got the fixing-up of the redocnE code done yesterday, but forgot to blog about it. What I basically did was, instead of having the bits of code from pycipher copy-pasted in, I just imported it as a module and wrote up the interface between it and ani_crypt. It's on the launchpad, under revision 8 of the devel branch. Today I worked more on figureing out how to return a value in pygtk, and while I didn't figure that out, I learned a lot more about how pygtk works. That code is at ellimistd.doesntexist.com/quit_test.py.

Thursday, November 12, 2009

PEP-8 and more redocnE

Over tuesday and today (no school on wednesday, I accordingly did no computer science) I read PEP-8, and found it somewhat useful, but don't think it'll make me change much. I also thought, inspired by learning about classes, of a new and far better way to have implemented the ciphers taken from pycipher - I'll work on that, should have it done by next tuesday (the origional implementation took twice as long) and then will get back to pygtk.

Monday, November 9, 2009

Tried to write my own thing.

I tried to write a thing, for adding to another application, that would make one of those "really quit?" windows pop up. here

I got the code so that it runs, without copy-pasting (although with a lot of looking back and forth between it and the other sample code), but I have no idea how to hook it up to, say, the hello-world program they made so that it actually does that. I tried a basic return True (or False) statement, but it didn't work. Anything I should do?

Also, it seems the pygtk website is down. I looked at the parts of the tut firefox has cached, but couldn't go further.

Finally, you havn't given me any comments at http://students.gctaa.net/~jelkner/feedback/dreich.html for a while, or on here. Is there another place I should be checking?