background preloader

Read later

Facebook Twitter

Your profile (in queue) True Scala complexity | @yaaang's blog. Update 1: See also the discussion over at Hacker News. Update 2: Sorry for the downtime. Leave it to the distributed systems guy to make his blog unavailable. Nginx saves the day. It’s always frustrating reading rants about Scala because they never articulate the actual complexities in the core language. Understandable—this post is intended fill that gap, and it wasn’t exactly easy to put together. But there’s been so much resistance to the very thought that the complexity exists at all, even from on up high, that I thought it would be constructive to provide a clearer illustration of why it’s real and how it manifests itself.

So, here goes yet another Scala complexity rant, from someone who labels himself as a Scala advocate. I’ve been hacking in Scala for a while now, since 2006. Before that I had come from Haskell, the Lisps, etc., so I wasn’t a stranger to functional programming or category theory or what have you. Performance: Yes, I’ve been bitten by for loops and whatnot. Nope. Yay: In Relation To...  Java 6 compiler plugins and typesafe criteria queries. There's been plenty of discussion in the JPA group about my typesafe criteria proposal. My new favorite feature of the Java language is javax.annotation.Processor. Java 6 annotation processors are derived from the APT tool that existed in JDK 5, but are built into javac. Really, the name annotation processor is misleading, since this feature is only incidentally related to annotations.

The Processor is really a fairly general purpose compiler plugin. If, like me, you've never been a fan of code generation, now is the time to reconsider. A Java 6 Processor can: analyze the compiler's metamodel of the Java source code that is being compiled search the source path for other metadata, such as XML generate new types, which will also be compiled, or other files Best of all, this functionality requires no special tool or commandline options to javac.

In the typesafe query API, I want to use this to work around Java's lack of a typesafe metamodel for fields and methods of a class. Or like: Or: Rumsfeld's War Games. The People's View: Defeated, Health Insurers Cut Lobby Costs, Thank You Obamacare! Still My Proudest Moment - When We Got Health Care Done with President Obama!

It turns out that Republicans might be right about health reform costing some jobs. The jobs of health insurance company lobbyists. Aww. From the second to third quarter of this year, the health insurance industry is cutting lobbying budgets. WellPoint Inc. ( WLP ), the largest health insurer based on membership, spent $870,000 on lobbying in the third quarter, up 9% from the prior-year quarter. Now what could be causing this decline? Don't take my word for it. The insurers are worried about the annual charges and restrictions imposed on them by the health care reform bill, which is the main reason for the high spends on lobbying in both the second and third quarters of 2011. [...]Thus, all health insurers focused their lobbying on the health care overhaul, while simultaneously lobbying on a variety of other issues as well.

Summary: their lobbying scheme didn't work. Thank you, Mr.