Sunday, January 4, 2015

Top 5 Sublime Plugins

Sublime Text is a hugely popular text editor targeting the developer community. One of the most powerful features is the rich plugin ecosystem which has grown and thrived in recent years.

Before you get started with any of these stop and install Sublime Package Control.  This is the essential first step after installing Sublime Text. It makes installing and managing all other plugins a breeze. Below are my top 5 which I recommend to all of my teams:

  • SublimeLinter: Lint support for Sublime to show in-line and summary reports
  • SublimeLinter-jshint: As most of my work is JavaScript based this one is essential. Ties in with your project .jshintrc file to give in-line error and warning highlighting
  • EditorConfig: Auto-sets your indentation and line ending preferences to match the .editorconfig file in your current project. Not using EditorConfig in your projects? Check out my previous post on consistency for more information
  • BracketHighlighter: Highlights your brackets and tags making it easier to see where they close (or don't!)
  • HTML5: A bundle containing lots of useful snippets for code completion when writing HTML
Depending on which project or language/framework being used I also tend to recommend the corresponding bundle (e.g. AngularJS bundle, KnockoutJS etc.). There are plenty of other plugins to help make Sublime Text the best editor I've used so far. I'm keeping an eye on the Atom editor which is looking interesting but it's going to take a lot to move me away from Sublime.

Saturday, June 21, 2014

Achieving Consistency

One of the more challenging aspects of managing a team of developers is maintaining standards and style of coding. It may seem trivial but even small things like an individual developer's tab setting can quickly lead to check-in chaos and code review hell.

There are loads of tools out there no to help but one of my favourites is EditorConfig. It doesn't do a lot but goes a long way to help keep the style consistent.

http://editorconfig.org/

There are already plugins for multiple editors (including Sublime, Notepad++, Vim, Atom etc.) so you don't have to fight for everyone to use a single IDE (and with this being such a personal choice I wouldn't advocate trying!). Get the team together at the start of a project, agree on the settings you'll use and make sure everyone has the plugin to keep the styling consistent. Obviously this only affects the basics such as tabbing, line spacing etc. but combined with a good JSHint config (for example, if developing JS) really goes a long way to helping maintain a consistent code base.

Sunday, March 16, 2014

The saga behind becoming a Canadian Permanent Resident!

After months of waiting we finally received our Canadian Permanent Residency this week!  We read countless forum posts trying to work out the expected timelines but in the end none of them were particularly accurate.  For anyone going through the same process my advice would be to stay patient and know that it is coming despite a lack of updates; don't read too much into the panicky forum posts you'll find around the net. Also, double and triple check all of your forms.  We had some friends that got forms sent back for being incomplete and that really seems to delay your application.  For reference our time line was as follows:

  • Jan 2013 - Applied for Provincial Nomination (PNP) in BC (we live in Vancouver)
  • Feb 2013 - Received our PNP approval and started collating all of the documents to send to CIC
  • March 2013 - Sent our application pack into CIC 
  • April 2013 - Received notification from CIC that they had received our application
  • May 2013 - Were asked to complete a medical exam (others we had read about received this request much later in the process, it seems to vary).
  • May 2013 - We booked our immigration medical (be warned; it's not cheap and you can't claim any of it on MSP or any other insurance policy).  The centre we went to on West Broadway in Vancouver sent the results directly to CIC for us (not for free of course!)
  • June 2013 - Noticed on the CIC website that our status updated to "Medical Results received" but the overall status was still just "Received"
  • September 2013 - We were asked to submit our Right to Permanent Residency fee along with most recent copied of our passports (mine was set to expire fairly soon) along with an updated list of our most recent activity in the country.
  • October 2013 - After sending off and received my updated passport we sent all the requested information to CIC.  That was the last we heard from them in a while (our status on the CIC tracking website still read "Received")
  • Feb 2013 - Our status on the CIC website finally changed to "In Process" but we didn't get any correspondence to go with it
  • March 2013 - Our status on the CIC website changed to "Decision Made".  Again, no correspondence to go with this.
  • March 2013 - Our Confirmation of Permanent Residency letters arrived in the mail about 3-4 days after the status on the website changed to "Decision Made".  If I hadn't checked the status website these would have arrived completely out of the blue.  Unlike others we know we didn't get any emails about these status changes.
Hopefully the above will help others in a similar position.  The wait times seem to change fairly frequently and the order you get emails/status updates seems to vary widely between applications so stay patient and it will come through!  We applied within Canada (we were on work permits before hand) so once we received our COPR we drove down to Peace Arch to activate the permits (you need to take the letter with you along with passports).  We had read that you needed proof of address but they didn't ask to see it; we were just asked us to write down where we wanted the PR card to be sent. 




Next step, PR cards!  We were told they would take around 6-8 weeks to arrive but you won't need them to get your new permanent SIN and MSP.

Tuesday, January 7, 2014

Troubleshooting LiveCycle Workbench Compatibility errors

I've come across a problem a few times using Workbench when trying to connect to servers only to be told I can't because there is a version number mismatch (even though both Workbench and the server are at the same service pack level).  One way around this temporarily (if you know the versions are the same but for some reason the server version is being reported incorrectly) is to disable the compatibility check in Workbench:

  1. Open your workbench.ini file (usually located in C:\Users\<user_name>\Apps\Adobe LiveCycle Workbench ES3\workbench
  2. Locate the line "-Dcom.adobe.connection.compatibilitycheck.disable=false
  3. Change the value to "true"
  4. Open Workbench and try to connect to the server again

Wednesday, April 3, 2013

Setting up WebLogic as a Windows Service

A common requirement when dealing with any application server install on Windows is to set it up as a Windows service.  It's a bad idea to rely on the command line for running the server as it makes it far harder to administer.

For WebLogic the steps to do this are available on Oracle's website:
http://docs.oracle.com/cd/E11035_01/wls100/server_start/winservice.html

A useful diagnostic if the service doesn't appear to be working is to try and invoke the service using the beasvc command.  See the section "Verifying the Setup" in the above link for more information.  More times than not if your service isn't starting then there was an error in the script you used to create the service in the first place (e.g. JVM argument).

Friday, March 1, 2013

JS Libraries

Below is a list of libraries I've come across which in all my reading and investigation recently into HTML5 / JS which should come in handy.  More of a "remember these for later" post:

  • http://underscorejs.org/
  • http://modernizr.com/
  • http://angularjs.org/
  • http://qunitjs.com/
  • http://momentjs.com/
  • http://requirejs.org/ (and http://requirejs.org/docs/api.html#text)
  • http://html5boilerplate.com/
  • http://fortawesome.github.com/Font-Awesome/
  • http://blueimp.github.com/jQuery-File-Upload/
For more popular projects GitHub's starred repository list is a good place to start (gives an idea of highly active/popular projects):
  • https://github.com/popular/forked
  • https://github.com/popular/starred

Monday, January 14, 2013

Vertical clustering in LiveCycle ES3

Quick note for future reference: the document for ES2 (http://help.adobe.com/en_US/livecycle/9.0/clustering_jboss.pdf) explains how to change the necessary ports in order to get a vertical JBoss cluster up and running.  In ES3 (and therefore JBoss 5) the paths for a number of the ports has changed:

JBoss 4:
jboss-service.xml file located in [appserver root]\server\[profile]\conf

JBoss 5:
bindings-jboss-beans.xml file located in [appserver root]\server\[profile]\conf\bindingservice.beans\META-INF