Wednesday, November 28, 2012

Service Architecture Tools

A few weeks ago, I found some useful tools.  Shortly thereafter, I lost my bookmarks.  This is more of a "note-to-self" listing a couple of the interesting tools out there relating to certain service oriented technologies.  I was looking for API Axle but I had forgotten the name and forgotten how I found it.

API Proxy/Manager
  • http://apiaxle.com/
  • http://wso2.com/products/api-manager/
  • http://www.soa.com/api/
  • http://www.aepona.com/
  • http://apiphany.com
Reverse Proxy
  • http://nginx.org
Web Cache
  • https://www.varnish-cache.org/
SOA Suite
  • http://wso2.com/ - soa suite
  • http://www.soa.com/api
Elastic Virtualisation
  • https://github.com/Netflix/eureka
API Development Management
  • http://www.mashery.com
  • http://apigee.com
  • http://apiary.io/
  • http://wso2.com/
  • http://www.soa.com/
API Catalogue
  • https://www.mashape.com/
XML Schema Catalogue
  • http://schemas.liquid-technologies.com/
General Description
  • http://apievangelist.com/2012/06/15/api-service-provider-roundup-for-2012/ - great roundup
Unsorted
  • http://www.layer7tech.com
  • http://www.3scale.net/
  • http://www.vordel.com/
  • http://www.socrata.com/
  • http://www.webservius.com/
  • http://www.emergentone.com/
  • http://www.nevatech.com/

Tuesday, September 04, 2012

Arguments

I find the following quote to so simply describe my problem with humanity's arguments and self delusions.  It is applicable in almost every argument from family, political, and religious arguments, to our daily view on life and self justification.
"I have become somewhat obsessed with it," he said. Even if the interactions don't usually go beyond two emails, he never tires of hearing the responses. "It's the depths of their commitment that's so amazing, that they will go to such mental contortions to try to think of a way to preserve their beliefs in spite of evidence to the contrary."
http://www.theawl.com/2012/09/nasa-apocalypse-expert

If only people had the capability to accept the facts, admit that they are wrong, move on, and be positive.

Saturday, June 02, 2012

Blackberry Playbook


I recently purchase a Blackberry Playbook. This article provides my critique of the playbook in contrast with my use of the iPad 2.

I have owned an iPad 2 for approximately one year and it has changed the way I live. My web browsing at home is exclusively using the ipad and i have two sets of airplay speakers. Needless to say, iTunes really shines when you use it in conjunction with airplay. I can wake up and change my music playlist without leaving my bed. Coupled with a morning read of my news sites, and a game or two on its large display, I am comfortable that the iPad has set a standard that will not easily be beaten in the home.

This domination at the home is not so great as compared in the office. My expectations in the office are clear.  Any device must compete with pen and paper, a physical notebook for meetings, a laptop for presentations, and blackberry email for consolidated mobile email.  Security and corporate manageability is furthermore critical. Battery life of such a device must be at least 10 hours and should hold up to a full day of note taking in a training course.

I am already completely convinced in DRM and device security proposition proposed by the iPad. Android and its security landscape does not look anywhere near as convincing as iOs and suspect that, in the next two years, we will see Android releases whose focus is purely focused on corporate security.

Blackberry Playbook offers the promise of such a device but how does it truly stand up to corporate use?


Advantages:

1. I never have to connect to WIFInetwork at another corporate. My Internet browsing and email always works successfully due to tethering on my BB.  Connecting to WIFI networks is trivial but not necessary.

2. I am paying for a single contract with my mobile operator and usage is free due to BIS.  I do not want another 3G device and another monthly bill to receive calls and messages.  It uses a little more more battery life.  The more energy efficient bluetooth 3 or 4 will make this work even more effectively as it promises longer battery life.  My BB9900 did drain faster than usual during a full day of training, and by extension, browsing using my playbook.  This is a minor problem.

3. Its size is perfect.  My iPad 2 is too large and I worry about dropping it.  I do not like protector coverings.  Without my coat, it is still possible to put my playbook into my pant pocket so that my hands are free.  It does not look good but sometimes you need both hands and don’t have a table nearby.

4. It feels much more rugged in comparison to my iPad 2.

5. Email is great.  See suggestion 2.

4. The multitasking is much more effective during meetings. This is a very subtle advantage.

5.  This may sound absurd but i can comfortably throw my playbook onto my bed or couch without me perceiving it breaking.  An iPad feels too large and fragile to throw.

6. The menu system feels much more organised than the iPad.


Disadvantages:

1. Poor application ecosystem.  At first, I expected this to be much more of an issue but it turns out to be less important because your biggest competition is actually pen and paper.  See suggestion 1.  It is actually quite an absurd disadvantage as the playbook has arguably the broadest application framework for corporates.  It supports Adobe Air, Flash, Html 5, Native C++ applications, simplified Android apps, and potentially (it may get killed) a java runtime.  What impresses me is the Air application framework, as it introduces a potentially rich and mature application framework and development environment giving corporations the options to leverage their skills to develop.

2. The password lock only has a 10 minute option.... I'd like a quicker lock timer.

3.  Exchange corporate address book is needed for both BB and for playbook.  Windows Phone is going to have this function and its gonna be useful. I don't use BES so maybe this has already been solves.

4.  The size of the iPad keyboard is much more effective for typing long emails.. You tend to use your thumbs more for typing than expected.  I have, however, written this article on the playbook and don't think that it is too much of a problem.  It is much easier to touch type on the iPad.

5.  I had to turn off the predictive text as it was getting annoying. This is a minor cosmetic issue.

6.  Text selection is not as easy on your BB.  Minor cosmetic issue and i probably need to read the help.

7.  When my playbook is charging next to my bed, and I turn it upside down so that the light doesn't disturb me, I don't believe it goes into locked mode after 10 minutes.

Suggestions:
 
1. The biggest competitor is pen and paper.  The notes app that comes with BB is ridiculously simple and almost useless in comparison to the Paper and Evernote applications.  This is a shocking omission.

2. Mail and tethered mail should optionally be merged or linked.  I have a gmail account linked to my playbook and to my phone. If both are configured independently, then I do not want to see an extra mailbox in BB bridge.

3. A Micro-SD card reader would be nice to allow photo management and upload to websites while travelling. I do not like to log into my email accounts while travelling because of keyloggers/trojans.  This would make me much more comfortable.

General Observations:

1. Battery life is great.  I need to record meetings, take photos of whiteboards, take notes, file notes, and project powerpoint files.

2.  The automatic upgrade to the latest BBX OS version was impressive and simple.

Still to use:

1.  I have not yet used the print to playbook functions.  My problem with this feature is that you sometimes do not have the time to print every document.  You almost need a file-sharing function like dropbox giving you access to project/view (but not copy or distribute (based on corporate settings)) files.

2. I need to test out projecting using a HDMI converter.  If this can project PowerPoint, I would be quire happy.


All in all... The pro/con/suggestions are prioritised in terms of importance and fundamental impact on my day to day life.  The advantages clearly outweigh the disadvantages and the suggestions would complete the device.  The suggestions, and the lack of their capability, are actually more fundamental disadvantages and should be taken more seriously than the disadvantages raised.

I was seriously sceptical when I purchased the Playbook however I have been pleasantly surprised and look forward to future BBX releases!

Thursday, June 16, 2011

When Good things Go Bad

When does Olive Oil become bad? Why do we buy Olive Oil and cook with it in preference to other oils. What principles can I apply to reap the benefits without becoming an over-concerned health fanatic?


The smoking point of oil is the point at which good oil becomes bad oil (Smoking Point).
  • Butter 170 C
  • Avocado Oil 270C
  • Coconut Oil 170C
  • Olive Oil - Extra Virgin - 160 C
  • Olive Oil - Virgin - 216 C
  • Olive Oil - Pomace - 238 C
  • Olive Oil - Extra Light - 242 C
  • Sunflower Oil - 232 C

I'm not going to harp on about the benefits when you can read about them (Olive Oil). I suspect that to gain the benefits you have to consume an olive oil by eating salads/bread with olive oil daily/weekly. My diet is therefore only avoiding the use of bad oils.


Principles:
  • The more refined, the higher the burning point. Use Extra Virgin or Virgin Olive Oil for salads, use anything more refined for frying and cooking.
  • When cooking, do not fry/cook above 220 C.
  • Do not use butter to fry above 170 C.

Remember, using Olive Oil to fry food does not make frying healthy (Burnt).

Principles:
  • Do not burn/overly burn your food. Turn regularly.




Sunday, August 15, 2010

Just Plain Awesome

This is just awesome... an F1 simulator strapped to a robotic arm for physics simulation.

F1 Simulator.

-Tim

Thursday, October 08, 2009

Large Batch Processing using Hibernate

When using hibernate for the retrieval of large amounts of data, one should remember that memory is limited and that incorrect usage of the hibernate session will cause the first and second level cache to explode in size.

There are two ways to prevent this, either (a) evict the objects once you are finished with them, or (b) use a stateless session. Another point to remember is that you cannot use the list method on the Query because this will retrieve the entire result set.




Statefull Session:

Remember to evict the associated objects from the first level cache once you are finished with them:



Query query = session.getNamedQuery("large");
ScrollableResult result = query
.setCacheMode(CacheMode.IGNORE)
.scroll(ScrollMode.FORWARD_ONLY);

while (result.next()) {
Object[] v = result.get();
Object a = v[0];
Object b = v[1];

… batch process …
Session.evict(a);
Session.evict(b);
}



Stateless Session:

There is no need to evict objects from the first level cache however all lazy relationships will be unavailable.



Query query = session.getSessionFactory()
.openStatelessSession()
.getNamedQuery("large");

ScrollableResult result = query.scroll(ScrollMode.FORWARD_ONLY);
while (result.next()) {
Object v = result.get(0);
… batch process …
}



Another useful feature is to utilise the setProperties method on the query object set appropriate query parameters instead of setting each parameter individually.

Bind using parameters:



Query query = session.getNamedQuery("mydosageQuery");
query.setString("dosageForm", "SLS");
display(query.list());



Bind using setProperties:



query = session.getNamedQuery("mydosageQuery");
query.setProperties(new MyDosageQuery(“SLS”));
display(query.list());




(This is more of a note to self really...)

Wednesday, July 08, 2009

Statements of Truth

Every statement and/or argument must be supported by evidence, and this evidence should be provided.

Without evidence, a statement could be called opinion and your confidence that the statement is true is related to your opinion of the person making the statement.

Furthermore, the fundamentals of the statement may change over time (due to a change in technology, performance, environment, implementation, etc) making the statement's supporting arguments and statements invalid, and therefore invalidating the claimed statement of truth.

Without the original evidence, you will not allow the reader to determine whether the statement is still applicable. This evidence should be sufficiently verbose for a reader, at the same time to reproduce and come to the same conclusion.

Friday, April 10, 2009

Google AppEngine - Maven POM

Google have standardised java hosting and deployment with the release of a scalable, standards based java hosting platform. PHP had this 14 years ago and its about time.

The first question is how do I take advantage?

1. After studying the terms of service it seems as though you do not cede intellectual property rights and that it is quite suitable for commercial use where you would normally use a public hosting solution. (You would obviously not store financial transactions in the cloud and you would not store medical or any data that has legal restrictions on where the data may physically reside) and who may look at it.)

2. I still have to determine the confirm BigTable reliability: Will it ever loose data?

3. The Maven POM - What is the difference between the SDK and the real environment.

Investigation



I provide a maven POM that describes the Java Google App-Engine capabilities based upon the classes available to a deployed application. To determine the classes available, I generated a list of all classes included in the SDK and executed Class.forName(String) within a test application that I deployed to Google App Engine.

The results were interesting and are the foundation of the POM that is provided below.

Repositories


From a maven perspective there are only two significant libraries within the SDK that must be installed into your local repository because the can be obtained publicly.

From the root of the SDK execute the following maven commands:



mvn install:install-file -Dfile=lib/shared/appengine-local-runtime-shared.jar -DgroupId=com.google -DartifactId=appengine-local-runtime-shared -Dversion=1.2.0 -Dpackaging=jar -DgeneratePom=true

mvn install:install-file -Dfile=lib/shared/jsp/commons-logging-1.1.1.jar -DgroupId=com.google -DartifactId=commons-logging-repackage -Dversion=1.1.1 -Dpackaging=jar -DgeneratePom=true



I have the following two repositories specified in my maven settings.



<repositories>
<repository>
<id>datanucleus</id>
<name>Datanucleus Repository</name>
<url>http://www.datanucleus.org/downloads/maven2</url>
</repository>
<repository>
<id>atlassian</id>
<name>Atlassian Repository</name>
<url>https://maven.atlassian.com/repository/centralmirror</url>
</repository>
</repositories>



Maven: Provided POM



The following POM describes the libraries for the "provided" maven scope. Google seem to have an API proxy for their data layer and I have not included those libraries in my analysis. I will provide a more comprehensive POM once I understand the technologies and the dependencies.

For now, this is the pom that best describes the "provided" scope:


<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>tim.app.test</groupId>
<artifactId>TestLab</artifactId>
<packaging>war</packaging>
<version>1.0.0</version>
<name>Test Lab</name>

<dependencies>
<dependency>
<groupId>com.google</groupId>
<artifactId>appengine-local-runtime-shared</artifactId>
<version>1.2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google</groupId>
<artifactId>commons-logging-repackage</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>

<!-- the following are available on repositories -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jsp_2.1_spec</artifactId>
<version>1.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-servlet_2.5_spec</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
<version>1.6.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-launcher</artifactId>
<version>1.6.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-el</groupId>
<artifactId>commons-el</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler</artifactId>
<version>5.0.28</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-runtime</artifactId>
<version>5.0.28</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
</dependencies>

<repositories>
<repository>
<id>datanucleus</id>
<name>Datanucleus Repository</name>
<url>http://www.datanucleus.org/downloads/maven2</url>
</repository>
<repository>
<id>atlassian</id>
<name>Atlassian Repository</name>
<url>https://maven.atlassian.com/repository/centralmirror</url>
</repository>
</repositories>

<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>

</project>



Ant: Launch and Deploy



The following build.xml file can be used to launch the local GAE development server and it may also be used to publish the latest version to the production GAE server.

Run the deploy from the commandline at least once as you have to put in your username and password.



<project name="Google App Engine">

<target name="deploy">

<java fork="true"

dir="c:/development/lib/appengine-java-sdk-1.2.0"
classpath="C:/Development/lib/appengine-java-sdk-1.2.0/lib/appengine-tools-api.jar"
classname="com.google.appengine.tools.admin.AppCfg">

<arg value="update"/>
<arg value="C:\Development\General\TimAppTestlab\target\TestLab-1.0.0"/>

</java>
</target>

<target name="launch">

<java
fork="true"
dir="c:/development/lib/appengine-java-sdk-1.2.0"
classpath="C:/Development/lib/appengine-java-sdk-1.2.0/lib/appengine-tools-api.jar"
classname="com.google.appengine.tools.KickStart">

<arg value="com.google.appengine.tools.development.DevAppServerMain"/>
<arg value="C:\Development\General\TimAppTestlab\target\TestLab-1.0.0"/>

</java>
</target>

</project>




Enjoy,

-Tim

Friday, October 10, 2008

Maven

Sonatype Nexus is great as it simplifies maven. Maven is a useful java tool that allows for simplification of development within a team by removing unnecessary complexity within build scripts however it may seem overwhelming with configuration and repository management.

Development teams should use Sonatype Nexus to provide a cache of public repositories. This also ensures that each developer is using the same internal repository and simplifies configuration on each machine.

The following public repositories should be added to nexus. Note: www.ibiblio.org is a maven 1 repository and you would have to tell nexus to remap virtually present this as a maven 2 repository.

* http://repo1.maven.org/maven2/
* http://download.java.net/maven/2/
* http://repository.codehaus.org/
* http://www.ibiblio.org/maven/



Flexibility



If you need to still need to customise your build you can still use ant by using the antrun plugin.


<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<configuration>
<tasks>
<echo message="Hello World"/>
<mkdir dir="target/sample"/>
<javac classname="tim.HelloWorld" classpathref="maven.plugin.classpath" fork="true" dir="target/sample"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>tim.example</groupId>
<artifactId>MyHelloWorld</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</plugin>

Friday, October 03, 2008

Zimbabwe

Zimbabwe is slowly heading back to the stone age - Banks are now unable to do internet transfers, or even internal transfers within the same bank ( Banking Chaos in Zim ). In some sick morbid way this is an interesting study of how a government can meltdown.

Sunday, September 28, 2008

S/PDIF and positional audio using DTS Connect

The ALC889A and ALC1200 with DTS Connect, DTS Interactive and/or Doldby Digital Live.

Gigabyte ALC889A with software can fully encode positional DTS for 3d games and general windows use. This is a function of the bundled software and I dont think it would work on Linux.

When buying a new PC one of my big concerns was sound quality and sound drivers. I did not want to buy a separate sound card and I wanted to use my home theater system. Unfortunately due to a hasty purchase some years back I somehow managed to buy a home theater system that takes Stereo In, SPDIF Coaxial In and SPDIF/Toslink Optical In. This means that to get surround my sound card must produce a DTS or Dolby digital signal with more than 2 channels. Also, the home theatre system only had a single Stereo. Some sound cards have multiple analog stereo outputs which plug into many stereo inputs on the home theatedr system which relies on the sound card to produce 3 or 4 analog signals.

In persuit of fewer cables, the important bit again: the sound card must produce a DTS or Dolby signal with more than 2 channels. Many sound cards will encode to DTS or Dolby but produce a stereo digital signal. That means you have stereo and in 3d games and it will not be positional sound. When watching movies the sound card will pass the digital signal directly to the sound card but it will not perform any positional encoding. Some sound cards will label this as "DTS" and "Dolby" which is deceptive.

For 3d games or any funky usage of winamp you PC needs to be able to encode DTS or Dolbly signals on the fly. Realtime encoding of DTS and Dolbly goes under the name of "DTS Connect", "DTS Interactive" or "Dolby Digital Live" and involves a combination of software or hardware to produce the multi-channel digital output. (Rember: A 2 channel DTS signal is not the same as 7.1. Many sound cards will perform stero encoding which is not what you want).

I bought a Gigabyte GA-MA78-S2H which has the ALC889A sound chipset and this implements DTS Connect and DTS Interactive and I get positional sound in games and music via my optical out. The software that comes with this Gigabyte mainboard is great and allows you to tweak all sorts.

One of the more impressive tweaks is to adjust the center channel which is usefull when you play stereo music on 5 speakers. Typically you end up getting all of the voice out of the center channel and its nice to distribute this across other channels by making the center channel wider.

Some websites suggest that the using DTS Connect and DTS Interactive takes 1-3% CPU power to perform this. I dont notice a difference so I dont really care. Dolby Digital Live encoding is supposed to be slightly more efficient to encode in software but I dont currently notice a difference so I dont really care - it works.

My experience with Gigabyte is good. Now although the ALC889A that is used on the gigabyte mainboard can fully encode DTS I believe that this is a feature of the gigabyte software. The ALC889A is a customised ALC885 and is made by Realtek for exclusively for Gigabyte.

One of the alternatives to Gigabyte was ASUS which also has an exclusive sound chipset from Realtek - the ALC1200. I did quite a bit of research and could not confirm that it is able to do DTS Connect. I would imagine it is more advanced because its version number is higher [How technical is that :-) ] but nowhere could I see any mention of realtime positional encoding of Dolby Digital Live, DTS Connect or DTS Interactive and they fall into the same trap where the mainboard supports Steria Digital encoding, will pass DTS and dolby signals from a DVD to your amp or will render the DVD digital to your 4 analog stereo outputs. Very Deceptive.

I dont think that this board will have DTS for linux since the DTS Connect / DTS Interactive has to be implemented by software drivers. In comparison, there has only been one "perfect solution" which was implemented completely in hardware. The nVidia Soundstorm along with its nForce 2 transparently produced full digital signals. This was implemented in hardware.

Enjoy,

-Timothy

Friday, September 19, 2008

Installing Windows

Its that time again - I have a new computer. Its been about 6 to 8 years since I have bought something new for my home PC. I'm buying a beast in a box (Micro ATX, Quad Core, 8gig memory, Blue-ray, Wifi, etc) and hopefully it will be another 6 to 8 years before I have to buy another PC.

The big question is what software I should re-install?

Windows ultimately ends up as an unstable dog with fleas due to failed attempts at finding reasonable software. Having learned from my many mistakes with software of all types, the following is a list that I consider being the most effective in their category. I have linked to the author's website so that in future the latest version may be downloaded.

There are still a few items that I am looking for (suggestions welcome):
  • Photo touchup and image Editing
  • Media Player and Media Organiser
  • Offline CD Collection Organiser
  • Archive Organiser (Old Documents, Projects, Backups, etc)
The following list is linked to its author's website. Free may be open source, freeware or freely downloadable (subject to license, eg: ie8, etc).










Operating System

Windows Vista Operating System
Retail
Windows XP SP3 Operating System
Retail

Office Suite

Microsoft Office Documents
Retail
Open Office Documents
Free
Star Office Documents
Retail (Inexpensive)

Internet Browser

Fire Fox Internet
Free
Google Chrome Internet
Free
IE 8 Internet
Free

DVD Player

Windows Media Player 11 Media
Free
Power DVD Media
Retail

Tools


Acrobat Documents
Free
KeyNote Documents
Free
DVD Shrink File Archive
Free
Image Burn File Archive
Free
IZArc File Archive Slick Free
Dyna DNS Internet Dynamic DNS name Free
Free Download Manager Internet
Free
uTorrent Internet
Free
Google Earth Map
Free
VLC Media Player Media
Free
Dot Net Platform
Free
Java 6 Platform
Free
Shockwave Platform
Free
CC Cleaner OS Tool I don’t like it phoning home Free
Daemon Tools OS Tool Mount CD images (old games, etc) Free
Easy Cleaner OS Tool
Free
FreeUndelete OS Tool Install this before you need to Free
Process Explorer OS Tool Replace Task manager Free
Treesize OS Tool
Free
Tweak All 3 OS Tool Helps removing Browser Helper Objects Free
UnixShell OS Tool wget, grep, etc Free
Who Lock Me OS Tool
Free
Terminals Remote Desktop Multi Tab - VNC, Telnet, SSH, Citrix Free
Google Desktop Shell
Free
Launchy Shell Incredible ** Free
TeraCopy Shell
Free
Xplore2 Shell Plugins required Free
nLite Slipstream
Free
Virtual Box Virtual Machine 3-5% slower than VMWare but free Free
Tomcat 6 Web Server
Free

Development Tools

Hibernate Development
Free
HSSQL Development
Free
Inno Setup Development
Free
IntelliJ IDEA Development Amazing Retail
JDK 1.4.2, 5.0, 6.0 Development
Free
Maven Development
Free
Subversion Development
Free

Internet Tools

FireFTP Firefox Plugin
Free
Adblock Plus Firefox Plugin
Free
Bookmark Duplicate Detector Firefox Plugin
Free
Foxmarks Bookmark Synchronizer Firefox Plugin Same bookmarks at home and at work Free
FoxyProxy Firefox Plugin
Free
IE Tab Firefox Plugin
Free
NewsFox Firefox Plugin
Free
PDF Download Internet Better flexability when clicking on PDFs Free

Web Resources

Life Hacker Internet Resource Life Free
DZone Internet Resource Development Free
Google News News Resource
Free
SlashDot News Resource Technology Free
Old Version Internet Resource
Free
Softpedia Internet Resource
Free

Thats my list of software. Suggestions and recommendations welcome. This list is actually future documentation for myself and it may help others make their life easier.

-Tim

Monday, September 08, 2008

International Shipping



I have been playing with myus.com which is a US re-mailer and gives me a US address in Florida. This allows items purchased from US companies that only deliver to US postal addresses. This costs about $60 a year which has already payed for itself when buying high cost items.

The price of a mid-range / cheap goods turns out to be only slightly cheaper (R100-R500) when purchasing them locally. High end goods seem to attract a very high margin locally so you can easily save up 50% of the cost by purchasing from overseas when taking advantage of exclusive US discounts.

Saturday, August 30, 2008

IDE + SATA to USB converter



The Vantec IDE+SATA to USB converter is useful and allows you to easily access old IDE drives via USB without cluttering your desk. In addition it seems you can use an IDE drive and a SATA drive at the same time.