Monday, December 22, 2014

Push it, push it real good (Mercurial)

After struggling for a good chunk of the weekend, I finally was able to push my first changeset, which fixes the bug that caused the Python debugger to crash when you removed a breakpoint during a debugging session. Fixing the bug was fairly trivial, but pushing the change to the NetBeans repository took an obscene amount of time because the HgHowTo documentation was old (way before implementation of NetBeans IDE's "Team" menu), and (due to lack of knowledge) I somehow ended up trashing my local repo. Clone again, Obi-Wan...
But that's all behind me now, as I follow the (?) Salt-n-Pepa mantra: "fetch-before-push".

Here is the redacted log from my first commit - I am now a committer!

Mercurial Push
--------------
INFO Pushing To: <External Repository> - https://****:***@hg.netbeans.org/main/contrib ...
INFO Changesets to push:

changeset   : 18213:4afc82a328ce
tags        : tip
author      : Lou Dasaro 
date        : Mon Dec 22 03:59:38 CST 2014
summary     : #170078 - Patched Python debugger code to eliminate crash


pushing to https://******:***@hg.netbeans.org/main/contrib
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
remote: notify: sending 1 subscribers 1 changes
INFO Pushed To: <External Repository> - https://***:***@hg.netbeans.org/main/contrib
INFO From:    C:\Users\Lu\Documents\NetBeansPlatform\main\contrib
INFO: End of Mercurial Push

Sunday, December 21, 2014

Meet the Pythonistas!

The other evening, Greg and I attended the Chicago Pythonistas Meetup Group's "Python Project Night" with forty members at Braintree's downtown facility. I spoke to the group for about ten minutes on what the NetBeans Python Project was about, and polled them on a few items. For this group:

About 90% use Python 2.7 exclusively,
About  7.5% use 2.7 and 3.x (but only 2.7 in production),
One person uses Python 3.x exclusively, on production applications.
About 85% typically do not use an IDE (they use a good editor, though), and
the remaining %15 use an IDE ocassionally for tougher projects, and
their IDE of choice is PyCharm (by JetBrains).

After pizza, Greg and I met with several users and discussed Python Web Frameworks.

The web frameworks mentioned the most were:

Django, Pyramid (Pylons project), and Tornado (one user raved about Tornado).

We also asked some users to look at part of the jpydaemon code and they explained tuple assignment to me a little better than I had previously understood. They also pointed out some potential problems with the existing code.

My thanks to Greg Winston for assisting, and especially to Chicago Pythonistas Organizer Sheila Miguez, who also referred us to ChiPy and posted a message there on our behalf!

Friday, December 19, 2014

Python Project recruits Gregory Winston!

Gregory Winston is our first team member!  I was very happy when Greg emailed me to accept the position of Analyst on the Python Project. This role is essentially like a Product Owner for a particular feature (see the list of "Features" under "Contents" at section 1.2).

He and I have worked together on projects for many years, and he is a good friend.

Greg spent thirteen years over at The Options Clearing Corporation, where he was instrumental in transitioning the OCC from the mainframe to a web environment. More recently, he has been coding in Java and other languages, building robots, and working as a "Mad Scientist". He is an Organizer at the Chicago NetBeans and Chicago JavaFX user groups. Greg is also an outstanding musician and actor.

Please give Greg a warm welcome [thunderous applause]!

Saturday, December 13, 2014

About Lou Dasaro

In case you wanted to know about me, and where I'm coming from:
I've been in software development for about twenty-five years. I've worked as a programmer, analyst, software tester, QA manager, DBA in development, team lead, project manager, and spent a good chunk of my life traveling to "exotic destinations" as a consultant. You'd recognize most of my clients' names. Most of the "baby Bells" and other phone companies, corporations large and small.
My LinkedIn profile provides the detail.

I have also developed many products. You may have heard of two of them:

FairPlay, which was the Digital Rights Management system I wrote at Veridisc that (later) enabled Apple to secure content for iPod/iTunes. As it turns out, this was not as bad an idea as it sounded (at the time), because if Apple iTunes hadn't started out using a DRM, the RIAA would have never allowed "downloading music from the Internet", i.e. you may recall what happened to MP3.com

And (long ago) LabelMaker III, which I wrote for a large label manufacturer. It was surprisingly popular, in Manufacturing, at least. Must have been that flashy Multiplan-like UI that I used :-)

Back to the future: over the last year or so I've written a JavaFX application for a startup, led the JavaFX "Tribe" on NetCAT 8.0 (testing JavaFX support). I was the QA Manager at a "Big Data Analytics" (JavaFX with Cassandra) company, until they suddenly folded and their IP assets were acquired by SAP. Right now I'm in the middle of coursework toward a certificate in Cybersecurity from the University of Maryland through Coursera. Last Fall I studied "Software Security" - I was surprised my knowledge of 808x assembler is useful again!

At home, I'm rebuilding my media server so I can cut the cable. Since I have a bunch of servers laying around, I might set one up to do builds, because the build time for NetBeans is substantial!
Sometimes I play loud guitar. That's all for now.

Friday, December 12, 2014

This is the first post in my NetBeans Python blog!


Earlier this second week of December, I spent twenty hours wading through the Python.* code in /contrib, and building NetBeans. Loooooong build.

Yesterday, I became Project Leader for the community-supported Python plugin for NetBeans, and spent the day (and night) creating the Python Project page at NetBeans and many other web documents to explain what we are trying to accomplish, with a target audience consisting (hopefully) of potential volunteers and contributors. My role as Project Leader is hands-on, meaning that in addition to enabling planning, communication and so on, I am also knee-deep in the code.

Books are helpful:
I am actively reading: The Definitive Guide to NetBeans Platform 7 (Heiko Böck)
 occasionally reading: The Definitive Guide to Jython (Josh Juneau et al)
infrequently glancing: The Definitive ANTLR 4 Reference (Terence Parr)

Why are they all "Definitive"?

More in a moment...