Want to be a panelist @ #DevTO’s NCFOP?


2-4 Senior Developers
Live audience of developers with varying experiences

Call for Panelists Deadline: Friday, July 18
Actual event: #DevTO Monday, September 29, 2014 @ 6:30pm

Exact venue TBA in August 2014
Will be in Downtown Toronto or just outside it accessible via TTC

2-4 senior programmers who continue to code/innovate in a relevant programming language today
Must have proven track record of re-inventing themselves as languages come and go
Currently in a position writing new code for an innovative role product and/or services in the past 12 months
Not in a support developer role performing routine maintenance and bug fixes
Each panelist will represent an industry sector they have experience in i.e. Medical, Finance, Marketing, Science, Enterprise, etc

Panelists will be interviewed in front of an audience asking questions like:
What goes through their mind when tackling a new language?
What are their reasons not to leave programming?
Why did they not leave for management or startup their own company?

They also be asked to answer tough questions:
Thoughts on job outsourcing to India, China, etc.
Losing their job, getting back on their feet
Does the industry make it hard for women or they getting a fair deal like anyone else?

Friday July 18th Friday July 25th is the Call For Panelists deadline. A shortlist will be created. Final panelist selection will be based on the balance between many years of experience and the relevance of the technology they are currently practicing (Sorry Microsoft Access Dev).

Overall Goal/Takeaway: Inspire the younger generation of coders with knowledge from experienced folk so that they may have longevity and prosperity in the industry.


Values for declare-styleable attr tags

Running through a tutorial for creating a custom views at http://developer.android.com/training/custom-views/create-view.htm, I was blocked by the lack of information what are the possible values for


Turns out as I learned from this helpful blog post at http://chaosinmotion.com/blog/?p=179, the possible follows are as follows:

  • reference
  • string
  • color
  • dimension
  • boolean
  • integer
  • float
  • fraction
  • enum
  • flag

Eclipse SVN: Subclipse vs. Subversive

Where I work, we use both SVN and Git. I’ve dumped SourceTree for Eclipse Kepler’s integrated Git client which is actually pretty nice. For an integrated Subversive client, over the years I’ve jumped between Subclipse and Subversive. This here looks to be the Definitive Thread on which one to choose. For me, I’ve gone ahead with Subclipse with my current Eclipse Kepler install.



Easily Add Copyright Notice To *.java and *.xml Files In Your Projects

I’m still using Eclipse. Some habits are hard to get rid of. Finding gems like these make it harder. On the Eclipse Marketplace, there is a plugin called Copyright Wizard 1.4.0. Once installed, you can configure the templates in the Preferences as seen below:


Configuring the template is optional. When you’re ready to apply the copyright, right-click on the folder or java package, select the Apply copyright


…Set your params and license…


…right click and refresh your project and you will see the new copyright/license notice


I experimented with another tool called Eclipse Releng Tools but I found it didn’t handle the XML use case I’ve documented above. This plugin is a pretty handy tool to have if you are a propitiatory developer or an open source one. Whatever tool you use, all that matters is you get it done.


A Visual Guide To Embedding JSON Into Your Android Project

A colleague of mines shared his technique on creating hard-coded JSON strings to be embedded as a String in source code. This is helpful if you want to defer writing the HTTP request + response code or want to bypass existing steps like authentication.

The formatting is done using a web tool called http://www.freeformatter.com/. The first step is to take a well-formed JSON string from wherever:

        "hello": "world"
        "foo": "bar"
        "apples": "oranges"

If you copy and paste this into .java file, you will have issues. So using the webtool, you can prepare the above into something that will compile properly. On the website Free Formatter website click on the JSON Formatter:


Copy and paste the JSON into Option 1′s text input. Alternatively, you can enter the URL if the json is available online. Be sure to select the indentation to “Compact (1 line)”. This will ensure that it will strip carriage return characters.


Once you hit the FORMAT JSON button, you will see the compressed JSON but we’re not done yet. If you use this string as is in a .java file, you will have issues because the quotation marks need to be escaped. Next, hit the COPY TO CLIPBOARD button and go to “Java and .Net Escape” under String Escapers and Utilities


On the Java and .Net Escape tool then, hit the ESCAPE button.


Copy the resulting output and paste the prepared JSON string into your source code:


Once you’ve embedded the string into your java code, you can feed the JSON string into your favorite JSON parser implementation.


You could do this all without the aid of formatting tools but that process is prone to human error. Hope this helps.


Notes: android.graphics.drawable.StateListDrawable

Makes a Drawable store many Drawables; It can switch between those different drawables if the Resource Id’s are provided; The resource Id’s are stored in an int[]; That int[] maps to a Drawable. Use addState(int[], Drawable) to build this dynamically

API Documentation:




Android Widgets In 4 Minutes

Last Thursday, The Working Group held a #nerdlearn Demo Night where 10 Toronto devs showcased their code/product/side/project/etc. There were a couple of rules 1) No slides, 2) You must show code, and 3) No more than 4 minutes MAX. Live demos are always a great source of stress for me so I try to mitigate it by showing a video that guarantees that it works.

However, what can go wrong will go wrong. As it turns out, I was the only presenter who didn’t own an Apple laptop equipped for access to AirPlay when there was no HDMI hookup. Good thing MacBooks don’t discrimate playing mp4 files.

Anyways, here’s the same footage as shown Thursday night annotated the day after.

Special thanks to Dessy Daskalov (@dess_e) for letting me be a part of the demos and to Matthew Potter (@AskMP) for the last minute technical a/v assistance.



Unofficial #RedFlagDeals Hot Deals Widget Demo this Thursday at #nerdlearn

I will be giving a really short code talk on a fun side-project involving making an Android Widget. I’ll be highlighting the key differences between developing widgets and typical Activity-based Android applications. Developing widgets are not as popular as making other types of applications because they have a certain number of constraints and API version limitations (i.e. Fragmentation issues).

RFD Hot Deals Widget is free, open-source, and ad-free. It was made because I got tired of opening the browser and entering the URL/opening the bookmark. I just wanted to see as many deals as possible on my home screen.

#nerdlearn Event details can be found here:

The source code can be found on Github here:

The widget can be downloaded here:


Getting Eclipse ADT to work with Gradle 1.8

The latest version of Gradle at the time of writing is 1.9. However, if you download the latest Eclipse ADT Tools 22.0.1.v201305230001–685705, it is limited to using only Gradle 1.6 out of the box.

Thanks to the following StackOverflow post, all you need to do is update the build.gradle file:

classpath ‘com.android.tools.build:gradle:0.6.1+’

See http://stackoverflow.com/a/20062451/855984


Rare Toronto Tech “Super Meetup” on Dec 3rd

News is going to spread fast. Not because of this blog post but because the organizers of the following groups will be dispatching an announcement for this Holiday gathering super meetups of meetups:

- DevTO
- Girl Geeks Toronto
- CreateInTO
- HTML Toronto
- Toronto JavaScript
- Mobile Learning Lab
- AngularJS / PhoneGap
- Maker Faire Toronto

I went to last year’s which consisted of Hackernest, Girl Geeks Toronto, and DevTO crowds in one spot. It was great meeting all kinds of people away from the keyboard. If you’ve never been to any of these other meetups, I would think this would be a great way to get a taste of all of them in one night.

Why no Hackernest on the bill!??!

See you there Toronto, stay classy!

$10 online
$15 at the door

Toronto Tech Wrap-up 2013


Older posts «