NCDevCon 2013 Schedule

NCDevCon 2013 (tentative) session schedule is up. The topics seem quite interesting and varied : From “Web Penetration and Hacking Tools” (David Epler) to “Better UI/UX with Bootstrap : A Developer’s Primer” (Steve Keator) to “Getting Control of Your Asynchronous JavaScript” (Bucky Schwarz).

I am picking the sessions to attend.  Looks like I will be able attend around 11 sessions in 2 days, if that is all I do while I am there. Sometimes, there are good reasons to not attend a session :

  1. The conferences are for networking as well as for learning. If I strike an interesting conversation with someone, I will not hesitate to skip a session.
  2. Sometimes, an impromptu group discussion sparks wonderful ideas and accelerate a thought process in a way which is unlikely to happen in a one-way presentation. If I am in such a discussion, I will gladly forego the opportunity to attend the next session.
  3. A follow-on discussion after a session, either with the presenter or with other attendee(s) may derail my planned schedule.

Here is my pick of sessions (click the picture to enlarge):

NCDevCon 2013 Schedule

Green highlights are the sessions I don’t want to miss.

Red/pink highlights are the sessions I will most likely not attend due to one of these reasons :

  1. I have no interest in the topic.
  2. I already know the subject to the extent that attending a (seemingly) introductory session is not a valuable use of my time. After all, I can only attend one session out of five in a time-slot.
  3. The session description is too vague for me to make a decision at the moment and there is another session in that timeslot that I am very keen on attending.

Yellow highlights are the sessions that I can’t make up my mind on. Any recommendations?

Which sessions are you attending?

 

Get Your Windows 8 Start Menu Back With Pokki

I like the new Windows 8 experience. Start screen with live tiles is awesome. But I have been missing the Start Menu when I am on the desktop. There are plenty of rumours that Microsoft will bring back the Start Menu in the next version of Windows – Windows Blue. Until then, you can use one of many third party utilities for that functionality – ClassicShell, Start8 and Pokki.

I started using Pokki. And I love it. It feels like my world is whole again. Pokki is free.

If you want to do what I did, after installing it, open settings

and make these changes:

Protecting Your Api Keys

I am working on a Windows 8 app (details to follow in a subsequent post) and the code is published in a public repo on github. My app uses third-party APIs and after I committed the first cut to github, I realized that I had included my api keys in the code. The whole world had access to my keys. I did not want to publish the developer keys for those APIs to the entire world.

When the app will be released and distributed, those keys will need to be included in the app somehow. Once the keys are out there they can not be 100% protected from a determined mind. So, why bother? Why would I want to hide the api keys in the source code? Here are some good reasons

1. It might be illegal to put the keys out there in plain sight for the whole world to see.
2. Developer keys may be throttled or have other restrictions on how many times they can be used per day or per minute.
3. The keys might allow access to expensive cloud computing resources.
4. The keys might allow access to confidential/sensitive customer data.

First, I had to take my keys back from git repo. Can you really remove information from a public git repository? Yes, you can, using git filter-branch. Here is how – https://help.github.com/articles/remove-sensitive-data. It worked! I successfully rewrote the history! My past commits don’t have those file(s) anymore that had my private api keys.

Next, I made sure that I don’t make this mistake again –

1. I added a new file ApiKeys.cs to the project.
2. Exposed the api keys as constants from a static class in this new file.
3 Added ApiKeys.cs in .gitignore file, to prevent this file from being committed to the repository.
4. Added instructions in ReadMe.txt for external developers to include their own keys.

This is not an ideal solution. If you are using a continuous build server, this technique will obviously not work. The code will not compile as-is, a file must be added to the project before it will start compiling. This works for me for now, but I am still looking for a better solution.

Switched to Thematic

I have switched to Thematic theme on this blog over the weekend. I created a child theme after playing around with the customization hooks. I added a widgetized area below main asides, did some css modifications and created a three column, flexible layout just the way I wanted. I am so glad I switched to Thematic. ThemeShaper forums are very helpful. These articles were just what I needed to get started : How to make a child theme for WordPress and How I used a WordPress Child Theme To Redesign My Blog.