JavaFX Talk for RJUG

Jan 15, 2009 in Technology

This Tuesday I presented on the JavaFX technology to the Rochester Java User Group. It was a lot of fun to do a technical presentation again – it’s been a long time since I spoke on technical stuff. Dave Cok of RIT brought his compiler class to the presentation. That was a little daunting – language theory is not my strongest side – but was very motivating as well.

I used my pet project to talk about how one might migrate a Java project to JavaFX and how to mix Java code and JavaFX code. I have been rewriting Bahamontes in JavaFX and named that project “Anquetil” to stay with the theme (this reminds me that should upload what I’ve been doing with Bahamontes since July ‘07). In order to get the Anquetil work in a state to fit my talk it was a mad scramble during the weekend and Monday. It also became a time scramble because I stared myself blind on two programming mistakes: situations where you know that it is something simple that you have done wrong in the code but you’re just not seeing it. I entertained the audience with them, and here they are for your delight as well.

The first code snippet (why do I get null pointer exceptions during runtime!?):

public class Mapping extends JPanel {
        public void Mapping() {
                myLayout();
                mapClient = new Exec();
        }

        private void myLayout() {
                setLayout(new BorderLayout());
                setPreferredSize(new Dimension(1000, 450));
                JLabel mapLabel = new JLabel();
                mapLabel.addMouseListener(
                        new MouseAdapter() {
                                public void mousePressed(MouseEvent evt){
                                        mapLabelMousePressed(evt);
                                }
                        });
                add(mapLabel, BorderLayout.CENTER);
        }
        private Exec mapClient;
}

And the second (why is the calendar component not showing on the screen in the way I want!?):

public class MyCalendar extends JXMonthView {
        public MyCalendar(final RideData parent) {
                datePicker = new JXMonthView();
                datePicker.setShowLeadingDates(true);
                datePicker.setShowTrailingDates(true);
                datePicker.setTraversable(true);
                addActionListener(
                        new java.awt.event.ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                                        parent.dateChanged(getSelectedDate());
                                }
                        });
                datePicker.setFlaggedDates(parent.getFlaggedDates());
                datePicker.setSelectedDate(
                        new Date(parent.getFlaggedDates()[0]));
                datePicker.commitSelection();
        }
        private JXMonthView datePicker;
}

Anyways, onto JavaFX. Sun released version 1 of JavaFX on December 4. The technology makes it much easier to create media-rich applications that run on desktops, laptops, in browsers, on cell phones, settop boxes, Bluray players and so forth. With the new plug-in in Java SE 6U10 applets are much more powerful, can interact with JavaScript and with CSS stylesheets, and you can drag them out of the browser.

The part of my own talk that I enjoyed the most was discussing the JavaFX Script language. It has a number of features that enable you to write very efficient code such as “bind”, “on replace” and the operations you can do on sequences. The language has a concept of time (it knows what seconds, milliseconds, minutes and so on are), transformations, interpolations making it very easy to do animations. We examined the source code of some of the samples that come with Netbeans 6.5 and did things like “what happens if you remove ‘bind’ from that statement?”

References:
– The JavaFX website: http://javafx.com
– Get Netbeans 6.5 with the JavaFX SDK: http://netbeans.org
– The new plug-in: http://java.com
– Language tutorial: http://java.sun.com/javafx/1/tutorials/core/
– API reference: http://java.sun.com/javafx/1/docs/api/
– Josh Marinacci’s blog: http://weblogs.java.net/blog/joshy/

Growing RJUG

Oct 28, 2008 in Technology

Met with Tom and Rob yesterday evening at Timothy Patrick’s – an Irish pub, appropriate no? – to brainstorm on how to grow the Rochester Java User Group. How to get on average a larger turnout at the meetings, how to attract more members.

Over the last year or so we did manage to attract quite good speakers – James Gosling, Ted Leung, Neal Gafter, Brain Leonard and others. But the size of the audience could have been better for these speakers and topics. So we’re going to try a number of things to see if we can change this.

One approach is to broaden how we reach out and connect to the membership. Currently the main avenue is the web site and the mailing list. We’re going to try some of the social networking places like LinkedIn and Twitter to give potential interested developers more ways to find us and to communicate with us. The mailing list is mainly one directional, a LinkedIn group gives the possibility for a member to start discussions. And the web site could do with a refresh.

Getting good speakers is one thing, making sure speakers cover topics that match the local interest is at least as important. To that end we’re going to hook up with local companies doing Java development and talk to them about what value RJUG could provide to their developers. In this vein, we do get regular participation from RIT (one or two of the professors, a few students) but not much if any from UfoR (maybe because the meeting is at RIT?), and so an action item for me to go talk to the faculty there.

In addition to learning about new Java technologies the user group is seen as a place for networking. While our meetings aren’t specifically geared towards that, we do have a social aspect attached to each meeting: those interested go to McGregor’s (aka Conference Room M) afterwards just ti chat. Something we don’t really advertise in the meeting announcements (ie you have to have been to a meeting to know about it).

During the summer months it is always hard to get people into a conference room in the evening. Thus far this meant we don’t have meetings then because of the very low turn out. Perhaps during that time of year we solely focus on the networking aspect at a nice beet garden and forego the formal part.

In good silicon valley style we decided that we need a logo and a t-shirt. Now, Duke was open sourced under a BSD license, so no hurdles to our creative skills!

stretch mark removal products
Спорт-как способ похудеть ссылка сайт кремлёвской диеты женские сайты диеты как быстро похудеть и накочать мускулы как можно быстро похудеть без проблем рисовая диета для похудения как быстро похудеть, рецепты похудения как похудеть быстро без дееты за 14 дней срочно похудеть с помошью салона красоты в казани как быстро похудеть народные рецепты как похудеть быстро и не мучить себя голодом диеты для снижения веса сайт девчат быстро похудеть на 30 килограмм срочно похудеть на 5 кг. за 10 дней алан кар легкий способ похудеть скачать бесплатно как быстро и безвредно похудеть? как похудеть быстро за месяц 10кг спомощю воды диетхудеем быстро без с упражнениями отзывы средства для похудения хочу быстро легко похудеть быстрый способ похудеть aллен кaрр срочно похудеть за три дня три колограмма быстро похудеть без лекарств худеем быстро после родов ка быстро похудеть делая клизмы сайт диета доктора аткинса легкий способ похудеть от алена карра диета для похудения из куриного мяса танец живота как способ похудеть индивидуальная диета тест худоба ру легкий способ похудеть