ant dependency graphing with graphviz

In 2007, I wrote an article about ant dependency graphing in the JavaRanch Journal.  I had cause to try it again to visualize the FIRST robotics complex build scripts.  This time, I’m on Mac.  At the moment, the MacOS version of Graphviz is in beta.  This isn’t critical so giving it a try.

It was easy to install with a wizard to accept license, choose location, etc.  Installation was successful and less than a minute.

The contenders from 2007

  • Ant2Dot – hasn’t changed since 2007
  • Visant – hasn’t changed since 2002
  • Grand – hasn’t change since 2005

Since there haven’t been any updates, my analysis should still be the same.  Since Grand generated the most useful output then, I went with it.

Grand

<?xml version="1.0"?>
<project name="Grand" basedir="." default="grand">

	<typedef resource="net/ggtools/grand/antlib.xml" classpath="grand-1.8.jar" />

	<target name="grand">
		<grand output="grand-build.dot" buildfile="/Users/nyjeanne/sunspotfrcsdk/build.xml" />
	</target>

</project>

Graphviz

  1. File > Open – choose grand-build.dot
  2. As before, I can navigate around the file.  This time the graph is ugly.  But I was doing this because the build file was so large and complex it was hard to understand so I’m glad I visualized it.
  3. File > Export
Not sure why Graphiz is still in beta; it worked perfectly.  Maybe for more complex operations there are problems?

The image
This series of Ant builds has a really large number of targets and dependencies so it makes for a complicated graph. A snippet is at the top of this post. The full one is available online:
pdf (decent number of bytes – still tiny so you’ll want to soom in and scroll around)
gif (the file is a large – 1MB download – which is why I’m not including it in the main blog entry. It’s also tiny, so you’ll want to zoom in and scroll around)

Wikipedia SOPA Protest Easy Workaround

After hearing all the media buzz around Google and Wikipedia protesting SOPA, I expected to go to Wikipedia’s website and see the entire website disabled. To my surprise, the Wikipedia worked just fine for me this morning. I asked friends and colleagues if they could access Wikipedia and they could not. Then I realized the reason… I use a JavaScript blocker that requires me to enable JavaScript per-site and Wikipedia’s block amounts to a post-load JavaScript hack. Simple and easy to implement, but also easy to defeat.

If you want to continue using Wikipedia today, install a JavaScript blocker into your browser and set it to block anything from “wikimedia.org”. In Firefox, I recommend NoScript and in Google Chrome I recommend NotScripts.

I fully support Google and Wikipedia in their efforts to block SOPA. I just found it interesting that Wikipedia’s block implementation was so trivial, anyone could get around it and access the website as normal. Once you finally do enable JavaScript the page looks like this:

verizon – can you hear me now?

How long does it take to transfer a phone from one place to another? It should be one day.  In reality it was 10-12.  Last time I moved it took one day to transfer the phone so I expected that to happen again.  Here’s what actually happened:

One week before

Called Verizon to transfer phone and DSL on moving day.  Verizon says dialtone will be available by 5:30 on moving day.

Moving day – Wednesday

Around noon, I get a text saying the DSL is hooked up.  No dialtone.  I call Verizon and they says their records show the dialtone should be active and their line test says all is well. If I want I can make a service appointment to have them come and look in person.  The next appointment is in 6 calendar days (3 business days).  Verizon says they will come sometime between 8am and 7pm.  Seriously?  You want me to wait home for 11 hours?  And it’s not like I can work remotely as the problem is the internet.  After complaining, they changed the window to four hours.  (8am to noon)

Day 7 in new apartment – Tuesday

Around 10:30, I get a text that “my problem has been resolved.”  I don’t have a dialtone and haven’t seen/heard from Verizon all day.  What kind of resolution is this?  I call Verizon whose repair department says their records show that the problem is resolved because they did something downstairs and if I want them to come back inside my apartment, I have to make another appointment.  The next service date is in 7 calendar days.   After 150 minutes on the phone (much of which was spent on hold), several phone calls and a number of people/departments, I learned the problem was that Verizon took my new apartment number but put it with my old address.  Maybe that apartment got my dial tone.  I don’t know.  The only solution is to start over and place a new order.  At this point, I’m mad.  We wasted a week just to get to where we should have been on moving day.  New estimate is by 5:30pm.  Tried at 5:45 and no dialtone.  When I called Verizon, I learned that while repair people can visit until 6 or 7pm, phone contact is open 8:30-5:00.

Day 8 in new apartment – Wednesday

Called Verizon at precisely 8:30am.  (Turns out hold times are shorter then.)  There is no record of my order from day 6.    Sounds like the agent forgot to press save.  Guess what?  The only solution is to start over and place the order again.  This time my estimate for a dial tone is in 24 hours.  Plop in the middle of the work day on Thursday.

Day 9 in new apartment – Thursday

Called Verizon at 1pm.  I didn’t actually know it wasn’t working this time, but past experience indicated this was unlikely.  The rep in ordering agreed it wasn’t done (confirming my guess) and said she will ask around and call me back “in a few hours” so I don’t have to wait on the phone.  Conclusion they will try to activate it remotely by 5pm and will place an order for DSL which got lost amongst all this for Monday – the earliest day possible.  I checked at 6pm and 10pm.  No dialtone.

Day 10 in new apartment – Friday

I woke up at 6am and had a dialtone.  I’m guessing this means some sort of reset happened at night.  Still no DSL of course.

Day 12 in new apartment – Sunday

I tried DSL Saturday evening and Sunday morning.  It could see the network but not connect.  Which is the expected behavior before DSL is activated.  Then at 9pm. I had a steady light on the modem which means DSL is working.  And hear I am online.

Conclusion

I still need one of the two phone jacks fixed.  I called a private electrician to do it.  Mainly because I don’t believe Verizon will come.  And the private person gave me a specific date and time based around my availability unlike starting with this eleven hour nonsense.  And remember that Verizon wants to sell you FIOS.  I suspect they put more of their good people on FIOS.  Because I only spoke to one person who really knew what she was doing in the 8+ hours I spent on the phone with them.  The only saving grace of not having home internet was that I worked late everyday because I was on the phone with Verizon during the work day and didn’t get my work done by 5.

While I’ve had troubles with Time Warner as well (currently having an ongoing discussion about the DVR), they at least know how to transfer your service on day 1.