Another One in the Books 2019/11/23
Tags: wayr, learning, mytwocents, tools
Published: 2019-11-23 19:12:04

# WAYR (What Are You Reading)
In my latest read, I've finally started a formal plunge into the world of micro-service software architectures by diving into _[Building Microservices: Designing Fine-Grained Systems](https://amzn.to/2XKhp39)_ by Sam Newman.
Since seeing this architecture appear at my place of work, I've become very curious and interested in what this means for effective integration of machine learning algorithms into standard product offerings. When you take away all the details of service communications and data storage, this really just smells like more concrete ways of modularizing and encapsulating distinct functionalities in a product.

That being said, there is still slightly more to it than this -- boundaries between these fine-grained services can often be defined more based on business-level logic boundaries, rather than more traditional software-level or data-level boundaries.
I'm about halfway through this one, and am still fully enthralled; Sam has done much more than "fill in the gaps" of architecture details. He has consistently connected theoretical choices to practical implications, so that you can feel much more confident when approaching the development of your first micro-service application.

I definitely recommend this one. He's already underway working on [the next version](https://amzn.to/37vKKmz), but it doesn't appear to be coming for at least another year. Go ahead with the current version!

---
# Learning
As mentioned above, I've become interested in analyzing the interplay of micro-service architectures with the current state of machine learning deployment technologies. 
It's certainly not expected that every research scientist in industry need understand all of the DevOps, service design, testing considerations, etc that goes into proper micro-service systems. 

> However, a lot companies are currently struggling at marrying long-standing notions of a proper software life-cycle with more recent developments of what a proper machine learning model life-cycle is. 

I'll give you a hint: they are not the same 😬.

I can already tell you that I will be making future dedicated posts both about theory and applications of micro-services with machine learning solutions, so I don't want to delve into it too much here. However, please reach out if you have shared interest in this area!

---
# Tools
I hate paper.

You won't find me hugging any trees, but it's just so wasteful amongst all the technology we have now. What do we use paper for? For the most part, it's just a historical form of sharing information, right? 
So...now that we have things like quasi-ubiquitous internet and data storage, why do we still have so much paper?

> We still have so much paper mainly due to a transition period, in which companies and individuals change their habits of communicating information.

In the meantime, however, the [Doxie Go SE](https://amzn.to/2K0dOZh) scanner I just got is a fantastic way to move my life more towards fully paper-less. I've never had so much fun using a paper-related device (read: printers suck).

Ok, so what's so good about it?

### Portability
This thing is *compact*. I won't throw any decimal points at you -- it's the length of a standard sheet of paper, and about the width and height of your pinky finger. 
You can charge it with a standard micro USB cable, and then take it with you across the room or the world. 

### Ease Of Use
It just works. And that's saying a lot, since office appliances are usually miserable to deal with. 
This is my first Doxie product, but they definitely have my attention now moving forward. 

Two buttons: power and WiFi. Can you guess what each does? 

It's easy to connect to a new network: you can first connect to _the device itself_ from your computer, and then use its web interface to connect it to the desired network.

Once it's connected to your network, you can view your recent scans, group them to your liking, and then send them to your folder/cloud/destination of choice. I bet they have yours covered!

---
### OCR (Optical Character Recognition)
This mouthful of an acronym for the auto-magical process of converting a picture/scan of something with text to a digital document that "knows" what the text is in the image. 
Besides being impressed and saying "man, that's cool", there is a massive benefit that this provides over the more traditional paper filing system of previous centuries:

> With OCR scanners, we now have immediate access to a searchable repository of every piece of paper we've processed with them.

Let me bring this point home with my current favorite workflow with this: my growing dinner recipe book!

My wife and I recently got settled into our new home. Amongst all the various projects and errands we are both doing, routinely making a nice meal has become more difficult. 
We have recently started using a service that sends us (weekly) a few meal-ready sets of ingredients, with recipe sheets for how to prepare them. 

At this point in the process, our parents and grandparents now air-drop into the conversation with a three-hole punch and binder to help us make our very own recipe book. 
While this is thoughtful, how about a digital recipe book that is basically impossible to become damaged, lost, or otherwise unwieldy? I'm picking the latter 😁. 

Every time we finish a meal, I pop the recipe card through the scanner and send it to my Google Drive. Now, whenever one of us is feeling <insert your craving here>, all we need to do is go into Google Drive and search for <insert that craving here> and voila! All recipes matching your search auto-magically appear for you. 
This isn't your hot-shot machine learning solution, but I had this process up and running within 30 minutes of receiving the scanner.

---
# My two cents
In a recent NFL game, defensive end Myles Garrett [smashed his helmet](https://youtu.be/_PMHlURlxus?t=22) onto the head of QB Mason Rudolph during a scuffle, leading us to [related incidents](https://www.si.com/nfl/2019/11/15/myles-garrett-suspension-violence) like this in the NFL, and how much of a media ruckus was made with them. 
The angle I want to take here is to step back and claim how ridiculous all of this is.

> Consider how much human effort went into the media coverage, NFL penalty determination, and fan conversation about this. Is it all _worth it_ that much, compared to the rest of our lives?

Two grown boys, getting paid millions of dollars, got in a schoolyard brawl in front of a physical-and-digital audience of millions of people.
Then, thousands, if not millions of people spend their time and effort to get paid to do their job in the next few days, which in some part related to this event. 

If you pool together the collective attention and brain power of all of these people, is this really the best use of us?

---
# Share your opinion
What are your thoughts on this incident with Myles Garrett, and how the media played a part in the aftermath?

Do you have any experience with micro-services and/or machine learning deployment?

Do you have additional ideas about the implications of OCR and traditional paper processes?

What else would you like to share?