Welcome!

Warren MacEvoy

Subscribe to Warren MacEvoy: eMailAlertsEmail Alerts
Get Warren MacEvoy via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories by Warren MacEvoy

There are many good resources on using events and implementing event listeners. Unfortunately, there are nearly as many resources that incorrectly or inefficiently implement event generators. These implementations introduce subtle nondeterministic errors, execute slowly, and/or fill the virtual machine with unnecessary garbage. The goal of this article is to address this problem once and for all - as a pattern and code generator for JDKs before 1.5, and as a set of generic types in JDK 1.5 and later. Most Java programmers learn how to listen early on, usually thanks to the Swing classes. The elements are as follows: An event, which is the information to exchange. A listener, which receives the information. A generator, which sends the information. Listeners can be added (or removed) from generators as they become interested (or disinterested) in the events they send... (more)

i-Technology Viewpoint: Laziness Sometimes Pays

Let me begin by a philosophical rant. There is a motto from scientific computing that carries to many areas of computer science: /The gains made by better algorithms almost always outstrip the gains from better hardware./ I've frequently seen where algorithm improvements pay by factors of tens to tens of thousands in CPU time. One change I made in a numerical algorithm improved CPU requirements by a factor of 50,000: from weeks on a super-computer to minutes on a workstation. Any business-savvy engineer knows that algorithm improvements come at a price: the engineer's time. Strik... (more)

BPP: The Beanshell Preprocessor

The Beanshell preprocessor, or BPP for short, is intended to be a convenient and powerful preprocessing tool for Java developers. It's convenient because the preprocessor is based on Beanshell, which is essentially interpreted Java. This means that Java or Beanshell programmers can quickly use all of BPP's features. It's powerful for the same reasons: all the power of the Java SDK with the convenience of the Beanshell scripting language is available as double payment: once as a development language and once as a preprocessing language. In the current world of sexy words for new ... (more)

Lazy Programmers Can Make Cache Today

Let me begin with a philosophical rant. There is a motto from scientific computing that carries over to many areas of computer science: The gains made by better algorithms almost always outstrip the gains from better hardware. I've frequently seen where algorithm improvements pay by factors of ten to tens of thousands in CPU time. One change I made in a numerical algorithm improved CPU requirements by a factor of 50,000: from weeks on a super computer to minutes on a workstation. Any business-savvy engineer knows that algorithm improvements come at a price: the engineer's time. ... (more)