Live Life. Life is Short. Life is an Adventure.

Words, photos and experiences of Ronald Bradford

Jan
30

Woot!

Link to this post

I had a friend go woot in an IM message today, and my response was something like. Yes, haven’t been to woot.com for a while, which lead to statement “I didn’t know there was a site”.

Well yes folks, there is a www.woot.com, and it’s way cool. Of course you can go there, and unless you read more then the first page you might wonder what all the fuss is about. I’ve taken the liberty of stealing some content from they FAQ.

What is Woot?
Woot.com is an online store and community that focuses on selling cool stuff cheap. It started as an employee-store slash market-testing type of place for an electronics distributor, but it’s taken on a life of its own.
I see only one item, do you sell anything else?
No. We sell one item per day until it is sold out or until 11:59pm central time when it is replaced (see next entry for details). However, each item we sell is in stock and typically ships within 2-3 business days.
What is the schedule for new items?
The short answer: we offer a new item every single day. The details: a new product is released every morning at 12am central time, seven days a week.

You can read more at What is Woot?

So what kind of stuff do they sell. Well you can look at the product archives here. Anything from a Creative Labs USB Bluetooth Adaptor to a Western Digital Caviar 250GB Hard Drive to a InFocus Ultra-Thin 61″ DLP HDTV with Blender.

Woot!

Posted under General on 30 Jan 2006
Comments (0)
Jan
30

The response to a good book review.

Link to this post

I read many years ago now Maverick written by Ricardo Semler. It was a brillant book,that I greatly enjoyed. This book is based on what Ricardo did when he took over his father’s company in Brazil called Semco. His book was on the top sellers list for a very long time.

So what did he do that was so great. “Semco has let his employees set the terms of their employment: hours, wages, even their office technology.” Of course one line can’t describe the book.

I recommended this book to a friend, and then I eventually bought him a copy some months ago. Well, this evening in a meeting I’d found that he actually got around to reading Maverick. He was so impressed he bought 9 copies to give to other business collegues. You can’t get a better response to a good book review then that.

If you have never heard of him, Google has some matches 90,000 matches for Ricardo Semler.

Posted under General on 30 Jan 2006
Comments (0)
Jan
29

Choosing a new business IT system

Link to this post

I know of this not-for-profit organisation that is seeking to find the ideal solution for all of their IT needs. As with most organisations, wish lists are long, and in this case, the pockets are very shallow.

Now there is a certain amount of history, and politics (all organisations have this), so I’ll just focus on the facts at hand. A new system is sought, the budget is limited, there is no IT manager for the organisation, there are no detailed user or functional requirements for product comparision. So what do you do.

I’m not going to be involved in the process in any way, so what advice in guidelines could I give that would enable the parties to at least consider. Remembering that the Organisation has no IT manager, or internal experienced IT professional to advise. (This is of course the most dangerous position, the worst business critical IT decisions are made by non-IT people simply because they are putting the business needs first (that’s their job), but if your organisation is totally dependent on IT, or nearly totally dependent on IT (it could survive a short time, but you would need a lot more staff) how can the best views be presented without an IT expert, even totally independent from the organisation.)

Here is the quick guide.

1. There is an existing operational (but not fully functionality, obviously the reason for moving) system. What are the top 10 points of functionality that you business currently uses and gains most benefit from (also considering cost savings in money and staff resources).

2. What are the top 10 points of functionality the current system does not currently fully provide (obviously for moving). Be specific.

3. Given the case of globalisation, overseas products will be considered. The following are the Internationalisation (I18N) points the system must have (like the permenent members of the UN Security Council), if one fails the product fails regardless.

  1. Must be able to handle input and display of dates in local format
  2. Must operate in the Timezone of the business (for off-site managed options)
  3. Must provide correct currency support
  4. Must provide english (if the product is developed in a foreign langauge)
  5. Must provide correct Financial Year management
  6. Must provide correct local taxation requirements
  7. Must provide local integrations, for example to payment gateways, shipping providers etc.

So what you have from here are 7 must have points (one fails, end of evaluation), and then 20 points next on the list which would form a percentage of 100% if all 20 are met. Obviously using the existing system as a guide, the percentage would be 50%, 10 points it has, and 10 it doesn’t have. Simple.

What is an acceptable fit for the organisation, 50%, 75%, 80%. If you were purchasing an off the shelf product, I would think 80% would be a suitable go-live indicator. Not idea, but sufficient for survival. Doing this evaluation up front is a necessary step of comparing apples with apples.
No product will make 100%, the next part of the evaluation after getting these initial percentages is to look at the cost (in dollars and time) that it would take to move each product to the minimum acceptable fit, in my example 80%. Of course you may want to consider the cost to move to 95%.

Lastly, your organisation must consult in this case an external IT party. Somebody/some organisation which will look at the feature requirements (which are very limited), cost/benefit analysis and provide a best recommendation for the business, a decision made by mind, and not a decision made by heart.

So in summary.

  • Determine your minumum requirements
  • Determine the minimum acceptable percentage fit
  • Determine the cost (time and money) for each product to meet minimum acceptable percentage
  • Consult an independent person/body that can provide professional advice

Only at this point can you make a better informed decision. Will it be the right decision? Well that’s another question.

Posted under General on 29 Jan 2006
Comments (0)
Jan
24

Displaying Images as Text

Link to this post

Well, sometimes you just have to have some fun. Not sure of a pratical use yet. Check out these links.

http://c6.org/toogle/index.php?phrase=Linux+penguin
http://c6.org/toogle/index.php?phrase=marvin
http://c6.org/toogle/index.php?phrase=sunset
http://c6.org/toogle/index.php?phrase=daffy+duck
http://c6.org/toogle/index.php?phrase=polar+bear
http://c6.org/toogle/index.php?phrase=flower
http://c6.org/toogle/index.php?phrase=tulip
http://c6.org/toogle/index.php?phrase=arabx.com.au

Posted under General on 24 Jan 2006
Comments (0)
Jan
19

The challenges of compiling non working Open Source (Part 3)?

Link to this post

I’m not there yet with compiling MySQL Workbench from the previously released 1.0.0-alpha source for linux. I’d like to think I’m getting closer but not really certain. I’m getting good response to my Bug Report #16604 from MySQL Staff. Seems I work at it during the day, update, and then next morning there is some more info, but still doesn’t cut the cheese, as it just moves me to next error.

So in my last edition, I got an error and installed a lua product (which was the right one), but I didn’t do a configure again, just a compile. I bet that’s a C/C++ 101 lesson. Also as per request, added Java options consistent with my environment. So:


$ cd /src/mysql-workbench-1.0.0/mysql-gui-common/
$ ./configure --enable-grt --enable-canvas --with-java-ldflags="-L/opt/j2sdk1.4.2_10/jre/lib/i386/client/ -ljvm"
./configure: line 5556: ./po/POTFILES.in: No such file or directory


$ make
MySQLGRT/MGRTValueTree.cc:255: instantiated from here
/usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:158: error: 'const class sigc::bound_argument< std ::list< MYX_GRT_VALUE*, std::allocator< MYX_GRT_VALUE*> >&>’ has no member named ‘visit’
make[3]: *** [MGRTValueTree.o] Error 1
make[3]: Leaving directory `/src/mysql-workbench-1.0.0/mysql-gui-common/source/linux’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/src/mysql-workbench-1.0.0/mysql-gui-common/source’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/src/mysql-workbench-1.0.0/mysql-gui-common’
make: *** [all] Error 2

There is an error in the configure file at line 5556. Must have missed before, but I doubt, related to the later error.
So still not luck, with another solid C++ error. Some more research.

Google gets me to http://mail.gnome.org/archives/gtkmm-list/2005-November/msg00194.html which repeats the same problem, however no solution. Further reference to confirm the libc++ 2.0 API Docs indicating visit is indeed a member. I have the latest version from http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/ of 2.0.17. No indication of error at Gnome Bug Tracking including using detailed serach. So I’ve exhausted my investigative knowledge here.

The second recommendation from support.

If you want, you can try the latest version in the subversion repository, which should be easier to build. That version doesn’t require Java and have several issues fixed:
svn co http://svn.mysql.com/svnpublic/mysql-gui-common/
svn co http://svn.mysql.com/svnpublic/mysql-workbench/

So, after checking out what’s needed for SubVersion at http://subversion.tigris.org/.


wget http://dag.wieers.com/packages/subversion/subversion-1.2.1-0.1.2.el4.rf.i386.rpm
rpm -ivh subversion-1.2.1-0.1.2.el4.rf.i386.rpm
svn co http://svn.mysql.com/svnpublic/mysql-gui-common/
svn co http://svn.mysql.com/svnpublic/mysql-workbench/
cd mysql-gui-common
./configure
-bash: ./configure: No such file or directory

Oops, seems that file is not in the repository (at least the repository I have access to, so hoping this is built on ).


$ cp /src/mysql-workbench-1.0.0/mysql-gui-common/configure .
$ ./configure
$ config.status: error: cannot find input file: Makefile.in


$ cp /src/mysql-workbench-1.0.0/mysql-gui-common/Makefile.in .
$ ./configure
config.status: error: cannot find input file: library/Makefile.in

Ok, there’s a pattern here:


$ find /src/mysql-workbench-1.0.0 -name Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/res/linux/Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/res/Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/images/palette/Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/images/toolbar/Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/images/icons/Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/images/Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/images/cursors/Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/source/lua/Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/source/linux/Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/source/Makefile.in
/src/mysql-workbench-1.0.0/mysql-workbench/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/res/grt/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/res/linux/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/res/po/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/res/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_grt/source/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_grt/newt/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_grt/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_gc/source/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_gc/ftgl/src/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_gc/ftgl/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_gc/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library/source/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/test_parse_sql_statemets/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/test_mysql_api/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/test_xml/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/test_detect_charset/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/read_international/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/test_translations/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/images/grt/structs/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/images/grt/icons/db/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/images/grt/icons/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/images/grt/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/images/icons/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/images/icons/png/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/images/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/images/png/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_grt_workbench/source/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_grt_workbench/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/source/lua/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/source/linux/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/source/grtsh/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/source/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_util/source/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_util/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_sql_parser/source/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_sql_parser/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_grt_modules/source/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_grt_modules/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_sql_resultset/source/Makefile.in
/src/mysql-workbench-1.0.0/mysql-gui-common/library_sql_resultset/Makefile.in


$ find . -name Makefile.in
./library/Makefile.in
./Makefile.in

Seems there are 43 Makefile.in and they are all not there. So script a copy of all this files over into new structure.


$ ./configure
config.status: error: cannot find input file: res/po/Makefile.in.in
$ cp /src/mysql-workbench-1.0.0/mysql-gui-common/res/po/Makefile.* res/po/
$ ./configure
$ ./configure --enable-grt --enable-canvas
$ make
In file included from ..\..\mysql-gui-common\library_sql_parser\source\myx_sql_parser.yy:21:
../include/MyxSQLTreeItem.h:171:28: warning: no newline at end of file
..\..\mysql-gui-common\library_sql_parser\source\myx_sql_parser.tab.cc: In function `int yyparse()':
..\..\mysql-gui-common\library_sql_parser\source\myx_sql_parser.tab.cc:28452: error: expected primary-expression before "__attribute__"
..\..\mysql-gui-common\library_sql_parser\source\myx_sql_parser.tab.cc:28452: error: expected `;' before "__attribute__"
make[3]: *** [myx_sql_parser.tab.o] Error 1
make[3]: Leaving directory `/src/wb/mysql-gui-common/library_sql_parser/source’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/src/wb/mysql-gui-common/library_sql_parser’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/src/wb/mysql-gui-common’
make: *** [all] Error 2

Well, I’ve now exhausted this as well.

Posted under General on 19 Jan 2006
Comments (3)
Jan
18

Using Google Talk with Gaim

Link to this post

I signed up for Google Talk some time ago, but just could not get the sucker to operate within Gaim successfully.

Seems I was missing an advanced setting as found at http://www.google.com/support/talk/bin/answer.py?answer=24073. Now I have a successful login, I just need some other friends to join Google Talk. Yes that means you.

Posted under General on 18 Jan 2006
Comments (0)
Jan
14

Some light hearted Google Fun

Link to this post


Sometimes I wonder how I get to trivial information. Well in the Wikipedia article Google Hoaxes you will find that the Google search engine is valid in a number of unusual languages including Klingon. I’m a Star Trek fan, but that’s going a little to far, however I guess if they create Elvish Language the LOTR people would love it. My favourites are Elmer Fudd and Bork Bork Bork. For those that don’t know this line, it’s famous from the Chef in the Muppets.

It took a while to find it, but you can listen to the famous Chef Song Here.

Posted under General on 14 Jan 2006
Comments (0)
Jan
09

Handling User Requests of ‘I got an error!’

Link to this post

Don’t you just hate that, a user at the end of the day, week, or only when you ask them say “I got an error.” Ok, well can you give me some more information. “No” is the normal answer.

I presently manage this in my applications with the following 2 references.

  • Any 500 error pages are automatically emailed, so I can see frequency, and hopefully via a stackTrace, a good indication of location.
  • For every requested URL, I log the details of date/time, user, sessionId, URI and all Parameters (GET&POST)

Given this, when an error occurs I can usually see what the person was doing via Access Log reporting. The issue is, it’s not reproducible (if it’s a POST), I can’t just retry the command, and with coding practices, I can’t just cut/paste my log output (as that would be a GET, and in the even of a POST, the code would ignore it). In addition, it doesn’t fully show what the user is actually seeing on the screen.

The problem is what I really want to see is the actual screen the user is seeing. In essence, I want to log the HTTP response of every HTTP request and attach this to my logging, therefore, for every URL requested, I can actually see the rendered HTML output. There are some minor limitations, of post processing Javascript for example (an AJAX application would not really work here), and I’d definitely want to catch the response from the application server and not on the client (who knows what additional work a browser might do to your code).

So the delimma, is how can I achieve this currently using Apache Tomcat. I’m assuming a generic option would not present itself independent of application servers.

My search continues.

Posted under General on 09 Jan 2006
Comments (0)
Jan
09

What do you want in a job?

Link to this post

Well it’s a good question, as part of sorting out tax documentation I came across the following list (go figure why it was with tax stuff).
I made this list sometime mid 2002, I remember specifically the job I made the list for to evaluate. I’ve yet to take adequate time to completely review each point carefully and revise, however it’s a good starting point to look back at what you thought previously.

This list is not a list of what I want in a job, more a checklist of what I would like, and at the end I can get a score of how well the job fits to these items.

  1. Use of Existing Core Skills - Technologies
    • Oracle, Unix, Java, HTML/Web
    • Open Source Projects (Apache - HTTP/Java/XML, My SQL, PHP, etc)
  2. Use of Existing Core Skills - Experience
    • Database Modelling
    • Large Systems Design & Development
    • Application Performance Tuning
    • Technical Problem Solving
  3. About Newer Technologies
    • Encourage/Embrace use
    • Not bleeding edge
    • Opportunity for learning new relative skills
  4. Work Environment
    • Equipment
    • Location
    • Core working hours
    • Work at home options
  5. Team Environment
    • Ability to undertaking varying roles (and not undertake others due to other team members)
    • Existing working relationship with people
    • Across Development/Management/Support Teams
  6. Project Environment
    • Durations - 1 month - 1 year
    • Challenging
    • Varying
    • Problem Solving
  7. Project Methodologies
    • Emphasis on Quality Procedures
    • Emphasis on Software Testing
    • Emphasis on Customer
  8. Renumeration
  9. Other
    • Some Fun
Posted under General on 09 Jan 2006
Comments (0)
Jan
01

What’s in a Wiki?

Link to this post

I’ve been wondering what exactly is a wiki? It’s also not the first time I’ve been asked myself. Here is an explaination I came across.

A wiki, from the Hawaiian term for “quick,” is an ongoing, ever-evolving, organized compilation of information.

The theory behind wikis is simple: One know-it-all is not enough; more is better. Unlike other Web sites created and managed by a single person or entity, wikis are truly for the people, by the people. But the model has also come under fire, underscoring the danger of wikis: it’s open to everyone, including pranksters and those with an ax to grind or want to revise history in their favor.

Wiki’s enable a mass collaboration to build all kinds of things. It is becoming a new model for doing things on the Internet. The software is not magic, you can’t throw up a wiki and hope a miracle will occur. It takes thoughtful people to make it run.

Wikimania is growing dramatically. In October, 16.3 million people visited Wikipedia, a 267 percent increase from the same month last year, according to Nielsen/NetRatings. Overall, the site has compiled 2.6 million articles, including 840,000 in English.

Posted under General on 01 Jan 2006
Comments (0)
Home
  • « Dec spinner iCalendar Feb »
    January 2006
    M T W T F S S
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031EC
  • Categories:
    • Personal
      • Australian Culture
      • Cool Stuff
      • General
        • Humour
        • Quote of the Day
        • The Daily WTF
      • German Experience
      • Passion & Dreams
      • Photos
        • Pan Photos
      • US Adventure
        • Cricket World Cup
        • iPhone
        • MacBook
      • Vehicle Plates
      • Videos
      • Writing

  • Archives:
    • October 2008
    • September 2008
    • August 2008
    • July 2008
    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • February 2008
    • January 2008
    • December 2007
    • November 2007
    • October 2007
    • September 2007
    • August 2007
    • July 2007
    • June 2007
    • May 2007
    • April 2007
    • March 2007
    • February 2007
    • January 2007
    • December 2006
    • November 2006
    • October 2006
    • September 2006
    • August 2006
    • July 2006
    • June 2006
    • May 2006
    • March 2006
    • February 2006
    • January 2006
    • December 2005
    • November 2005
    • September 2005
    • July 2005
    • August 2004
    • June 2004