Showing posts with label education. Show all posts
Showing posts with label education. Show all posts

Wednesday, January 20, 2016

Looking Forward to IBM Connect 2016

In less than two weeks I am excited to attend IBM Connect 2016 in Orlando. It is now a full twenty years that I have worked in the yellow bubble.  I was just a newbie when I attended my first Lotusphere in 1996. I went again in 1999, and then not again for another fifthteen years until 2014. This will be my fourth time.

As is always the case, there are many great sessions this year. The sessions are only part of what makes the conference great, the other part is the people you meet.

These are my top 5 sessions that I am most looking forward to attending.


1) Real-Time Video Chat XPage Application Using Websockets and WebRTC Technologies:  This seems like a fascinating session and I am excited to hear from Csaba Kiss who I met at MWLUG this past August.

2) Optimus XPages: An Explosion of Techniques and Best Practices: I am excited to see my friend John Jardin again. He is a dynamic speaker with a passion to share knowledge.

3) The Grid, the Brad, and the Ugly: Using Grids to Improve Your Applications:  Brad Balassaitis's blog has been a huge help to nearly every XPages developer. It will be great to hear his latest take on the grid choices that we have now.

4) 'Marty, You're Just Not Thinking Fourth Dimensionally': Troubleshooting XPages: Paul Withers is a brilliant developer and I am really looking forward to his session.

5) Outside the Box: Integrating with Non-Domino Apps Using XPages and Java: This is an area where I have quite a bit of recent experience. It will be great to hear what Julian Robichaux and Kathy Brown have to say on the subject.

There are many other sessions I am looking forward to as well.  If you are still considering whether to attend the conference this year it is not too late. The nice thing this year about being off Disney property is that there are several nearby hotels within walking distance that have very reasonable prices.  

Thank You, Thank You, Thank You


I also have unfinished business in thanking those who nominated me for IBM Champion. It is a great honor to have been chosen this year. I want to specifically thank Mark Roden who told me 2 years ago that I could be a champion. I didn't know what to think at the time, but that confidence did motivate and encourage me,


Saturday, February 1, 2014

My Thoughts on IBM Connect 2014

As the snow falls where I am the day after arriving back, here are my thoughts on IBM Connect 2014.  If you read my pre-conference post, you will know that this was my first LS/Connect in 15 years.   Having missed the last 14 years I was very excited to get to go again. Despite the long gap, it was all very familiar.

My personal goals for this conference was to of course, learn about the latest and greatest in the world of Domino/XPages, but my primary goal was to meet as many people as possible.  In both respects, I think the conference was a big success.

Thoughts on the General Sessions

I have to admit that I hadn't heard of American Authors prior to knowing they were going to play at Connect. My wife is a fan of them, so she was excited I would get to see them.  They were great, I loved the energy, and I plan on buying their latest album.  

The next hour or so of the OGS, wasn't really all that interesting to me live, but that is not all bad. Twitter was abuzz with mockery and jokes, which made it all bearable.  I think Kathy Brown, and David Leedy cracked me up the most.  The OGS is not really for technical people like myself.  It did get a lot more interesting when Luis Benitez did his demonstration of the Mail next mail client.  

The best general session by far was on Tuesday.  I loved the message that Scott Adams presentted.  I have already watched it again with my wife and daughters. The direct link is here, kudos to IBM for making that available.

They made us wait until the end to see Scott of course, but I thought the speakers before that were really good.  The CEO of Kenexa was really good, and I plan to watch that one again too.  I also want to say that upon reflection, I really like the theme of the conference which was "Energizing Life's Work".  Personally I have had a similar philosophy especially in the last 18 months.  In hindsight, I think the best thing to have happened me was having trouble finding work in the summer of '12  It lit a fire under me that wouldn't have happened otherwise.  All that to say is that I approve of that message and do feel energized with the work I do.  We all have to work, I am blessed to be doing something I love.

Thoughts on Breakout Sessions

Here are the highlights of the sessions in which I learned the most (in no particular order).  

1)  XPages Performance and Scalability by Tony McGuckin and Martin Donnelly

I had been exposed to this material before, but in this session it began to really make more sense to me.  I took 4 pages of notes in this two hour session  Here are some hightlights:
  • "XPages is much more feature rich than even the latest JSF" - Tony
  • Performance and Scalability need to be built in from the start
  • "You develop performance, you don't get it for free" - Martin
  • Once a week use the XPages toolbox to profile your application
  • Each control with a rendered property gets executed 4 times for every submit
  • Consider using the Dynamic Content control for hide-when functionality
  • For best scalability, keep pages on disk, this is the new default in 9.0.1

2) Be Open, REST services and Web Services by Bernd Hort

In this hour long session, Bernd covered lots of great info on these two topics with highlights being
  • Java 6 built into designer has all you need to use Web Services
  • Host your own WSDL files in case the provider moves or put security on them
  • RESTclient is a very useful Firefox add-on
  • "Jersey" is a utility to map json to objects

3)  ExtJS in XPages by Marky Roden

In this session, Marky opened developers eyes to the possibilities that are available using ExtJS.  Even though I have used ExtJS for six months, I still came away have learned some really cool tricks
  • Show the user something is happening when loading large amounts of data, use a progress bar
  • Using HTML5 local storage, you can poll the server for updates and cache results and only update results if data changed <- AWESOME
  • Use a Buffered Reader, which builds and destroys grid set and you can't tell it is happening.

4) Bootstrap4Xpages by Mark Leusink and Phillipe Riand

I almost didn't go to this session, since I have used bootstrap extensively but I am really glad that I did. Mark really built something that will make Bootstrap easier to implement for XPages developers
  • This runs as a server plugin, so all applications on the server have access to it
  • You can add your own components to what is 'out of the box'
  • Includes a really awesome file upload control
  • You should avoid using dojo controls when using this

5) XPages Mobile Development in 9.0.1 and Beyond by Tony McGuckin and Eamon Muldoon

The XPages team in Ireland had been working hard on improving mobile development.  
  • The Single Page Application wizard makes the development process much easier. 
  • The built-in managed bean called deviceBean gives you info on what device is accessing the app
  • onOrientationChange() event that can run serverside code on every orientation change 
  • onResize() event that also can run serverside code on every resize
  • FUTURE:  Built-in support for Responsive Web Design
  • FUTURE:  Support for Progressive Enhancement (gestures and behavior)

6) IBM Worklight: Going from XPages Mobile to Native Mobile Applications by John Jardin and Marky Roden

This session talked about the need for native applications.  They then did a demonstration of the features of Worklight until close to the end when some this amazing happened.  

They took a plain XPages mobile application and made it into a native mobile application.  John Jardin figured out that you can display the application in a iFrame and using Worklight you can have the application work as a native app on iOS or Android.  You can even use Worklight to bypass iTunes or Google Play. This is the single coolest thing I saw at IBM Connect 2014.  Kudos to John Jardin who figured this out. I wish that I stood up and clapped but it took me a few seconds to grasp what I had witnessed.  

7)  Meet the XPages Developer Birds of a Feather 

This was an hour long Q & A session with the Dublin XPages development team.   I learned quite a bit of what the community is asking for.  For example, I knew before that Designer used an older version of Eclipse, I just didn't realize how many people are really bothered by that.  I guess I never considered Designer to be a big problem, and I realize now that I am in the minority.  Besides that were lots of other good topics discussed.  I thought the IBM team handled things well, as did the audience.  I will say that I have a ton of respect for the team that gave us XPages and in addition I really respect them making themselves available in the way they did.     

Other noteworthy sessions that I attended and really liked:
  • Localization of XPages by Brad Balassaitis and Kathy Brown
  • Build Apps Rapidly by Leveraging IBM Collaboration by Henning Schmidt and Niklas Heidoff
  • IBM Domino 2013 and Beyond 
  • Xpages and the SBT by Martin Donnelly and Padraic Edwards
  • IBM Worklight for XPages Developers by Mat Newman
  • XPages 9 Circles by Paul Withers and Mike McGarrell
  • Open Social - Extending your Arsenal by Ryan Baxter and Yun Zhi Lin
  • Domino Designer by Kathy Brown and Julian Robichaux

What I didn't like about IBM Connect 2014

This will be a short section, because there wasn't much that I didn't like.  If I had to focus on one gripe it would be the scheduling of XPages related sessions.   There were some times, when there was nothing really of interest to me being presented, and other times, when there were two, and sometimes three interesting XPages/Mobile/App Dev sessions going on at the same time.   


Fulfilling My Primary Goal

When it comes down it, all of technical things I learned at the conference, I could have done on my own by hours of personal study.  My primary goal was to meet like minded people and turn online acquaintances into friends.  I am usually reserved but I promised myself to take every opportunity to reach out to everyone I came across but especially those I have followed online.  It was a little difficult at first, but after a few times it became second nature.  I met so many that awesome people that I can't list them all so I better not try. It was a limiting staying away from the Dolphin and Swan but I feel like I made the best of each chance I had. Despite being excited to see my family, I was sad to leave having made so many friends.  I hope to not have to wait 15 years to return.

It was great meeting Chris Toohey, and talking about things we had in common since I was raised in his native Pennsylvania 
Marky Roden, Brad Balassaitis, and Tim Tripcony at the PSC Party
Frank Santorelli and Mike Davis from Cincy who I enjoyed spending time with at Hollywood studios. Here we are in line for the Toy Story ride.

Wednesday, January 15, 2014

IBM Connect 2014

This year I have the privilege of being able to attend IBM Connect 2014.    This will be my third 'Sphere that I have attended, and the first this century.  My last Lotusphere was in 1999, and before that 1996. Back then there were loads of people, and it was very hard to score a ticket.

When I went in 1996, I had just started working with Notes just a month or two before, and my manager comes to me and hands me a ticket and says, 'Guess what, you are going to Orlando'.   He had bought the ticket for himself, but had a conflict, and I got to go.  Everything was so new that year, I just remember taking tons and tons of notes (no pun intended).  I remember well all the cheering and clapping when the features of Notes 4 were revealed.  Good times.

In 1999, I got to go again and learned a ton more.  I think that was the year that Notes 5 was introduced to great fanfare.  That was also the year that I almost accidentally knocked over Ray Ozzie.  I was entering a door and it was sunny and I couldn't see someone about to come out due to the reflection, and I nearly knocked him over with the door.  Thankfully Ray was nimble of feet and jumped out of the way just in time. Lotusphere was always fun for meeting people all over the world, I remember hanging that year with several Norwegians and Brits.  Good times again.

For many years after that, I was either an hourly contractor or worked at a company that didn't put value in conferences.  If I was to attend Lotusphere it would have to be on my own $.  With my current job, I am a salaried employee, and at a company that puts value in training, so I am able to go this year.

In addition to the sessions, I hope to meet lots of people.  I have tried to be more active in the Notes community, and hope to meet many that I have interacted with on Twitter, Stack Overflow, or blogs (there's or mine).   If you see me, please come by and say Hi.  If you have a get together, I am open to invites, I am @szavocki on twitter.

My Connect 2014 Schedule (subject to change):


Life is full of conflict

I know that time conflicts are inevitable, but there are several sessions that I really wanted to attend that I can't due to conflicts.  These sessions are ones I can't attend due not being able to be in two places at once.

  • Creating a Great XPages User Interface (really hoping they add a second Sunday session for this one)
  • Creating State of the Art Web Applications with REST services
  • End-to-End Quality Processes for Top Notch XPages apps
  • Improving your IBM Designer Experience
  • IBM Domino App Dev: Today and Tomorrow
  • Rapid XPages Dev using the Application Layout Control
  • Creating a Mobile Application Framework with XPages (This one pains me the most)

Free Certifications

In addition to the sessions, I also plan on taking two certification tests since they are offered for free.  I am already an 8.5 Application Developer, so I plan on taking the update test to make me a Certified Application Developer in Notes 9.   I also plan on taking the Notes Admin Test LOT-406, which if I pass will make me and Advanced Certified Application Developer in Notes 9.  Right now, I am studying for both tests.  I hope to take the first on on Monday, and the second on Wednesday.  

Again, I hope to meet many of you that I have come to know virtually these last few years since I decided to become more involved.  See you all in 11 days.

Tuesday, May 28, 2013

Learning PHP, My Observations and Comparisons to Notes & Domino

I decided a while back, that not only am I going to study topics that I need for my job, that I am going to study the alternatives to what I do.  This past long holiday weekend, I decided that first up, I was going to learn PHP.   I spend a good part of my Memorial day weekend, completing a 5 hour course on Lynda.com, as well as selected chapters of another older PHP course.   I also spend time researching the present state of PHP, and the community behind it.

PHP has been around since the late 90's and rose to prominence around 2000.  It is mature and widely adopted and is used on up to 70% of the web.   Here are my observations in no particular order.
  • It is a server-side language like SSJS or Lotusscript
  • PHP is the "successor" to CGI/Perl scripts
  • It has syntax similar to C and Java, with the use of curly braces, and semi-colons at the end of each line.   
  • You mix the code in with your HTML, like JSP and ASP.  It is analogous to using inline javascript using <script> in your HTML instead of having all your code in external files.     (You can include your code and keep it elsewhere, which I would think would be the best practice.)
  • It is like javascript in that it is a scripting language, made for a certain purpose.  It is like JS in that you can use a function, before actually writing it in the same page.   
  • It has some really weird syntax.   Instead of a dot operator it uses a " =>", and uses a "." for string concatenation.   There are also times where you actually need to leave off the closing tag.
  • It is used mainly with Apache servers as a plug in, although it also runs on IIS.   PHP will never be used in conjunction with xpages unless IBM adds it to Domino server and doing so wouldn't make a bit of sense.
  • There are loads of built-in functions to learn and use, and you can also make your own.
  • Documentation seems to be excellent.
  • Debugging looks like it is a major downside of PHP.   Without good standards, it can convoluted and become a maintenance nightmare.   Error messages are crptic (some even contain the Hebrew language).
  • PHP uses the confusing term "variable variable" which is I think is the iterator in an array of variables. There is even a special character '%' to signify a variable variable.  After learning this, I thought that they made it harder and more confusing than it needed to be.
  • There doesn't seem to be any console for debugging.  You can debug by writing variable values as HTML, and reloading page to see the value. You then remove your debug code when you get it right.
  • There are many frameworks that are built on top of PHP, the most popular being CakePHP.
  • Wordpress is built on top of PHP
  • There are Object Oriented like parts of PHP, in a similar way that there are OO like parts of Lotusscript, but it is not considered an object-oriented language.
  • PHP is usually tied together with a MySQL backend database
  • The many built in functions are like @Functions in Formula language    Think of it as combining LotusScript and @Functions together in one language.
  • You wouldn't use PHP to do anything outside of a webpage.  That is not a limitation, the language is intended that way.
  • If I was a PHP developer, I would definitely learn another language like Java or C# as a back up.  
  • In some circles, PHP is not considered a real language.  I don't know enough to form that opinion myself, but on the surface it seems untrue.   I will say this, that I think it would take the same effort for a PHP developer to learn Java as it would take for a LotusScript only developer to do the same.  
  • PHP is in decline, but will still be used for decades.  
  • PHP has a strong community that seems to have begun "circling the wagons' in it's defense.  The proponents seem a bit defensive to me, of course as a Lotus guy I understand that.
  • There seems to be quite the rivalry between Ruby and PHP, those that know both prefer Ruby
  • Since PHP is free, I don't think the PHP community has too much to worry about.   Good enough free, usually beats better paid in the eyes of most companies.
  • The general trend in web development, is for more processing to move to the client-side using javascript and ajax and away from server-side processing like PHP.   I believe that you can use PHP with ajax together.although the course I took didn't cover that.
  • It is fairly easy to begin writing PHP, and write code quickly.  Despite its quirks, it looks like a fun language to work with and to learn! 
  • Xpages > PHP.  A more fair comparison would probably be xpages compared to a PHP framework, but I do not have the knowledge yet to make that comparison. 
Those are my high level observations of PHP from a Domino/Xpages Developers perspective.   I might spend some time learning about PHP frameworks from here.  Also in the future, I intend to devote extended time to learning Node.js, Ruby on Rails, Wordpress, ASP.net, and especially Sharepoint 2013.

Wednesday, April 3, 2013

Video Based Training rocks!

I discovered this year how much I enjoy formal video based training.  For me, it is really beneficial because I fit in anytime whether eating lunch or in the evening.   I like the way it is broken into short chapters.  I had already discovered subject based videos like Notes and 9 and benefited greatly, but what I am talking about here is more like a college class with subjects that are covered in a comprehensive way.

I still like books, and all but admit that I struggle every time I try to open my "Mastering Xpages" book.   I am making good progress with Head First Java, but still have a ways to go.   Books are great for helping me fall asleep.

This year I was turned on to Lynda.com, which is amusing for me because my wife's name is Linda.   I first heard about it from listening to the Taking Notes podcast.   Since then I have signed up and have completed 8 courses, and have many more that I intend to watch.  It cost $25 a month and is well worth it.

The course I have completed on Lynda.com are:
  • Up and Running with HTML - although I knew this pretty well, this helped fill in the gaps with the current version of HTML.  James Williamson is an excellent teacher.
  • Javascript Essential Training - another subject I knew fairly well, but this course really gave me a more rounded understanding of how Javascript works and then in the end tells you to learn jQuery.
  • HTML5 First Look - Great course on the new standard for the web
  • CSS Fundamentals - I really needed this one.  
  • Javascript and AJAX - loved this course, Ray Villalobos really taught me a lot
  • Responsive Design Fundamentals - I feel better prepared for the eventual mobile development project
  • Javascript and JSON - similar to JS and AJAX - really learned a lot of good stuff in this one
  • CGI Essential Training - older course, but I wanted to know more about the old way of doing things
These are courses I am currently working through:
  • jQuery Essential Training - taking lots of notes, great course so far
  • Java Essential Training - using to help train my daughter to learn java
  • Up and Running with Bootstrap - just started this one
In the future, I have intentions to use Lynda.com to learn Sharepoint, and Ruby on Rails, just because I want to know how other frameworks do things, and you never know when that might be needed.

In addition to Lynda.com, I have a free month to use at some point on pluralsight.com, which has a lot of the same content. 

I am also working through Matt White's XPages101, but I will save that for another post.

Tuesday, March 5, 2013

Teaching my daughter Java

We homeschool our four children.  We have many reasons for doing so, and one is to teach to our children's strengths.   My oldest daughter is very interested in computers and seems to understand concepts quickly.

It occurred to me a few months ago that she is now old enough to start learning some marketable skills.   She just turned 12, but I think she is ready to be stretched and learn about what Dad does for a living.  Do I expect her to be a programmer, well maybe if she decides she likes it, but I think the skills I am teaching her translate very well into other areas.

The first thing I did before starting was to show her some salaries on dice.com for Java programmers.   This helped her realize that she should take this seriously.    I also showed her a search of Lotus Notes Domino programmers and how many fewer jobs there were out there.    I did this to help her understand why her Dad is also spending so much time learning new things.

A side benefit, is that it helps me contribute to of her education, something my wife has done entirely up to this point.   It also gives me a chance to spend time with her as she is going through the awkward stage of growing into a young woman.

To teach her Java, I am using a combination of resources.   I am mixing up book, audio, and video resources.   The majority of this is provided by the site:  http://howtoprogramwithjava.com/  My daughter seems to like the author Trevor Page.   He is younger and has a comfortable speaking style.

These are all the resources we are using:

  • Book:   http://javapdf.org/   This is a Trevor's book of the same name as his site:  How to Program With Java.   We bought the kindle version on Amazon.     
  • Book:   Murach's Java - This was my old textbook when I studied Java at a college in Dallas.   I really like this book, and I am having my daughter read selected pages on subjects we are covering.  
  • Book:   Head First Java  This the book I am reading to stay current. Later, I will use the many exercises in it to teach my daughter.  It is geared for readers with prior experience.

  • Audio:  Trevor has free podcasts on iTunes that match well with chapters from his book.

  • Video:  Trevor has a video teaching series on his website that we intend to subscribe to.   Right now, we are still watching the free videos he has included.
  • Video:  Lynda.com - As we get further into Java, I intend to supplement using videos from Lynda.com's Java  courses.