Archive for September, 2008

Money as Debt

Want to know why the credit crunch is going on? Watch this highly enlightening video (broken down into 5 individual movies to fit YouTube limits). The video clearly explains why a “run on the bank” is deadly to an individual bank, and why there would be a “credit crunch” when there’s a run on all the banks.

And that’s what’s going on today. We’ve got a run on all the banks. Money created as debt is only good when the debts are repaid (which isn’t happening with rising foreclosure rates), so the entire highly leveraged system is crashing down. And that’s why we need a $1 trillion bailout of the financial system.

The fractional reserve system (as practiced by all banks today in the world) is awesome, scary, brilliant, and fragile. Money created as debt is fascinating and frightening. No debt == no money. That’s what happened during the Depression. Banks stopped or couldn’t lend

“That is what our money system is. If there were no debts in our money system, there wouldn’t be any money.” ~ Marriner Eccles, Chairman and Governor of the Federal Reserve Board

Enjoy or shudder!

HOW TO: Enable debug and JMX ports in your java app

Ever have a stuck or deadlocked thread in a production application? Use JMX to inspect what’s going on inside your JVM, which includes thread views.  It’ll show you which threads are running, waiting, or blocked and where in the stacktrace they currently are.  I’ve used this information to find blocked threads in strange places.  JMX also shows you the memory usage of your java process, including memory consumed by classloaders in permspace.

The debug options will open your debug ports, naturally, and let you connect your debugger.

All you have to do is run your java process with these startup options:
DEBUG
-Xdebug -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=n
JMX
-Dcom.sun.management.jmxremote.port=$JMX_PORT -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
Look in your $JAVA_HOME/bin and you’ll see a jconsole executable. That GUI will let you connect to the machine running your java process on the port specified.

I hope you find these tips useful.  Both have been extremely useful to me (as well as adding optional profiling vars to a JVM!).

Art imitates life

Tina Fey is a deadringer for Sarah Palin. Funny stuff.

Switch to our mobile site