Tag Archives: tools

Days 2 and 3 at the Java Posse Roundup

Some people ask me why I go back to the Java Posse Roundup each year. After 3 days of Open Spaces sessions at the Java Posse Roundup (and a day of hacking), I have to say it only gets better and better each year. A few years ago, we added an additional session at Rumors, a coffeeshop/bookstore (yes, those do still exist) in Crested Butte. The intent was to give people an additional place to go as the conference grew, and the first year, we tried to record those sessions too. The traffic and espresso machine at a coffeeshop, however, don’t make for a good recording so we changed the location to target “off the record” talks. This has been an amazing addition to the conference, giving people the opportunity to speak freely without concern that their coworkers, bosses, customers, or friends might later hear what they said.

I’ve attended several sessions there, including one on Mindfulness in Programming. This particular session was held at the off-the-record location not because it was private or wouldn’t have made a good podcast, but rather because all of the other rooms were in use.

Mindfulness is “a state of active, open attention on the present”, according to Psychology Today. I was first introduced to mindfulness when I took a meditation class, and I was interested to hear what people would think about mindfulness as it applies to programming. I interpret that to deep focus on the technical task, avoiding the temptation to be distracted by other things that compete for your attention, without a longing for a speedier conclusion to the activity or annoyance that you’re doing it at all. We talked a lot about how to achieve that, as well as many related topics, such as meditation, distraction, and techniques for becoming more aware of the present task.

After the mindfulness discussion was one that was a continuation of a work/life balance discussion that had been held the day before, but it didn’t really go in that direction at all, and instead was more of a continuation of the mindfulness topic.  This made me happy, and was fine with the convener of the session. Women business owners get embroiled in these discussions often, and I would have used the Law of Two Feet if it had been the same old tired discussion.

Other discussions that I attended on Days 2 and 3 were decidedly less “fluffy”. I attended the discussion Modern Web Apps, which had us talking a lot about the amped up user experience requirements for modern web apps. People expect that these apps will seamlessly manage flaky internet connections and offline mode. They want consistent, client-agnostic capabilities across a variety of devices, yet also expect that the unique features of a particular device will offer richness unique to that device. We also discussed the movement of web apps toward Javascript and complexities involved with that. Ember got a lot of attention, and a hacking session was scheduled for the afternoon.

The Play2 asset compiler got some love, as it runs Javascript through a compiler for validation. GWT is still appreciated with its capabilities to develop in Java and generate javascript. Dart, which makes Javascript static, was discussed as an emerging solution to the problem, but drew groans from many in the group. IntelliJ tools were cited as hugely beneficial to Javascript developers, and enforcing “strict” mode was strongly encouraged. The book “JavaScript: the Good Parts” was recommended by several people.

Much different than the Day 1 session on Productivity Tools for Programmers was a discussion on Tools for Running a Business so that you can Write More Code. Yes, I convened that session. I’m always intrigued by what others do toward this. The key message that came out of the discussion was that, much like choosing a “stack” for software, when you choose business tools, you’re often choosing a stack for that as well. For example, QuickBooks Online integrates with Harvest (for time tracking) and Expensify (for expenses). Kashoo and Freshbooks were used by one attendee who wrote some software to integrate other tools, such as eFax. I didn’t realize that you could invoice through Zoho, but apparently you can, and it’s particularly good at invoicing in blocks of time and keeping track of when those blocks are exhausted. The Ruby Freelancers podcast was noted as a good resource for learning about business tools for small businesses. Streak, as an add-on to gmail and google apps, was noted as decent Customer Relationship Management (CRM) solution. Desk.com is a help desk solution that some folks use. It integrates with Salesforce, but it sounds like you can use it without Salesforce as well.

As always, I learned a lot from several of the longtime attendees of the Roundup. Many of them have run successful companies for a long time, and it’s great to hear their perspective. Some attendees noted that this year we had a lot of sessions around effectively starting or running a business. This marks an interesting change in the nature of the Java Posse Roundup. A variety of technical sessions were convened and nearly everyone participated in the hacking session, which tells me that the crowd was decidedly technical, yet the number of non-technical sessions indicates that many of the attendees have aspirations toward running their own businesses as well.

The third session of the 3rd day was on Building Effective Teams. We decided that effective teams:

  • set expectations of success
  • self-organize
  • encourage participation
  • interact and communicate

Many techniques were described. They varied from general, such as engaging the team members cross functionally and how to deal with asocial scientists, to very specific, such as how to integrate the Quality Assurance team with the Software Developers. Discussion also included how important it is to have quick success, for both customers and for developers. Some people might be surprised to learn this, but there was universal agreement that software developers are most happy when they deliver software to real customers and it makes its way into the field. Distributed teams face challenges; some of those can be overcome by effective communication, but nothing is better than an in-person get together a few times a year. One interesting discussion was around competition in teams. Some participants described how it can be used effectively in an organization, but only when it’s a non-threatening competition between teams rather than internally in one team.

On the afternoons, we continued to break into small groups who worked on projects. I was hoping to work on getting the Scala Koans online in the same way that the Ruby Koans are. This would remove some of the barriers to trying Scala, in that people wouldn’t have to install Scala, and build and test frameworks in order to get started. A small group formed at one of the houses, and we worked with Play and a library from Twitter to get things started. We still have a lot of work to do, but it was a great collaborative start!

On Wednesday evening, we got together for more lightning talks. They never disappoint. It’s amazing to see the wide variety of interests. The highlight of the evening was Eirik’s talk, projected onto a red washcloth, where he was able to do a presentation within a presentation, and change slides by flinging the washcloth. This is a do-not-miss lightning talk!

We started a tradition on Thursday nights a few years ago.  Before getting together for a live podcast, we hold a progressive dinner, traveling from one house to another for a “course”. This year, 9 groups of people in houses hosted a “stop” on the progressive dinner, and the final location was at the conference location, where we had dessert supplied by those who hadn’t hosted earlier … and then recorded a live version of the Java Posse podcast.

The progressive dinner is an interesting addition to the Java Posse Roundup. The first year was super fun, but only included a handful of houses. The second year, we feared that we had too many people, and tried to over-engineer it in an attempt to reduce traffic all at the same time (see progressive dinner on Wikipedia for overplanning). We quickly realized that the progression from one house to the next was part of the experience. Last year, we went back to the mass movement from one house to another. We publish a schedule, including a start time, and this year, we had about 20 minutes at each house. Those hosting often skip a house or two before theirs to make sure that their house was ready for 50-60 people to show up. It’s fun and crazy and the walk between houses is a walking geek-fest with non-stop talking. It’s become one of my favorite social events at the Roundup.

Stay tuned for Day 4 … and the wrapup of Java Posse Roundup 2012.

Day 1 at the Java Posse Roundup 2012

I’m in Crested Butte, Colorado, for the Java Posse Roundup 2012. This is my 6th Java Posse Roundup, which means both that I have perfect attendance and that my husband is extremely tolerant of my travel.

The Roundup is a 4-day open spaces experience, dedicated to exploring technologies and open discussion. The mornings are set aside for discussion. Broken into 3 1-hour sessions, with 30 minute breaks in between, these are highly interactive sessions around a variety of topics that the attendees themselves identify and propose.

On Day 1, we held an intro session followed by 3 discussions.

For the first discussion of the day, I chose Tools that Make you Productive. Some tools that I thought were interesting included:

CamScanner – turns your Android or iPhone into a portable scanning device. Most notably, people are using it for high contrast whiteboard images.

Evernote – I already use this for notetaking on the web and mobile devices, but I learned  about its browser extension (click to copy) and that you can take notes by voice on the mobile version.

Livescribe smartpens – allow you to record what you write and hear for later playback. Uses special pens and paper.

There were many suggestions for todo list management, including Asana, Workflowy, AnyDo, and Do It (Tomorrow).

Desk.com was described as effective for help desk management (integrates with Salesforce!), and Trello and AgileZen were both discussed for agile software project management boards.

Boomerang, a gmail/google apps plugin, was highly regarded for email management and scheduling.

The Pomodoro technique was described (and has high participation in this group), and there was a strong emphasis on providing a distraction free environment with a comfortably large monitor and good keyboard/mouse/trackpad.  Communication between team members (and customers) is essential and tools such as IRC, Yammer, HipChat, and Campfire promote communication with off-site staff. Google Talk (particularly with the “go to voice” option) is also highly regarded.

For the last session of the day, I attended a discussion on Continuous Deployment. We contrasted the term with continuous delivery, where you build artifacts and deliver to point where it could be deployed. It is critical that there are no special (different) steps for production. We discussed the challenges around achieving that, both technology and people, and delved into metrics that can be monitored to determine success.

Unlike the first discussion, only a few tools were mentioned (Splunk and AppDynamics) while much of the emphasis was on the process of getting to the point where tools would be meaningful.

Core to the discussion was a mindshift of a release as a big (and scary) event, but rather a regular occurrence of a small bit of functionality rolled out to customers. Spreading out features over time reduces risk and provides value to customers.

Following these sessions, I went to an “off-the-record” session around team dynamics. The off-the-record sessions are held offsite, and are not recorded. This enables attendees to be frank in their discussions without concern about who might hear the podcast. I have personally benefitted from these sessions every year, and their inclusion  is one of the many advantages that in-person attendees have over those who stay at home and listen to the podcasts.

Another advantage, of course, is the hallway conversation. While open spaces conferences are organized to make hallway conversations accessible to all, I find that we’re all in non-stop communication mode, and the ample minute breaks between sessions encourage this. Various discussions from work-life balance to pair programming to languages all happened in these “breaks”.  We also talked while at lunch, while out snowshoeing, and while at dinner. Others did some more hacking.

In the evening, we all got together for lightning talks (recorded and will be released on YouTube). For some reason (maybe we didn’t post the list fast enough), the list for lightning talks was only half-full when we arrived. Several of us kicked it into high gear and developed lightning talks on the spot, and soon the schedule was full.

I spoke about Raising Geeks, with the key message that we should all buy “cool toys”. My favorites are Snap Circuits Jr (and I saw a bunch of parents in the audience nodding in agreement) and LEGO WeDo. I had been talking about the WeDo to a few other parents at the conference, and they suggested I do a lighting talk, because its availability is not widely known. Kids can build things (like an alligator) with LEGOs and sensors, and then “program them” with a LabView-like visual interface. It’s sold through the LEGO Education division, and it’s been a huge hit at my house.

There were many other lightning talks on a variety of topics, some software related and some not. They’re always enjoyable to watch!

Many of the Java Posse attendees share houses in town and discussion doesn’t really stop when the sessions end. Every year, I go home from this week both energized from the ideas that arise and exhausted from the interaction.

Stay tuned for a summary of Day 2 …

The “It” Thing …

Some kind of event in Crested Butte, CO, July 18-21

Bruce Eckel was going to do a “Thinking in Java” Open Spaces conference in Crested Butte, CO in July, but interest (or at least enrollment) didn’t seem to be there. After a flurry of email between several of the people that were at his Programming the New Web Open Spaces conference (held in March), he is re-working it as potentially an even cooler event. Check out the link for more details at:

http://mindview.net/Conferences/ThinkingInJava

I really trust Bruce when he says, “We'll find something interesting to do even if we don't know exactly what it is yet. It's in the same vein as an Open Space — where you have a basic topic but you don't know what sessions will appear until people start putting sticky notes in time slots — but taken up a notch. Here, we're not sure what the topic will be, but we assume that something will appear by the time we actually convene.”

I hope that I can be a part of it. My attendance, right now, is only limited by family obligations. If I can work out those details, I will be there. If I can’t make it, I will be really bummed and anxiously awaiting news on how it all turned out.

To be able to go and build something for the fun of it (and for the educational experience)! It would be like summer camp!

BTW, there’s a hostel in Crested Butte. I hear it’s pretty nice and you sure can’t beat the price!

Conference Information
Summary of Potential Topics
Open Spaces
Discussion of Open Spaces Technology
Crested Butte Hostel
Best Value in Crested Butte
Other Lodging/Travel Info
Where to stay and how to get there

Choosing Tools: Java Installer

Choosing an installation builder

Choosing Tools: Java Installer

Java programmers seem to spend a lot of time choosing tools. I figured I would start a series of blogs on tools that I use.

I’ve been looking for a good installation builder for Java for quite a while now. For years, I have been using InstallAnywhere NOW, a free version of the popular InstallAnywhere product (by ZeroG, now owned by Macrovision). It’s a nice multiplatform install builder, but lately, it’s been causing me grief both in Windows executable files not running properly all of the time and in terms of licensing. ZeroG stopped providing the NOW version. And then, I upgraded my computer and lost my key for IA NOW (it was free, but required a key), so all of my installation executables were tagged as being built with DEMO software. That wasn’t very professional, so I went in search of a new installation builder.

Of course, I started with InstallAnywhere, thinking that their “for-fee” products might offer a seamless migration both in time and in my mind. Sigh, I just couldn’t justify the cost ($2000 for the professional version!).

I’ve heard a lot about install4j (www.ej-technologies.com) over the years, but I had dismissed it previously because IA Now worked fine for me and was free. But, given few other options, I evaluated install4j and found it to be just what I needed. With a professional license available for $399, I went ahead and bought it for use in building client installation executables.

I’ve received some happy responses from clients after migrating them to the new install builder using install4j. They are happy to have a bit more control over the installation process. I’m happy that some of the problems I had been seeing with IA Now (namely, problems getting a Windows-specific executable to run) are not plaguing me with install4j. And I’m REALLY happy that I didn’t have to pay $2000 for the privilege.

Install4j
Where to get install4j