Mobile learning application MiniPauker 1.1.05 released - please test!
Continue reading →
My path to SCEA 5
Continue reading →
Most interesting links of June
- Boy Scout Rule in practice - improving the code on the go with respect to the Clean Code's and similar best practices: 1) If you spot a piece of code to improve, don't add a TODO there - fix it immediately; 2) A nice example of refactoring a 30 lines method based on the Single Responsibility and Short Method principles
- Java theory and practice: Dealing with InterruptedException - You caught it, now what are you going to do with it? - why not to swallow an InterruptedException and how to deal with it properly (namely by rethrowing it or calling Thread.currentThread().interrupt() to reset the Thread's interrupted status). This is not a new article, but the subject is little known yet raher important.
- WTF is HTML5 and why we should care? - a visually appealing 1-page summary of what HTML 5 brings and its current and future support in major browsers and IE. Related: the current draft of the HTML5 spec.
- Dr Dobbs' HTML 5 Primer - an overview of the technologies and standards that form the "HTML 5 Family" and are commonly referred to as HTML 5 though not being a part of the core HTML 5 standard. Not long and good to make the HTML5 fuss a bit clearer.
Continue reading →
Implementing build-time bytecode instrumentation with Javassist
Continue reading →
Booting from a USB stick in VMware Player
- Download the PLoP boot manager (e.g. plpbt-5.0.10.zip), which supports usb booting
- Decide whether you want to install PLoP to the virtual hard disk (useful if you will boot from the USB stick more often) or not
- Using PLoP without installing it to the virtual disk:
- Extract the ISO image plpbt-5.0.10/plpbt.iso from the archive
- Attach the extraced ISO image to you VMware virtual machine as a CD/DVD
- Boot the vmware machine from this virtual CD. (VMware should automatically try it as a boot device, if not, press Esc at the virtual machine start to enter the boot device selection menu).
- PLoP will be started, ses below.
- Installing PLoP to the virtual disk (you may want to check the PLoP installation guide):
- Extract the ISO image plpbt-5.0.10/install/plpbtin.iso from the archive
- Attach the extraced ISO image to you VMware virtual machine as a CD/DVD
- Boot the vmware machine from this virtual CD. (VMware should automatically try it as a boot device, if not, press Esc at the virtual machine start to enter the boot device selection menu).
- PLoP installation menu will show up, press 1 to select the option "Full boot manager install" and answer "y" to the question whether you want to proceed
- When the installation finishes, power off the virtual machine
- Remove the CD/DVD device from the virtual machine, we won't need it anymore
- Start the virtual machine, which will boot PLoP from the virtual hard disk.
- Using PLoP without installing it to the virtual disk:
- Once PLoP is started, it will give you a selection of devices to boot from including your USB stick. (Make sure that the USB stick is connected to the virtual machine, if not, connect it and restart the machine via the menu VM - Power - Reset).
Continue reading →
Webservice testing with JMeter: Passing data from a response to another request
- Create a webservice (WS) test plan, as described in the tutorial (in my case it contains two WS calls)
- Add the User Defined Variables config element to the test plan and define there a variable for transferring the response data
- Add an XPath Extractor Post Processor to the first WS call to extract the value of interest into the user defined variable (beware namespaces!)
- Add a BeanShell Pre Processor to the second call, which will replace a placeholder in the WS call's XML data with the value of that variable
Continue reading →
Most interesting links of May
- NoSQL is About… - all the things NoSql databases are said to be about (and perhaps are not) and a good overview of the different goals and thus also features of the various implementations
- Bulletproof of Mind Mapping: Overview, Benefits, Tips and Tools - the article not only introduces mind maps (a structured way of recording ideas, much less limited than lists) but also describes over 30 desktop and web-based MM tools, both free and commercial (some of the descriptions come from the SW's web, some from the author - the distinction isn't clear)
- Java vs. C Performance....Again. (9/2009) - When C(++) is better than Java, when Java is more appropriate, and common flaws in comparions methodologies/false arguments.
- Why Learning Git is really, really hard part 1 and part 2 with actual reasons - because it doesn't care enough for usability (unusual commands, cryptic error messages, impossibly to go to a "simpler use mode"). I'm intrigued by distributed SCM systems and tired of not-so-easy branching & merging in SVN and its lovely problems with corrupted metadata (when you delete a folder...) and thus I was considering switching to Git that everybody is so excited about. I still plan that but these articles warned me that it may be not so painless and easy. A good read.
- Java VisualVM Blogging Contest results - the best posts -
- VisualVM - tool for profiling Java applications - nice, short intro with many pictures
- Analyzing Memory Leak in Java Applications using VisualVM
- (and others ... )
- How to compute running mean/standard deviation - this page explains and in C implements an algorithm for computing a running estimate of mean and standard deviation, which minimizes accumulation of precision errors. A running estimation has the advantage that you do not need to store all the numbers and is thus suitable e.g. for continuous performance monitoring with a low memory overhead (buth the performance overhead of a division and multiplication it introduces is perhaps also something to consider - though for most application it's negligible)
- (Java) Web performance in seven steps - a great article about the "management of performance" of a Web/JEE application from the definition of performance requirements up to continual performance monitoring with interesting war stories and links to various useful tools. I can sign the author's maxim "measure, don't guess!". The Java monitoring API Java Simon mentioned in the article is worth a look.
Continue reading →
Migrating from JRoller to Wordpress
- Backup JRoller via the util by La tortue cynique
- Export from WP
- Convert JRoller to a fragment of the WP format
- Add proper header and footer to the generated WP import file
- [optional] download images, perhaps upload them somewhere and modify URLs accordingly
- Import it into WP
- Check formatting, add tags...
Continue reading →
How Visual Paradigm (nearly) ruined my day and Dropbox (nearly) saved it
Continue reading →
Eclipse Profile configuration: The launch requires at least one data collector
Continue reading →
Book: Real World Java EE Patterns - Rethinking Best Practices (review & digest)
The book starts with an overview of the evolution of Java Enterprise Edition and the hard issues it solves for us, continues with the new and updated patterns and strategies and concludes with an introduction of two opposite architectures you can build with Java EE 5/6, namely lean SOA and domain-driven (which itself makes it worth reading).
What I really appreciate in addition to that valuable content is that for each pattern there is a section on testing and documentation and a really good evaluation of consequences in terms of maintainability, performance and other such qualities. You will find there also many code samples and beautiful applications of the Builder and Fluent API patterns.
The main message is that EJB 3.x is so lean and powerful that we must justify why NOT using it - and when using it, you should be very pragmatic and only introduce patterns, layers and principles if they bring real value.
Continue reading →
Mocking out LDAP/JNDI in unit tests
To create a test implementation of LDAP/JNDI you need to:
- Hook you mock JNDI implementation into the JVM and make sure that you use it
- Actually implement the JNDI layer by implementing/mocking few (3) JNDI classes, mostly from the javax.naming.directory package
- Configure your mock implementation to return the data expected
Continue reading →
Most interesting links of April
- Getting Started with Tdd in Java using Eclipse [Screencast] - you will see not only TDD in practices but also a number of best practices applied and some inspirational novelty (at least for me) ideas such as creating one test class per test configuration (and thus multiple test classes for a single "business" class); I really recommend this even if you are not interested in TDD
- NoSQL links (as everybody these days, I'm also at least observing the NoSQL movement):
- Why Twitter selected Cassandra (brought by the great myNoSql blog) - why they choose Cassandra over other alternatives and instead of the current solution of mysql with memcache
- Cassandra at Digg: Looking to the future with Cassandra (9/2009) - why Digg considered switching to Cassandra (which they also did)
- Testing
- Easy data-driven testing with Spock - the Spock framework based on the popular JVM scripting language Groovy (99% Java + 1000% added) introduces a custom domain-specific language (DSL), which makes testing of a method using different data incredily easy and readable, with all the power of Groovy at hand; see the post and you will see immediately what I mean
Continue reading →
My older posts at JRoller
Continue reading →
File-based User Authentication under WebSphere 6
File-based User Authentication under WebSphere 6
When developing a web application for the WebSphere Application Server you sometimes need to enable security because the application expects HttpServletRequest.Continue reading →