Labels

.net (1) *nix (1) administration (1) Android (2) Axis2 (2) best practice (5) big-data (1) business-analysis (1) code re-use (1) continuous-integration (1) Cordova-PhoneGap (1) database (2) defect (1) design (3) Eclipse (7) education (1) groovy (2) https (2) Hudson (4) Java (1) JAX-RS (2) Jersey (3) Jetty (1) localization (1) m2eclipse (2) MapForce (1) Maven (12) MySQL (1) Nexus (4) notes (4) OO (1) Oracle (4) performance (1) Perl (1) PL/SQL (1) podcast (1) PostgreSQL (1) requirement (1) scripting (1) serialization (1) shell (1) SoapUI (1) SQL (1) SSH (2) stored procedure (1) STS (2) Subclipse (1) Subversion (3) TOAD (3) Tomcat (4) UML (2) unit-testing (2) WAMP (1) WAS (3) Windows (3) WP8 (2) WTP (2) XML (4) XSLT (1)

Thursday, June 27, 2013

Nexus system administration misunderstanding

The available repositories that can be added to the Group ("Public Repositories") is on the right (see below).  Intuitively, shouldn't they be on the left, and you move them over to the right?  By default, newly added Repositories show up in the right column ("Available Repositories").

Thursday, April 25, 2013

Notes on "GTAC 2011: Opening Keynote Address - Test is Dead" presentation

The main message is that there needs to be validation of the product idea up front, rather than getting the product idea wrong and potentially killing a start-up one or two years down the road.  This is not prototyping which can be considered verifying that the underlying technologies should work together but a stage prior to this, using "arts and crafts"-type materials rather than hardware/software. 

The secondary message is that calling yourself a tester, even an automation tester, or "quality assurance person" is detrimental to one's career as these skills are thought of as commodities.  That is, the person is interchangeable with an offshore resource.  Rather QA people should take the role of "righters" or people that make a project "right".  I argue that everyone on a project should be responsible for making a project "right", but from past experience, getting your voice heard can be challenging, especially on more hierarchical teams.  Also inertia is a hard thing to fight. 


Tuesday, March 5, 2013

Can't connect to MySQL from remote computer

I recently started using Uniform Server, a WAMP package, for creating a database for my test team.  I really like the convenience and ease of use of this package.  For example, port changes for Apache can be made from the Uniform Server dashboard application, rather than having to hand-edit configuration files.  But Uniform Server is meant for local development and by default, remote connections are not accepted.  For example, attempting a connection using the MySQL JDBC driver, remote users will get a "Connection refused" error.

To fix this, using the dashboard application, "Stop MySQL".  Then run the "MySQL Console".  From its command-line, run "mysqld1".  This starts up MySQL without the "--skip-networking" parameter and thus allows remote connections. 


Monday, January 21, 2013

Notes on "What is Hadoop? Other big data terms like MapReduce? Cloudera's CEO talks" video

  • Map reduce - spread processing of data over many computers so data can be processed in parallel with cheaper hardware.  No transactions or schema.  Aimed more at analysis (Reads) rather than full CRUD?
  • Relational databases not good for unstructured free text  
  • Hadoop - open source, consists of (1) distributed file system to spread out data (HDFS), (2) way to push code down to do data analysis on the data 
  • Scalable because can just drop in more servers 
  • Memcached - in memory cache of relational database, push through writes "incrementally"? 
  • NoSQL - distributed hash tables
  • Sharding (not discussed in video) - taking rows of a relational table and distributing across computers

Altova MapForce review and tips

Altova MapForce is an interesting tool for creating XSL transformations visually.  Looking past the obvious drag-and-drop nature of the tool, here's my review:

What I liked:
  • Promotes the creation of libraries of re-usable functions.  
  • Flexible:  Can swap in another XSD without losing mappings, by editing MFD file directly.  The invalid mappings will be highlighted in red for correction
What I disliked:
  • Generated XSL is not meant to be tweaked, and it would be very difficult to do so
  • No built-in debugging facilities
  • No support for non-function-based facilities (e.g. xsl:analyze-string)
Hard to say whether good or bad:
  • Everything that is re-usable is function-based, that is, consisting of input (optionally) and an output.  It reminds me of Lisp programming.   
 Tips:
  • do not copy and paste functions between MFD files using text editor
  • make higher-level functions if find repeating mapping
  • If parsing the text of a node which has embedded tags (e.g. <addr>PO Box 123<delimiter />c/o Dave<postalCode>90210</postalCode></addr>), in this case, addr and delimiter, respectively, use the MapForce distinct-values function

Wednesday, January 16, 2013

The container 'Maven Dependencies' references non existing library

If you copy an Eclipse-Maven project from one computer to another, you may get a Build Path Problem resembling:  "The container 'Maven Dependencies' references non existing library 'XXXXXXXXXXXX'".  This is obviously due to a difference in the location of the local Maven repository from one computer to the other. 

To fix this, right-click on the project > Maven > Disable Dependency Management.  Once Eclipse has finished rebuilding the project, right-click on the project > Maven > Enable Dependency Management.  This error should now be gone.  

Thursday, January 3, 2013

Maven error "Cannot find wagon which supports the requested protocol: ftp" and Hudson

It is important to understand that Hudson comes bundled with Maven but you can also configure Hudson to use an external installation of Maven (Manage Hudson > Configure System > Maven 3 section).  When you add a Maven build step to your Job, you have the option to use the bundled Maven or your external installation.  However, the default is the bundled Maven. 


This can cause problems if you need additional classes required by your Maven plugins that are not automatically downloaded, e.g. FTP support for the Deploy Plugin or Wagon Plugin (http://mojo.codehaus.org/wagon-maven-plugin/).  That is, if you have dropped the required JAR into the "lib" sub-folder of your external Maven installation but the Job is configured to use the bundled Maven, you will continue to get "Cannot find wagon which supports the requested protocol: ftp" (in this case).