March 2007 - Posts

Dynamic Languages on the CLR

Jim Hugunin and John Lam

Jim created Jython and IronPython.  John is working on Ruby for the CLR, but has only recently transitioned to working for Microsoft.  I get the impression that Ruby for the CLR will be released Really Soon Now.

Just as I was getting grumpy about not having an interactive conversation, Jim and John came on to do the Dynamic Languages on the CLR talk. They turned it into a completely interactive conversation with no Powerpoint. They even turned some of the questions around to the audience, asking for our input. This was SO much more interesting for me, at least, and for the speakers as well, I expect.

The guys took questions:

1.Ruby or Python: Which sucks less? Use the language that fits your mind best. Some people work well in Python. Others have that same experience with Ruby. It’s not necessarily a fundamental difference in languages, but rather a difference in minds. Not a huge argument that one is superior to another. But comparing either to Javascsript is a different question. That language is impoverished. Doing DSL tricks is easy in Ruby and allows people to write closer to the problem domain.

2.How are you going to lock us into your platform? IronPython has always been about being completely compliant implementation of Python and completely integrated with .NET. To do both is a lot of work. So, in Python “strip()” removes whitespace, but in .NET “Trim()” removes whitespace but is illegal in Python. But if you import clr, then for that file ONLY it is allowed to run s.Trim(). So the parts of your code that are doing pure data structures or pure algorithms can ignore whether you’re working in IronPython. Being up front about wanting people to lock into .NET. By providing really cool libraries, they will lock programmers into .NET? Strength is that you can write Mac-specific or .NET-specific code. Pure Python code works everywhere. Python has a huge wealth of pre-existing modules. Those written in Python will work (or it’s a bug in IronPython). Those that are written in C are more problematic. FePy project is a community based project that includes a lot of modules that fill in these gaps.

3.What is the plan for PHP? Would PHP running on .NET, would that be convincing to switch. Not really, so it doesn’t really look like there’s interest. Microsoft is doing dynamic languages because it’s interesting to a group of developers.

4.What is it going to take for Rails to run on top of .NET? Imagine it happens. Is it a good idea? Deployment is a pain in Rails. Want to sell into .NET companies in the enterprise. What it’s going to take is a good business reason to want to use it. Developers need to want it.

5.When is the veil of silence going to be limited? Jim went dark for 8 months after coming to work at Microsoft. IronPython is being run as an open source project with an open mailing list. IronPython 1.1 was just released. Incremental releases were driven by user bug reports in an open, interactive way. Python 2.0 more modules, end of year. John’s only been at Microsoft for 2 months, so he will start becoming more open soon.

6.Why dynamic languages? There are millions of programmers who clearly love dynamic languages. It works for them. Let them program in a way that they enjoy and can be productive. More expressive. First refactoring tool written for Smalltalk. First unit testing framework written for Smalltalk. Good ideas have come out of the dynamic language community.

7.Do we want to run the CLR in IE? Killer fast Javascript and Ruby in the browser would be compelling. Performance is the big thing. Testing, running javascript on IE. As we create more sophisticated apps, there’s no visibility in the CLR. But, would you put it in Firefox too?

8.Mono? Mono doesn’t work well. Winforms and GTK# and supposedly it’s compatible. Some say it runs beautifully and some say it doesn’t run at all. Mono regularly runs IronPython.

9.Should dynamic languages be an Intro CS100 language? Yes, dramatically lower barrier to entry. Number of things you need to know to write a program in a static language: classes, methods, static method calls. In dynamic languages only need a function call or statement to write Hello World. If you want to talk about the essence of programming, it’s about control flow and data structures, not types. But the lower concept count means that people with less programming experience can write in dynamic languages. Means that it might have an impact in terms of nonprogrammers writing code. Introducing patterns on top of the language adds a different level of complexity. Malleable syntax in Ruby allows for custom languages like Rails DSL. The ability to create DSLs in Ruby is interesting.

10.What about IDE support? Today, for IronPython, Visual Studio SDK shows people how to extend Visual Studio. It includes IronPython integration (all written in C#). Minimal intellisense support, ships as a sample. Left to developers to extend. The lightweight solution to an IDE is a real challenge. Can use the debugger today. The best part of IronPython/.NET integration is availability of the debugger. Profiler works poorly. Infrastructure issue that needs to be solved fairly soon. RubyCLR: John demo’ed an IDE that he worked on before he came to Microsoft. He was running on a Mac, running RubyCLR. He used WPF with Ruby, using Ruby metaprogramming stuff. This enabled him to reduce the number of things he had to type.



Summary of the first morning at the Microsoft Technology Summit

This has been an interesting day so far. There were a lot of interesting topics, and the speakers were very knowledgeable (and all have very cool jobs). Unfortunately, I have been spoiled by the Open Spaces conferences that I have attended. While many of the speakers provided ample time for questions, there’s still the sense that there is a speaker and an audience. There’s a stage, and powerpoint. There’s a presentation. This is NOT a conversation such as I am used to in Open Spaces. I’m not just picking nits here. I’ve been spoiled by the idea that it’s a democratic conversation where opinions are freely exchanged rather than topics are handed down. There’s clearly a leader directing questions. And I’m pretty sure that the speaker isn’t getting much out of the conversation either. If the goal here is to get opinions from the non-believers in the group (and I think that’s part of it), then this isn’t going to serve Microsoft as well as having an open conversation with the participants in discussions where the participants set the agenda and we all sit around in a circle and talk. I had many interesting conversations last night at the evening reception and some today at breakfast too. Looking forward to the breaks and lunch and while I’m actually learning things in the session, I’m not actively engaged. I’m sitting here, taking notes. And reading email.



Day 1: MTS07 - Kevin Schofield, Microsoft Research

Kevin Schofield, General Manager, Microsoft Research

The second session of the day was given by Kevin Schofield, General Manager, Microsoft Research. He has a cool job!

Microsoft Research was modeled after research at Carnegie Mellon University. Researchers pick the problems, independently, across the breadth of computer science.

Microsoft Research is very aggressive about publishing papers (3700 papers in 15 years). Now that it’s a mature organization, it releases hundreds per year.

Academic programs – don’t tell researchers who to work with, and encourage publishing. They are trying to drive forward through research and they also hold workshops, to which a lot of people are invited.

Microsoft Research Mission:

  • Advance the State of the art in our chosen areas of computer science
    • Making computers easier to use
    • Reducing the cost of computing
    • Making software developers more productive
  • Transfer the resulting technology to Microsoft businesses
  • Ensure that Microsoft has a future

·         Provide Corporate agility – rapid response to change

    • New Technologies
    • New competitors
    • New Business models

·         Reservoir of technology

 ·         Pool of Expertise and smart people


He did a demo of Gigapixel panoramic photography. The zoom was incredible! We started out by looking at a photo of the Seattle skyline and ended up zooming far enough in to see 9 people standing on the observation deck.

Looking at surfaces with Vision.

He also showed us some research that Andy Wilson has done, prototyping interacting between the physical and virtual worlds. The video was cool, but I think that this demo, which was done by a separate company about which I know very little, was better. I had previously seen this demo at the Java Posse Roundup.

He also showed us some data from a study that they did using a “Sense-cam” with memory impaired subjects. These people were recorded for 1 day using a sense-cam (that video-recorded everything that they did, and then they were told to watch the sense-cam recording every day for 2 weeks. Not only did their memory of that day improve, but they were able to recall more and more details as time progressed. The surprising result was that they could still remember for 3 months after stopping. This was a small study, but it had some interesting results (not known if they would be repeatable). Microsoft is now working with memory researchers around many different memory impairments to see how this might help people maintain memories.

Microsoft Research addresses challenges for the company. Kevin described some of those challenges as follows:

  • Today’s CPU architecture: heat becoming an unmanageable problem
  • Power density too much of a problem. That’s why going to multi-core.
  • But, no generalized models for highly concurrent software.
  • Third problem: code is too big

 

How to fix:

Build smaller components that are loosely connected. Achieve verifiable composability

Loosely coupled, asynchronous, concurrent, composable, decentralized, resilient systems



Video for Kids about careers in CS

Day 1 at the MTS07: Keynote

Keynote:

They keynote was delivered by Bill Hilf. Bill comes from the open source community but now works for Microsoft, as the General Manager of Platform Strategy. His intent is to build the community, for the benefit of the software community as a whole as well as for the benefit of Microsoft. Bill seems to get the idea about how open source can benefit Microsoft, and how collaboration can help as well.

Bill is unapologetic. Microsoft is in the OSS to make more money. For him, this is not an emotional process. By building partnerships with other companies, he can sell more software (licenses, etc.). They sponsor every open source conference, to some extent. They will speak and sponsor at every event.

Port25 is the community front end for communicating the strategy and intention coming out of the open source lab.

http://port25.technet.com

Codeplex is open source community for developers, based on Visual Studio

Bill described a set of lessons about cooperating as well as competing with other companies, that he has taken from his favorite video game: Official Strategy Guide, World of Warcraft

Collaborate and compete, but there are challenges to doing so:

  • The Observer Effect – when you enter into an environment you change it by becoming a part of it
  • Balance – how much to compete, how much to cooperate
  • Perceptions – small but loud open source philosophers.  They believe that commercial software shouldn’t exist.  Huge base of people who write and deploy code and make policy about code: much more pragmatic.  Understanding the audience is important, and don’t target the business policy to the philosopher.
  • Red Oceans and status quo – what could you build?  Windows and Office are existing markets that make a lot of money.  Moving those markets is not a trival task. 
  • Focus – limited resources
  • The benefit and bane of history.  History of Microsoft, what has been problematic, what has been done and what they don’t do well.

 

Things that matter include:

  • Relationships
  • Platforms
  • Communities
  • Ecosystems
  • Value
  • Making Money

 

Lessons:

  • Patience is the key
  • Learn what you can handle
  • Invest in friends and skilled allies (hire people smarter than yourself)
  • Identify goals and suitable targets
  • The right place at the right time
  • Use all resources – “play long, play hard, and use as many sources as you see fit”

 



Port25
Community front end for communicating strategy and intention coming out of open source lab
CodePlex
Open Source Community for developers, based on Visual Studio
Bill Wagner on DotNetRocks

Check out Bill Wagner’s latest appearance on DotNetRocks, Show #223. For anyone who doesn’t know, Bill is my business partner and author of Effective C#, The C# Little Black Book, and various articles. I haven’t listened to his DNR podcast yet, but I plan to listen to it on the way home from Redmond tomorrow.



Bill on Dot Net Rocks

UI Smackdown 2007 Early Bird Expires Today

If you’ve been planning to attend the User Interface Smackdown 2007 event to explore GWT, Flex, and WPF, today is the last day to get early bird pricing. At close of business today, we’ll be updating the pricing, so if you’ve been planning to attend and have just been procrastinating, the time is now.

We’re also getting really close to reaching capacity for the event. Unfortunately, the “Buy now” buttons for Google checkout don’t seem to support limiting quantity, so we’ve been manually watching registrations.

On a more technical note, I’m going to have to look into tying into the Google checkout API, I think. My wish list for Google checkout includes support for limiting quantity, being able to specify how many items to buy at a given time, and being able to add a comment field, so that people can manually add information about who they are registering. That’s probably a bit much to ask for in the Buy Now button realm, but hey! Anyhow, I’m looking forward to diving into the Google checkout API to see what we can do with it.

And, back on topic: register now if you’ve been planning to attend. Hope to see you there!



Registration link

UI Smackdown 2007 Event Details

Day 0 : Microsoft Technology Summit

I’m here in Redmond, WA, for the Microsoft Technology Summit, an event geared toward people who have been identified as community leaders in a geographic region and who do NOT predominantly use Microsoft development tools.

Travel here was uneventful. A friend who used to live in Ann Arbor, but now works for Microsoft (Stan Kitsis) picked me up at the airport and after lunch we went off for a hike at Snoqualmie Falls. The waterfall was rushing today, and mist was reaching the observation platforms. We did the hike to the bottom of the falls (about ¾ of a mile). It was a great hike, well worth the climb back up. And the weather here was gorgeous … sunny skies with high clouds.

Tonight was the Evening Welcome Reception at a restaurant near the hotel. This was a nice small party, with most of the people in attendance. There are people here from Thailand, Malaysia, even Australia (I may have missed one country). At dinner, I sat next to Yakov Fain. He is a certified Flex instructor from New Jersey and we both know James Ward, who is a Flex evangelist. In the “small world news”, Yakov lives in a town one over from where my husband grew up. On the other side of me was Duncan Buell, Computer Science Department Chair at the University of South Carolina. We had some interesting discussions about IDEs and teaching kids computer science (in addition to other things). Also at the table was Peter Laudati, Microsoft Developer Evangelist from New Jersey, and Tanya Young, who is coordinating the event. I also met Scott Preston from Columbus who was wearing his CodeMash t-shirt! Cool!

Yakov sent some links to his eBook: "Java for Kids, Parents and Grandparents", in response to Duncan's question about the right balance between spending time introducing OOP and actual coding. I haven’t read the book yet, but I’m looking forward to it. Duncan mentioned that his university is putting together a summer program for kids, using the Alice programming language. Interestingly enough, I’m heading to the Michigan Celebration of Women in Computing conference on Friday night, and there’s a session on using Alice to teach programming at that event. One of my colleagues in Ann Arbor, Aydin Akcasu, has done talks on using the Kids Programming Language (at Day of Dot Net in 2006)

Back to this conference, events kick off tomorrow, with a keynote followed by sessions on Microsoft Research, SOA, Dynamic Languages on the CLR, CardSpace, and XAML/WF/WCF, and the day will finish off with a visit to a local restaurant.



UI Smackdown 2007 Explained
Is this wrestling or deciphering software technologies? Definitely the latter!

A few people have asked me about the name we chose for our user interface event on April 4, which will include Flex, GWT, and WPF. Honestly, the name was proposed by one of the participants, and we couldn’t think of one that we liked better!

This will NOT be a confrontational event, and I hope that no one has signed up to witness the World Wrestling equivalent in the software world. Instead, like CodeMash, the idea is to bring together people interested in different technologies and learn an appreciation for what each one provides. We think that this is a huge win for the vendors involved, since it offers an honest glimpse into the perspective that programmers bring to technologies as they evaluate them.

I’m really looking forward to the event. I’ve seen quite a bit of Flex and it’s very impressive. I’ve seen enough WPF to find that compelling as well. GWT sort of serves a different purpose, but we included it because it’s a different approach to the same problem: how do we build user interfaces that customers can use, but that programmers can maintain and understand.

If you haven’t signed up yet, but have been planning to, the time is now (we had some glitches with our registration page, but I moved it to a different site and I think it’s all working now; if you have problems email info@srtsolutions.com and we’ll get you set up). We have had a great response, and we may end up cutting off registrations. The early bird deadline is Monday (March 26), and the fee through Monday is $75. After that, we’re raising the price to $90, but with the rate at which we’re getting signups, I may end up closing registration before we even get to that point. And from my perspective, that’s a VERY good thing. If we need to choose a larger venue for a future event of this sort, that’s just fine by me!



Microsoft Technology Summit 2007
No, you didn't stumble on Bill's blog accidentally. Really, I'm going to Redmond!

I’m heading off to Redmond on Sunday. Yes, Redmond. No, I do not typically develop on the Microsoft platform (at least not recently), but that’s the point of this conference. This is a conference targeted at community leaders not currently developing on the Microsoft platform. It’s an honor to be included (which is a response in large part, I’m sure, to the many hours I put in to help organize CodeMash). Only about 50 people have been invited and we will be meeting with the product and research teams. It sounds like we will have an opportunity to provide feedback to those teams as well as be exposed to the latest cool things that Microsoft has available. I’m looking forward to not only learning about the latest in what Microsoft has to offer, but I’m also interested in meeting the other participants and helping to build that community as well.

My involvement with CodeMash and my participation at the various Open Spaces events that Bruce Eckel has been hosting (including Programming the New Web, Web Frameworks Jam, TurboGears Jam, and most recently, the Java Posse Roundup) has given me the opportunity to realize that I really enjoy building community. I have been involved with this in the past (Ann Arbor Computer Society, and the Ann Arbor ITZone). I’m trying to work with the Ann Arbor Java User group, and I’ve been going to Python User Group meetings as well. A large part of being an entrepreneur in software is networking. I really dislike some aspects of that. I dislike going to meetings and shaking hands, and delivering elevator pitches. What I do like is getting to know people at conferences or user group meetings, learning what they do, who they work with, who they interact with in the community and what technologies they use. I LOVE meeting new people and talking geek stuff with them. I don’t like meeting business people and giving spiels. I know that this business requires a bit of both, but I would really rather spend time with the fun, cool, technical people when I can!

About a week before CodeMash, we created a google group for people to communicate with one another prior to the event. In addition to helping plan logistics, like carpooling, room sharing and such, it gave us an opportunity to build some community in advance of the event. Face it --- geeks can be shy. If this helps to bring us out of our shells so that the face-to-face meeting is a little easier, then that’s great. It gives us all some context about the rest of the group, so that when we finally do meet, it’s a bit more relaxed (I think, at least).

Anyhow, I offered to create a group for the MTS2007 and the Microsoft staff took me up on the offer. People have been signing up all week and I’m looking forward to meeting all of them in person.

I’ll blog more from the event (Microsoft is OK with us blogging about it).



Sun Project Blackbox Tour

Tour coming to Southfield tomorrow!

I first heard about the “datacenter in a shipping container” on the Java Posse. Today, I got an email from a local friend that Sun is doing a tour of the “Project Blackbox” in Southfield, MI on Tuesday, March 20, 2007.

This demo/tour is open to the public and free. If you want to sign up, go to http://www.sun.com/events/st/loc.jsp

They are holding these events all over the country.

Sounds like an interesting tour. I’m looking at my schedule to see if I have time to attend.



Practice of Java in Atlanta: An Open Spaces Event

My friend and fellow Open Spaces advocate, Barry Hawkins, is helping to organize an Open Spaces event for Java in Atlanta. Barry has been at several of the Open Spaces events that I’ve attended, including the most recent Java Posse Roundup. Barry and I met at an Open Spaces event facilitated and hosted by Bruce Eckel, and have been repeat offenders ever since. Bruce has set the bar really high, providing amazing learning and community building opportunities. I know that Barry will do an extraordinary job with this event as well. If you’re in the area (or feel like going there), definitely check it out. It’s your event to make what you want it to be.

In April, the Atlanta Java User Group will hold "The Practice of Java in Atlanta", the first Open Space meeting for the Java programming language in the Atlanta area. This is a meeting for passionate Java practitioners to discuss the state and direction of Java development in the Atlanta area.

What: The Practice of Java in Atlanta

When: Thursday, April 19, 2007 - Friday, April 20, 2007

Where: Holiday Inn Select (where AJUG regularly meets)

Who: The first 200 registrants

Why: See below

What is Open Space Technology?

Open Space meetings allow a group of persons passionate about a topic or issue to organize their own agenda in a way that is efficient and effective, yielding exceptional results. The following excerpt from the Open Space World wiki briefly describes Open Space Technology:

"Open Space Technology is one way to enable all kinds of people, in any kind of organization, to create inspired meetings and events. Over the last 20+ years, it has also become clear that opening space, as an intentional leadership practice, can create inspired organizations, where ordinary people work together to create extraordinary results with regularity.

In Open Space meetings, events and organizations, participants create and manage their own agenda of parallel working sessions around a central theme of strategic importance, such as: What is the strategy, group, organization or community that all stakeholders can support and work together to create?

With groups of 5 to 2000+ people -- working in one-day workshops, three-day conferences, or the regular weekly staff meeting – the common result is a powerful, effective connecting and strengthening of what's already happening in the organization: planning and action, learning and doing, passion and responsibility, participation and performance." [0]

Why Open Space?

Open Space meetings have been around for 20+ years, and have begun to make their way into technology circles. In the past year, Bruce Eckel's Programming the New Web [1], Dynamic Web Frameworks Jam, and the Java Posse Roundup 2007 [2] have been a few of the Open Space meetings that have people talking. Members of our AJUG community have attended these meetings, and the consensus has been that these are among the most engaging, beneficial gatherings in which they have taken part.

Our Theme - The Practice of Java in Atlanta

The Java presence in Atlanta is a significant one, and AJUG makes that evident. Our monthly meetings and mailing list include Java champions, authors, committers on key Java projects, and seasoned Java veterans with deep experience and insight. Our desire is to hold a meeting about what we are doing and should be doing with Java. What's working? What is not working? These are the conversations we wish to have, passionate discussions about where things are going. We hope you'll join us.

[0] - http://www.openspaceworld.org/cgi/wiki.cgi?AboutOpenSpace

[1] - http://www.artima.com/weblogs/viewpost.jsp?thread=153596

[2] - http://mindview.net/Conferences/JavaPosseRoundup

Please direct questions to Barry Hawkins at barry@alltc.com



User Interface Smackdown 2007
Explore Google's GWT, Adobe's Flex, and Microsoft's WPF for creating user interfaces

Registration is now open for the User Interface Smackdown 2007, being held April 4, 2007 at the Ann Arbor ITZone (Spark Central). The user interface toolkits that we will discuss and work with include (at least) Google’s GWT, Adobe’s Flex, and Microsoft’s WPF.

I’ve had a lot of fun doing Open Spaces events that Bruce Eckel has hosted in the past year. I exposed Bill Wagner (my business partner and co-founder of SRT) and our consultants to Open Spaces at CodeMash and they all enjoyed the experience as well, so we decided to start doing them locally, and we hope to do about 1 per quarter. Hopefully we will have the next one planned by the time that this one takes place (teaser: we already have some ideas in the works).

We believe that these events benefit the developer community. Not only are they an efficient and interesting way to bring timely knowledge to programmers, but they also bring the community together in a way that fosters continued communication and builds community. This helps everyone.

We believe that innovative user interfaces will be a key differentiator for software offerings in coming years, and learning how to use modern toolkits to build them is essential. We hope that we have a great turnout for this event and that it provides us with the motivation and interest to do more of these in the future, on different topics.

Cost for the event is $75 before March 26, or $90 after March 26 (and at the door, if space is available). Registration also includes continental breakfast and lunch.

This event is sponsored by Adobe, Microsoft, and SRT Solutions.

Hope to see you there!



Swag at the Java Posse Roundup

Cool swag

Is it rude to brag about the swag at a conference? Ah, well, I’m gonna do it anyhow. Next year, I’m convinced that the Java Posse Roundup 2008 will sell out during the early bird registration period, and it won’t be just for the swag.

But it was cool swag.

Cenqua and Google and O’Reilly sent t-shirts. There was a serious lack of shirts in small sizes. Kathy Sierra would NOT be pleased. She’s right … it DOES matter. Even the guys were amused at the number of XL and XXL. Not a small or medium in the bunch of Google or O’Reilly shirts. I didn’t check out the Cenqua shirts (I like their product, though).

O’Reilly sent some books and notepads. But they made the mistake of labeling the box “Dark Chocolate”. OK, the notebooks were great, but the expectation of chocolate kinda set the bar!

Google also sent some really cool flashy pins. Bruce’s company (Mindview) has great floaty pens.

Adobe sent a training video for Flex and a nice travel mug too.

Sun sent developer tools. I hope that I didn’t forget anyone. The swag table was quite laden with goodies. We have some cool notebooks that I could have taken, but the thought didn’t occur to me.

But next year, someone better send chocolate. I definitely know what SRT will take to its next event. Hmm, we’re sponsors of the Michigan Celebration of Women in Computing in a few weeks. Maybe I should see if we still have time to get chocolate!



My Reading List

My Reading List

I thought I would share what I’m reading now, and what I’ve been reading recently. And I added some podcasts, for good measure, and even a link to a cool development tool that I learned about at the Java Posse Roundup.

Online

Read today: article on JavaScript libraries

http://www.sitepoint.com/article/javascript-library/2

Blogs:

Blogs that I read regularly:

Bruce Eckel: http://www.artima.com/weblogs/index.jsp?blogger=beckel

Kathy Sierra: http://headrush.typepad.com/creating_passionate_users/

Joel Spolsky: http://www.joelonsoftware.com/

Bill Wagner: http://www.srtsolutions.com/blogs/BillWagner/default.aspx

And, of course my own: http://www.srtsolutions.com/blogs/DianneMarsh/default.aspx

Here are some blogs from the Java Posse Roundup, which are sure to become regulars for me:

Josh Marinacci’s blog: http://weblogs.java.net/blog/joshy/

Michael Levin: Swampcast and also Michael Levin's Weblog

James Ward: www.jamesward.org

Others that I used to read have become somewhat inactive. You know who you are …

Books

In progress:

Implementing Lean Software Development, Mary and Tom Poppendieck, 2007.

Comments: good source for lean software, but also draws a lot from lean manufacturing. Recommending to people in other disciplines as well. I’ll post a more complete review when I finish the book.

On my desk, in hopes of reading soon:

Software Estimation: Demystifying the Black Art, by Steve McConnell, 2006.

Podcasts

Most recent podcasts:

  • DotNetRocks, from 2/19.  Guest: Steve McConnell
  • Java Posse #107, Special from Crested Butte
  • Java Posse #106, News from 3/7
  • Ruby on Rails: Camping, Episode II
  • Several episodes of “60 Second Science”, from Scientific American

 

Podcasts I follow regularly:

  • JavaPosse – great podcast for keeping current on Java
  • DotNetNukes – entertaining podcast for .NET world

 

Podcasts in my queue:

  • TedTalks podcasts

Development tool that I’m going to try next

http://www.cenqua.com/



Java Posse Roundup: Day 4

Friday, March 9

Friday was the final day for the Java Posse Roundup. We had 2 regularly scheduled sessions followed by a final session which included everyone.

For the first session of the day, I attended a session on JNI, convened by Josh Marinacci of Sun. A major part of the discussion centered around the idea that perhaps JNI is overly complex for what people often use it for these days, and that maybe some assumptions CAN be made about the atomicity of calls made in the JNI (if the programmer says it’s so). Maybe we should have JNI, as it currently exists, and also JNILite.

JNA is also a good replacement for many of the common usages of JNI. Instead of the programmer writing JNI code, annotations are used to access native libraries, all without writing a single line of native code. Interesting perspective arose that there aren’t many Java programmers who actually WRITE C code anymore, and so the availability of something like the JNA is a good thing.

Many comparisons were made to Microsoft’s CLR and unmanaged code.

And, a lot of us remember the old recommendations to AVOID doing things using JNI because it wasn’t “pure Java”. Well, it sounds like we need to get past that, and use the right tools for the job. If it needs to be in native code, write it. Josh did a really cool demo during one of the lightning talks where he wrote a small amount of JNI code (I think he said one line!) to communicate with the motion sensor on his Mac, using that motion to change a display shelf of pictures to move to the next page. VERY cool! And totally impossible if you wanted to avoid JNI code, since the PCs don’t generally have motion sensors. We really need to be able to use the native interface for things like this, and for creating innovative user experiences. Maybe instead of scaring people away from the JNI, we should come up with some recommendations and (dare I say?) best practices for its use.

Next, I went to a discussion of applets, positioned as “Applets: Does Java need an answer to Flex?”. Very quickly, it became apparent that there was agreement that applets have a certain “suck factor”. When the audio of this session becomes available on the Java Posse, this is something that I think both Java programmers and Microsoft programmers will find interesting.

With applets, there’s simply not enough attention paid to detail. Flash, on the other hand, provides a user experience where you can’t really even tell that it’s a Flash app because the plug in was done so well.

The recommendation was made that we change the applet architecture. Perhaps a 2 phase load would make sense. Everyone agreed that a spinning Sun logo, reminding the user that s/he’s waiting on a Sun applet is bad marketing! The slow loading is not in the JVM, but rather in the plugin.

A competitive requirement is that desktop apps can directly connect with web apps. And pretty much all agreed that Flash is winning on web for user interface from a Java perspective. A great amount of stress was generated in the group, centered around how to move forward. Waiting for Java 7, even as Java 5 is still being rolled out into corporate environments, probably means death for Java. The question was ultimately raised, “Is it worth solving this problem?”. I agreed with the group of people in the room who don’t believe in playing catch-up, not with Microsoft, not with Adobe. Pick the sweet spot that Java has and work in interoperating with Flash using Flex. Forge an alliance with Adobe.

IMO, Microsoft would take both paths. They would fix the plugin AND they would forge an alliance with Adobe. I don’t know if Java will take that direction, and that’s OK as long as they don’t continue trying to play catch-up.

This session was ultimately attended by everyone who was still in the building. Little by little, the crowd grew. The energy was amazing. The audio for this session will be incredible, and I would urge anyone to listen to it, both for the ideas and for feeling the energy of an open spaces event.

The last session of the day was the closing session for the conference. We all met together, and went around the room to suggest what improvements could be made. The appreciation for the Open Spaces format was evident the night before, when the Java Posse did a live podcast recording at the house that they were renting. And Camp4Coffee got a big plug too (“second best consistent coffee in the US, according to Pete from Australia).

Anyhow, so instead of asking how people felt about the event, format, etc., the question was asked about what could be improved. This was all recorded, and will be made available through the Java Posse at some point. My suggestions included involving the people at home more. Since the Java Posse podcast has a large audience, of which only a tiny percentage actually attended, I feel like somehow keeping the people who couldn’t come involved would be a great way to build the community and keep events like this populated in the future. As it was, I think that when registration opens for Java Posse 2008, the event will sell out quickly.

For those of us who have attended several of these events, we’re cautious about changing much about the format. It works. Tread lightly so as not to break it. But one thing that a lot of people suggested was ancillary to the conference itself, and more personal in nature. It would be nice to be able to include the spouses and families in a more formal way. Bruce and I have talked extensively about arranging childcare in Crested Butte so that my family could come (without my husband being in a hotel room with 2 kids, staring off at the snowy mountains that he can’t ski). Others echoed this. Even for those who wouldn’t be bringing kids, it would be nice for the spouses to have a parallel board, where they could arrange activities among themselves. That really relieves the pressure on people who are feeling guilty about leaving families at home!

As it was, many of the spouses attended the lightning talks in the evenings. If there had been scheduled spousal activities, people felt that their spouses would have wanted to attend. I’m looking forward to that in the future, even if my spouse ends up being the only male in the group!



More Posts Next page »