| Subcribe via RSS

Change on the (Distant?) Horizon

January 8th, 2017 | No Comments | Posted in Meta-Posts

Well, I’m still not sure if this means I’m returning to regular blogging or not. Perhaps only semi-regular activity is the best I’ll be able to manage. But for now, if I can manage to at least write once a week it should keep the Perl Ironman Challenge bot happy.

I’m going to be changing some things around here, if I do in fact start spending time here on a regular basis again. The first thing I’m going to work on changing is the theme. I actually like the current theme, as I’m a fairly minimalist type when it comes to web design. But it isn’t set up to handle mobile devices very well, and that’s just a reality that every blog needs to embrace if it hasn’t already (and I haven’t). In a more perfect universe, I’d have both the time and the know-how to either hack this theme for better mobile support, or just roll my own theme. But I don’t have that know-how (or time), and to be honest I’m not in a hurry to learn WP theme development. But if you read this and prefer mobile devices, rest assured that making the site mobile-friendly is the top priority. Well, trying to write consistently is technically the top priority, but this runs a very close second.

Next, I’m going to do something about the near-astronomical number of spam accounts that have registered here (and continue to do so daily). I direct the mail notifications for this site to my Gmail address, and I do not exaggerate when I say that I average 100 or more new users per day. Of course, they’re (almost) all bots. I have a plugin in place that protects the site against login attacks, but I don’t have anything in place really that tries to prevent bots from signing up. That will have to change; I’m kind of tired of having over 100 new emails from WordPress daily… it makes accessing my Gmail account over IMAP a pain in the ass. (Yeah, I can filter them to a folder, but that doesn’t really solve the problem, it only masks it.)

(A side effect of the registration work is that it might impact legitimate registered users. I would prefer to purge the database of the fake users, but I’m not sure if I’ll be able to without putting real accounts at risk in the process. If I do have to just blow away the whole database, I’ll warn users here on the blog at least a month or so in advance.)

Following that (or perhaps in concert with that effort) I’m going to re-visit the other plugins that I’m using here, and try to trim away those that aren’t really contributing anything useful and possibly add a few new ones that do. While I’m not much of a cheerleader for PHP, I do have a great appreciate for the flexibility and ease-of-use that WordPress provides. It has a hell of an ecosystem behind it, and I need to be taking more advantage of that.

In terms of content (presuming I do start writing more regularly), expect to see less of a focus on Perl. I’m not giving up on it by any measure (Perl has been very good to me over the years), but I don’t want to get typecast as only a Perl programmer. During the first half of last year, I started really seriously working on learning Clojure, which is just a really fun language to program in. (Well, assuming you like functional programming and aren’t irrationally allergic to Lisp.) So far I’ve mostly just been working through problems on Project Euler. I can’t seem to link directly to my “progress” page, but my user-name on PE is also rjray. So far, I’ve solved 87 problems and earned 6 of the problem-solving awards (haven’t gotten any posts in the forum to be made permanent yet, so no forum-post awards). It’s been quite interesting, but by it’s very definition PE is all about the math, so this hasn’t really exposed me to the full range of of Clojure’s capabilities yet. I hope this year to move beyond just PE and do some other things with Clojure that will push me to fill in the missing pieces that I haven’t yet used.

In that same vein, I am hoping to spend a little time dusting off my long-dormant C/C++ skills. I now work for NVIDIA, who is doing just amazing things with deep learning, machine learning, etc. using their GPU technology and the CUDA platform. And CUDA is pretty much all about C++ (well, there is also support in Fortran and Python, to be fair). My C++ is so rusty, that when I last used C++ they (the standards committee) were only just considering templates as a new feature, and hadn’t quite agreed on a standard yet. My role at NVIDIA doesn’t directly involve C++ (or else I’d be in a pretty bad spot in terms of being able to do my job), but CUDA and GPU programming look fascinating to me, so I’m hoping I can at least dip my toe in the water at some point in 2017.

And lastly (for now), you may even see some Python content here. While my NVIDIA role is primarily Perl, there is also a fair amount of Python floating around, and I’ve been slowly acquainting myself with it for the last couple of months in order to understand, enhance and fix things. But don’t expect to see me become a Python convert; most of what I have seen has me scratching my head at how the Python community can really feel so smugly superior to the Perl community. Most specifically, I’ve been listening to Pythonistas brag for YEARS about how much better the object model in Python is when compared to Perl’s. Having gotten a taste of Python’s object model, I can only assume I’m missing something big. Because I’m pretty far from impressed so far.

But that’s a rant for another time.

Tags: , , ,

And A Heavy Sigh Is Given

February 6th, 2014 | No Comments | Posted in Meta-Posts

I really don’t know which is worse; that it has been over a year since my last blog post, that it has been that long since my last CPAN upload, or that my last blog post was due to my last CPAN upload.

I need to work on this, somehow.

Tags: ,

Looking Back, Looking Forward: 2011 & 2012

January 1st, 2012 | No Comments | Posted in Meta-Posts, Perl

So here we are, starting yet another new year. Seems like I was just here, but when I look back at my archives I see that my only post in January of 2011 was for the 0.74 release of RPC-XML. So I wasn’t even as on-the-ball a year ago as I thought I was. And over the years I’ve gotten out of the habit of making elaborate resolutions for each new year. So this time around, I’m going to reflect a bit on high points of 2011, and ponder a bit about what I hope to do in 2012…

2011 was overall a pretty good year. It was my first full year at NetApp, after having done more job-hopping than I particularly liked to do in the years from 2006 to 2010. NetApp has been a really good place to be, both stable and challenging. I have good co-workers, and good management. Some high points of 2011 included:

  • I snagged some kudos in the form of winning an internal friendly competition at NetApp for my work with Perl::Critic (a web interface similar to the one at perlcritic.com, but with some additional features, bells and whistles specific to NetApp’s needs).
  • I was once again supported by my management to attend OSCON this past summer, which not only meant learning many new bits of tech but also meant seeing many friends I only see at the con.
  • I made the leap from being a strictly Linux guy, to obtaining my first Apple Macbook (Pro). It has been (and continues to be) a quirky learning curve, but I’m happy with it. I don’t know if I’m more productive with it than I was with my Linux laptop, but I’m at least as productive, so (in theory) it can only get better as I get more accustomed to it.
  • After being familiar with the module for some time, I finally made the leap of starting to use Devel::Cover on some of my code, which lead to some vast improvements in my testing suites (as well as flushing out numerous bugs along the way).
  • I completed the online Introduction to Artificial Intelligence class that Stanford offered this fall. It was an experiment in online learning that the Stanford engineering school was conducting, one of three courses offered during that time. As an experiment, it must have gone well as they are offering ten courses this coming term: CS 101, Machine Learning, Software as a Service, Human-Computer Interaction, Natural Language Processing, Game Theory, Probabilistic Graphical Models, Cryptography, Design and Analysis of Algorithms I, and Computer Security. I plan on following up the AI class with the ML class. I’d love to take about half of them, but I have to be realistic about the free time I have.

So that was 2011. What do I plan for 2012?

  • Release my CPAN modules more frequently, which means working on them more than I currently do. Over on his blog, Mark Fowler has resolved to release a distribution to CPAN once a week, every week, throughout 2012. I won’t be doing that. But I can take from his thoughts on the matter some good direction and ideas, and I can apply those to how (and when) I choose to release.
  • Do OSCON again. This may be tricky, as there has been a managements change in my organization. I don’t know yet if the new director of my org will feel the same way about education and training as the previous person did.
  • Related (slightly) to the first point: Release at least two new CPAN distributions. I have the specific ones in mind; one is a complete re-write/re-organization of an existing distro of mine, the other is completely new.
  • Finally get around to learning Clojure. I’ve been toying with it and tinkering with it to a very light degree, but this year I will buckle down and actually work my way through the entirety of one or more books on the language. Most likely starting with The Joy of Clojure.
  • Oh, and of course write more often here. The AI class effectively killed my blogging for the last part of 2011, but judging from people’s reviews and feedback on the ML class I don’t expect it to so thoroughly take over my life as the AI class did. So even if some weeks I only manage to eke out a “module Monday” post, I hope to at least accomplish that much.

Not necessarily lofty goals there, I will admit. But I have also resolved to spend more time on my non-computing hobby, so I am not going to set myself up with resolution expectations that require me to practically sleep with the laptop to accomplish them. I’d rather set my expectations at a challenging-yet-reasonable level, and actually achieve them.

Here’s to the new year…

Tags: ,

I Would Like My Brain Back, Please

November 3rd, 2009 | No Comments | Posted in Meta-Posts, Perl

For a while now, I have been having some health problems that have spilled over into my professional life. More to the point, a variety of issues ranging from thyroid to others have made it very hard to sleep well and killed a lot of my ability to concentrate. To make matters worse, some of the medications I take for these problems have been compounding the other problems.

The end result? I miss my old brain in a lot of ways. Mostly, I miss hacking my CPAN modules as much as I did just a few years ago. I have a number of modules with exciting features waiting to be added, or bugs that I know how to fix, waiting to be fixed. And that’s just Perl/CPAN work… there’s Java, JavaScript, and other things rattling around in my head, but never quite making it to my fingertips. I can’t really explain very well in this medium what it is that is interfering with my efforts; it’s sufficient just to say that I’m very unhappy with myself over the last few years.

I need desperately to break out of this cycle, and get myself back on track. It’s affecting $DAY_JOB, as well, and I happen to be rather fond of the current job and I’m not in any hurry to be moving on to things new.

Tags: ,

A Blog is Hatched, or, Why It Took Me So Long

July 22nd, 2009 | No Comments | Posted in Meta-Posts

Welcome to the inauguration of my latest effort at avoid real work or responsibility: my blog devoted to software, programming and miscellaneous related things.

I am kicking this effort off in sync with my return to the O’Reilly & Associates Open Source Convention. I have attended these gatherings, though not contiguously, since the very first Perl Conference in 1997. Little did I know, when I came to San Jose in 1997 for that conference, how many things would shake out and change either as a result or at least helped along by it.

Firstly, it lead to my first published writings on Perl (as opposed to papers I had written that were focused on software configuration management that happened to be implemented in Perl), as Jon Orwant recruited me to write a column for The Perl Journal. During the week I was in SJ, I met some local folks who shared my hobby, and made fast friends with them. This would prove handy, as I found myself relocating to San Jose area just a few months later in October.

Since then, I’ve been on a fairly-typical roller-coaster ride of one small(-ish) company after another. Along the way, I did some journaling via use.perl.org, but was never very active or consistent about it. (That said, my first successful SOAP application was a Perl filter to post to my journal, that in turn was tied to some Emacs Lisp code, allowing me to post directly from a scratch-buffer in XEmacs.) As chance would have it, I’ve been on something of a health-related roller-coaster as well. This is a project that I’ve wanted to do for well over two years, but I just haven’t been able to do it before now. (I’m not 100% sure that now is a great time, either…)

Skipping ahead to (hopefully) avoid boring anyone, I’m starting this project because it offers me the chance to have tools that will hopefully help me to write more often, tools that will give me more exposure to PHP (which I am having to use for the first time at $DAY_JOB), and also allow me to easily share my content with various aggregators based on that over-used concept, tags. Initially, it’s going to look pretty rough around here; I don’t know PHP that well, and I know sweet fuck-all about WordPress. For example, I like the aesthetics of this theme, but need to fix some things or it just won’t work for me. And I’m pretty intimidated by the unwashed hoards of WP plug-ins out there… it’s almost as bad as trying to pick a templating solution on CPAN!

Over time, though, I hope to make this thing work, both content-wise and visually. Read long-enough, and I’m sure to either interest you or offend you. And if I do things right, I should accomplish both.