wxPython is Kicking my Ass!

Let me preface by saying that I’m not a programmer nor software developer nor anything of the sorts. I’m a sysadmin with scripting skills to solve automation problems, for the most part. I took all the C++ classes in High School but I never pursued software development as a serious academic interest or career. I know “about” software development and it’s practices but I don’t feel that I have any particularly interesting skills in the field.

Now that I want to write a site-specific GUI-based LDAP management tool as referenced in a previous post, I’m jumping back into software development a little bit. I’ve decided to use wxPython for a few reasons. We already use it within our group, we have in-house expertise in the form of an actual developer and the GUI-builder tools seem to work best with wxPython (wxGlade was producing bad wxPerl code, go figure).

Let me also say that I’ve never been a big python guy. I’m really a perl kind of dude, so this learning a new object oriented API while learning python at the same time is a challenge… but I’m making progress! Basically, wxPython seriously kicked my ass for about 3 days but now I’m gaining speed and things are moving faster than I expected. Python and wxPython are starting to make more sense and behave.

So far I have a frame with menubar, statusbar and a three-tabbed notebook with a grid on each tab of the notebook. The program is able to connect to an LDAP server (with TLS) and query the directory for all the users, groups and autofs information and then display that information in the grid… and that’s about it so far. I need to build in new user, group and autofs functionality as well as basic editing of existing entries (in place editing with wx.Grid looks really nice but I haven’t tried it yet!).

Although my ass has been kicked for the last few days, I’m actually feeling pretty optimistic about it now.

Hopefully I can share the kludge code at some point, though it will never be easily transportable to different environments since I’m not building this to be the end-all-be-all LDAP user/group/autofs management tool, just one tailored for our environment.

So I Bought a New Phone…

…and you guessed it, it’s an iPhone 4.

My previous phone was old faithful: a Nokia 6020 that was, hilariously enough, my first cell phone. My Nokia took many beatings over it’s lifetime including two dips in the ocean and recovered from temporary problems as a result in very short order. It always just worked as a phone and nothing more. It’s battery lasted long enough that I would pretty much forget to charge it after a week or two and realize I have next to zero battery left at inopportune times because charging it was the furthest thing from my mind.

But now it’s out with the old and in with the new. Goodbye Nokia 6020, hello iPhone.

There are huge tradeoffs. Voice + data = more $$$ per month than just voice. But with that increased cost of ownership I get mobile Internet, something that a geek like me has wanted for a long time but had a really hard time justifying. The old phone would go way longer between charges but the iPhone does so much more on a charge. The list goes on and on.

Suffice to say, I’m happy for now but let’s wait for the excitement to die off and then I can really start to asses the cost/benefit ratio of this slick little black and steel rectangular box.

LDAP User Management Tools and User Private Groups

Is it just me or are there no LDAP user management tools that support User Private Groups (UPG)?

I’m well aware of the FreeIPA project and that project does in fact support UPG, probably because it’s a RedHat project but I’ve determined that FreeIPA is too comprehensive for my needs. Despite Kerberos being the “right” solution in every sense of the term, I’d rather have the simplicity of binding to the LDAP server for authentication, even though I know that using LDAP as an authentication service is “wrong”.

My question, loyalty challenged readers, is: Are there any LDAP user management tools out there that support UPG?

Let me start the list:

  • LAM – NO
  • phpLDAPadmin – NO
  • Luma – NO
  • LAT – NO
  • Gosa – NO
  • smbldap-tools – Maybe?

Not to bash any of those tools, but I’ve decided to start writing my own simple “useradd” script for now because the workflow for creating a user with the UPG scheme with any of these tools is an annoying multi-step process. While my solution is site-specific and non-comprehensive, it just exactly the job I need done, done. And fast. I used perl and Net::LDAP, among other modules. Once I figured out if I want to it keep it on the console or move it to the web, I’ll post the results… even if it won’t be useful to anyone as-is.