Life update

Posted on Nov 4, 2018 in Birding, Blog, Form Tools, Open Source Projects, Training / Conferences | 0 comments

Been a while since I posted here! I do rather wish Github would offer some sort of feature where I could mention things like “I’m on vacation for 2 weeks! Will not respond!” or “I’m sodding busy. Check back in a week”. Once that happens, this website will serve even less purpose.

Conferences

Compared to previous years I’d done gone to fewer and fewer events, sigh. Still, a couple of months back I attended the Open Source Summit 2018 here in Vancouver put on by the Linux Foundation. A big thanks to my company, Global Relay, for covering my ticket. It was extremely interesting – and cool to see Linus Torvalds in person – but overall, not too much that was immediately pertinent to my job as a boots-on-the-ground web developer.

Next week I’m heading down to Seattle for CascadiaJS, which I’m pretty excited about. I attended one once back in Vancouver a few years back: it’s a conference very much in the flavour of JSConf – earthy, but full of concrete information. Should be a fun couple of days – especially in light of the new React version that just came down the pipe. Curious to see people’s opinions on Hooks; I haven’t yet had time to play with them – just read the docs and see the flurry of Twitter posts about them.

Work / Life balance

The day job is going fine, I’ve slowly been hammering away at helping upgrade our old Sencha application over to React. I’ve almost finished a rewrite of a translation tool from java to node, which I’m quite pleased about. The code’s not bad and it gave me an excuse to play with esprima. Esprima’s a tool for converting JS code into an AST (abstract syntax tree) where you can manipulate and reconstruct the JS. Tremendous fun.

Sadly, a few months back the chap that runs a bus service from our island (Bowen) to downtown Vancouver ran into technical problems, so I’ve been mostly using BC Transit to get to and from work. Wow, does THAT suck. Commuting is now far more unpleasant and takes far, far longer than before. My spare time on a regular work day has dwindled to about an hour and a half: plus I’ve lost all that time I was able to work each morning/evening on the commute. Anyway, whine whine, I’m just saying I’ve had less time than ever to work on open source. Speaking of which…

Open source projects / Form Tools

Most of my focus has been spent on Form Tools, plodding my way toward 3.1 (rewriting the installation + upgrade code). It’s a little maddening: yes it’s a fair bit of work, but honestly if I had the time I could get it done in a few weeks. Instead it’s drawn out and out and out… sigh. Time, time, time. Today I’m going to try to get 3.0.9 out the door (just bug fixes) but it’ll be back to 3.1 very soon.

I also upgraded react-country-region-selector a couple of months back and if and when I get a little time I think I’ll rewrite it in Typescript. I didn’t particularly LIKE typescript – actually I thought it was an unbelievable pain in the ass & didn’t provide anywhere NEAR enough benefits for the difficulties that it introduces. But I’d like to give it one more shot where I have full control over how anal the linting settings are. The last time I used it it was in a Nazi regime where wasn’t permitted, Generics abounded and everything was cranked up to be as fastidious as possible. I strongly felt the Law of Diminishing Returns applies to Typescript usage and a more permissive configuration may make it worthwhile while cutting down on the “how-the-hell-do-I-satisfy-typescript?” headaches. Anyway, I’d like to give it one more go before writing it off completely, because there’s no question that working in plain JS after using Typescript you find yourself missing the odd thing.

Birds / Trips

A couple of months back, I decided to cut down on my local birding and I think this is the way it’s going to remain until something radical changes (like I become a millionaire). This was for a couple of reasons: not enough time and I was getting more and more into nature as a whole. I’d been using iNaturalist and started cataloguing and learning the various plants and insects in the area. Tremendous fun. But on the birding front, I just got back from a 2 1/2 week trip to Australia where my wife and went from Sydney to Brisbane to Cairns. Pictures here. I’d intended to track the other flora and fauna as I travelled, but there just wasn’t enough time on so short a trip so I just photographed the more outlandish things. Terrific trip though… I picked up some really incredible lifers: southern cassowary, bowerbirds (4 species), birds of paradise (2 different riflebird species), bustards, 4 more albatross species (including wandering!) and above all… rainbow bee-eater. I’ve wanted to see bee-eaters ever since I became a birder and these didn’t disappoint. Beautiful, charismatic birds, incredibly deft flyers that perpetually squabble amongst themselves. Great to watch.

Next year I’ve booked a trip to Costa Rica with my dad for mid-March. For the fall/winter it looks strongly like I’ll be heading to Kenya, and if I can afford it (and can get time off work) I may cram an trip to Singapore and Malaysia in in August. Then again, who knows. Lots of time for plotting…

Alrighty. Caught up. Now I’m off to pull up the potatoes from the garden and the rest of the day is on Form Tools. Seeya.

Read More

Open source, work, Hong Kong

Posted on Mar 30, 2018 in Birding, Blog, Form Tools, Open Source Projects | 2 comments

Things are good! First off, open source work.

Form Tools 3 is primed and ready to become the standard build next month. All the major issues were ironed out in the alpha so as expected, the beta period has been extremely mellow. A few issues have been reported and fixed, but nothing of any great consequence. Unless something remarkable happens I’ll be dropping Form Tools 2 from the download page around the weekend of April 15th.

I’ll also be doing some cleanup. The forums will be closing (end of an era!) and all support will be moved to github. It’s time. Maintaining a forum is a job unto itself, and much as I respect MyBB, none of the plugins I installed were able to fight off the neverending spam – that alone forced me to reconsider why we have the forums going. Once the forums are shut down, finally I’ll be able to get formtools.org off the blacklist from many search engines. Yup, it’s been that bad.

Best of all, I’ll be able to start work on the next release of Form Tools; after all these years, new code at last! FT3 was just a refactor, albeit a massive one. FT3.1 will be rewriting the entire installation and upgrade process so all users will now just download the FT core, and pick and choose what modules + themes they want right within the installation script. This will allow me to drop tens of thousands of lines of code running on formtools.org for the Custom Build script, download package generation, grunt build processes, etc. etc. Best of all it’ll be better for the user.

Work is going well too. I was assigned time to work on a project to investigate and demonstrate the feasibility of moving our client-side codebase to React/Redux, which has been met with approval so far. Let’s see how that all goes, but I’m extremely pleased – this would be a massive improvement for everyone.

Tomorrow I’m off to Hong Kong for the week to go birding so I’ll be mostly incommunicado until I get back and I’m de-jet lagged. I’ve spent the last 3 months swatting up on the birds of Hong Kong, so actually getting to see some of these birds in person is wonderful. Hope my gammy ankle holds up to all the walking I have planned… As always, I’ll post a few of the better pictures I take.

Read More

Open Source 2018

Posted on Jan 6, 2018 in Blog, Form Tools, Open Source Projects | 0 comments

Now a brand new year has rolled in, I find myself taking stock of where I’m at as a developer, and frankly I’m feeling pretty frustrated! Other than working an Electron project last year at my day job, I’ve been using exclusively old technologies for some time. That takes a toll. It’s not so much just working on the “cool new stuff” as is being aware that there are simple better ways to do what I’m doing.

Last year the majority of my time was spent working on the Form Tools 3 upgrade. It’s now finally approaching the end of the alpha phase with all modules, themes and the core having been converted to object-oriented, PHP7-compatible code. That’s pretty great, and in some respects I already trust it more than Form Tools 2.

Nevertheless, it still doesn’t use the most current of technologies. I’m deliberately supporting as far back as PHP 5.3 to maximize compatibility with people’s server environments, which of course prohibits using any of the more modern features of the language. And client-side it’s positively archaic: it still uses jQuery and per-page object namespacing to provide interactivity. Don’t get me wrong, I’m not knocking it: it’s served its purpose well. But holy cow do I ever need to do something more modern to keep me engaged.

So! Here’s the plan for the coming year. For the first couple of months I’m going to continue fighting the good fight to get Form Tools out the door. Once v3 is the official build I’m going to start converting parts of the UI to React/Redux, starting with a brand new in-app upgrade system. I learned my lesson with FT3 – a massive rewrite of an application of that size just isn’t feasible. From here on out, the approach will be incremental updates.

The current upgrade process relies on the user’s installation passing details of what they have installed to the Form Tools website, which then intelligently constructs a new package of available components with the appropriate compatibilities. The plan is to do two things here:

  1. phase out the website as the key player. The custom CMS powering the Form Tools website will continue to be the single source of truth for available component versions and compatibilities, but instead it’ll now simply provide a REST feed of the information which can be accessed by the individual installation.
  2. have the Form Tools installations themselves download the source code directly from the github repos and install/upgrade the components directly. No more manual downloading of content from the website and FTP’ing it to the server.

The backend of Form Tools will never be cutting edge, but the front-end has far more room to modernize. This is what I’m going to be focusing on. I think it’s a sensible way to stay sane. ;)

Read More

Dec 2017, project updates

Posted on Dec 3, 2017 in Ace-diff, birdsearch.org, Form Tools, Open Source Projects | 0 comments

Long time no post! I’m en route to Panama for a quick birding trip so I’m taking a hiatus from my open source work. Quick summary of where we stand with some of them:

birdsearch.org. This project has been pretty much unchanged since the first Beta release, but it was always pretty solid. I’d love to make a few improvements to both the architecture and feature list but so few people actually use the script I can’t justify the time. It’s a pity – I personally use the site daily to track bird sightings all over the place (such as the locations I’ll be visiting in Panama!) – but time is time.

Form Tools. This has been occupying the vast bulk of my time the most this past year. The Form Tools 3 alpha is coming along well: only 7 more modules to update, plus the API, plus a whole lotta testing. I’ve posted that I was hoping to get it into Beta by January and make it the standard build by the following month. That may have been a little optimistic (the Form Builder module update has taken an eon) but I don’t think it’ll be far off. We’ll see.

d3pie.org. Sadly fallen into neglect. Recently a chap offered to take over maintenance of ace-diff – another one of my older, less-maintained libs – I’m rather hoping someone will offer to do the same for d3pie. It’s a cool little script, but in dire need of a maintainer.

Anyway. Off to bird.

Read More

Donation process change

Posted on Nov 29, 2017 in generatedata.com, Open Source Projects | 0 comments

Hi! Just a heads up that I’ve made a small change to the generatedata.com donation process which will affect anyone who’s recently donated. If you’ve donated and find that the link in your email to finish setting up your account isn’t working, please email me at ben.keen@gmail.com and I’ll help out.

Sorry for the fuss!

Ben

Read More

Form Tools 3 alpha!

Posted on Sep 24, 2017 in Form Tools, Open Source Projects | 0 comments

Last weekend I release a new alpha version of the next major release of Form Tools. This has been a loooong time in coming, hoo boy.

All code is on github.

At this point, only the Core, System Check module and Classic Grey theme are FT3 compatible, but that list should be expanding pretty fast.

But FIRST I need to get that upgrade script back online! I hoped to work on this weekend but had to patch an issue with generatedata instead.

Read More

generatedata.com updates

Posted on Jul 30, 2017 in generatedata.com, Open Source Projects | 0 comments

Just a heads up that the main website has been updated to 3.2.7. I’ve also moved it over to use SSL (https://generatedata.com) – it was something I’ve meant to do for a while. Because the site has a login form, plus donation form, SSL just secures it a little better.

A temporary SSL cert is in place right now so it’ll whine at you when you try going to https://. Once it’s all sorted out, I’ll add an auto-redirect so that all requests go to the secure site.

Please let me know if anyone has any problems! (ben.keen@gmail.com)

Read More

generatedata 3.2.7

Posted on Jul 29, 2017 in generatedata.com, Open Source Projects | 0 comments

Hi all! generatedata 3.2.7 has just been released. It fixes a couple of minor issues and adds a new “Computed” Data Type. It’s a bit complex to explain, but the idea is that this new Data Type allows developers to get access to a lot more information about what’s being generated on each row – metadata of the actual generated field content – so they can use that information to output whatever they need in a new field.

The one example usage of this Data Type currently provided in the help documentation is for the Names data type. In case you need to know whether a name is male or female, you can use this Data Type to output something appropriate. But really, it can used for anything. Over time, we can add additional metadata to any Data Type to expose details of it’s inner workings: anything that may be of use to developers to customize the output of another field.

The main website is a couple of versions out of date now, so I’ll look into update it tomorrow. I hate to say it, but I’m going to have to add some ads to it (sigh). I really need to cover my costs for the hosting, etc. They won’t appear for people who’ve donated, at least.

Read More