loan calculators loan payment loan repayment auto loan loan debt loan interest collateral loan business loan student loan cash loan refinance loan education loan equity loan loan interest rate car loan loan get loan loan me loan article loan product bonded loan loan facility loan facilities back loan based loan blog loan loan will loan quality day loan loan modification purpose loan problem loan loan interests easy loan retail loan loan offer loan documentation plus loan loan process loan mod net loan loan extension loan firm loan book legacy loan short loan loan in usa kevins loan take a loan loan without loan er repayment of loan school loan discount loan to get loan down loan whole loan free loan loan affiliate repay the loan development loan loan company study loan loan lender loan ireland loan rates long term loan interest on loans fast payday loans cash loans cash loan online online cash loans cash finance loan guarantee financial loan cash payday loans cash payday loan quick loan fast loan fast cash no cash payday online loan instant cash payday loans online payday loan cash advances quick cash cash credit cash funds cash cheque cash check money loan money cash cash accounting payday loans payday advances project payday payday online payday internet payday easy payday free payday pay day paydayloans no teletrack payday loan payday faxless payday teletrack payday loans payday payday cash fax payday quick payday same day payday instant payday savings account payday check payday fast payday credit check payday no credit check payday loans till payday no fax payday no telecheck payday bad credit payday my internet payday no fax same day payday loans no fax payday loan no telecheck payday loans no fax payday loans no employment verification payday loans no teletrack payday loans canada payday loan payday loan uk faxless payday loans quick payday loans teletrack payday loans same day payday loans payday loan no faxless payday loan online payday loan online payday loans payday loans direct payday loans no instant payday loans free payday loans fast payday loan a payday loan payday loan in fax payday loan fax payday loans savings account payday loans telecheck payday loans of payday loans payday loans in payday loans are day payday loans easy payday loan payday loan company project payday scam account payday loans cheap payday bad credit payday loans payday loans for paydayuk login pay day loan pay day loans paydayuk canada payday credit payday payday loans with credit payday loans faxing milton bradley same day check cashing credit check paycheck bad credit sba loans small business lending small business grants short term loan unsecured loan mortgage loan unsecured loans credit loan small business loan fast unsecured loan unsecured consolidation loan online loans bad loan loans for people with bad credit no credit loans low interest loans loan for bad credit low interest loan bad credit instant loan poor credit loan loans with bad credit bad credit consolidation loans no credit check loan loans high risk quick unsecured loans bad credit loans unsecured small business loan loan for people with bad credit short term loans loan capital low rate loans commercial loan business loans investment loan get a loan fast easy loans easy fast loan emergency loan loans fast bankruptcy loans instant cash loans small loan credit card debt consolidation loans cheap loans fast cash loan collateral loans shareholder loan international loan loans for collateral sblc financing international loans collateral enhancement collateral define auto collateral loans margin loan bad credit loans no collateral loan agreements loan agreement sample loan agreement uk loan agreement with loan facility agreement assignment agreement amendment agreement legal agreement contractor agreement consulting agreement waiver agreement consultant agreement agreement form fee agreement employee agreement agreement forms debt agreement mortgage agreement pledge agreement independent contractor agreement bank loan partnership agreement lease agreement Договор займа purchase agreement commercial agreement loan payments loan lenders loan agreement international student loan international student loans loan for international loan credit international lending commercial hard capital loan for international students loans for international student loans for international schools foreign loan the loan consultants scam loan funds loan fund loan collateral loan program small business loans short term business loans finance business loan money money business women business startup business partnership business quick loans fast loans cash fast quick loan online quick cash loans loan before payday 500 payday loan cash loans no credit check business lending sba loan commercial lending small business finance financing small business business financing asset based lending business funding investment lending commercial mortgage loans land loans construction loans construction loan home construction loans construction financing money loans private loans loan interest rates calculate loan loan calc loan amortization interest calculator mortgage interest rate bank interest rate college loan current rate a bank loan loan from a bank bank loans in loan financing how to get sba loans bank overdraft mortgage bank savings bank saving bank commercial bank bank investment home loan bank credit card bank sba loan payment calculator eagle national bank sbi bank bank islam bank australia sbi home loan federal home loan bank revolving loan investment properties investment income investment interest bad credit loan financial investment loans direct lenders private lenders high risk home loans home equity loan money lenders how to get loan modification debt consolidation loan how to get a loan modification loan consolidation loan broker auto loans online bad credit car loans used auto loans loan car auto loan used auto loan online mortgage lenders college loan consolidation students loan educational loan subsidized loan consolidation loan college education college graduate loan modification experts finance loan finance loans financial interest financial calculations home loan modification help financial debt loan modification rates financial capital financial risk management medical emergency emergency evacuation mortgage loan refinance refi mortgage loan refinance home loan student loan interest rates refinance home mortgage fha refinance fha refi njclass commercial loans bank loans business loans bad credit credit interest rate mortgage credit apply credit debt consolidation loans savings account payday loan avings account payday loan payday loans no checking account no checking account payday loan savings account loans payday loans on line internet payday loans low cost payday loans long term payday loans small payday loans easy payday loans short term payday loans payday loans 1 hour 30 day payday loans payday loans no faxing payday loans today payday loans without no payday loans overnight payday loans america payday loans payday loans lender payday loans no fax best payday loans quick cash payday loans no credit check payday loans payday loans companies instant approval payday loans sba loan applications sba loan requirement sba loan rate unsecured sba loan sba loan program how to get a sba loan sba commercial loan sba loan rates sba emergency loans sba direct loans sba franchise loans sba backed loans sba bridge loan sba 504 loan sba business loans sba small business loan sba micro loan sba lenders sba lender sba financing consolidation loans online checking fha loans online banks online bank online loan refinance loans students loans online finance urgent loans urgent loan needed loan business unsecured business loan short term business loan bad credit business loan small business loan bad credit credit business financing business loan finance mortgage financing auto loan finance used car finance used car loans car financing car payment car calculator finance calculator car auto used car sale used car for sale auto used used automobile sales car leasing finance for sale car leasing car auto bad credit financing car loan calculator bad credit car financing finance car bad credit auto financing bank business ark loans ark loan loan principal bank loan business short term debt college student loans perkins loan perkins loan cancellation federal perkins loan perkins loan application perkins loan forgiveness loan forbearance federal loan parent plus loan student loan debt forbearance loans interest interest on loan interest on the loan loan calculator mortgage interest loan rate interest rates on loans credit interest interest rate interest on credit interest formula interest rates car loan pre approval bad credit unsecured loan credit loan unsecured fast unsecured loans easy loans no credit loan principal interest libor rate fixed rate immediate loans loans for people with poor credit unsecured loans for bad credit bad credit unsecured loans loans for poor credit loans poor credit loan with bad credit loans for bad credit emergency loans loans car used car loan credit car loan auto car loan car loans online auto car loans car loans credit car loans financing bad credit auto loans auto loan bad credit no credit check car loan bad credit auto hyundai car car bad credit lease car bad credit new car loan tenants loans tenant loans payday loan consolidation no credit check loans guaranteed loans unsecured business loans unsecured small business loans urgent loan cheap unsecured loans cheap unsecured loan unsecured debt consolidation loan loan companies credit card consolidation loan bad credit debt consolidation need a loan consolidate loans cheap loan home loan refi student loan rates fha mortgage refinance automobile financing amortization table car loan amortization auto loan amortization auto loan interest calculator auto loan calculations auto loan calculation auto loan interest calculate auto loan auto loan calculater auto loan caculator auto loan payments car loan calculation car loan calculations auto loan payoff lease loan loan vs lease auto loan calc automotive loan auto loan values auto loan application debt amortization calculate lease payment auto loan quotes new auto loan car payment schedule amortization schedule amortization calculator car payment calculation car payment calculations monthly car payment calculator monthly car payment low interest auto loan car loan interest calculator van loan loan comparison car loan interest best auto loan calculate a car loan car loan calculater compare loan automobile loan vehicle loan car loan payments new car loan calculator car loan payoff car loan calc cars loans comparing loans low auto loan refinancing auto loan car loan payment calculator car payment calculator how to get a car loan used car financing car loan payment auto loan payment calculator lowest car loan car loan quotes get a car loan refinancing car loan bad credit car loan car loan online new car loan best car loan car loan financing new car loans car loan value car loan application car loan credit car loan finance auto loan payment used car auto loan used car loan value low car loan loan payment calculator loan calculators auto refinance car car credit new car auto loan auto bad credit loan auto loan rates auto loan financing instant car loan guaranteed auto loan bankruptcy auto loan vehicle loans bad credit car mortgage loan calculator automobile loans carloans best car financing refinance auto loan auto loans bankruptcy bankruptcy auto financing bankruptcy car loans bankruptcy car loan bankruptcy car financing bankruptcy auto auto loan during bankruptcy auto loans during bankruptcy auto loan guaranteed bad credit auto loan financing very bad credit auto loan bankruptcy auto finance auto loan bad credit car loan auto loan refinance used auto loan car loans for bankruptcy no money down bad credit auto loans bad credit auto loans online bad credit used auto loans auto loans and bad credit car loans with bankruptcy auto loans after bankruptcy auto financing for bad credit bad credit car loans no money down bad credit automobile loans new auto loans bad credit automobile loan bad credit used car loans auto finance bad credit online car loans bad credit auto financing auto financing with bad credit no credit auto financing car loans after bankruptcy auto financing after bankruptcy car loan after bankruptcy auto loans for bad credit bad credit used car loan bankruptcy car auto refinancing refinance car loan car loan no credit car financing after bankruptcy auto loans with bankruptcy guaranteed bad credit auto loan auto loan calculators lease payment car mortgage calculate car payment lease payments car lease calculation calculate a car payment car payment calculators car payment caculator new car payment calculator calculate car lease car lease calculators auto payments auto lease payment calculator car payment calc car lease payment calculator loan caculator auto payment caculator car loan caculator auto caculator car caculator mortgage loans how to cash a check fast business loans business loan interest rates business term loans secured business loans bank business loans commercial business loans interest rates on business loans business loans without collateral no collateral business loans business loan unsecured secured business loan business term loan business loan refinancing business loan interest rate business loan interest restaurant business loan first business loan get a business loan getting a business loan from a bank business credit loans business loan rates fast business loan small business loan unsecured unsecured business lines of credit unsecured line of credit bad credit business loans business lines of credit business loan startup hard money loans unsecured debt business loan lenders business equity loans business acquisition loan first time business loan business refinance loans business bank loan business mortgage loan business starter loan small business loan no credit new business loans easy business loans business property loan quick business loans small business bank loans information on small business loan business equity loan get a small business loan bank loans for small business get small business loan small business loan programs fast small business loan small business loan for woman applying for a small business loan online small business loan small business bank loan small business commercial loan small business loan rates small business loan program business property loans business and loans loans for business low interest small business loans unsecured business credit business lenders new business credit commercial business lending business refinancing business loan rates comparison how to get a small business loan business auto loans sba loan help sba 7 a loan new business financing financing for business small business borrowing financing a business small business lenders small business lender small business loans available sba small business loans new small business loan small business loan application small business loan fast small business loan rate apply small business loan sba business loan small business loan interest rate sba loans for sba arc loans bank small business loans new small business loans small business loans and sba arc loan best small business loans online business loan business loan application veteran small business loan large business loans small business equipment financing financing a small business business loan mortgage commercial business loan business loans and business financing loan business credit loan business bank loans sba microloans top sba lenders small business loan source largest sba lenders top sba lender sba lending commercial loan financing home small business guaranteed business loan business loan rate apply for a small business loan small business administration loans commercial loan lender sba loan application how to get a business loan small business association loan commercial loan rates federal small business loan federal government small business loan sba guaranteed loan government small business loan minority small business loan small business loans women small business loans for women minority small business loans biz loan sba loans for women setting up business business programs business program cimb niaga bank niaga first county bank federal small busine getting a small business loan equity loans refinance sba loan sba loan calculator new business loan getting a business loan loan sba loan for business small business loan financing small business loan credit sba bridge loans arc sba loans sba micro loans loan debts term debt physician loans mortgage debt pay debt credit card debt credit debt debt consolidation loan online government debt consolidation loan government debt consolidation loans best debt consolidation loan debt consolidate loan unsecured debt consolidation loans debt consolodation loan consolodation loans credit card consolodation credit card debt consolidation debt consolidation a free credit card debt consolidation debt consolidation load debt consolidation options credit card debt consolidation company government debt consolidation credit card debt consolidation program consolidating credit cards credit card debt consolidation help debt settlement usa credit card consolidation help online debt consolidation about debt consolidation debt consolidation company debt consolidation service free debt consolidation quote debts consolidating debt consolidation help credit card debt consolidation loan debt consolidation firm christian debt consolidation credit card consolidation loans debt consolidation solution secured debt consolidation debt cosolidation debt consilidation debt consoladation debtconsolidation loan consolidate my debt debt consolidation government debit consolidation unsecured debt consolidation debt consolidation loans unsecured business debt consolidation loan unsecured credit card debt consolidation cheap debt consolidation loan debt consolidation loan application debt consolidation loan company christian debt consolidation loan card consolidation credit debt loan best debt consolidation loans bad debt consolidation loan debt consolidation credit cards credit card debt consolidation service best debt consolidation companies best loans consolidation loans unsecured loan debt relief card debt consolidation free debt consolidation service loans for debt consolidation business debt consolidation christian debt consolidation program free debt consolidation debt consolodation debt consalidation credit card debt debt consolidation american debt consolidation debt consolidation quote debt consolidation programs best debt consolidation company debt payment consolidation of debt consolidate debts consumer debt debt consolidator federal debt consolidation debt consolidations credit card consolidation how to consolidate debt consolidate debt consolidating debt credit debt consolidation loan for debt consolidation debt relief consolidation bad credit debt consolidation loan debt consolidation companies free debt consolidation services debt consolidation services debtconsolidation debt consolidation counseling bill consolidation loans debt consolidation advice bad credit debt consolidation loans credit card debt relief debt relief solutions non profit debt consolidation debt consolidation organizations debt consolidation review find debt consolidation help debt consolidation reviews free debt consolidation help debt consolidation faq consolidating credit card debt debt consolidation program debt consolidators debt consolidation secured loan online debt consolidation loan debt credit credit debt consolidation loan credit debt consolidation loans credit consolidation loan consolidation credit cards consolidate credit card debt debts consolidation home equity debt consolidation loan consolidate credit cards debt consolidation unsecured debt consolidation business debt consolidation online best debt consolidation debt consolidation or debt consolidation information debt consolidation tips solution debt consolidation debt consolidation elimination debt consolidation relief debt consolidation firms debt consolidation plans accelerated debt consolidation free debt consolidation program christian credit card debt consolidation business credit card debt consolidation debt consolidation card debt consolidation info small business debt consolidation debt consolidation organization bill consolidation loan consolidate credit card debt consolidation home equity loan credit card debt consolidation services credit counseling and debt consolidation consolidate credit debt bad credit card debt nonprofit debt consolidation consumer debt consolidation credit card counseling debt consolidation debt bill consolidation credit card consolidation services debt consolidation credit counseling

Archive for May, 2006

Improving JavaOne for 2007

Wednesday, May 24th, 2006

The Penny Arcade has a great idea for making any conference 1,000 times better. Isn’t Gavin speaking at OSCON this year? I recommend this approach.

(Note: mildly NSFW)

Everybody loves tax prep

Tuesday, May 23rd, 2006

Tax prep in California has apparently become too easy in recent years, as the tax prep industry is lobbying to make it more difficult:

Soon after ReadyReturn was launched, lobbyists from the tax-preparation industry began to pressure California lawmakers to abandon the innovation. Their opposition was not surprising: If figuring out your taxes were easy, why would anyone bother to hire H&R Block? If the government sends you a completed form, why buy TurboTax?

But what is surprising is that their “arguments” are having an effect. In February, the California Republican caucus released a report highlighting its “concerns” about the program – for example, that an effort to make taxes more efficient “violates the proper role of government.” Soon thereafter, a Republican state senator introduced a bill to stop the ReadyReturn program.

I love the “proper role of government” argument. Lord forbid that government make things easy for its citizens. They don’t even charge for it! Clearly government’s role is to prop up industries when and if they become irrelevant.

I think Lessig’s parting comments are worth posting as well:

Free markets aren’t pro-business – they don’t favor incumbent companies if upstarts do the job better. Competition is good wherever it comes from – even the government – so long as it lowers social costs and increases wealth. And efficiency is good regardless of who it might hurt; it is especially good if it hurts those who feed off inefficiency. Thus, lawyers are good, but a world that needed fewer of them would be much better. Doctors are great, but that’s no argument against better health. And TurboTax is fantastic, but it shouldn’t prevent the government from making paying taxes easier.

JPL Open House

Sunday, May 21st, 2006

The Kid and I went to the open house at JPL today. It was pretty cool. They had all sorts of sciency stuff out to look at and sciency people out to answer questions about the sciency stuff.

There was a machine learning booth towards the top of the campus where they demoed some of the technologies that I worked with at Yahoo Research. They had an SVM hooked up to the audio input of a Mac, and when you spoke in to it it built a model of your speech and used it to determine who was talking at any given time. Not surprisingly, it worked really well. Those wacky kids at JPL and all their science. It was a lot of fun to show The Kid a live demo of the sort of stuff that I worked with.

Also worth noting: big ups to public radio for letting me know that this event was on. Hooray for community news that focuses on science from time to time.

JavaOne 2006, Friday

Friday, May 19th, 2006

Come to JavaOne and stand in lines. The good people at Sun seemed to have taken full advantage of the programmer’s natural love of queueing and put huge freaking lines in front of every class. This is amusing, because the bigger classes hold upwards of 1,000 people. Those are some long freaking lines.

The way around this, I’ve found, is to just skip out on the line and wander in to the “overflow” room. They had them for every session with lines, and there was always easy and available seating. You could hear just as well, and honestly, given the stage presence of most technical presenters, you’re probably better off not seeing them in person.

By today I was pretty burnt. No way in hell was I going to sit through another EJB session. No sir, thank you kindly. I rather unfortunately missed my first session on account of schedule confusion — it started at noon while I thought it started at 1:00 — so I only had two talks on the day.

Supercharging SOA Registries with XML Persistence and Registries and yada yada yada

I was monstrously unexcited about going to this, but all the other talks were booked up or as boring. I briefly considered ditching it entirely, but when I got to the room, they were playing Rage Against the Machine on the loudspeakers — “Wake Up” off of their self-titled album — so I felt compelled to attend.

Big. Mistake.

First off: SOA. What a 2003 buzzword. Even better is that the sales droids insist on pronouncing it. “Sew-ah.” It made me want to punch them all right in the face. Perhaps I should have.

The talk was a pitch for some product with a name I don’t recall. What it does, and I couldn’t possibly make this up, is “Enable Business Agility.” What in the hell does that even mean? If you need meaningless buzzwords to describe your product, it’s junk. Period.

The talk was amazingly tragic. The two presenters were sales droids with a canned banter built in to their talk. “Great. Thanks, Ash. It sounds like SOA architectures really need….” Yeah. That’s some amazing shit right there. The very best part was that they didn’t really have their schtick down, so they were reading it off of note cards. It was like a freshman year forensics class on quaaludes.

What I learned is that I want nothing to do with “business agility.” I’m pretty sure that it’s the corporate equivalent of syphilis. The presenters certainly could have passed off as a couple of French Pox sufferers.

Something about Ajax because lord knows I can’t take any more EJB

OK, one more and then I get on a plane for Burbank and head home. I love San Francisco, and the conference has been generally informative, but I was pretty ready to see Stephanie and the kid and sleep in my own bed.

The talk was given by a couple of Sun grey beards who didn’t seem like they could possibly have been nicer. They had the cute old-man skepticism of new technologies, asking at one point “how many people want to sign up to maintain the Ajax applications being written today?” Only one person raised his hand, cleverly citing “job security.” Cute.

My one beef was that their thinking was orthogonal to that of many Ajax people. They were worrying about applications that need to have everything just so, managing cached objects in a controllable way, having all its interactions elaborately planned and in general be “enterprise” grade.

Most Ajax applications that I’ve seen shoot more for “good enough to use and get feedback on” rather than The Complete Enterprise Solution. So you’re going to rely on the perhaps-flaky browser cache. Oh well. It’ll work for most people. There’s some sort of bug? Oh, well, we’re super light-weight process- and tools-wise, so we’ll just patch it and move on. It’s getting things done Well Enough rather than spending the time and effort to build some pipe-dream perfect thing.

It’ll be interesting to see what the Java community does with tools like Ajax. No doubt they’ll build heavy components that require a cluster of Sun E420′s and $200,000 worth of portal server software to provide dynamic drop-down menus. Meanwhile, developers who aren’t held back by enterprise-think will actually be building useful applications.

Heading home

Wow, I sure have gotten snarky towards the Java world over the last few days. One too many hits off the EJB, I’d wager. Somehow, I don’t think that’s what Sun had in mind. Either way, it’s useful to know where the community is headed, given that I have to use their tools.

Amusing things that I learned more about and will probably check out:

  • JAX
  • JDK1.5′s Generics
  • dojo
  • Groovy
  • Hibernate

Things that I’ll stay the hell away from as long as possible:

  • EJB, 3.0 or otherwise
  • Anything “SOA”
  • NetBeans

Well, I’m glad at least the first group is heavier than the second. Good times.

JavaOne 2006, Thursday

Friday, May 19th, 2006

Hoo boy, am I attending a lot of sessions on Enterprise Java Beans or what? This is my first time at the conference, so perhaps I’ve done things sub-optimally. All I know is that I’ve heard pretty well the same thing at every EJB talk I’ve been to: “Wow, look, we can do all that stuff that previously needed a good-sized novella worth of XML with annotations now! Except don’t use annotations for this big bunch of things over here. And probably not for production code, either….” I’m glad that Sun is working on making EJB simpler. Looking back, however, I don’t think I needed to go to quite so many talks on it. Perhaps next year they could just call them all “Same old EJB talk that you’ve already been to three times,” and I’d be able to more easily avoid this sort of thing. Anyway, this brings us to:

EJB development, “point and squish”

This was a talk about developing with the new and improved simplified programming model in EJB 3.0. Can you guess what they talked about? That’s right: all the things that you use to have to use XML for before that you can now either use annotations or somewhat less XML for now. Woo, exciting, party hats….

They did go over how class hierarchies would change in the new world order, down from an interface and an implementation and a magic class over here to do some sort of stuff to just an interface and an implementation. Which, I guess, is a good thing. They also covered some set of XML files that you need to have in all cases.

My big takeaway from all of the EJB talks is that I still probably want to avoid EJB if I can. There are almost certainly problems that EJB would be useful for, but I’d bet dollars to doughnuts that I can come up with a simple solution for most problems out there.

Best Practices: Data Access Strategies

Java “Enterprise Edition” version five has this whole huge new data access model. I was pretty sure that the talk would be about it. Not so much. The presented gave a freshman survey course overview of every data access method in the universe, covering everything from JDBC to every flavor of web services under the sun to HTML page scraping.

He spent a solid half of his time discussing “mashing up” Swing applications and web services. DJ Sun and DJ Java are really in to this sort of thing. They’ve got an admittedly cool Swing application that uses Flickr, Google maps and Yahoo maps to build a photo sharing application that you can use to tie photos to physical locations and show where they were taken on a map. It’s neat, but you have to download this huge freaking Swing application to use it, and you need to have some version or another of Java installed, and gee I bet you anything I could build the same thing on the web or with flash and have it work with no download at all. Anyway, I should also mention that they called Swing applications that use web services “smashups.” Get it? Swing + Mashup = Smashup! Very clever, Sun marketing!

One useful thing to come up in this talk was the fact that there’s a ResponseCache mechanism that can be pretty easily plugged in to Java’s URI fetching mechanisms. This is useful for sometimes-disconnected applications, and I can see it being useful for a couple things that I’m working on. Something to look in to at any rate.

Debugging across tiers

OK, this one sounded boring going in to it, but also like it might be very useful. I’m all for new debugging techniques, as is every developer, right? Well, the talk turned out to be some guy droning on in monotone about how to point and click your way using Sun’s NetBeans IDE to something something something oh god I can’t take this I’m leaving where’s the closest bar to the Moscone center?

The dojo talk with a clever name that I forgot

Dude from dojo and dude from Sun gave a brief but good overview of the popular Javascript application framework. Dojo seems a pretty good mix of useful event handling tools and UI widgets, and Alex Russell, the president of the dojo foundation, seemed pretty cool. There wasn’t any of the “dojo is the answer to every problem that anybody has ever had” vibe from him, which I always find refreshing. I’ll have to give it a look for the next GUI application I write.

After Alex introduced dojo, Sun guy got up and prattled on about how you can and indeed should use dojo with Java technologies. OK, fine. This is a Java conference and all. You do your thing.

I guess this sort of thinking has always given me an uneasy feeling about the Java community. There’s this attitude that Java is the one solution for all problems, which is absolutely ridiculous. Java is a solution for a great many problems, but it’s hardly the best for any number of them.

Sun pushing this line of thinking I can understand. It’s their product and it makes sense for them to want people to use it. Why anybody other than Sun would, however, is quite beyond me. Any company that adopts this line of thought is tying a big boat anchor to both its own feet and the feet of its developers’ sure to stagnate careers. Every problem isn’t a nail, so you need much much more than a hammer to get things done properly.

Maybe if there were more tools — languages in particular — that ran well on the JVM I would feel better about this Java-everywhere thinking. That I know of, there’s only Java that both runs very well and isn’t super super fringy. Jython is slow and a year behind its C counterpart. JRuby is, from what I’ve heard, similar. Even Groovy, built “for Java developers by Java developers” gets at most 1/10th to 1/5th of the performance of Java. Microsoft is really eating Sun’s lunch with the CLR in this respect. They’ve got C++, C# and VB running exceptionally well. They’ve hired on people to work on a CLR version of Python, that, while behind the curve in terms of language features, performs at least as well as the native version. There’s no reason that the JVM couldn’t have the same breadth of tools available. That it doesn’t is a shame and keeps me from taking it very seriously as a platform. (Robert told me that Sun is planning on offering more languages that target the JVM for Java v. 6 or 7, which would be very, very cool. I hope it happens.)

Ajax Smack-down

I was so sick of EJB at this point that I ditched my last scheduled session and sat in the overflow room for this one. The basic idea here was that they got a couple of Ajax guys — leads from the DWR and dojo projects — in a room with a “technology evangelist” from Adobe’s Flash/Flex project, a lead from the “Java Server Faces” initiative, and a Java Swing developer.

There was all too much talk about “what’s better, Java or Javascript?” To which I say “who cares, they’re different.” End of story. But no, the thick client guys had to do their thing.

Flash dude went on and on about “flash can open sockets to arbitrary computers.” Nobody said “that’s cute, but Javascript can’t for security purposes, not because of any inherent language limitation.” Oh well.

The Javascript folk seemed to have the attitude of “look, use our shit if you want to. We do and we like it,” while the Sun folk had very much of a “ooh, Javascript might be bad. Why don’t you stay over here in thick client land where it’s safe?” thing going on.

Whatever. Use the right tool for the job. Maybe it’s Java and maybe it isn’t. Don’t let religion get in the way of your software and everything will work out just fine.

JavaOne 2006, Wednesday

Thursday, May 18th, 2006

JavaOne marches ever onwards. Yesterday was a pretty busy day. I had a huge block of classes in the afternoon, some interesting, some… otherwise.

Effective Java

Joshua Bloch from Google, who I gather writes a book called “Effective Java,” gave this one. It was fast paced, informative and in general a really good talk. He spent a lot of time on the various dangers of Java 1.5′s generics, delving deeply in to wildcard generics and their various ins, outs and what have you’s. Java’s generics always throw me off because they’re just different enough from C++’s templates to not quite make sense to me. This talk helped clear much of my confusion up, though.

EJB + AOP + NIH = Interceptors

At a bunch of the EJB 3.0 talks, “Interceptors” have been touted as the elegant solution for this, that and the other damn thing. Which, ok, fine. It’s good to have a way to solve a lot of different types of problems. I applaud this.

Interceptors are basically Aspect Oriented Programming constructs. The fun part is that instead of just going out and using one of the existing AOP frameworks, EJB built its own. Yeah yeah yeah, EJB is a big and complicated environment and you probably couldn’t just throw J-random AOP tools in there to make it all happen and you need to be able to make it work elegantly with all their different deployment techniques. Whatevers. This is why I try to stay away from EJB.

Also, memo to presenter: “Aspectizing” isn’t a word.

Groovy

I totally misread the abstract for this one and thought it was going to focus on porting scripting languages to the JVM. Turns out that Groovy is an entirely new — well, relatively new at three years old — scripting environment running natively on the JVM.

This really put me out at first and still sort of does. There are plenty of good scripting languages out there and people are pretty good at using them. Why write another one? Their reasoning was that they wanted something that would work like Java, make sense to Java developers, and play real real nice with existing Java code.

I was skeptical until I saw the demo. In maybe fifteen lines of code, the presented fired up an ActiveX proxy, fiddled around with an Excel spreadsheet, and created an admittedly small Swing GUI to control it. This is all stuff that you could do with regular Java, but it would take dozens and dozens of lines of code.

The Groovy folks have done really nice work using Java reflection to implement a Do What I Mean idiom — for example, you can pass a list of two integers to a window constructor, and it will figure out that the window has a constructor that takes a Dimension which has a constructor that takes two integers. Good stuff — that could make a lot of tedious tasks in Java not nearly as bad. This is definitely something that I need to look in to.

Lions and Tigers and more EJB, oh my!

I signed up for a bunch of EJB presentations because that’s one of the areas where I’m most behind. Holy shit was this a mistake. With the “Java Blueprint for the Simplified EE5 programming model,” they definitely started repeating themselves. I couldn’t take twenty minutes of this before I had to bail. Oh well.

Monkeys are Rad!

Wednesday, May 17th, 2006

Yahoo, my esteemed former employer, is training a monkey to fiddle with gadgets. This is the Best Thing Ever. Google, watch out. (The monkey even has a Flickr account, which is braggable.)

JavaOne 2006, Tuesday afternoon

Tuesday, May 16th, 2006

A quick recap of today’s classes at JavaOne.

EJB 3.0

So EJB. It’s the complete enterprise solution. It’s web. It’s database. It’s mail. It slices. It dices. It’s everything you always wanted as a child but couldn’t have. Also, Sun apparently thinks the current version of it sucks.

Well, maybe that’s a little strong. They don’t like the version 2.x API. Nobody likes the API. It’s overly complex, requiring mounts and mounds of code and XML to get simple things done. Cleaning this up was one of the major points of EJB 3.

With version 3, you can pretty spell out plain old classes and interfaces, throw an annotation or two on various classes or methods and everything Just Works. Pretty appealing stuff. Apparently going from class to web service is an annotation away, which is braggable.

Other than that, though, it was a really high-level talk. Oh well.

Distributed Caching

Remember the presentation on caching that Flickr gave? Take that, replace all the memcached and apache stuff with hand-wavy “Java” and you’ve got this presentation. If you’re unfamiliar with caching at any level, maybe there’s something to be gained from this talk. Eh.

RESTful web services with JAX-WS

This was pretty cool. It was nothing that you couldn’t get on your own with the internet and a couple of hours, but it’s useful sometimes to have somebody else wade through the legion web services libraries, pick one out and explain it to you. It seems that JAX-WS can do everything I’d want from such a library. It works on the client and server ends of things, supports both SOAP and REST (the presented was an unabashed REST believer), works in J2EE containers as well as servlet containers, etc etc etc. A useful overview for useful stuff.

Microsoft Rocks

Tuesday, May 16th, 2006

Heh. Microsoft just got up on stage to prattle on about their “interoperability” framework called “Tango.” There’s been a constant sream of people leaving the auditorium ever since.

JavaOne 2006, Tuesday morning

Tuesday, May 16th, 2006

Greetings from the JavaOne conference in sunny (or foggy, whichever) San Francisco. I’m sitting in Sun’s “general” session where they’re talking about something called “GlassFish,” which is apparently some sort of new J2EE thingamajiggy. Oh, and look, Sun just open sourced JMS (their messaging queue) and NetBeans (their Java IDE). Neat.

It’s been a long time since I’ve been to one of these conferences. I think the last one I went to was Software Development back in ’97 or ’98. I don’t remember them being anywhere near this big. There have to be a couple two or three thousand people in this room right now. They’ve got the presenters on a huge PA and up on five screens. It’s like a tent revival for a set of technologies that seem to have a religious following in corporate America.

I’m spending most of today at classes on all those newfangled java technologies — none of which are particularly new for people who have been paying attention — that I’ve been ignoring for the last six or seven years — “Enterprise” java beans, JAX, something from Apache called “Derby.” There’s an hour on distributed caching thrown in there so I don’t get too much new stuff clouding my brain.

(Holy god, they’re making Monty Python jokes. Please kill me now.)

There seems to be a lot of talk about Ajax, web services and other Web 2.0 hoo haa that I wouldn’t think would be so popular in the “enterprise” universe where Java is quite so popular. Huh. Well, I guess it makes sense. I’d just as soon be using web front ends where I currently have Swing applications, and my existing web applications — circa 1998 — could definitely stand to be freshened up. Cool.