Thursday, November 27, 2008
IT is not like upgrading a car, like designing a house
I would contend that IT problems tend to be organisational problems rather than technology problems. Upgrading your IT is not like upgrading your car, where you just get better performance from your wheels, accelerator and brake. Rather, upgrading your IT is like designing a house. Yes, new houses are often built from better components, but you still need good design that meets your particular needs. To some extent you can buy off the plan, but the result is never as good as working closely with the architect.
Thursday, November 13, 2008
Book Meme
INSTRUCTIONS:
* Grab the nearest book.
* Open it to page 56.
* Find the fifth sentence.
* Post the text of the sentence in your journal along with these instructions.
* Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.
"Not only is the flowering of global science and technology not an exclusively Western-led phenomenon, there were major global advances in the world that involved extensive international encounters away from Europe".
This week finds me reading "Identity and Violence" by Amartya Sen (subtitled "The Illusion of Destiny"). Last week would have found me reading Terry Pratchett, which probably would have made for better blogvertainment...
Cheers,
-T
* Grab the nearest book.
* Open it to page 56.
* Find the fifth sentence.
* Post the text of the sentence in your journal along with these instructions.
* Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.
"Not only is the flowering of global science and technology not an exclusively Western-led phenomenon, there were major global advances in the world that involved extensive international encounters away from Europe".
This week finds me reading "Identity and Violence" by Amartya Sen (subtitled "The Illusion of Destiny"). Last week would have found me reading Terry Pratchett, which probably would have made for better blogvertainment...
Cheers,
-T
Wednesday, November 12, 2008
Mashup idea: library catalague with book reviews
I'd like to see a really good book review site that could talk to my local library catalogue system, so that I could check out what highly-reviewed books my library currently has available for loan, and perhaps even use it at the basis for purchasing requests. Just another way that Things Could be Better! :)
-T
-T
Thursday, November 6, 2008
Pythonista, pythoneer... pythonite
Another noun for describing a python afficionado. See http://www.wordinfo.info/words/index/info/view_unit/1096 .
As in socialite, canaanite.
Also related to the rare substance Pythonium, the pure essence of Python in mineral form. Pythonite is a substance created from Pythonium. Consuming Pythonite (or refined Pythonium) can lead to greatly enhanced productivity. Hence the somewhat ambiguous term Pythonite may refer either to a Python afficionado or the mineral substance formed when Pythonium is present in the natural environment.
Can react energetically with Perlite despite its proximity on the programmatic table of elements.
-T
As in socialite, canaanite.
Also related to the rare substance Pythonium, the pure essence of Python in mineral form. Pythonite is a substance created from Pythonium. Consuming Pythonite (or refined Pythonium) can lead to greatly enhanced productivity. Hence the somewhat ambiguous term Pythonite may refer either to a Python afficionado or the mineral substance formed when Pythonium is present in the natural environment.
Can react energetically with Perlite despite its proximity on the programmatic table of elements.
-T
Wednesday, November 5, 2008
More on soft exceptions
I had a real-world problem just now which I chose to tackle using soft exceptions. I have a series of rules which transform a data object. Depending on the state of the data object, not all the rules are applicable. Also, depending on the rule, it may or may not be critical to have the rule applied to the data object.
While pursuing another task, I caused an exception inside a method which applied one of these rules. Rather than simply track back the exception and add more handling to the code, I decided to *also* wrap this rule in a soft exception handler. In operations, it would be far better to simply not apply the rule than to cease processing and crash, yet the rule logic is written such that any error causes a program fault.
Ideally, I would implement the soft exception handling using a logger level which could be applied application-wide, but that is a bigger task than I wanted to tackle in 10 minutes!
So, I wrote:
This worked beautifully! I can check the code in with soft exceptions turned on, so that in operations any bugs here will only result in a rule failure, not a complete process failure. However, I still have access to the full stack trace through logging and can also set the exception mode to "Hard" (or anything that's not "Soft") and have 'brittle' behaviour for testing.
Score 1 for soft exceptions!
Clearly, it would be ideal to log instead of print. It would be good to have have the following logging controls:
* Hard or soft exception handling
* A logging level which would actually bring up user warning dialogs
* A variety of logging detail levels
Cheers,
-T
While pursuing another task, I caused an exception inside a method which applied one of these rules. Rather than simply track back the exception and add more handling to the code, I decided to *also* wrap this rule in a soft exception handler. In operations, it would be far better to simply not apply the rule than to cease processing and crash, yet the rule logic is written such that any error causes a program fault.
Ideally, I would implement the soft exception handling using a logger level which could be applied application-wide, but that is a bigger task than I wanted to tackle in 10 minutes!
So, I wrote:
exceptionMode = "Soft"
try:
originalState = object.state
// Apply rule logic
except:
object.state = originalState
if exceptionMode == "Soft":
print "NEW WARNING -- generated in MyClass.methodName
print "Methodname failed. Original state is being used."
traceback.print_exc()
print "END WARNING"
else:
raise
return successFlag
This worked beautifully! I can check the code in with soft exceptions turned on, so that in operations any bugs here will only result in a rule failure, not a complete process failure. However, I still have access to the full stack trace through logging and can also set the exception mode to "Hard" (or anything that's not "Soft") and have 'brittle' behaviour for testing.
Score 1 for soft exceptions!
Clearly, it would be ideal to log instead of print. It would be good to have have the following logging controls:
* Hard or soft exception handling
* A logging level which would actually bring up user warning dialogs
* A variety of logging detail levels
Cheers,
-T
Monday, November 3, 2008
Meme: Top Five Software Possibilities
Here's a quick meme... List the top five things that (you believe) could be feasibly achieved with a software R&D investment in the order of $30 million. Please list a time frame for any particularly big ideas. They could be your top five moneymakers, top five in terms of benefit for society, or anything -- it's YOUR top five :)
1. Flawless text-to-speech rendering. Could be done in four years, will take 15 otherwise.
2. Driverless cars. Could be done in six years, will take 40 otherwise.
3. Complete automation of the tax system. Maybe six years?
4. Creation of fully anonymous, publicly available medical research datasets.
5. Create an artificial mind. Could be done in ten years, but may never be done.
What are your top five?
-Tennessee
1. Flawless text-to-speech rendering. Could be done in four years, will take 15 otherwise.
2. Driverless cars. Could be done in six years, will take 40 otherwise.
3. Complete automation of the tax system. Maybe six years?
4. Creation of fully anonymous, publicly available medical research datasets.
5. Create an artificial mind. Could be done in ten years, but may never be done.
What are your top five?
-Tennessee
Sunday, November 2, 2008
My project: GAE-JSON
URL: http://code.google.com/p/gae-json/
The project is really not ready for public consumption, but I have noticed another project called gae-json-rest which is turning up on Google search. So that others can find my project by searching for it, I just needed to create a couple of links to it so that it will be available. Not, of course, that I'm being competitive -- but if I don't put some links up then there will be a lot of confused visitors to the gae-json-rest project!
If anyone feels very enthusiastic about the project, there *are* a couple of functional examples which anyone could install on their system, but they will need some guidance first. By the time OSDC08 comes around, however, I intend to have turned this around into something which is really genuinely user-friendly. I should add to the list of my goals:
* Create a hosted demo
* Put together a wizard / walkthrough
* Create some documentation
However, goals at the moment will still be those relating to functionality...
-Tennessee
The project is really not ready for public consumption, but I have noticed another project called gae-json-rest which is turning up on Google search. So that others can find my project by searching for it, I just needed to create a couple of links to it so that it will be available. Not, of course, that I'm being competitive -- but if I don't put some links up then there will be a lot of confused visitors to the gae-json-rest project!
If anyone feels very enthusiastic about the project, there *are* a couple of functional examples which anyone could install on their system, but they will need some guidance first. By the time OSDC08 comes around, however, I intend to have turned this around into something which is really genuinely user-friendly. I should add to the list of my goals:
* Create a hosted demo
* Put together a wizard / walkthrough
* Create some documentation
However, goals at the moment will still be those relating to functionality...
-Tennessee
Subscribe to:
Posts (Atom)