# Monday, May 11, 2020

Episode 608

Christina Aldan and Jeff Strauss on Dev Around the Sun

Dev Around the Sun is a 24-hour online tech conference designed to raise awareness and funds to fight the COVID-19 pandemic.

It begins May 12 at 12:00 UTC.

Organizers Christina Aldan and Jeff Strauss describe the goals of the conference and what viewers can expect.

Dev Around the Sun homepage

Donations

More interviews

Monday, May 11, 2020 9:31:00 AM (GMT Daylight Time, UTC+01:00)
# Sunday, May 10, 2020

GraveyardBookNobody Owens was a toddler when The Man Jack broke into his home and murdered his family. Young "Bod" survived because he wandered away from his home and into a nearby graveyard where the ghosts of the graveyard raised and protected him.

Neil Gaiman's 2008 novel The Graveyard Book tells Bod's story as he grows from a child to a teenager. The first chapter are a series of loosely-connected short stories, set about 2 years apart, relating Bod's encounters with the various ghosts and spirits of the graveyard and (occasionally) the living people of the nearby town. But, in the climax, the stories circle back on themselves: A childhood friend moves away, then returns as a teenager; an ancient guardian re-surfaces; and the Man Jack eventually returns to finish the job he failed to complete years earlier.

Gaiman proves again that he is a master storyteller. He takes some classic horror story ideas - ghosts, malevolent spirits, secret societies, werewolves - and breathes something fresh into them. Bod's mentor - the reformed vampire Silas - is an excellent example.

Graveyard is a coming-of-age story for a boy with an unusual childhood. Gaiman was inspired by Kipling's Mowgli and by the sight of Gaiman's own toddler riding a tricycle through a graveyard.

This is a dark, macabre tale; but it is filled with hope. It is aimed at young adults, but kids of any age will enjoy it.

This was my third visit to this story, as I have read the 2-part graphic novel adaptation; and a short story in the "M Is for Magic" collection. And each time, I come away with a new appreciation for Neil Gaiman and his imagination.

Sunday, May 10, 2020 9:34:00 AM (GMT Daylight Time, UTC+01:00)
# Saturday, May 9, 2020

MidnightsChildrenSaleem Sinai was born at the stroke of midnight on the day that India declared independence from Great Britain. 1,001 Indian children were born within an hour of midnight August 15, 1947 and each of them were gifted with some special power. Saleem's power of reading minds and communicating telepathically manifested itself when he was 10 years old.

In Salman Rushdie's Midnight's Children, Saleem tells the story of his life and his family. His parents and grandparents grew up in an age of colonial rule, but Saleem grew up with his country. Significant events in Saleem's life coincide with significant events in India's history. He and his country experience growing pains together. He is conflicted by the different aspects of his personality just as the new nation experiences the difficulty of coordinating the needs of countless cultures.
 
It is a complex novel with dozens of characters introduced in its 500+ pages.

The narrator (Saleem) often switches between relating his story in the first person and writing about himself in the third person.
He is quick to switch between the present tense and the past tense and the past imperfect tense; while recounting an incident, he will suddenly digress and recount a significant bit of family history; or he will hint about something yet to happen, promising to relay that story later.
He tells the story to his fiancée Padma. Occasionally, the author looks up from his narration and tells her (and us) what he is thinking at that moment or what is going on outside his window.  It is as if he is writing down the story as it occurs to him, rather than in any natural order.  His stream-of-consciousness narration reads more like an oral history than a novel.

Rushdie addresses love and fidelity and struggles for power and the dangers of centralized authority.

Despite the supernatural ability of many of the characters, Rushdie provides a sense of realism - even bringing in some historically significant characters in India's history. 

But the accuracy is not as important as the story and the characters and the way Rushdie weaves together multiple plots and fulfills prophecies and promises - sometimes long after they are made.

"What's real and what's true aren't necessarily the same, " proclaims the narrator.

Saturday, May 9, 2020 9:23:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, May 4, 2020

Episode 607

Chris Klug on Software Development Up-Front Planning

Chris Klug embraces agile software development; but points out that this does not free us from the responsibility of up-front planning, which can help to avoid problems down the road.

Monday, May 4, 2020 9:27:00 AM (GMT Daylight Time, UTC+01:00)
# Sunday, May 3, 2020

5/3
Today I am grateful to discover a beautiful park just a couple miles from my home.

5/2
Today I am grateful for a birthday card and hand-painted watercolor from Abby and Rachel.

5/1
Today I am grateful to virtually hang out with Chris last night.

4/30
Today I am grateful to take a hot bath almost every day for the past 2 months.

4/29
Today I am grateful I made it home yesterday before the thunderstorms began.

4/28
Today I am grateful to clean and organize my second bedroom so it is now a guest bedroom instead of a storage room

4/27
Today I am grateful to play online games with my sons yesterday.

4/26
Today I am grateful for my new nightstand.

4/25
Today I am grateful to enjoy a bad musical last night with Kendall and Heather

4/24
Today I am grateful for a call from Kevin yesterday.

4/23
Today I am grateful to grocery store employees who work hard, putting their health at risk - often for low wages.

4/22
Today I am grateful to finish my taxes last night.

4/21
Today I am grateful for mostly empty streets and sidewalks, which makes it easy to maintain distancing while I ride my bike in the city.

4/20
Today I am grateful to live in a city with so much history.

4/19
Today I am grateful for the kindness and generosity of Christine and Carol, who care about my safety.

4/18
Today I am grateful for a Friday afternoon virtual coffee hour with my team.

4/17
Today I am grateful for a new Raspberry Pi my boss sent me yesterday.

4/16
Today I am grateful to Heba for helping me learn Java and answering my questions.

4/15
Today I am grateful for the people and technologies that make remote working easier than it would otherwise be.

4/14
Today I am grateful for a new headlight for my bike

4/13
Today I am grateful to celebrate Easter virtually with my family over Teams yesterday.

4/12
Today I am grateful that He is risen.

4/11
Today I am grateful to Patrick and Susan, who recognized my plight and shipped me some coffee.

4/10
Today I am grateful to Jesus Christ, who died for my sins.

4/9
Today I am grateful for an unexpected call from Greg

4/8
Today I am grateful for the years we had John Prine and the joy his music brought us.

4/7
Today I am grateful for my new reflective belt, which makes me feel safer riding my bike at night.

4/6
Today I am grateful that I finally fixed this table lamp that has been broken for 2 years.

Sunday, May 3, 2020 1:56:48 PM (GMT Daylight Time, UTC+01:00)
# Saturday, May 2, 2020

EntreleadershipDave Ramsey has built a company that provides financial advice via seminars, a radio broadcast, a podcast, and numerous books.

His 2011 book "Entreleadership" is not about personal finance; but about what it takes to build and run a company. Ramsey coined the title word, combining "entrepreneur" and "leader" because he believes that one must embrace both roles in order to successfully build a small company.

He supports most of his advice with anecdotes from his own successes and failures as he grew his company.

The message running through this book is that a company is a team. As such, employees should be treated as team members; and the boss should think of himself as a leader; and you should hire candidates with a passion for what you are building, rather than those just looking for a job.

He talks about setting priorities: identify and perform the tasks that are important and urgent before turning to those that are important/not urgent or urgent/not important. Skip those that are neither important nor urgent.

He talks about the importance of a leader's ability to make a decision.

He talks about the importance of trust: "People will not buy from you if they don’t trust you, your product, and your company."

He talks about communication: it is important for a leader to share their goals with their team members, so they can make intelligent decisions.

He talks about debt, which he advises against - a philosophy I apply to my personal finances.

Much of Ramsey's thinking is based on his relationship with God. As a practicing Evangelical Christian, he looks to the Bible to lead him in his daily activities, including his business activities.

I was unfamiliar with Ramsey before reading this book.

I don't think I could work for him, primarily because he requires everyone in the company to spend their day at their desk in the office - a lifestyle I rejected years ago; and also because the following passage gave me pause: "privacy isn't a big deal to people who are living a clean life and doing the right thing."

But the book contains a lot of practical, common-sense advice, delivered in a straightforward manner.

Saturday, May 2, 2020 9:00:00 AM (GMT Daylight Time, UTC+01:00)
# Thursday, April 30, 2020

GCast 83:

Supporting POST HTTP Requests with Spring Boot

Create a web service that supports HTTP POST requests using the Spring Boot framework

GCast | Java | Screencast | Video | Web
Thursday, April 30, 2020 9:53:00 AM (GMT Daylight Time, UTC+01:00)
# Monday, April 27, 2020

Episode 606

Layla Porter on Test Driven Development

Twilio Senior Developer Evangelist Layla Porter discusses Test-Driven Development and how you can use it to improve your code.

Links:

https://www.twitch.tv/laylacodesit

https://youtu.be/EcoIjf3RABI

Monday, April 27, 2020 9:28:00 AM (GMT Daylight Time, UTC+01:00)
# Friday, April 24, 2020

I use Excel a lot - sometimes just to format a lot of text by applying the same formula to a bunch of strings.

The CONCAT function is great for this. It concatenates together 2 or more strings to create a new string.

The syntax is:

CONCAT(text1, [text2],…)

where each argument (text1, text2, etc., up to 253 arguments) is a string or a reference to a cell containing a strng.

So, if cell A1 contains the string: "Customer" and cell B1 contains the string "LastName" and you want to store the following string in cell C1:

Customer.LastName

You can do so with the following formula in cell C1:

=CONCAT(A1, ".", B1)

One challenge with the CONCAT function occurs when you want your new string to include double quotes ("). Because double quotes are used to delimit strings, this can cause confusion.

For example, you may want to take the inputs above and form a string like the following:

"Customer" : "LastName"

The following formula generates and error because Excel cannot tell where a string argument ends

=CONCAT(""",A1,"" : "", B1,""")

I've found 3 ways to approach this.

Use single quotes instead of double quotes. This is a compromise, but it can work sometimes, as double quotes and single quotes are considered the same in many contexts.

The following formula accomplishes this.

=CONCAT("'",A1,"' : '", B1,"'")

Use a double set of double quotes

Excel uses the special escape sequence "" to indicate double quotes within a string.

Here is an example of this:

=CONCAT("""",A1,""" : '", B1,"'")

Use CHAR(34)

Excel contains the CHAR function that returns the character associated with an ASCII value. A double quotation character has an ASCII value of 34, so you can use this instead of the character itself. It is perfectly acceptable to embed one Excel function within another.

Here is an example of this:

=CONCAT(CHAR(34),A1,CHAR(34)," : ", B1,CHAR(34))

The last 2 options are my preference. Which you choose depends on which you find more readable.

Friday, April 24, 2020 7:26:00 AM (GMT Daylight Time, UTC+01:00)
# Thursday, April 23, 2020

GCast 82:

Creating a RESTful Web Service with Spring Boot

Use the Spring Boot framework to create a RESTful web service.

GCast | Java | Screencast | Video | Web
Thursday, April 23, 2020 9:29:00 AM (GMT Daylight Time, UTC+01:00)