Interesting Things

Revision as of 00:12, 30 September 2007 by Clarman (talk | contribs)

My blog on idiosyncratically interesting things...

ratbots

The RatBots are here. Are husbands and boyfriends next?

toast and tcp/ip

Finally, the intelligent convergence of toast, Java, and TCP. I knew computers were useful for something.

wave particles

Even after all these years, the strange nature of reality and wave-particle duality, as illustrated in the 2-slit experiment, remains amazing. Its not really “particles” down there... both "waves" and "particles" are just metaphors for a quantum micro-level reality that doesn't conform to our intuitions of how the macro-level world works.

baby boys

I found this fascinating: Did you know that after World War I, after so many million males had been killed, that for some time women in the related countries gave birth to significantly more males than females? As though nature had a way to re-balance. How could that work? Recent research (I can't find the link now...) shows that women are less likely to give birth to males when there is stress, probably because males were more of an evolutionary risk (more likely to get killed). The relationship to the WWI story doesn't make sense yet, but broadly it suggests links between a women's perception of the environment and sex selection.

biofeedback girlfriends

I wonder what will happen if they attach a biofeedback system to men's performance with their lovers using this device?

cold fusion

From the cold fusion department: Hydrinos. The botton line is that it is claimed to be a way to generate energy based on a different theory of quantum mechanics, in which electrons are like bubble clouds that can be shrunk, releasing energy in the extreme ultraviolet (black light) spectrum. You may think this is hockum, but the scientist Randell Mills publishes in peer-reviewed journals, and NASA recently completed a hands-on investigation of his work and repeated his experiments--and NASA sees an energy effect as well.

innoble

Why do shower curtains billow inwards? A PhD thesis on the sociology of Canadian donut shops? All this and more honored by the Ignoble Awards. Very fun reading.

darwin

The Darwin Awards commemorate those who improve our gene pool by removing themselves from it in really stupid ways, like the Houston guy who played Russian Roulette with a semiautomatic pistol.

pots

I recently visited an Egyptian exhibit at the museum and learned something fascinating: they really really liked pottery back then.

green

Green tea seems to be ridiculously good for you. A recent study showed strong results that drinking it reduced the risk of prostate cancer in men by 2/3! That is an extraordinarily strong effect. A key active chemical is Epigallocatechin Gallate (EGCG) and there is now evidence EGCG stops HIV binding to cells. A variety of studies show it is correlated with lower rates of various cancers, reduces the risk of rheumatoid arthritis and lowers cholesterol levels.

alpha-lipoic acid

In addition to research showing that taking acetyl-L-carnitine and alpha-lipoic acid is associated with improved cognitive function, new research shows that the protein creatine (used by body builders) is associated with improved memory and intelligence.

influential

This is arguably going to one of the top five most widespread influential technologies over the next 20 years.

beauty

Visions of science.

prostrate

If you care about prostate cancer, new research suggests you should drink pomegranate juice or eat the fruit.

100 laptop and Linux

Nicholas Negroponte, founder of the MIT Media Labs, has outlined the design and development plan for the introduction of a sub-$100 laptop for children worldwide (especially in poor regions), with estimates of millions being produced each year. Part of the One Laptop Per Child initiative.The implication for Linux is interesting. If this really takes off, the mainstream adoption of "desktop"Linux and Linux apps (Firefox, OpenOffice, Thunderbird, ...) (rather than Microsoft apps) will be huge.

legacy code

Lots of my clients have masses of legacy code (usually C), with questions about how to apply test-driven development with it, refactor it, and so forth. I recommend Working Effectively with Legacy Code by Michael Feathers.

Kay gets Turing

In the 1980s I used to develop in Smalltalk (Ruby folks -- nothing really new in Ruby). I've always been a huge fan of Alan Kay, a seminal figure in computer science, and along with Dan Ingalls, the creator of Smalltalk, which influenced me deeply. Kay won the highest award in computer science, the Turing Award in 2003 (and the Kyoto prize); here's a summary of his speech. If you don't know his contributions and vision for computing, please take a look. These days he's involved in OpenCroquet an OSS visionary next-generation 3D immersive networked collaborative computing platform. I only wish it was built with Java rather than Squeak (a Smalltalk dialect), because putting aside all technical and religious language arguments, i bet it would simply get more interest and support.

d

Researchers say low doses of activated vitamin D and non-steroidal anti-inflammatory drugs (e.g., Vioxx), taken together, can slow the growth of prostate cancer cells.

hydrogen

If you predict an hydrogen economy boom, it might be time to invest in rhenium stocks. And if you didn't know, the USA govt is investing strategically for a hydrogen economy, and the USA stands to be a major technology provider-winner.

co2

Here's another reason to think twice about rising CO2 levels: 95% of life on earth died as a result, 250 million years ago.

olive oil

Yet another reason to eat uncooked olive oil.

priceline

I've never had the time or location-flexibility to try priceline.com. Recently i thought i'd try and started with (i thought) an unlikely extreme experiment: I asked for a 4-star hotel in London for a week at $75 a night. Got it! Hilton Kensington--good location an hotel. Normal rates start at $200/night. I'm impressed. I've also rented a car at 1/2 normal rate using wheelsabroad.com.

organic

For 30 years, I've bought organic produce when it's relatively affordable. Not for my own health (though a study of pesticides and antibiotics in traditional farming should give pause for thought), but rather to support organic farmers, as I've felt (without strong evidence) that it's just a better, sustainable approach. Now a recent study from Oxford indicates it's also better for biodiversity. To quote: "The organic farms were found to contain 85% more plant species, 33% more bats, 17% more spiders and 5% more birds."

what did you say?

Senility finally kicking in? Eat Indian food. Here’s why. Dont forget.

wonderful

This is a wonderful story.

java pathfinder

Are you involved with a Java-based multithreaded highly-concurrent application (e.g., servers, telecomm switches)? If so, you know that testing for bugs related to concurrency (e.g., deadlock) is HARD. NASA has a solution. They have just released as OSS a cool and sophisticated testing tool, Java Pathfinder, that they have built and used for years (yes, NASA uses Java, including on the Mars rovers). Pathfinder is special JVM that systematically explores all potential execution paths of a program to find violations of properties like deadlocks or unhandled exceptions. This is difficult, powerful testing, so tell your friends.

cold fusion

Cold fusion strikes again! This time it's almost certainly real, and has passed close scrutiny. Bad news? Probably only good enough to generate neutrons, not to power a house.

babies

Earlier I wrote about the interesting fact that women after WW I gave birth to more females than males, but scientists didn't if it occured at conception or by miscarriages. Now we have more clues. After the 9/11 attack, a similar pattern arose in the USA, and researchers have discovered that the difference is not in sex variations at conception, but a greater rate of miscarriages of males when the mother is in a stressed environment, presumably because males are worse best for the tribe.

acupuncture

An example of well-crafted careful experiments to show if an alternative medical therapy works, in this case accupuncture. Is it just a placebo effect, or something more?

exploding toads

Some stories just beg to be read: Mystery of German exploding toads. ... (update) News flash: Mystery solved.

suspended mice

This story didn't get major attention, but I predict it will if it works on humans: Scientists have, for the first time, achieved a state of near suspended animation in mice, using air laced with 80 parts per million of hydrogen sulphide. Huge implications for space travel, medical delays, parents of teenagers, ...

aspectj and aspectwerkz

The most mature aspect-oriented programming technology is AspectJ, but some have perhaps avoided it because it is a language extension to Java. Now, the AspectJ project has joined with AspectWerkz, which provides an alternate solution using Java 5 annotations, JavaDoc elements, or XML, rather than a language extension.

savant

Some things really inspire my sense of wonder and beauty and mystery in this universe: wave-particule duality in quantum physics, high heels, and extraordinary savant mental abilities, as in the case of Daniel Tammet. Like some other autistic savants, he can do amazing feats: recall Pi to 22,514 digits, multiply ridiculously large numbers in an instant, speak 7 languages... What is unique about Mr. Tammet is that he is the only autistic that can clearly describe his inner mental processes, and this gives us a window onto other dimensions of mind. There are several fascinating aspects of his story. One is that his powers arose after a head injury and then the onset of epilepsy. Obviously it suggests that different parts of the brain had to become engaged in "math" for example, but in ways most of us can't fathom. To quote: “Since his epileptic fit, he has been able to see numbers as shapes, colours and textures. The number two, for instance, is a motion, and five is a clap of thunder. "When I multiply numbers together, I see two shapes. The image starts to change and evolve, and a third shape emerges. That's the answer. It's mental imagery. It's like maths without having to think.” I think his injury+change story suggests we all have potential for such radically different mental behaviors. But more deeply, the wonder for me is that it's so "outside of the box" compared to how i do math and hints at profound wonders in our minds. It is not impossible to imagine that scientists will someday unlock a way to such transformations--without having to hit our heads against the wall.

dbc

Design-by-contract (DBC) is worth knowing, especially for safety-critical and fault-tolerant applications. Although commonly associated with the Eiffel OO language and Bertrand Meyer, the roots are much older. They start with another Bertrand--Bertrand Russells “Introduction to Mathematical Philosophy”, which introduced the great Dr. Tony Hoare to the idea of axiomatic theory and assertions (pre- and post-conditions) while he was developing an ALGOL-60 compiler in the 1960s. In 1974 at the IBM Lab in Vienna a PL/1 compiler was being developed, and the researchers desired an unambiguous formal specification of the language. Out of this need VD, the Vienna Definition Language, was born by Peter Lucas. VDL borrowed the pre- and post-condition assertion form earlier explored by Hoare and Russel. Various solutions have been created for Java, and i'm intrigued by a recent, elegant OSS solution: Contract4J, that uses Java 5 attributes and AspectJ behind the scenes.

dbc and dry

Speaking of DBC, unit tests that are testing DBC assertions should avoid their own duplicating "assertTrue" assertions. No point in duplicating a test! Which reminds me of my favoriate basic SW engineering principle, from Andy Hunt and Dave Thomas: Remain DRY. So much pain and suffering in software can be traced to not remaining DRY at every level.

mad scientists

Thinking of mad scientists, the USA military is moving seriously closer to using fighting robots. And of course, in what could be a quote straight out of a science-fiction movie on robots-gone-mad: “They dont get hungry,” said Gordon Johnson of the Pentagons Joint Forces Command. “Theyre not afraid. They dont forget their orders. They dont care if the guy next to them has just been shot. Will they do a better job than humans? Yes.” The first generation are just remote-controlled, but surely it is only a matter of time before autonomous robots are used. I feel that when Deep Blue beat Kasparov in 1997, it was a computing milestone; and when the first autonomous robot kills a human, it will be another (sad) milestone. Mark my words: We will then see police robots somewhere in the world.

crud

In the 1970s we built CRUD apps with 4GLs such as Focus, a popular mainframe 4GL. The speed of development was faster than using imperative 3GLs, even OO imperative 3GLs such as Java or Smalltalk. The essence of the difference is <span style="font-style: italic; declarative vs. imperative programming (what vs. how). I believe iterative and agile methods are the right solution for the human/social dimension of development efficiency, but that the next order-of-magnitude efficiency must come from the technical solution of 4GLs--declarative programming and specialized domain languages. I know there are some Java-based OSS declarative 4GL languages for CRUD web apps, but don't have a good sense of the best of breed, or where the momentum is. If you know, please contact me.

grey matter in women

Interesting story: Research shows that men have 6.5 times more grey matter (we can call it 'processing' matter) in the brain than women related to general intelligence, while women have 10 times more 'white' matter (connections and networking of the grey matter) than men. Both sexes have equal general intelligence levels, showing that alternate architectures can lead to similar capacity. Of course, the parallel to electronic computing is clear.

statistical diets

Any evaluation of a diet should be backed by independent research, rather than belief. I hope the same will be increasingly true for software development practices -- that we adopt practices research shows work. I know it is wickedly difficult, but I wish we had more software studies like this recent diet study: Four popular diets were tested/comparied with four random groups over two years: Ornish (a relatively low-fat vegetarian diet), Atkins (a relatively high-fat, high-protein diet), Weight Watchers, and the Zone diet. Conclusions? One key conclusion was relevant to software practices: More influential in losing weight than the particular diet was simply sticking to it. Diet results? Ornish dieters had the best results in terms of losing weight (3.3kg), and Atkins the worst (2.1kg); Likewise for lowering "bad" LDL cholesteral: Ornish dropped 12.6%, but Atkins 7.1%. But another conclusion was also important to software: Some diets were more followed than others. The "stickiness" of a development practice is VERY important. For example, test-driven development has caught on largely because developers really see a quick, useful payoff.

lying girlfriends

This following science news item did not make a big splash, but I wonder if it might eventually have a profound social effect? Scientists at Temple University have discovered some relatively simple brain activity patterns in lying versus truth telling, using functional MRI. Five activated areas of the brain were found to be unique to the "lie" condition, and two areas were unique to the "truth" condition. If a larger study corroborates this, consider the implications for law enforcement and suspicious girlfriends!

APL

My first job as a developer was in the extraordinary language APL, for which Iverson won the Turing award.

censored

Check out Project Censored, run by Sonoma State University, that each year publishes the "the top news stories underreported by the mass media."

dsls

I can feel a meaningful trend coming on: Domain Specific Language support in IDEs. Of course, these have been used since forever, but commercial tool vendors now smell a potential value-add feature, since the common ground has been captured by free tools such as [http://eclipse.org/ Eclipse. One example is the MSP DSL tool in IDEA (IntelliJ) from Jetbrains (Sergey Dmitriev). Microsoft is also working on a DSL tool. And from another angle, the software maven Charles Simonyi is advancing the intentional software concept, where the idea is to create a tool to define DSLs where one can express and manipulate the DSL in a domain-specific visualization, such as in mathematical formulae for a math DSL, music notation, or whatever, and being able to mix them together.

readability

Why have narrow reading columns? See here. At normal reading distance, the eye's span of movement is (only) 8 cm. For the average person, this layout supports faster reading.

iter fusion

If possible, fusion power solves many problems. Massive electric power from essentially a cup of seawater, with no meaningful radiation. Consider a future with limitless and very cheap electricity, almost free, everywhere. The next major milestone in this quest is the ITER reactor project, which is due to start construction soon and will be the first fusion reactor to achieve significant sustained power generation.

dual monitors

I don't know of any statistically significant research on the subject, but for myself and the software developers I've asked, programming with two monitors feels better, more productive. Recommended! And if you use a laptop and Windows XP, XP supports Dualview it allows you to plug in the external monitor and then extend the desktop across the laptop screen and the external monitor. Then, for example, you may have JavaDocs open on the external monitor while your IDE is displayed on the laptop.

ice

The recently released Arctic Climate Impact Assessment is the result of a study by 300 scientists, with peer review. It endorses the prediction that all artic ocean ice may disappear during summers starting by 2060-2100, with an ocean rise btween 0.5 and 1.0 meter. It's a fact that warming is happening faster in the Artic than elsewhere. I believe changes in this region will have an impact because of a change in sunlight reflectivity (less white reflective snow/ice), a rise in sea levels as the Greenland and Artic ice sheets accelerate their melting, and because of disruptions to the thermo-haline cycle in the Gulf Stream.

hydrogen

Hydrogen-based (fuel cell) electric power systems could be the dominant next-generation solution, but cheap, clean creation of hydrogen is critical. There is promising research in both biomass systems and now, solar-powered photocatalytic cells coated with a nano-crystalline ; it is converting 8% of sunlight energy to hydrogen. When it reaches 10%, it starts to get commercially very interesting. Another leader, in the fuel cell market, is a company from Vancouver (where I lived for many years), Ballard Power Systems.

light stop

What would you think if you saw a press release that said that physicists had some evidence that the speed of light was actually significantly different than they originally thought? Something similar has happened in the world of biology and genetics: The rate of change of genetic mutation from generation to generation (which is applied to many estimates) appears to be faster.

the best uml tool?

There's nothing inherently wrong with a UML CASE tool, and they have some excellent uses (especially for reverse-engineering code to diagrams, to help learning) but for almost 20 years I've encouraged developers to start visual OO modeling with lots (10, not 2) of whiteboards and marker pens (and now, digital cameras), and focus on just a little (e.g., a few hours every few weeks) lightweight exploratory sketching before programming--a key part of what is now called Agile Modeling. View the sketches as exploration, not documentation. It's a shame when developers blame the UML because of an unpleasant tool experience (fighting with fussy, low-ROI drawing in CASE tools in tiny computer windows). But if you try a "low-tech high-touch" approach to the UML, focusing on "UML as sketch" (Martin Fowler's term), working on giant whiteboard spaces and ignoring unimportant design and notation details, and use it with a partner to quickly sketch and explore some OO design alternatives for the hard, creative parts, then applying light UML can be a fun and useful creative experience. I shared this pratice in the 1st and 2nd editions of Applying UML and Pattens, but didn't emphasize it, and I suspect most readers didn't notice my point because all the UML drawings were drawn neatly with a tool (for legibility). So, in the 3rd edition, which I'm writing now, I'm adding a second case study, and showing all the UML for it as digital photos from whiteboard sketches, to promote more "UML as sketch" as useful.

the best uml tool?

Speaking of giant whiteboard spaces for Agile Modeling and "UML as sketch," another great solution that I first learned about when I was working at ObjectSpace in the 1990s is whiteboard-like static cling plastic sheets. These sheets cling to walls and glass and allow you to wallpaper a room, transforming it into one big whiteboard. Great stuff! In North America, the common product is Avery Write-On Cling Sheets. In Europe, it is Legamaster Magic-Chart. I like the Legamaster product better, as it comes in a roll, making it easy to roll out and cover the walls. One last tip: There is a good side and a bad side to this stuff; the good side erases more easily.

ides and uml

If you are going to use a UML tool (other than lots of whiteboards), I suggesting choosing one that is integrated into your favorite text-strong IDE, rather than a stand-alone tool; developers usually find this more useful.

vegetarian statistics

Eat what you want, and i’m not even a vegetarian, but it has always struck me as odd when someone says a vegetarian diet is unhealthy--that one needs to eat meat. Research shows that vegetarians visit hospital 22% less often, and spend a shorter time there. More important: To quote a major British Medical Association study (BMA Report, 4.11, 1986) conducted over 10 years with thousands of matched people in veg and non-veg groups: "Vegetarians have lower rates of obesity, coronary heart disease, high blood pressure, large bowel disorders, cancers and gall stones."And the more recent Oxford study of 11,000 people over 13 years (Brit. Med. Journal, 1994, 308); conclusion: "lower rates of cancer and heart disease amongst vegetarians and 20 per cent lower premature mortality."(i.e., they live longer).

antioxidants statistics

Eating antioxidant foods (or supplements) to reduce oxidation (heck, let's just admit we're rusting to death) is associated with lower rates of cancers, heart disease, and Alzheimer's. A recent USDA study clarifies the most effective foods. Among fruits, cranberries and blueberries are highest (drinking juice from also works). Among vegetables (including legumes), beans are highest (lentils, etc., which are staples of protein in a vegetarian diet), and Russet potatoes. Among spices, ground cloves, ground cinnamon and oregano.

quantum teleportation

June 16, 2004 is a milestone date: Report that deterministic teleportation of quantum states of two separated atoms was achieved, in two experiments. Has implications for future-generation quantum computing that will make today's supercomputers look like an abacus. As demonstrated in these teleportation experiments (known theoretically since Einstein and [http://plato.stanford.edu/entries/qt-entangle/ Schrodinger), you can create two entangled quantum systems (e.g., two atoms), send them to opposite ends of the universe -- 100,000,000 trillion trillion light years apart -- and if you read or manipulate one of these atoms, the other atom at the other end of the universe will immediately be changed as well. How is this wonderfully bizarre fact explained by physicists? The most common is the many-worlds interpretation: that there are an infinite (or near-infinite) set of co-existing similar universes which exist in parallel at the same space and time. I sometimes think high-school science should start with this stuff, rather than the usual drill, to help inspire young people to how wondrous and bizarre the universe is -- and that science can be.

burt flies

Another milestone: On June 21, 2004 the great Burt Rutan's first private-enterprise manned flight into space happened on SpaceShipOne. The software connection? Financed by Paul Allen, co-founder of Microsoft.

rules rule

Back to software! My background in the early 1980s focused on AI and expert systems development (which led me to general OO development). Out of this area comes the technique of rule-based programming -- practical in a subsystem for many software applications where complex rules or constraints must be met. I think developers should be aware of RBP ideas and options. There are a variety of Java-related components worth checking out: Jess, Mandarax, Drools, OPSJ, and this long list.

subservient chicken

Make the Subservient Chicken submit to your command!

java on mars

Did you know that Java was used on the NASA Mars Opportunity and Spirit robot rovers?

boston and rome

Fact: Boston is around the same latitude as Rome. Same for Toronto, Canada and Turin, Italy. It's interesting to explore why the difference in warmth, and the impact of climate change. Will there be an explosion in popularity of wool lingerie in France?

hibernate

In addition to [http://www.hibernate.org/ Hibernate having major momentum, I have the impression from my recent travels that Spring now has the momentum to dominate the J2EE framework space. And Spring integrates well with Hibernate. But an open question is if developers will still use Struts within Spring (because of Strut's popularity) or switch to Spring's own Web MVC solution. Spring's Web MVC has the differentiating feature that it is decoupled from JSPs (in contrast to Struts) so that one can instead use Velocity or XSLT, for example.

java polls

Another way to get a sense of emerging Java-related trends are the polls at manageability.org. Not scientific, but can give a whiff of directions.

tipping god

The Tipping Point has many good stories. One of my favorites (I like irony) is about religion students at a famous Divinity School who, in a secret experiment, were asked to write a Bible sermon on "The Good Samaritan." Then they were told to present it in Building X in 15 minutes time, which required them to rush across the grounds of the campus. An actor played the role of a sick man lying on the ground, in distress, on their path to deliver their sermon. None of the busy "divinity" students bothered to stop to help him!

broken windows

Another story from the Tipping Point of relevance to software developers is the no broken windows" story of how crime rates dramatically dropped in New York City. This led to naming the excellent Don't Live with Broken Windows software engineering principle, promoted by the Pragmatic Programmers, that I encourage myself and others to follow.

e-paper

Electronic paper (AKA digital paper or digital ink) is going to be huge someday, a revolution in how we read. The ability to roll or fold up arbitrarily large sheets of thin, robust display "paper" (with wireless Internet) that you can stick in your pocket will spell the beginning of the end for paper newspapers and magazines, and eventually, books. Perhaps within 20-40 years. Therefore, although this particular product from E-Ink may or may not succeed, I consider it a milestone.

skinny mice

Mice consistently fed less

calories than average have lower cancer rates, and a 25% increase in lifespan (normal avg. is 24 mo.). According to the Hitchhikers Guide to the Galaxy, mice are the smartest creatures on our planet, being hyperdimensional geniuses who leak into our dimensions. Mice have manipulated medical science to focus on curing them of diseases and make them even smarter!

c and e

A recent study of about 5,000 people showed that those taking a combination of both vitamins C and E (e.g., 1000mg of C, 1000 IU of E) were 78% less likely to show signs of Alzheimer's than those not taking the combination. There was no improvement if only one was taken; the combination was important. That's a very significant effect, easily applied.

domain driven

One of my favorite new OO modeling and design books is Domain-Driven Design by Eric Evans. Eric has a wealth of experience in creating OO domain layers, and an especially clear view of object-oriented thinking often associated with old Smalltalk developers.

willows

The amazing Willow bark drug that Hippocrates used. You probably know that regular low doses (81 mg) of acetylsalicylic acid (aspirin) reduces stroke and heart disease risk. New research in a large study shows it reduces by 2/3 (which is miracle-level) the risk of mouth and throat cancer if taken just once a week. Ditto in another "landmark" discovery that it's been shown to significantly reduce the risk of colon and rectal cancer, the 2nd leading cause of cancer death. Interestingly, the low 81 mg dose was more effective than a 325 mg dose.

popfile

POPFile is a great open-source spam and sorting e-mail front-end tool. Once set up and trained, it will work in the background of your computer, scanning mail as it arrives and filing it as you wish.

bayesian

Speaking of POPFile, it uses Bayesian analysis. This is a useful decision support method software developers will benefit from knowing to create adaptive, learning systems. It captures the idea of degree of belief, and updating that degree based on new evidence.

body clock

Fact: the body has an internal clock. Not just the 24-hour-ish cycle, but shorter growth/rest cycles too. Until this year, scientists did not know the mechanism. Now they do. There is a special protein in every cell whose two ends are different shapes. Every 12 minutes it flips over, and the reorientation of the ends causes new effects. A husband and wife research team made the discovery after 40 years of investigation, and proved it by lengthening the 12-minute cycle, and consequently altering all other cycles in the test organisms. This is really basic stuff, and has implications for many treatments: jet-lag, ...

aop

AspectJ, and Aspect-Oriented Programming by Gregor Kiczales and the AspectJ team at Xerox PARC. AOP as a relatively fundamental paradigm of programming and design, akin to object-oriented or function-oriented programming and design. One dimension of AOP that is not often stressed is that we can look at it as a meta-programming technology (programs that manipulate /modify programs). Viewed in this light, we can appreciate ways to use AspectJ that are not cross-cutting architectural concerns (like injecting logging support in many places) but still useful, such as writing interceptors or decorators for single points. Check out here for the big picture.

over-engineering

Too many Java web apps run in a full-blown J2EE app server such as Weblogic, Websphere, or JBoss, when all they are using is the web container (servlet/JSP) elements. Or as a variant they are using EJB beans along with servlet/JSP/Struts for no particularly good reason other than "they are there" or for "resume-driven design." I recommend more web apps rely on simpler designs and avoid unnecessary EJB beans, or just use a web container like Tomcat when they don't need other parts of an app server.

clusters

Thinking of Tomcat, how can one create a clustered Tomcat solution with synchronized shared session state that is persistent? You don't need to use a full-blown clustering app server. Rather, consider using the free OSS JavaGroups, as described here.

ward wikis

Wikis are now popular. Did you know that wikis come from the fertile mind of Ward Cunningham, a very thoughtful and influential figure in the object-oriented and design patterns world, though not so well known as his old buddy Kent Beck. He and Kent used to work together at Tektronix doing Smalltalk development back in the mid 80s.

wiki help MediaWiki:Sidebar