I just discovered wikibooks. They look pretty cool, will be interesting to see if they succeed like Wikipedia or fall by the wayside like many other wikis (Bruce Eckel has some comments on this phenomenon). Of particular interest to me is the J2ME wikibook.
Here’s a very interesting interview with one of the authors of “The Enthusiastic Employee”. Updated 12/2/2006: Apparently you now have to sign up to view the interview. Here’s a tidbit of the interview to let you know if you want to sign up for a free account:
Knowledge@Wharton: Your research shows most workers are happy at a new job for about six months before the honeymoon ends. What goes wrong?
Sirota: We are often asked how to motivate employees. Our response is, that’s a silly question. The real question is: ‘How do you keep management from destroying motivation?’ When we look at the data we find that people coming to a new job are quite enthusiastic. Most of them are very happy to be there and looking forward to meeting their new coworkers. But as you study the data you find morale, or enthusiasm, declines precipitously after five or six months. One theory is that there is a natural honeymoon that is bound to end. And yet we find that in 10% of companies the honeymoon continues throughout a worker’s entire career. So there are organizations that are able to maintain enthusiasm.
As a general proposition it is hard to be enthusiastic about an organization that is not enthusiastic about you. Let’s look at a few specific things. One is job security. We expect employees to be enthusiastic, loyal and engaged in an organization, but with the slightest downturn or prospective downturn we get rid of them. They are expendable. They are treated like paperclips. How can you be loyal and committed to an organization that seems to have absolutely no concern about your job?
If you’ve seen ‘Meet the Fockers,’ you probably remember the scene where Greg’s parents have constructed a shrine to him, full of 8th place medals and the odd 10th place ribbon. Greg apparently didn’t do too well in competition, but his parents loved him anyway. Not everyone is so forgiving, and most people had competition. To rephrase that, most people hate losing at competition–winning is just fine, thank you very much. In a free market system as well, most firms and people don’t like competition–it forces firms to respond to customers and people to work harder. However, the overall benefits to society are larger in a system where everything is competitive.
Saving Capitalism from the Capitalists, by Rashuram Rajan and Luigi Zingales, examines competition from an academic perspective, choosing to focus on financial markets. As you’d expect from two economics professors, they argue that markets are the most powerful economic invention of all time, and the solution to many problems facing us today is to make them more prevalent. However, the central thesis of their book is that markets depend on governments for vital infrastructure (rule of law, contracts, etc) and thus depend on politics. Because of the nature of politics the interests of a focused few can outweigh the interests of a diffuse many. This means that government regulation of markets can be easily hijacked by those with disliking competition to smother it.
The authors examine many cases where this hijacking occurred, from developed and developing countries and many different time periods. They focus on finance because free flow of capital has a magnifying effect on competition since upstart produces of goods often need capital. The focus is on incumbent firms, who are usually the party with the will and ability to influence the government to put the needs of the few over the needs of the many.
Other issues they tackle include the emergence of financial markets, whether finance benefits the rich disproportinately, and how the free markets of the early 20th century were rolled back in the 1930s and what replaced them.
Well written, if dense, this book would have been average had the last chapter, which proposes solutions to the political vulnerabilty of markets, been omitted. However, with their proposed solutions, which build on the foundation that they laid out in previous chapters, I feel that this book is a useful read for anyone interested in knowing how the world works and might work better. In addition, I think it’s wise and brave of them to trumpet that current markets aren’t really free but instead are usually hijacked by powerful incumbent firms. This is something that you don’t hear economists acknowledge often enough.
I just finished The Beast In the Garden: A Modern Parable of Man and Nature by David Baron. This non-fiction book is a quick read and outlines the comeback of the mountain lion, or cougar, along the Front Range, during the late 1980s to early 1990s. The cougar had been nearly wiped out by government bounties in the early part of the twentieth century, but the explosion of deer along the Front Range, along with revocation of that bounty, led to a comeback. In parts of the Denver metro area, mountain lions came to co-exist with human beings. This was especially true in Boulder, where the nature loving Boulderites assured a plentiful meat supply when they wouldn’t cull deer herds. The mountain lions grow familiar with human habits, learn that humans don’t mean danger, and end up mauling a high school student.
I really enjoyed the way the events were outlined, and Baron does a good job of making sure the science and character development are well balanced. He follows a few of the key players for the entire time, while bringing in other interesting characters, like the cougar hunter, as they appear. The science seems reasonable to me, though I haven’t taken a biology class since high school: large animals don’t have a natural aversion to humanity. Rather, this is a learned trait passed from generation to generation. Remove the killing that caused the aversion, and the animals will become more and more comfortable around humanity, to the point of considering humans a food source.
In the larger sense, though, this book is about managing wilderness, and realizing that as soon as you put a house up in a forest, you’ve changed the stakes. Humans love being around nature, but bleat for help as soon as nature threatens. In some ways, we want a Disneyland version of the forest–all of the beauty with none of the danger. You see this all the time with folks who build around national forest; as soon as fires season comes, they need to be protected. This is a thorny problem, and answers aren’t simple. The Beast In the Garden really is a parable, and I’m not sure we’ve learned the lessons.
There’s a a fascinating chapter of Java Programming with Oracle JDBC available online. What I find most interesting is that (as of 2001), the thin driver is good enough to use everywhere–in fact, in most cases outlined above, it outperforms the OCI (type 2) driver. In addition, typically it takes 10s of repeated calls to a given PreparedStatement to make using the PreparedStatement faster than a regular Statement.
If you have a chance to read Dancing With Cats by Burton Silver and Heather Busch, don’t bother. However, pick it up and glance through the photos. For it’s in the pictures, of cats and humans cavorting, of almost impossibly resonant images, that this book shines. (Visit the Museum of Non Primate Art for more.) The text is a bit much, using words like ‘aura’ and negative energy, and apparently meaning it. But, if you like cats and have a sense of the absurd, oh the pictures–check it on Amazon.com. I chuckled and chortled through the entire book.
Deadly feasts: tracking the secrets of a terrifying new plague, by Richard Rhodes, is one scary book. It tracks the discovery of prions, the mishapen proteins responsible for mad cow disease, scrapie, and Creutzfeldt Jacob disease. Following human cannibals in the jungles of New Guinea in the fifties, bovine cannibals of the British Isles in the eighties, and the bizarre history of sheep scrapie from the 17th century on, Rhodes does a great job of presenting the history and discovery of this bizarre group of diseases. I especially enjoyed the characterizations of the scientists, from the Noble Laureate who so enjoyed the New Guinea that he often regretted rejoining civiliziation, yet brought thirty natives back to the USA and helped them through school, to the hyper-competitive scientist who named the molecules even though he wasn’t quite certain what they were.
But this isn’t just a story of scientific discovery. As the foreboding subtitle blares, Rhodes explores some of the scarier aspects of prions. These include spontaneous formation, responsible for the known early cases of Creutzfeldt Jacob disease, trans-species infection, including mad cow disease and scrapie, the long long incubation period and lack of immune system response, and hardiness of the disease. One scary factoid: a scientist took a sample of scrapie, froze it, baked it for an hour at 360 degrees (celsius), and was able to re-infect other animals from this sample.
For all the uneasiness this book inspires, it certainly doesn’t offer any answers. A condemnation of industrial agriculture, a warning that it’s unknown whether vegetarians are even safe, and a caution against using bone meal for your flower garden do not make a recipe for handling this issue. To be fair, it was printed in 1997–perhaps things are under control now.
Since many financial institutions have standardized on it, I hear Java is the new COBOL. Whether or not this is true, if Java is to become the business language of choice, transaction support is crucial. (By ‘transaction,’ I mean ‘allowing two or more decisions to me made under ACID constraints: atomically, consistently, (as) in isolation and durably’.) Over the last five years, the Java platform has grown by leaps and bounds, not least in this area.
Java Transaction Processing by Mark Little, Jon Maron and Greg Pavlik, explores transactions and their relationship with the Java language and libraries. Starting with basic concepts of transactions, both local and distributed, including the roles of participant and coordinator, and the idea of transaction context, the book covers much old but useful ground. Then, by covering the Java Transaction API (JTA) as well as OTS, the OMG’s transaction API which is JTA’s foundation, this book provides a solid understanding of the complexities of transactions for Java programmers who haven’t dealt with anything more complex than a single RDBMS. I’d say these complexities could be summed up simply: failures happen; how can you deal with them reliably and quickly?
The book then goes on to examine transactions and the part they play in major J2EE APIs: Java Database Connectivity (JDBC), Java Message Service (JMS), Enterprise Java Beans (EJB) and J2EE Connector Architecture (JCA). These chapters were interesting overviews of these technologies, and would be sufficient to begin programming in them. However, they are complex, and a single chapter certainly can’t do justice to any of the APIs. If you’re new to them, expect to buy another book.
In the last section, the authors discuss the future of transactions, especially long running activities (the Java Activity Service) and web services. This was the most interesting section to me, but also is the most likely to age poorly. These technologies are all still under development; the basic concepts, however, seem likely to remain useful for some time. And, if you need to decide on a web service transaction API yesterday, don’t build your own, read chapter 10.
There were some things I didn’t like about Java Transaction Processing. Some of the editing was sloppyperiods or words missing. This wasn’t too big a problem for me, since the publisher provided me a free copy for review, but if I were paying list price ($50) I’d be a bit miffed. A larger annoyance was incorrect UML and Java code snippets. Again, the meaning can be figured out from the text, but it’s a bit frustrating. Finally, while the authors raise some very valid points about trusting, or not, the transaction system software provider, I felt the constant trumpeting of HP and Arjuna technologies was a bit tedious. Perhaps these companies are on the forefront of Java transactions (possible); perhaps the authors are most familiar with the products of these companies (looking at the biographies, this is likely). The warningsfind out who is writing the transaction software, which is probably at the heart of your business, and how often they’ve written such software beforewere useful, if a bit repetitive.
That said, this book was still a good read, if a bit long (~360 pages). I think that Java Transaction Processing would be especially useful for an enterprise architect looking to leverage existing (expensive) transactional systems with more modern technology, and trying to see how Java and its myriad APIs fit into the mix. (This is what I imagine, because I’m not an enterprise architect.) I also think this book would be useful to DBAs; knowing about the Java APIs and how they deal with transactions would definitely help a DBA discuss software issues with a typical Java developer.
To me, an average Java developer, the first section of the book was the most useful. While transactions are fairly simple to explain (consider the canonical bank account example), this section illuminated complexities I’d not even thought ofoptimizations, heuristic outcomes, failure recovery. These issues occur even in fairly simple setupsI’m working at a client who wants to update two databases with different views of the same information, but make sure that both are updated or neither; this seems to be a typical distributed transaction. The easiest way to deal with this is to pretend that such updates will always be successful, and then accept small discrepancies. That’s fine with click-throughsmoney is a different matter.
However, if you are a typical web developer, I’m not sure this book is worth the price. I would borrow it from your company’s enterprise architect, as reading it will make you a better programmer (as well as giving you a sense of historytransactions have been around for a long time). But, after digesting fundamental distributed transaction concepts, I won’t be referencing this book anytime soon, since the scenarios simply don’t happen that often (and when they do, they’re often ignored, as outlined above).
Divorce Your Car, by Katie Alvord, is thought provoking. In the United States of America, an automobile is many things to many people: transportation, status symbol, hobby, money pit. Alvord takes apart the place of the car in modern society (the focus of the book is on North America, though she does refer to Europe and the Third World in places) and roundly condemns our dependence.
Her book is split into three parts–the first covers the history of the automobile and other forms of transport. She legitimizes what I’d often heard and dismissed as a myth–the car industry bought up the transit systems of cities in the US early in the 20th century and replaced them with buses. The second is a laundry list of the negative effects of the car (which, I must confess, I didn’t finish–too depressed after the first thirty pages). The final section covers alternatives, including walking, biking, mass transit, non-gasoline cars, and telecommuting.
I found the book to be quite good in outlining the problem and highlighting solutions. The dependence of modern life on the car is a dependence on convenience. But, to some extent, it’s a matter of inertia. Automobiles are so prevalent and easy that many of us never try the alternatives, let alone use them in preference to our car. A strong point is that she realizes that car-free living isn’t for anyone, and makes a point that going car-lite can have a positive effect as well. She also touches on the far reaching implications that technology decisions have had on our society, our cities and our lives–from subsidies to the development of advertising. It would have been interesting to read more about that, but what she did say was definitely thought provoking.
However, I do have three quibbles. Alvord cites sources extensively, but her arguments would be more compelling were the sources less biased (as you can tell by titles like Asphalt Nation) and more first hand. She ignores two factors that would affect my divorce. Giving up your car, or at the very least being aware of alternatives, makes driving after drinking less likely–a good thing! On the other hand, if you don’t have a car, you suddenly have a dearth of available camping and hiking activities. But these concerns aren’t everyone’s, to be sure.
Overall, a book well worth reading, especially if you commute a lot. Too bad they don’t sell it as a book on tape!