Wednesday, December 30, 2015

Learning Underscore.js - awesome framework!

Learning Underscore.js is a perfect introduction to functional programming and ECMAScript 5.  I learned faster through comparing what I already knew in regular Javascript with the same function using Underscore.js methods.  Underscore.js is very powerful and I'm excited to make use of it in my own sites.  Though ECMAScript 6 is almost out, you'll still be able to use Underscore.js, but look for the updated Underscore.js library at that time.

I can see why frameworks that use Underscore.js, like Backbone.js, are so popular. Learning Underscore.js is an easy read with concepts plainly described for beginner and veteran js developers.

Sunday, December 27, 2015

Mastering Python Forensics is Very Cool

If you need to know details about processes and how to extract data from hard drives or mobile devices, Mastering Python Forensics is the book for you. Though the Android tutorial uses Android 4.4.4 you can still use the walk through using the latest version.
This is a useful book with a lot of great information and python scripts.  He also tells you how to setup you environment in order to perform the data acquisitions and analysis to obtain sensitive data.  Everyone dealing in digital forensics should read this book and have it as a reference manual.  Great job!

Sunday, December 20, 2015

I Love This Book!!! It Saved Me Tons of Time!!!! - Blender 3D by Example

This book is amazing! I've read a few other Blender books and they all incorporate similar features. But this book goes a step further and teaches you animation, modeling, rigging, texturing, sculpting, lighting, particles, fur, grass, trees, rocks, character design, compositing, shape keys for your rig, and all the rest of the tools blender offers in such a way that it also adds principles of good techniques. For instance, you'll learn traditional principles of animation, how to write a script for your fully animated scene, what story boarding is and how to create them, and using the video sequence editor to complete the full animation of your sequences. There is an amazing amount of great information within these pages. You will learn very useful and current techniques on how to create a 3D animated sequence from scratch. I wish I had this book a few years ago.

I am a mobile game developer (and a bunch of other things), and I often need 3D objects for my games. This book has given me the knowledge that I was looking for to create assets for my games. Sure it doesn't go into things like exporting for games, but it does discuss things like creating a re-topology of a high resolution model and correct UV mapping. Tons of other things too that help me inadvertently. I still needed things like creating an animated short and still images, so this is perfect.

This really is your one stop shop for using blender if you are new to the blender world, and even a good reference book if you are familiar with blender already. Sure there will be more advanced feature that you'll need to learn that this book does not have, but the fact that this book even goes into subsurface scattering (SSS) in advanced textures and how to create grass and fur, tells you that this is not just a simple beginner's book, you'll learn it all including adjusting the cycles renderer to make great films. I'm so glad I read this book, and so will you.

Odoo is Pretty Amazing

If you are new to Odoo version 8, then this book is definitely for you. The author gives a very hands on, visual (lots of screenshots) walk-through on everything you need to get from nothing to a full blown manufacturing operation - finances, admin/security and all. He goes through each module and explains how it affects the system when its installed and how to configure and use each one. It was a great resource in getting my wife's printing business up and running. There is still a lot to learn, but had it not been for this book, I would not have know what to do.

If you are an experienced Odoo user, you'll learn the new features that version 8 has to offer. He also makes notes of some of the differences in the sas (software as a service) version while walking through a the local install version. 

It's organized by module, so if you have an accountant that needs to learn the ropes, just point them at the accounting section of the book. If you want HR to follow a new process when finding, interviewing, hiring new employees, then point them at the HR module section. Tons of good information and tips available in this book.

I Love Raspberry Pi

Raspberry Pi Android Projects - This book covers exactly what you need to know and do in order to use an android smart phone (or even android stick) to communicate via wi-fi or bluetooth with the pi 2. All the Linux and Android commands are given to setup a truly usable environment for creating a great IoT devices. This book goes a bit further by helping you understand what issues you may have and how to overcome them or gives extra resources if it's outside the scope of the book. I learned how to remote manage the pi from android, install, configure, and manage mysql database, a webserver, read from GPS and a temperature/humidity sensor, and how to connect the pi to your car OBD-II and stream that data to a google doc spreadsheet using your phone as a mobile hotspot. It also includes the basic things like installing a media center, a file server, and a security camera. But the meat of connecting it all up is the car data logger. In order to do the reading and streaming from Android, you get to create an Android App using Android Studio.

This book may not be for everyone since the scenarios are so specific. For instance, I may not want Android to communicate with the pi through wi-fi or bluetooth, but some other connection. You'll need to figure out how to connect via a hard-wire/usb/other device on your own.

However, though I wish there were more chapters to this book related to other connection methods between the pi and Android, I found it still very comprehensive for the tasks it was attempting to teach me. You can literally sit down and follow the examples word for word (you may need to be a bit creative if you're not using the same hardware/software versions) and have usable environments. I love that this book is so hands on and not so much theory.

Packt Publishing Discounts!!! Get'em Quick!

A career as a software/hardware engineering is always a whirlwind when it comes to learning and keeping current on your skills. Just like an Olympic athlete, we need to be honing our skills every day; I'd even say that if you aren't learning a new language every year you will not be able to keep up with the coming trends. There are tons of resources out there that will help you, but I wanted to point out just one today: PackT Publishing - Skill Up. Every ebook and video Packt has ever created is currently $5 each - I don't know how long this will run. This is an amazing deal and you should at least look into it. These titles usually run for $20- $40 each for ebooks and $50 - $70 each for the video training! I have definitely purchased my share of training from them and they are always great.

Also, if you're not sure which skill you should be sharpening, then take a look at the Year in Review to find out what many professionals are doing.

Thursday, September 24, 2015

Who Knew Python Machine Learning Could Be So Easy?

I recently read "Python Machine Learning" by Sebastian Raschka.  I loved it!(You can buy it at Packt or Amazon)

Technical, but not too much. Let's face it, machine learning algorithms are technical in nature. However, this book allows you to gloss over the actual technical details if you don't really need to understand them right away and view the implementation of the logic in the code snippets. Though, I must say, the presentation of the technical subjects are explained clearly and with supporting graphs and images to help visualize the concepts. It was a wonderful experience to understand the code, even though the theory was also given. This allows most people to jump right in and start writing in python. For the mathematicians out there, you can take the equations and verify them if need be.

The ideas build upon each other and just like teaching a child to talk, the quality of machine learning seems to be about getting good training sets for your algorithms. As such, Sebastian is good about giving in-depth, best practice steps on how to make sure your training data is clean and normalized, as well as your feature selection is relevant - which was great. You'll learn how to merge results from multiple data sets into a more thorough model in order to filter out weaknesses of various algorithms. You'll be able to predict future outcomes using regression analysis using techniques from statistics to look for patterns and anomalies, again, all explained in very understandable words. Though the content and speed of the book is all very good and relevant, the icing on the cake is in the last two chapters (which you need to have worked up to in the previous chapters); understanding and then creating a layered neural network to solve complex problems like hand written digit recognition. And to top it all off he teaches us how to make it more powerful using the Theano tool.

You also gain great insight into many uses of the python language, SQLite databases, implement it by developing a small web application during the process, and understanding some parallel processing - from loading large data sets and processing them to using math and science libraries to process the data without having to be a rocket scientist.

Another great benefit of this read is not just the programming and math techniques you'll learn, but the right questions you need to ask about your data to make the results useful - unsupervised learning. The data sets used in the book range from breast cancer subjects to political science and from movie reviews to processing topics in order to determine a particular bias and then on to image processing.

The only downside (if you can even call it that) is that there is a lot of math involved, but to his credit, Sebastian teaches it in such a way that you don't really need to understand the math equation to understand how the equation works. In essence he is saying, "You don't need to understand the laws of physics to build a house, but here are a set of tools to help you create a magnificent house."

The fundamental concepts I've learned have opened the door to an enormous amount of possibilities I could not have even thought of doing had I not read this book. I used to think that true machine learning was only for super geniuses. But now I feel like I have another set of tools I can use to perform nearly superhero tasks. Python Machine Learning will be a reference book I use for many years to come.