2016-01-31

Perl 6, Worth A Try

TL;DR; Perl 6 is fresh, and fun to use. The Perl 6 community is nice, don't be afraid. Also, I released a Lending Club API wrapper written in Perl 6.

Nice People


A butterfly against the sun.
In case you missed it, Perl 6 is officially out. Christmas has arrived. We use Perl 5 at work and I enjoy it immensely, but, I have been looking forward to Perl 6 for a while. I attended talks given about it at past conferences, and I read various blogs that showed off some of it's shiny bells and whistles. I even installed a version of it before it was officially out to play with it.

After seeing the Christmas announcement, I eagerly installed it, and began going through a tutorial website to get acquainted with it. At some point I came across a part of the tutorial where I thought it wasn't working. I decided to brave IRC for the first time in a few years, and to ask about my issue. A Christmas miracle happened, no one bit my head off. This was so wonderful, I ended up lurking even after my problem was solved to see if this was normal, and it was. Of course, not everything changed. After a few questions, back and forth, as usual the problem was revealed to be one of my own making.

Modules


A little known fact, I have always wanted to publish something useful on CPAN. Of course, life, the learning curve, an excuse, more excuses, and me not making it a priority, has held me back from completing this goal. Anyways, near the end of the tutorial, they talked about the community made modules that are available in Perl 6. And on that module page was a link to how to contribute.  I immediately skimmed this doc. The distributing part was only a page long, and didn't involve any arcane incantations, just some modern day ones. All of a suddenly contributing seemed a lot more doable.

Maybe, it was that contributing to Perl 6 was simple enough it didn't feel daunting. Maybe, it was that new car smell that kept me plugging away at it. Either way, I decided I was going to scratch my own itch and for better, or worse share some of the code that came from that.

What to share..


I recently became a digital nomad. With that came the awareness that managing money isn't as simple as pay the bills first, and spend the rest on fun. There is a whole other blog post in that statement I will save for later. The problem I have been struggling with for the last few months is understanding my retirement and investments. The tools I have make it about as clear as mud. I needed to write some code to help me look at the whole picture in one place. I figured if I had this problem others might too. With this in mind, I wrote a very small module to help me calculate a few different numbers related to compound interest. I even managed to throw in a few tests. Everything went well, and my first ever Github pull request was accepted!

This success totally psyched me up. So I went ahead and worked on another pain point of mine. That was taking control of my Lending Cub investments. Currently, I am using the automated investing tool in conjunction with custom search criteria, to pick my investments. While this is better than manually picking, there are some drawbacks. For the second module, I wrote a wrapper for Lending Club's API.

One big hurdle was, while that intro website had given me a basic, understanding of Perl 6 there is still a lot more you can, and should do with Perl 6. For me specifically, there was a lot more I needed to learn about Perl 6 subroutine signatures, and data types. Happily after reading the documentation, and experimenting a bit, I was able to get it all figured out. I even found and fixed a typo in the documentation, giving me my second ever pull request on Github!

This module turned out to be a LOT more ambitious, than the first. I needed the help of other modules, to keep my code simple, and clean. I had to try out several modules, before I found the right foundation to build off of. After finding two good modules, and about half way through writing the code, I found out, one of these lovely modules, needed a feature. This prompted my third ever pull request on Github! Happily the author was really cool, and accepted it within less than a day, with just a few modifications.

So after two weekends of working on it, the Lending Club API module was thrust upon Github, and accepted into the fold of Perl 6 modules.

Conclusion


I guess what I am trying to say with that little recount of events is: If you want to try a new shiny programming language, and have some nice people help you, Perl 6 is a good choice. As for me, I have quite a few more pieces of my financial puzzle to work on, and I am sure that will create new code, and improvements to the two I have already released. 

Thanks Perl 6 people for being awesome!

2016-01-07

2015 Fiction Review


I enjoy reading, a lot. Since I started this blog I have reviewed a book. For someone who reads a lot that is kinda sad. So, instead of posting resolutions for 2016, I decided to look back and pick out the best ten books I read this last year.  This first post will hit fiction books, and next week I will do the non-fiction.

Over the course of 2015 I took part in the Goodreads reading challenge. I ended up reading twenty five fiction, and thirteen non-fiction, for a total of thirty eight. I have picked my top five for each. All book links are affiliate links.

Fiction Books


#1 Feed by Mira Grant - This is the first book in a zombie series was a lot of fun to read. It starts with us followed a group of up and coming bloggers who land a big contract following a presidential candidate. Our main character is a tough as nails female news blogger. Don't worry there are plenty of zombie chases, conspiracies, and unique characters to keep things interesting. I really like how the author took time to both develop the world, and really look at the different lifestyle choices people have to make to live in a world where zombies, and society needs to coexist. The first book is a solid story, and you could stop there and not read the  next two if you wanted.

#2 Brain Wave by Poul Anderson - Poul asks a simple question of "What if everything with a brain on Earth started getting super intelligent?" He then lets us watch as a mentally handicapped man, a scientist, and several others adjust to this new found intelligence. This book was originally publish in 1954, and some of the possible changes that he thinks up are brilliant. Besides being a big "what if" thought exercise, the book also question some cultural norms of that time, and some we still have.

#3 The Dwarves by Markus Heitz - This book was recommended to me by a friend. We all think of dwarves as short, loud, alcoholic, miners. They are side characters, not the hero.  The author decided to show us how complex a Dwarf could be. Our main character is a Dwarf who has been raised by humans, but is suddenly thrust into the middle of a quest to forge a blade that will save the world. There is political intrigue, fighting, magic, and of course, quests. Everything a good fantasy novel could want. What sets this novel apart besides the main character, is the level of detail and realism surrounding this dwarven world our author has created.

#4  Ringworld by Larry Niven -  I bought this book ages ago, but let it sit. For the last couple of years a coworker of mine would ask if I had read it almost every time we talked Science Fiction. He then would proceed to tell me all about Ringworld all over again. So this year, finally I finished it. So I can now say, "Yes, I have read that!" This book turned out to be way better than my coworker was able to sell it, or really I can sell it.  I found tons of things interesting about this book. First our author probably did tons of research to create this book. It feels so accurate and real to that possible future. Second, our main characters we a blast to watch. Each was so different from the other that it was a lot of fun to see them play off of each other, and change.

#5 Equal Rites by Terry Prachett - Hilarious. I have always enjoyed his Discworld books. In this book an old dying wizard passes on his powers to a just born eight son of an eight son. No sooner has this transpired does the wizard expire. The father then finds out they accidentally created the first female wizard. In this book we get to watch the younger years of our young female wizard, as the adults around her have troubles accepting the way things are, and to hilarious effect keep attempting to make things the way they have always been.