Tuesday, May 24, 2016

My Journey Learning Modern Development

I wanted to start blogging again by writing about how I'm learning more about modern development practices. I'm doing this because I like learning about development and currently there is a lot to learn. My plan is to focus on certain areas of web development and enterprise computing to try and advance my career into something using a modern technology stack. I've been focusing on javascript ( My CodepensAlgorithms and a small test framework in Javascript ), AngularJS ( I created the following with AngularJS: Twitch Viewer: see when users are streaming onlineWikipedia Viewer: get a random article or search ) C# and XAML (Restaurant Manager : A demo app that uses C# and XAML), Powershell (some simple Powershell scripts), and Python. I've also played around with Scala (Scala Solutions), Erlang (Erlang Solutions), Clojure (Clojure Solutions), Haskell (Haskell Solutions), Ruby (Ruby Solutions), and Prolog (Prolog) by reading through Seven Languages in Seven Weeks.

I graduated in 2007 with a degree in computer science where most of my classes were in C/C++ and Java using object oriented programming. I've spent a lot of time since then using mostly mainframe COBOL and the associated tools and technologies. This has included CICS, DB2, REXX, JCL, ISPF, Easytrieve, IBM File Manager, and all of the other tools associated with a mainframe environment. I think these technologies are sufficient to complete most of the jobs that it's used for (large legacy applications written mostly in the mid to late eighties), but I would also like to learn more about modern technology and development practices. I don't mind the mainframe environment, but it would also be nice to eventually use something more modern.

I'm planning on using this blog to record my journey learning about these new technologies and my thoughts about some of the projects I'm planning on completing with them. Hopefully this will be something I can come back to in the future and maybe help me meet others learning the same things.

Friday, February 13, 2015

Reading the Classics - Code Complete

I've decided to start writing about technical books I read that could be considered "classics." The reason is mostly to keep a record for myself of my thoughts on the book at the time I read it. If it also generates a discussion that wouldn't be too bad either. Someone could remind me of something I missed or give some insight that I never thought of.

I actually read Code Complete a few years ago, but there was a lot about the book that stuck with me.The book is full of good advice for programmers to follow during their entire career. It starts with requirements and goes through each step of the software development life cycle. I really like the metaphor of construction that was used in the book to describe software development. There are sections that show code samples and some best practices. These were what I thought was the core of the book and where most programmers will probably find value. The sections on testing, debugging, and class design were especially good and stuck out to me when I read them.

I liked that the writer was very explicit about the religious wars in programming and when he would be entering into a "religious" discussion. Sometimes programmers are very fanatical about the tools we use. I know I can be sometimes. Personally I like Vim. It's mostly because that's the first editor I learned in college and didn't take the time to learn anything else. Sure I've played around with emacs, but it's just not the same as Vim. I like that the writer says that it's just a personal preference and not to take it too seriously.  

There is a part of the book that talks about code reviews that I thought was really good too. I like code reviews and I think they're an important part of any software development project. In my own job I know code reviews have caught bugs that I didn't see. The book does a good job of emphasizing that a code review should be about having other programmers looking over the code to make sure it's correct. This means other programmers on the team should have time to look over the code and provide useful feedback. Also, it's useless if it becomes political and involves managers. At that point people start trying to hide bugs and obfuscate things to stop people from reading the code.

With all of that being said I think this book felt a little dated since it was written a decade ago. The code samples contain a lot of C and VB. I know people still use those languages but I think most people have moved on to modern languages like C#, Java, Python, and Ruby. It doesn't take away from conveying the ideas in the book so it's not a big deal. There are sections about agile/extreme programming and functional programming that probably could have been more in depth. Again, it's not a big deal though and there is still good information that would be useful to any programmer. Still, it would be nice to have a new updated edition of this book with updated benchmarks and code samples.

I plan on reading back through this eventually. I've probably forgotten some of the information since I read it so long ago. 

Where I've been

I haven't updated this blog in years. I've decided to start blogging again so I can have a place to hold some of my ideas and opinions. Mostly this is going to be random thoughts and ideas about programming and technology. Some of them might be just opinions about certain aspects of programming. I know everybody has an opinion about programming and I'm no different.

Monday, August 27, 2007

Two recent books that are pretty good

I've recently read two books that made me feel like I've not only been to another country, but lived there too. They both give such a lucid account of the culture through the lives of the characters that I felt like I had been there. I guess that happens every time a book is read...

The first was The Savage Detectives by Roberto Belano
I'm not going to try to explain what it's about except to say that the setting in Mexico
There are better reviews at Amazon and Harper's...

I also read My Name is Red.
This one actually has three stories in one... a love story, a murder mystery, and a philosophical commentary on art. It's told from many different perspectives through different characters. The setting for this one is Turkey, specifically Istanbul. Again, there are better reviews elsewhere.

Monday, July 23, 2007

New Music I like



Lately I've been listening to two bands that I like and would like to suggest to any of my friends that want to know about them. I'm not going to try to write a review for these bands... if you like the same kind of music that I do then try them out... if not still try them out they're great!
Menomena is a band from Portland that makes great music.
They have a myspace page:
http://www.myspace.com/menomena
and a website: http://www.menomena.com/

I've been listening to Seabear a lot too, and have been getting their songs stuck in my head.
The songs are amazing! They're from Iceland
myspace page: http://www.myspace.com/seabear

Sunday, July 22, 2007

The Great Geometry at Plus Magazine

Plus magazine is a great online mathematics magazine that I used to read regularly when I was in college. I've just recently started doing that again. The current issue is all about geometry. The greatest of the mathematical sciences in my opinion. The article on quantum geometry is especially interesting. If you have some time to spend improving your analytical mind... try it out. If you're interested in math you can look into the archives of the magazine online as well.

link to Plus site: http://plus.maths.org/
link to current issue: http://plus.maths.org/issue43/index.html

My Used Book Weekend

I have an addiction to used book stores, and usually waste a few hours on Saturday mornings getting my book fix. This weekend I found a book that was amazing. It's a bit old, but the subjects it deals with are still relevant.
Our brains are what makes us human. Without them we wouldn't be able to communicate or design the modern technologies we enjoy in modern civilization. This weekend I read Carl Sagan's The Dragon's of Eden. In this book he constructs the biological events that led to the evolution of the human mind. It's both fascinating and a little scary to realize how much of an accident we all are. Without random changes and natural selection the greatest works or art and the most complex engineering constructions would have never occurred.

The book talks about three different structures of the brain and how they evolved throughout time. These three parts: the R-complex, limbic system, and neocortex provide the functions needed for the mind. The latter provides the parts that make us distinctly human, and connect with the older parts that are left over from evolution.

For me, the fragility of our existence gives a good argument against war. In the book Sagan also makes a good case that being sufficiently evolved means that we should stop trying to find ways to kill each other. Instead, maybe we should try to work together... unfortunately this doesn't seem to be popular right now.

He also gives a good argument for a compromise on abortion using the information from previous chapters of the book.

This is one of the best popular science books i've read in a long time. Even though it might be old, (some of the computers he mentions are no longer used) I would still recommend it to every thinking person who likes to read.

It also won the Pulitzer Prize for general non-fiction in 1978.

There are good reviews on amazon
There is also a good review on scinet: http://www.scinet.cc/articles/doe/dragonsofeden.html

A good overview of the brain structures that are discussed in the book:
http://thebrain.mcgill.ca/flash/d/d_05/d_05_cr/d_05_cr_her/d_05_cr_her.html