trying architexa – an eclipse diagramming plugin

Architexa recently announced free licensing for individuals or teams of up to three.  I figured I’d run it against CodeRanch JForum to see what happens.

Requirements/Install

The software is an Eclipse plugin.  You get the link after registering.  A different update site is provided for Eclipse 3.X vs Juno (4.2).  I know some CodeRanch JForum developers use IntelliJ IDEA.  I don’t, so I can try it out.  The install was smooth.  I did get asked to confirm I trust the certificate within Eclipse.

One minor discrepancy.  The website says the software is free for individuals and teams of up to three developers.  The email confirming your email and welcoming you says the software is free for individuals and teams of up to four developers.  Moot point at the moment since I’m using it as an individual.  But Architexa should sync these up.

The email asks me to validate my email using a localhost link.  Same for editing my profile.  I can’t click on it to validate.  Hm.. I then went to the website and clicked the “forgot password” link.  This got an emailed password which I could use to validate in Eclipse itself.  Again the change password link is a localhost link.  After entering that password, Eclipse said my account was validated.  So while the links are broken, I’m in the tool.

Learning curve

Architexa asks which projects it should index.  I said just JForum.  Architexa provides good Eclipse “cheat sheets” to start out quickly.

Layered Diagram

This is like a dependency graph for packages.  Very nice.  If you mouse over, you see incoming (afferent) and outgoing (efferent) dependencies.  You can also drill down to see lower level packages.

Class Diagram

Right clicking a package opens the option to create a class diagram.  Two classes generated on top of each other, but I can drag them around (or highlight them or call other attention.)  It is easy to view the source code from the class diagram.  I don’t see how to view the method names/fields in the class diagram.  This info is available in the outline view in Eclipse already though so it isn’t critical.

Sequence Diagram

This appears to be an enhanced editor.  You drag classes into it and it shows calls.  This seems like more work to create.  I tried dragging a few items over and “add all” to get the calls.  Unfortunately calls aren’t so much within one or two classes so this didn’t help much.  I didn’t create anything worth taking a screenshot of.

Overall opinion

The package diagram caught my attention the most.  I really like the dependency arrows.  The class diagram provides a nice visualization as well.  The sequence diagram seems like it would be a good documentation aid if one was creating sequence diagrams for the project.  Which I’m not because we inherited the design of the code and I’m already familiar with the flow.  I think more value would come from sharing documents and using the tool as a team.

For a “real” (paid) project, I”m not sure I’d be so thrilled to keep my documentation in a proprietary tool. Even a free one.  But for getting a feel for the software on a product that is “documentation-lite” or “no documentation”, the layered (package) diagrams and class diagrams provide a nice way to jump in.  Assuming you are using Eclipse already of course.

Eclipse Memory Analyzer

Last time CodeRanch has a memory leak, a teammate ran Eclipse Memory Analyzer and I ran JVisual VM.  This time, I did both.  I took the heap dump as described here.  JVisual VM told me hibernate was using a ton of memory.

To run

To run Eclipse Memory Analyzer, I needed to launch Eclipse with more memory.  The default wasn’t enough to open the heap dump.  On Windows, I would edit the eclipse.ini file.  On Mac, I instead used a command line.  (I have read that it is supposed to be possible to edit the eclipse.ini too.  Didn’t work the once I tried it.)

./eclipse -vmargs -Xmx4g -XX:-UseGCOverheadLimit

(It was a production dump; just under 1 GB.)

What I learned

The Leak Suspects report was right on. It noted that the heap dump had three large Hibernate Session objects.  I was only expecting one.  We are using Entity Factory (which use Hibernate Session behind the scenes if using Hibernate JPA).  It turned out there was some code which intended to to cache the entity factory, but in fact didn’t for some nightly jobs we have.

AT&T Grandfathers Unlimited Data Plans with iPhone 5 [CONFIRMED]

Following the much anticipated announcement of Apple’s iPhone 5 today, a single unanswered question has been weighing on my mind. Will AT&T customers with existing unlimited data plans still be grandfathered in if they choose to purchase a new iPhone 5 at the subsidized prices ($199 for 16GB, $299 for 32GB, $399 for 64GB)? The answer is here, and it is a resounding “yes”!

CONFIRMED [9/12/2012]: According to today’s AT&T press release, users with unlimited plans will definitely be able to keep them:

“We are thrilled to offer iPhone 5 on the nation’s largest 4G network. We’ve worked with Apple since the original in 2007 and this is hands-down their best phone yet,” said Ralph de la Vega, president & CEO, AT&T Mobility. “We offer customers the flexibility to keep the iPhone data plans they already have or choose any of our individual or new Mobile Share plans. We’re proud that more customers choose AT&T for iPhone than any other U.S. carrier and look forward to making iPhone 5 the newest addition to our lineup.”

Verizon’s Poor Customer Service Decision

Avid Apple enthusiasts may recall that Verizon nixed unlimited plans for subsidized upgrades back in May 2012, a poor customer service move indeed. While Verizon still allows users to keep the plans by purchasing the unsubsidized iPhone, it does not make a lot of sense to spend hundreds of extra dollars on what may amount to $5-$20 per month (or nothing at all) in savings on the tiered plans.

Two AT&T Representatives Confirm Grandfather Rule

I called AT&T (1-888-333-6651) and spoke with a woman named Patricia, who assured me that as long as I upgraded my phone to an iPhone 5 through an AT&T representative, I would be able to keep my plan. She did caution me against upgrading at the Apple Store, not because it was not allowed, but that because last year some less-educated customers accidentally signed up for a new data plan at the Apple Store, and as AT&T will tell you, “Once the unlimited data plan has been removed, it cannot be added again”.

I also used Live Chat support on AT&T’s website and spoke to a person name Andre who confirmed that information; the transcript is posted below:

You are now chatting with Andre S., an AT&T sales representative.

Andre S.: Welcome to AT&T online Sales support. How may I assist you with placing your order today?

Scott: Hi Andre S. I currently have an unlimited Data plan for my iPhone 4. Will I lose this unlimited data plan if I choose to upgrade to an iPhone 5 at the subsidized price?

Andre S.: Hi Scott!! I'll be happy to assist you today with your inquiry.
Andre S.: You will not lose your data plan if you upgrade to a new phone.

Scott: even the iPhone 5 with LTE?

Andre S.: No matter which phone you get.

Scott: does it matter if I order via the Apple Store or the AT&T store?

Andre S.: It would not matter you will still be keeping your old plan.

Scott: Thank you

Disclaimer: I do not work for AT&T and cannot guarantee that, even if AT&T has a company-wide policy of grandfathering plans, your particular representative will be able to upgrade your phone without accidentally losing your data plan. As always, buyer beware.