Wednesday, March 19, 2014

4 code editors you should be looking at (and none of them is Atom)

  1. Notepad++. I like it because its snappy and an outright replaced to notepad on Windows systems. It also have a bunch of plugins for everything. My favorite use of Notepad++ is to view and format JSON, It's also a pretty capable source code editor with line numbers and color highlighting for a lot of languages.


  2. Brakets. This free code editor is geared towards JS and HTML5 scripters - frontend people; it has this cool feature called "live html" where you connect Brackets to a live server and "edit" the site live. It also has a lot of plugins, I especially like the color/swatch plugin where when you edit CSS colors, it pops up a color selector helping you pick the right shade of blue or whatever. It's also nice that it understands CSS dialects like Less and SaSS.

  3. Lighttable. Although its sort of still in the dev stages it's quite stable on my ElementaryOS machine. It HAS GOT TO BE the coolest IDE I've seen and use.  Lighttable has this killer feature where it cross a REPL with a source editor giving you the feel that you are editing running code. It also has this notion that a file is not the smallest unit of organization but a function is. Did I mention that it's free?


  4. Netbeans 8. Aside from being free, Netbeans has got to have the some of the best toolsets for Java development found on a single IDE. It has wizards for all of Java world's coolest libraries like Hibernate, Spring and Swing. It also has killer support for web technologies like AngularJS, HTML5, Less and SaSS. Aside from that, Netbeans also has built in support of workflow units like Maven, Git and Mercurial. It also has a pretty lively plugin ecosystem making able to support other languages not just Java like Ruby with Rails.


Thursday, March 13, 2014

Google drive docs with signatures

The Easy Way to add signatures into Google docs
I have stopped sending paper proposals to clients. It's too much of a hassle and often times not worth the cost. It's also worth mentioning not wholly environmentally friendly. So I try to mostly do stuff electronically and I also encourage my clients to do the same. I often tell them to adapt to the change or be left behind. Also, to make it sting a bit, I tell them that an IPad isn't just for playing (insert-what-bird-game-is-popular-here). But there are these unfortunate ones that just don't take an electronic proposal with a signature. These are the people who haven't really caught on but at least their are drifting in the right direction. All I can really do is accommodate them. Which leads me to: How do I put a digital signature on a Google Drive document?

There are two ways: The naive way and the easy way.

The Naive way
  1. Take a sheet of paper and make your signature using a wide pen (0.5mm pens at least)
  2. Scan it or take a picture of it
  3. Upload to Drive
  4. Insert it to document. 
The Easy way
  1. Create a new Google document
  2. Go to Insert > Drawing
  3. On the Drawing window, change the line to Scribble
  4. Save & Close
The easy way is not perfect though since signing with a mouse is like writing with a bar of soap but that can be easily fixed with writing tablet from CD-R King.

The naive way works also, it just too much work for me. Also, my phone camera takes potato-quality images and I don't have a scanner. Who has a scanner these days?

Wednesday, March 5, 2014

Whatever you do don't lose that Android keystore

What is Android keystore? A keystore is a used for signing Android apps so they can be published on the Play Store. How that Android app is made either native, hybird, whatever doesn't matter. You will still need that key.

To use a key store you need to do two things:
  1. Go to the AndroidManifest.xml file and change android:debuggable from "true" to "false". You then run a build
  2. Next is to sign the resulting APK (after running the build) with the javarsigner. The command should look something like:

    $ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name
Now this assumes that you have created the keystore already if not then you have to go to your JDK folder and look for the keytool command.

$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

This will create a file that you must not lose under and circumstance. Do whatever it takes to keep it safe because if you lose then you won't be able to submit updates to your app.

Trust me on this, it's far less stressful keeping your keys safe than losing it. Can you imagine the hassle of having your users to re-install your Android app?