Bookshelf: AI 2041

Another recommended book for the Holiday break. I came across this title listening to the Nvidia Podcast (which I also highly recommend). How will artificial intelligence change the world over the next two decades ? In 10 stories Kai-Fu Lee explores the future with a blend of science and fiction, making it more accessible to non-tech readers. CO-authored by Chen Qiufan who created the fictious parts. The book was only released in last September (not yet available in German language). Every chapter brings up complex AI topics and hotly debated issues, ranfing from Deep Learning, VR, Self-Driving Cars to Quantum Computing. The non-fiction review of AI concepts analyses and describes how technology works. It reminds me reading books of Isaac Asimov 30 years back.

If you have read ealier books of Kai-Fu, like ‘AI Superpowers: China, Silicon Valley, and the New World Order’ or ‘My Journey into AI..’, this is my recommendation for you.

Get your copy from your favourite book dealer or online. Check out the book website here.

Bookshelf: Machine Learning and Data Science

With less options in your sparetime in the current situation, we can invest some of the extra time we have gained in reading instead watching (too much) Netflix and other streaming services. Here some recommendations from my booskhelf. Machine Learning and the related topics like Data Science are the hot topics in IT in almost any business domain context and a basic understanding is important for everyone dealing with software, be it sales reps or product managers with little or no computer science background, and the last time you touched discrete mathematics, linear algebra or probability was at high school. The challenge here, both topics have a steep learning curve and it is hard to acquire a decent knowledge, but for most of us, basic understanding is good enough to manoeuvre discussions and appreciate what is possible and what not (now). There is a huge choice of online courses and books, though the majority is most likely to deep-dive or covering a very specific aspect of machine learning. Publisher like Springer and Packt even allow you download selected titles these days or permanently for free.
Here 2 titles that scrape the surface but give you some insights and overview of commonly used terms. Both available as paperbacks or for the Kindle for less than Euro 15,-.

Machine Learning For Absolute Beginners

by Oliver Theobald, Independently published, 2018, 155 pages

If you start from ground zero with no knowlegde, this is a good overview at 10.000 feet without diving too much into formulars and algorithms. You learn about linear and logistic regression, decision trees, clustering and more but just enough to get a basic understanding. Neural networks are covered too, but it might be challenging to transport this through only 10 pages. There is a bit of Python coding sprinkled in if you feel getting more hands-on.

Data Science

by John Kelleher, The MIT Press Essential Knowledge, 2018, 280 pages

This book covers the basics of data science, ranging from the definition of data types and the DIKW pyramid to standard tasks and outlining the whole data science steps in the CRISP-DM process. Non-technical aspects like ethics and privacy are covered too. This book is 99% free of algorithm and sourcecode.

The MIT Press Essential Knowledge series offers a few condensed titles, like Deep Learning, MetaData, Computational Thinking and others.

I will recommend some more titles soon. Stay safe and tuned.

d3.js – Available Books

D3 is my favourite visualization platform, though the learning curve is steeper because it is about selections, data mapping and transformation close to the DOM. D3 does not come with pre-defined visualizations like bar and piecharts. The website comes with lots of samples and tutorials are available as well. If you take the time to walk through them and experiment by yourself you will learn most. Still I enjoy reading books about technical topics with an end to end walk-through.

Currently there are 2 books about D3 both from O’Reilly and both have a similar introductory focus.

Getting Started with D3

d3a June 2012, 12.99 U$ (ebook)

The books does what its title promises, getting you started, It jumps right into D3 with sample applications and code. What I really like is the fact the author connects the visualizations to real life data (New York’s MTA transportation data) which makes the whole book more entertaining and tangible. It also provides a chapter about transition and interaction, even about layouts which make more exciting visualizations, like those we all know from the D3 websites sample page. Though it does not go into advanced details. At this reasonable price I would recommend the title.

Interactive Data Visualization for the Web

d3b

November 2012, 23.99 US (ebook)

This book is a bit more comprehensive than the first one, it starts with some more basic underlying technologies and provides the reader with an introduction to HTML, DOM, CSS and Javascripts. The chapters covering D3 are written lengthier providing slightly more details. It runs along the sample around a bar-charts and scatter-plots which turns dull after a while.  The early release I have seems to be incomplete, so I dont want to give a final verdict.

With D3 obviously getting more popular we will certainly see more books, hopefully covering advanced features and more visualization centric. I was asked if I like to write one but my D3 knowledge is way not comprehensive enough, I wish Mike Bostock would write one.

Post number 300 ! Thanks to the up to 1000 visitors a day.

Book Review: Java EE 5 Development with NetBeans 6

Java EE 5 Development with NetBeans 6
David R. Heffelfinger
Packt Publishing
www.packtpub.com
ISBN 978-1-847195-46-3

The JAVA bookshelf offers a myriad of titles on almost any given topic, frameworks, tools, plugins or any available IDE. Most of the JAVA EE titles I know, are thick compendiums which go way beyond the level of knowledge you really need in practice, or are of a very theoretical nature. Often they are not pointing to specific products or versions (IDE, applicationserver or DB), eventually only giving some generic directions on how to use them. Someone who is not yet an expert in the EE environment, struggles to get the samples and sourcecode snippets in their choice of IDE and applicationserver up and running.

Other for this title, it guides the reader through the whole lifecycle of Java EE development, inclusive of the basic installation and configuration of Netbeans (6.5B, the actual version at the time of writing the book) and Glassfish in an illustrated step-by-step fashion. What I really like about his book, is the coverage of the most important aspects of the Java EE development in this sample-driven approach. You dont need necessary all the knowledge you gain from the book, as some frameworks abstract away a lot of the details, but is more than viable to to know whats going on under the hood and even more as some of the modern frameworks are only sitting on top of it. The book won’t teach you all details either, but it serves as a good starting point.

A short overview over the chapters and covered topics:

Chapter 1 supports the reader in getting Netbeans with Glassfish installed and running.
Chapter 2 starts with plain JSP development, it runs you through the creation of JSP pages and Servlets, JSP fragments, basic security and introduce you to the HTTP Monitor.
Chapter 3 looks at enhancing JSP pages with JSTL tags (for, choose, foreach), JSTL SQL tags (in case you require some hardcoded quick and dirty db-linked pages) and custom JSP tags. Basic understanding of tag libraries helps in more complex environments is essential.
Chapter 4 introduces into the more visual creation of JSF pages, also covering page flow and validation.
Chapter 5 gives a glance at JPA as a major improvement compared with the old way of creating entity beans and riding on additional relational mapping API’s. The chapter also covers Named queries, JPQL, table relationships and the various ways to creating JPA entity from the database and vice versa using the various little wizards that Netbeans has to offer. A complete sample rounds up the chapter with the automatic creation of JSF pages.
Chapter 6 is an extension to chapter 4 and servers more sophisticated samples for the visual creation of JSF pages including database binding and ajax functionality.
Chapter 7 pushes forward right into the heart of Java enterprise applications, the EJB’s. Even impossible to give a comprehensive overview though, this chapter offers a fairly good start into the complex topic with session beans and DAO design patterns provided by Netbeans.
Chapter 8 gives a quick glance at JMS, Java’s messaging service, which is hardly covered by any book with runnable samples but theoretical descriptions. Key to understand this for any communication to the outside world.
Chapter 9 get us started with Webservices as an core engine of web technology, interoperability and the cloudspace.
Chapter 10 summarize all the previous chapters by assembling a complete enterprise application with EJB module and web application.

I recommend the book as a starting point into the world of Web and Enterprise Applications with Netbeans. Even newer versions of the IDE are available now and Java EE 6 is around the corner, the basics, as you setup your knowledge foundation with this book, wont change. With the tools of the trade you learn to use here, you can continue your reading journey with other more detailed books. I wish I had the book while I was picking up Java EE, instead of wading through compendiums and dry theory material.

The sourcecode is available for download at the publishers website, ready for you to open in Netbeans. I still prefer sometimes hacking code from books line by line, it teaches you more while doing it, other than just blindly looking at code and run it.

Having a nice budget for books, I accumulated a collection of books touching a variety of IT topics, from coding to IT project management.
The development related books usually have 2 problems:
– They are (sometimes) outdated the moment you read them due to the cycle between the time the author writing the title and the versions of a product he refers to, it gets reviewed, edited and published and the time you hold in your hands.
– They are expensive. Sometimes you find information of similar quality, maybe not as combined as a book, in the web, as long you can find the right website or blog.

I recommend looking at the packt books, most of them are available as pdf at a reasonable price (cheaper than the paperversoin of the same). They come with the big advantage that you can carry as many pdf books along as you want. And if you feel the urge to, you can print (parts of) it to read – sometimes reading from paperware is more relaxing than staring at a screen though.

Bookshelf: Smart things get done


Smart and Gets Things Done:
Joel Spolsky’s Concise Guide to Finding the Best Technical Talent

“Joel Spolsky’s Concise Guide to Finding the Best Technical Talent”

I really like to read Joe’s books because they have a strong reality check and its fun to read them. This book focus on hiring tech staff for your company, to be more precise, developers. I find this the most challenging part of running an IT company. Finding people that are flexible, open-minded, experienced, willing to learn, expert in their field,..

I saw to many bloated CV’s filled with technolgy buzzords and fancy certificates, but then reality sets in. I rather invite people for interview with a less shiny list of achievements.

But ! The stars out there dont send CV’s. They always hired and hunted down by headhunters.
So my tip for you as “employer”: Dont waste your time with newspaper and monster ads, you are going to waste your time. Get creative or let someone help you !

New on the bookshelf:

Joel Spolsky latest “More Joel on Software”

“Cryptography for Dummies”

“RFID Labeling” 2nd Edition

I will delight you with my recommendation and comments while reading them.

Bookshelf: Dynamics of Software Development


Dynamics of Software Development
(Best Practices)

Just another book on software-, development team and project management ? This is the 2006 revised editio of the same title from the year 1995 by Jim and Michelle McCarthy. Besides lot of interesting insights into the MS Visual C++ development team it shares real life ideas and concepts to work with developement teams and software pojects. Some parts are a bit dry to read.

My Rating: @@@@@

Bookshelf: Hacking for Dummies


Hacking For Dummies
(For Dummies
(Computer/Tech))

This is a quite interesting introduction in hacking, or better into ethical hacking, which is the white-hat version of all the criminals out there. Learn about your enemies and your know how to defend yourself. As most of the yellow books, this interesting and entertaining to read and offers lots of tips and tools to hack and test your own server or network.

My Rating: @@@@@