Going The Wong Way I'm ALWAYS going the Wong way

Get Me Out Of Here

Alright alright, that was a lame title considering what it’s about. This is just to note that I just hacked a couple of my plugins so that they don’t display me or my information anymore.

For example, in the recent comments in the sidebar, it was showing my comments, but I have removed that so that now it will only show comments by people other than me.

And then for the Stats page that is displayed, I have decided to only let it show information that is unrelated to me. Hopefully that will give some better statistics for you to see on what is actually popular with other people rather than just with me!

Sneezing, Coughing...Keep It To Yourself!

This past weekend was quite an ordeal. I saw many instances of disgusting behavior that even more solidified my belief that people are just gross. Is it because I live in a fastidious society that elevates cleanliness to godliness? Perhaps it is. But it doesn’t matter because I am still grossed out by others no matter what the reason.

Sneezing is a naturally occurring action. Our body responds like that because it is trying to rid itself of something that does not belong. Perhaps it is because we are sick and it’s trying to expel some germ-infested mucus. Or more than likely it is because there is some dust or other foreign particle caught inside of our body. So the body is doing a great thing when it reacts with a sneeze. However, there is no need to be at a swap meet and turn to the side to sneeze. The reason that there is no need for that is because there might be other people standing near there. And those people might not appreciate your nasty disgusting expelled mucus even close to them. Thanks.

Coughing is a similarly outstanding action that the body uses to save itself from harm. It can happen in order to keep the windpipe clear so that we can breathe. Well I guess it can also happen in order to signal someone about something. But that is not what I’m thinking of. I’m thinking of that hacking repeated cough that some are so inclined to do. You know where you don’t do that? At a buffet. A place where everyone essentially shares the same food. You don’t cough on your hand. You know why? It’s because you are going to use that same hand to get your food. That is sick. You also do not sneeze all over food. It doesn’t matter if you don’t like it. It doesn’t matter what you’re doing. You can feel it (it doesn’t sneak up on you) so please just put anything in your hand down so that you can cover up. That is even more sick! I hope that you don’t know what you are doing and what germs are because if you knew and still did it, you should be so ashamed.

I do not appreciate when people are inconsiderate. Have you ever noticed how easy it is for us (in general as people) to truly only care about ourselves? It’s our natural carnal tendency, whether you’d like to admit it or not. Some acknowledge this and try their darnedest to fight it. Some have been changed. And some just don’t care. I’d hope that I’m not the latter ranting and raving against my own.

So next time you cough, sneeze, or in some other way do something that can affect others, think about what you’d want others to do. And put some hand sanitizer on that mess.

Tkinter Keyboard Bindings (In Python)

So I found this table useful, and I thought that I’d make it available for easier searching for those who might also look for it. It’s useful when creating a GUI with Tkinter in Python. I’m not really sure how much of that kind of development is going on, of course, but that’s beside the point.

Anyways this is specific to the “special keys” that are used in the bind method for event handling, so I’ve not looked into where else this particular information could be useful. I, for one, used this in order to bind the enter key on the keypad to the same functions as the normal enter button. It was annoying me while using The Budgeteer because I couldn’t figure out what the name of the button to bind was. That has thankfully been remedied!

Example: root = Tk() def hello(*ignore): print 'Hello World' root.bind('<return>', hello) root.mainloop()

.keysym.keycode.keysym_numKey

Alt_L 64 65513 The left-hand alt key

Alt_R 113 65514 The right-hand alt key

BackSpace 22 65288 backspace

Cancel 110 65387 break

Caps_Lock 66 65549 CapsLock

Control_L 37 65507 The left-hand control key

Control_R 109 65508 The right-hand control key

Delete 107 65535 Delete

Down 104 65364 ↓

End 103 65367 end

Escape 9 65307 esc

Execute 111 65378 SysReq

F1 67 65470 Function key F1

F2 68 65471 Function key F2

Fi 66+i 65469+i Function key Fi

F12 96 65481 Function key F12

Home 97 65360 home

Insert 106 65379 insert

Left 100 65361 ←

Linefeed 54 106 Linefeed (control-J)

KP_0 90 65438 0 on the keypad

KP_1 87 65436 1 on the keypad

KP_2 88 65433 2 on the keypad

KP_3 89 65435 3 on the keypad

KP_4 83 65430 4 on the keypad

KP_5 84 65437 5 on the keypad

KP_6 85 65432 6 on the keypad

KP_7 79 65429 7 on the keypad

KP_8 80 65431 8 on the keypad

KP_9 81 65434 9 on the keypad

KP_Add 86 65451

  • on the keypad

KP_Begin 84 65437 The center key (same key as 5) on the keypad

KP_Decimal 91 65439 Decimal (.) on the keypad

KP_Delete 91 65439 delete on the keypad

KP_Divide 112 65455 ↓ on the keypad

KP_Down 88 65433 on the keypad

KP_End 87 65436 end on the keypad

KP_Enter 108 65421 enter on the keypad

KP_Home 79 65429 home on the keypad

KP_Insert 90 65438 insert on the keypad

KP_Left 83 65430 ← on the keypad

KP_Multiply 63 65450

  • on the keypad

KP_Next 89 65435 PageDown on the keypad

KP_Prior 81 65434 PageUp on the keypad

KP_Right 85 65432 → on the keypad

KP_Subtract 82 65453

  • on the keypad

KP_Up 80 65431 ↑ on the keypad

Next 105 65366 PageDown

Num_Lock 77 65407 NumLock

Pause 110 65299 pause

Print 111 65377 PrintScrn

Prior 99 65365 PageUp

Return 36 652933 The enter key (control-M). The name Enter refers to a mouse-related event, not a keypress

Right 102 65363 →

Scroll_Lock 78 65300 ScrollLock

Shift_L 50 65505 The left-hand shift key

Shift_R 62 65506 The right-hand shift key

Tab 23 65289 The tab key

Up 98 65362 ↑

PPPPPPP

Jos at NoDirectOn (that’s ‘no direct on’, not ‘no direction’) thought that I should do this. It’s a real short one in which you describe yourself using a template of 7 words that start with the letter ‘P’. All you do is fill it out, link back to whoever tagged you and then tag others. I don’t do these things all that often, but it’s nice to be thought of so I’ll give it a go.

Passion - God, family, friends, fun Purpose - Much more than the average joe Pursuit - A life that is in line with what I believe Position - Sitting. Always sitting. Pummeling - Rude drivers. Pummeling is a funny word to use here. Progress - Doing alright, doing alright. Not doing so well on not repeating myself, though Personality - Honest, realistic, slightly sarcastic

Usually you’re supposed to tag people, but I think that I’m just going to leave this open-ended. If you want to do it, go for it and let me know! I can add you later and we can pretend like I tagged you in the first place.

How Good Programming Practices Help In Real Life

So as you very well know, there is software. Now for many, this is a nebulous term that doesn’t really mean much to them until it results in a program that allows them to accomplish something. And that’s just fine. But what is interesting is that there is a methodology to software development that is actually pretty useful in everyday living.

You don’t have to be a software developer to appreciate ideas that will make your life easier or better now, do you? So don’t be scared if you’ve never heard the terms, just think about the ideas.

Anyways, these are just a few of the ideas that I’ve thought were useful:

  1. **Leave lots of notes (well-commented code) **- Just as in coding, you (should) know what you’re doing at the exact moment that you’re doing it. However, how many times do we do something and then either leave it undone or pick it up again at another time. A prime example of this are those leftovers in the fridge. You threw them into the refrigerator last night after dinner just to get things cleaned up. Then you go get some groceries, put them in, and happen to push those leftovers to the back of the shelf. You find a tupperware in a few days and you are not really sure what it is or how old it is. A good comment from yourself when you had put it into the fridge would help you quite a bit right now wouldn’t it?

  2. Let objects perform functions that they were intended for (object-oriented programming) - How big are the toasters with lcd screens? How much do you want a pot that has a handle with the temperature as well as a clock, an alarm, and a remote control? Sure you could scoff at such ideas, but in reality it’s much more efficient to use objects for their intended purpose. When objects have specific functions, you will immediately know what object to use when it comes time to perform a particular task. Don’t try to open a bottle with a screw driver, you can get diseases from the rusty nail that you were screwing in the garage the other day. Don’t use the same sponge to clean the counter as the dishes that you eat off of for the same reason. Using objects for purposes other than their intended one can not only make you look cheap, it can introduce errors that you would not have thought of. Also they’re better than huge, all-encompassing programs/objects because when some part of it breaks it is easier to fix and there is less loss of function. The television with speakers, a subwoofer, a built-in dvd player, a vcr, audio receiver-like capabilities and numerous other parts is more likely to be completely useless if one of those parts breaks than individual components, is it not?

  3. **Fix when needed, upgrade when necessary (don’t get left behind the ages with nasty-to-maintain code) **- When something breaks, you have choices. You can get it repaired to the state that it was before or you can upgrade and buy something. So I guess you have a few choices in what to buy as well. You can buy used or new. In software development, there are many tools that you can use. There are code editors, programming languages, and many other tools. There is an unfortunate tendency for some, just as in life probably, to hold on to the old tools and languages simply because that’s how it’s always been. Sometimes we need to take a step back and re-evaluate the state that we are in and whether it is worth it to move on to something bigger and better. It’s not worth it to keep that old junker of a car if the repair costs cost more than a brand new automobile.

  4. Understand how something works rather than specific tasks (similar to concept programming) - Do not limit your knowledge to specifics. Understand the driving force behind the specifics and then the specifics will become clear. This is a rather basic idea that translates to all types of fields. However, in my opinion, it seems to hold a lot of weight in the programming world because there are very many different ways to express the same idea. Notably, programming language choice can very easily decide how a particular goal will be achieved. In the real world, if you want to program a VCR, it is much more useful to understand what you’re doing (setting a timer and settings on the VCR in order to turn on and start recording) rather than simply memorizing the sequence of buttons to press in order to set the timer. It’s going to be pretty tough if you suddenly purchase a DVR and you don’t really understand what you’re trying to do with it.