I’ve worked from home since the late 90s. When IBM made me go in a few years back to replace my badge, I joked that the next time I would need it was when it was time for me to turned it in.
Well, I was close. I used it for the first time yesterday to go to a seminar describing what options are available to those like me who are part of an IBM Resource Action ("RA"). Which is IBM’s way of saying that my job no longer exists, and I have until June 29th to find another job within IBM or I will be offered a modest severance package, and can pick from an array of options varying from helping me find a new job, connecting me with a non-profit organization, and retraining.
TL;DR: I’m fine, nothing has changed. I’m already working with a non-profit, namely the Apache Software Foundation, and find my work there to be very rewarding.
And, by the way, the key advice from the seminar is to network. That happens to be something that I’m fairly good at.
In fact, now that I’ve told my family, my book editor, many people within IBM, and several hundred of my closest friends at the ASF — many of which want to spread the word and help me out — the inescapable conclusion is that I can’t tell all of these people without the word getting out. So I might as well do it myself, in order to ensure that everybody gets the correct message.
For starters, the most likely outcome is that I’m going to simply retire. My wife and I have planned for this for several years. This may be the nudge that was needed to make it happen. And like many retirees, I will donate my time to work for a non-profit. I’m just ahead of the curve as I am already doing that.
The second most likely outcome is that I will find an equivalent job within IBM. By equivalent, I mean an opportunity that lets me work full time on open source and open standards in general; and in particular lets me devote the time I feel necessary to the role of ASF President. I would need to feel comfortable about that before accepting, as retiring later would mean that I would have lost the opportunity for the severance package. The good news for those who are predisposed to root for this option is that that job has already been identified, and the management team there is working through what it takes to make it happen. There is no guarantee that they will get HR approval, however, which is why this is listed as the second most likely outcome rather than the first.
And finally, the third most likely outcome is that I take a job outside of IBM. I have a number of people saying that they will shop my résumé around. Based on these requests, I have now produced one. I am not looking for a headhunter, but if somebody feels that they have a perfect opportunity for me, I am willing to listen.
Again, whatever happens, I’m fine and nothing has changed.
the current implementation is a lot more fun to develop and easier to maintain than prior versions. As an example, if it were decided that the moment the secretary clicked the ‘timestamp` button on the 'Call to order’ page, all comment buttons are to be removed from all windows and all comment modal dialogs are to be closed, this could be implemented using a single if statement as the event is already propagated, and a re-render is already triggered. All that would be required is to change the conditions under which the comment button appears.
The board agenda tool has been tested on Linux, Mac OS/X, Vagrant, and Docker. It contains a suite of tests.
The second demo is a calendar. Unlike the tutorial which is a single file, this application is organized in a manner more consistent with how I expect projects to be organized.
I have been telling all non-IBMers to not use my ibm.com email address for years, but this advice is routinely ignored. I’ve repeated the reaons behind why I ask this enough times that it makes sense for me to post the reasons in one place so that I can point to it.
Having determined that Angular.js is overkill for my blog rewrite, I started looking more closely at React. It occurred to me that I could do better than JSX, so I wrote a Ruby2JS filter. Compare for yourself.
I have test results that
show that there is much work to be done.
The most likely path forward
at this point is to get representatives from browser vendors into a room and
go through these results and make recommendations. This likely will happen in
the spring, and in the SF Bay Area. With that in place, I can work with
authors of libraries in popular programming languages to produce
web-compatible versions. This work will take the form of bug reports,
patches, or — when required — authoring new libraries.
I’ve downloaded the multi-part zip archive for IE11 on Win10 for VirtualBox on OS/X from modern.ie. I’ve downloaded the single-file archive on both OS/X and Linux. I’ve verified the md5 signatures for each. Yet each time, when I try to unzip the result, I fail.
My original intent was to aggressively prune unnecessary function with the intent of producing a more maintainable result, but with the ability to have automated acceptance tests, this is now less of a concern.
I particularly like the comment that “It just works” was never completely true. My experience is that when working with open source codebases, doing so on an Linux operating system comes much closer to “It just works” than doing so on any other.
Not rack’s fault, but Sinatra hasn’t released in a while. Problem has been known since July, and a fix was merged into master in August. One possible workaround has been posted. An alternate workaround:
alias_method :old_pretty, :pretty
result = old_pretty(*args)
def result.join; self; end
def result.each(&block); block.call(self); end
I’ve clearly been neglecting my little spot on the web.
It has gotten so bad that Brendan Eich had to link to a web archive copy of a page of mine. I must say, however, that it is very ironic and amusing that it is was that particular page. General outline of my current approach: