Monday, May 17, 2010

The "Big Lebowski" Office Management Method

Keesey: We'll just let stuff happen, man
jbum: "go with the flow"
Keesey: It'd be beautiful, you dig?
jbum: if a meeting wants to happen, it'll happen, dude
jbum: otherwise, it wasn't meant to be
Keesey: free your calendar and your mind will follow
wickedSA: the "big lebowski" office management method

Thursday, April 29, 2010

Suppression.

"There are many hypotheses in science which are wrong. That's perfectly alright. It's the aperture to finding out what's right. Science is a self correcting process. To be accepted, new idea's must survive the most rigorous standards of evidence and scrutiny.

The worst aspect of the Velikovsky affair is not that many of his ideas were wrong or silly or in gross contradiction to the facts. Rather, the worst aspect is that some scientists attempted to suppress Velikovsky's ideas.

The suppression of uncomfortable ideas may be common in religion or in politics, but it is not the path to knowledge and there is no place for it in the endevour of science. We do not know beforehand where fundamental insights will arise from about our mysterious and lovely solar system and the history of our study of the solar system shows clearly that accepted and conventional idea's are often wrong and that fundamental insights can arise from most unexpected sources."

- Carl Sagan: "Cosmos" Ep.4 - Heaven and Hell. It's on Netflix.

Friday, March 12, 2010

The Tedious Questions..

Q: In SQL what does 'Group By' do?

A: The GROUP BY statement is used in conjunction with the aggregate functions(avg, sum, etc) to group the result-set by one or more columns. Note that only the columns used by the GROUP BY statement can be used in the SELECT statement.

fred| 100
bob| 100
fred| 400

SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer

fred| 500
bob| 400

Wednesday, February 3, 2010

Disable Ease of Access in windows 7

Finally found a command that will completely disable Ease of Access in windows 7. On the command line, run
cacls %windir%\system32\utilman.exe /C /D Everyone
and hit Y when prompted. This will remove the functionality behind that stupid button on the windows screen and will stop the stupid ease of access dialog from popping up when you're typing in your password to the login page.

Tuesday, February 2, 2010

How to ask (and answer) a question

Asker (1): Heys, is the requirement that the service provider 'client' part be in a wsgi module?
Asker (2): I've got my test stuff running in a tornado instance simply for ease of development (dont have to setup/configure apache... simple yes, but still dont have to do it)
Answerer (1): i want to wrap wsgi things with it, in a wsgi serving framework -- sounds like it'd be a wsgi middleware of some sort
Answerer (2): tornado is completely different
Answerer (3): we're not gonna redo everything to use tornado
Answerer (4): you don't need apache for anything
Asker (3): ok, that's why I was asking


So the above is a recent q/a session that took place a few moments ago in the real world. There are a number of problems with this q/a session. We'll start with the asker first.

Asker line 1 is fine. It asks the question 'is it a requirement that something be done in a certain way'. Asker line 2 is trouble. It's adding potentially confusing details to the question which the answerer has to evaluate and determine if to ignore it or not.

Answerer line 1 is a perfect answer to line 1, but as we can see in answerer line 2, the answerer picked up on details in asker line 2 which were extraneous to the actual answer. This is common for people who are very detail oriented and don't let needless details slide. In doing this though, answerer is now making assumptions about asker and briefly discussing Tornado and Apache, which the asker didn't ask about. This is even more of an issue on the internet and potential flame bait when it comes to online discussions since asker can become annoyed that the answerer has assumed that asker doesn't know what tornado is or what apache is needed or not needed for and respond with inflammatory comments such as 'that wasnt what I asked, asshole' or some such.

This simple example illustrates the reason that brevity is not only the soul of wit, but the key to good communication. Ask simple questions, give simple answers, ignore needless details when required (either answering or asking).

Friday, January 15, 2010

New Year's Python Meme

So I'm a bit late to the party, but there's meme going around python developers to discuss what they've done/discovered in the past year in a q/a manner. So here's mine.

1. What’s the coolest Python application, framework or library you have discovered in 2009 ?


Would have to be Twisted. I've avoided Twisted for a while now since I was always told that it'd hurt your head if you tried to get into it and that it wasn't very pep8 friendly, but it turns out it has some pretty good tutorials (the Finger tutorial) and that a lot of the stuff is useful right off the bat (such as the chatserver).

Non-Python:
The Lua language. It's not that it's all that cool, it's just another language and not as nice as python, but it's pretty cool in that it lets you create mods for games pretty quickly (in this case Demigod.. which is a great game that needs some help at this point).

2. What new programming technique did you learn in 2009 ?3. What’s the name of the open source project you contributed the most in 2009 ? What did you do ?
New programming technique would have to be constructor patterns that I learned from a very good Flash developer and the Refactoring book that he introduced me to. I mainly learned it by working through the refactoring example with my girlfriend on a automation project she had for her work.

The open source project I contributed the most to would have to be the PIL and python-payflowpro and only in the sense that I submitted bug reports (tho I submitted work around code for the issue with PIL).

For 2009, I worked entirely on two large web projects. One an online trivia game, and the other a credit offset reseller site. The credit offset site was fantastic in that the code was completely developed with TDD and had about 10-15 tests per function. I didn't start a single class or function without having the test code written beforehand. The trivia game had the potential to be fun, but I had to make accommodations for stupid managers and constant changes to what was wanted. I simply should have said 'No' more often, but it's hard to do when your excited and want to make everything cool.

4. What was the Python blog or website you read the most in 2009 ?

I read Planet Python which is an aggregation blog of a bunch of well known Python bloggers... so I guess I've been reading lots of blogs. Also, lots of StackOverflow.

5. What are the three top things you want to learn in 2010 ?

3 things for python in 2010?
  1. Hadoop and map/reduce. I'm already familiar with the concepts, but I'd like to get some actual experience with it
  2. pyGTK and pyGame. I'd really like to get into gui programming.. even tho cli rules.
  3. Ctypes.. I've been meaning to read up or do a tutorial on ctypes for a long time.
Non-Python:
  1. How to make mods for games (in particular, Demigod). For a long time I've played games and kept notebooks on what was cool, what was stupid and what I would do differently in the hopes that I would eventually learn how to create a mod of a game. I've been investing a lot of time in games and there's a lot of stuff that I'd like to tweak. Demigod is very open to modding with the Lua language so I'd like to finally start and complete a mod for a game.

Monday, January 4, 2010

Decemeber 2009: my month of quiescent perseveration

We repeat ourselves. The mind perseverates. The road is rutted and grooved, and beside the road are familiar ditches.
-- Eric Maisel