Greg L. Turnquist's Blog, page 10
January 16, 2016
.@ScrivenerApp – The Ultimate #NoSQL Database
Over the past year, I have dove head first into use Scrivener for my writing efforts. The thing is amazing!
Scrivener is a writer’s tool, built by writers for writers. It costs about $30+. I couldn’t put my finger on what was so cool about it until I read this.
tl;dr – Scrivener puts your story/case/project into a database, Microsoft Word puts what you’re doing into a typesetter. Typesetters optimize for printout, databases optimize for reading/writing/updating information.
NoSQL Database
NoSQL data stores have gained big popularity over the past ten years. Why? Their charm is being schema-less.
schema-less – data not required to adhere to a certain structure
For years, people have adhered to SQL, the codified and accepted standard for grouping data to a strong structure. SQL comes loaded with lots of promises, which it indeed delivers. What is that?
If you define the structure of your data upfront, and observe other related practices (like 3rd Normal Form, i.e. 3NF; ACID, …), your data store will…
have maximum efficiency in storage by not duplicating data
have maximum efficiency in maintenance by not accidentally updating data in one place but forgetting to update in another place
get ALL the results when you query the database
ensure ALL inputs are committed to the database or none
These sound great, until you reach the era we have entered. People have discovered that all the guarantees of schema-driven data have costs. And costs that are proportional to your volume of data can catch up and cripple you.
We have discovered that not ALL data needs this amount of guarantee. Different data stores optimize in other ways, solving different problems. And thus was born the schema-less data store revolution.
Scrivener as a NoSQL data store

left – binder of folders with leaves; right – one leaf
How does Scrivener work? Out-of-the-box, it has a hierarchical nature. You can create folders within folders with folders. Each folder can have metadata about the folder itself, and it can contain leaves as well.
Click on a folder and you can view/edit all its leaves at once. Click on a leaf, view and edit a single leaf.
Folders and leaves can be converted from one to the other. The only difference is that folders are also containers, able to hold more folders/leaves.
The content can be text (our primary medium as writers) or other types (PDF, images, videos, …), meaning folders don’t have to just contain your story. Use it to capture your research, character notes, whatever!
Breaking out of the box
When you first install Scrivener, it comes with a pre-written manuscript and a tutorial. You walk through it, learning how to use the tool. It’s really quite clever and brought me up to speed, fast!
But at some point, you need to break out of conventions and learn how to use the tool. I first did so when I needed to sift through an extensive critique from my editor.
In the span of a 2-hour phone call, I had written down two pages of notes in a LibreOffice document last year. Some points, high level; some points, specific to a single sentence. I imported that document into Scrivener and took it apart, using another structure.
I split up the collection of notes into individual leaves, all contained in a single folder. This way, as I addressed each comment, I could flag it as complete inside scrivener (I used checkbox icon to indicate this).
I put the scene-specific notes in a sub-sub-folder. To tackle the fact my editor had a different version of my manuscript, I dug that copy out of email and put in there as well. Using that, I tracked down every page specific comment and found its current scene.
Scrivener lets you put links between scenes (kind of like a MongoDB DBRef).
In a nutshell, I laid out my own structure, and then bent it as needed. Instead of bumping into it, like one often does with schema-based data stores, Scrivener accommodated my needs.
Spring Data Scrivener?
As a member of the Spring Data team, I’m truly amazed at how this release train of projects has leaped over the balkanized landscape of query languages. Use them when needed, but offloading typical queries to a framework is great!
I may have to keep my eye on the potential for writing apps that can query Scrivener manuscripts. It would lean on exactly what people are putting in their projects.
Until then, I hope you poke your nose into Scrivener and see how it’s perhaps the most user friendly NoSQL data store put out there to solve a very popular problem.
The post .@ScrivenerApp – The Ultimate #NoSQL Database appeared first on Greetings Programs.
November 6, 2015
Why software development is not for everyone
Have you ever had gobs of fun hacking away on a computer? Noodled with a piece of code that you discovered in the afternoon, and here it is, 2:00 a.m.? That’s a sign you may be a computer geek. That’s all and good, but the question that may come before you is, do you want to make this your dream job? Your career? Watch out, though. Software development is not for everyone.
I fear that some people may be getting into software development because computers are now hip and cool. And the money is good! I remember a time, several years ago, when I saw the corner turn in how computer geeks were no longer the goof bots found in Wargames, but instead, totally righteous dudes.
What was that tip off? A TV ad for liquor which showed “Jim from IT” partying just like everyone else. TV ads are a bellwether for trends, because that write them are constantly polling groups of people to see what will resonate. When IT people had entered the main fray of the party-going crowd and were seen a force to be reckoned with (err…a force to be advertised with), then game over.
The side effect of anything going mainstream is that others, who have no deep seated desire to submit and review pull requests on vacation (for the record, I’ve actually done both at Disney World. Top that!), will still flock to the field since its cool, and there’s money to be made. Am I saying that to get ahead, you must be a workaholic and eschew your family? Not at all. What I’m saying is that computer geeks that are in it for the challenge and not just cuz it’s cool can’t help themselves but do what i just described.
So far, I’ve talked about hacking on bits of code at odd hours in odd places. But here is the real test, the true gambit to see if deep down you really are a totally righteous hacker dude: do you go after the most boring, challenging, mind numbingly difficult problems until the code surrenders its secrets to you?
Do you go after the most boring, challenging, mind numbingly difficult problems until the code surrenders its secrets to you? –sign of a righteous hacker
I have been working on something for several months that is coming to light in less than two weeks. (Stay tuned!) For MANY hours/days/weeks, every time I tweaked one line of code, I had to restart a microservice. That microservice would take, on average, two minutes to load up its data set from a remote system. Next, I went to another tab and clicked on a button to launch a process, and wait to see if my system detected it and processed it correctly. Got that? Edit one line of code, wait five minutes for the results, then debug the outcome. Rinse and repeat.
Suffice it to say, trudging through this task is not for the faint of heart. Software hobbyists need not apply.
I’ve always hated the expression “9-to-5 coder.” It’s meant to imply people that only work on the clock, and don’t work late hours, etc. In general, I do that as well. At times, I have to alert my family that I’ll be putting in extra hours (especially the month before SpringOne each year), but in general, I have found that working smarter, not harder, and thinking out solutions before slinging code can make things more efficient.
So I prefer to think of developers not based on the hours they work, but rather, are you a hobbyist or a diehard coder? Diehard coders will take the most ruthless problems and dig, dig, dig, dig, and dig until the answer is found. They are willing to take many hits, submit faulty patches, and screw things up big time, because the end game is important. Version control is our tool to save us from screwing things up, not timidity. Are you a hobbyist that fears making a big change? Or are you a diehard hacker ready to show your handy work to others?
I remember this topic coming up when a website popped up offering bounties for people to solve problems. This was rightly criticized as encouraging people to go after easy–to-tackle issues, or selecting issues that carried much public praise, like UI mods. But serious, professional hacks will take some of the most invisible things (like a 300ms slowdown) and go to extreme ends to unearth what’s wrong. Imagine trying to get ANYONE to pick up that issue for a bounty.
If such tasks sound outrageous or tedious, no problem. I understand. You are hobbyist. Nothing wrong there. But if you’re ready to dive into the slimiest mud bath of code, smile. You are rare.
The post Why software development is not for everyone appeared first on Greetings Programs.
August 28, 2015
Darklight critique by best selling author @JerryBJenkins
The thing you can never do without is getting solid, concrete feedback from a bestselling author. You can see my Darklight critique by Jerry Jenkins below.
I have the webinar keyed up to where he digs into my story and pulls no punches. The points he makes are amazing.
The blind leading the blind
If you meet up with a handful of wannabe authors, the odds of getting solid feedback aren’t stellar. Your chances begin to rise when you meet with published authors. Those that have been through the wringer of editors, publishers, and proof readers may have more usable stuff to chew on. Find an author with 21 best sellers, and you’re no longer hear “your story is wonderful, dear,” from your spouse or your mother.
Okay, enough glee on my own story. I really recommend you go back and watch the whole thing from the beginning. There is one other 1-pager that gets picked apart like mine. The points he makes are great.
Avoid on-the-nose writing (telling us about stuff we all know).
Focus on nouns and verbs to keep it snappy and tight.
Don’t explain everything to us. Give the reader credit, a.k.a. give the audience 2+2. Let them figure out 4.
The post Darklight critique by best selling author @JerryBJenkins appeared first on Greetings Programs.
August 16, 2015
Darklight to be critiqued by @JerryBJenkins Monday night
Sign up for this webinar: http://www.jerryjenkins.com/irresisti...
I entered a contest for a critique on the first page of Darklight and won! Sign up for the webinar and get a hint of my story as it gets critiqued by the author of the Left Behind series.
The post Darklight to be critiqued by @JerryBJenkins Monday night appeared first on Greetings Programs.
July 28, 2015
Spring Data REST @ DevNexus
Catch this talk on Spring Data REST at the DevNexus 2015 conference with Roy Clarkson and myself.
The post Spring Data REST @ DevNexus appeared first on Greetings Programs.
July 10, 2015
Debug and Maintain your Spring Boot App
It’s out! My webinar, Debug and Maintain Your Spring Boot App, is now available to watch right here. Learn how to:
Figure out what Spring Boot has done, so you can tweak things as needed.
Discover property override settings, and not be done in by out-of-date docs.
Merge metrics and commands as needed for DevOps support.
I hope you enjoy this meme-tastic, code-filled webinar I hosted.
If you’re interested, the code for it can be found at https://github.com/gregturn/debug-your-spring-boot-app. The basis of this code is Chapter 3 of Learning Spring Boot. If you’re interested, you can sign up today for my technical newsletter and hear up-to-date news including alerts about Learning Spring Boot.
The post Debug and Maintain your Spring Boot App appeared first on Greetings Programs.
June 13, 2015
The Hunt for Red October – writing analysis
I previously blogged about going back and watching/reading The Hunt for Red October as a writer.As a follow up, I wanted to walk through it the story line and talk about it right here. Together, we’ll walk through each act and do a writing analysis at the end
SPOILER ALERT – SPOILER ALERT
This article will go into the movie and bits of the book in great detail. If you haven’t seen it yet, then stop right now. Sufficiently warned? Great. Let’s move on.
Down below, I have each section staked out. This is one way of framing the Three Act Story. Hopefully by analyzing The Hunt for Red October, you can start spotting this pattern in other places, and then be able to see how each writer applies their own styles and twists to come up with new, fun stories.
The Hook
Captain Ramius is standing atop a Russian submarine with his first officer. The ship is on the surface, and getting underway. The tension from the captain is clear, but we’re not sure what it’s about. They go below deck and give the order to dive. Captain Ramius is alerted that the political officer awaits him in his cabin to read their orders.
The captain and the political officer meet. It’s clear they don’t like each other. Each one produces a key to access their orders. The political officer has one key, and Ramius the other. Their orders are to rendezvous at a certain location and conduct drills with another vessel, supposedly a submarine.
And here comes the hook. Captain Ramius kills the political officer, burns up the orders, and pulls out a separate set of orders. He calls the doctor to report an accident. In front of the doctor and another crewman, Ramius takes the political officer’s missile key and keeps it for himself. It is pointed out that the orders (fake ones) indicate strict radio silence. The captain then speaks to the entire crew, indicating that they will sail to New York and conduct missile drills.
Everyone knows what a pair of missile keys is, and it appears that the captain has seized control of a Russian submarine armed with nuclear warheads. He is heading straight to the eastern coast of the United States. And the audience is hooked. The title itself whet our appetites, and now we know why there will be a hunt for this submarine.
Disaster 1 – The First Act
Things switch and we are introduced to the crew of the United States submarine Dallas. Their top notch sonar operator has detected the submarine and moved to investigate. It’s nicely laid out that the United States is the protagonist and Renegade Captain Ramius is the antagonist.
The first sign of conflict and tension is when the Russian submarine activates a never before seen (or never before heard) silent propulsion system. The sonar operator loses track of this new submarine and is perplexed. He tries to track it, but it is hopeless.
Pinch Point – Enemy makes a move
The Russian’s turn but the Americans don’t follow. Ramius has made a rousing speech about the past successes of Sputnik and Yuri Gagarin as the Russians entered space. They elude the Americans and we are left hanging, wondering how the “good guys” can beat a silent submarine.
Resolution 1
The sonar operator won’t stop. He listens over and over. He also is hooked onto a reel-to-reel tape, constantly listening. The COB (Chief of the Boat) mocks him, but it doesn’t work. The sonar officer then visits the captain and plays a tape recording at 10x normal speed. The cyclic sound is clearly a man-made sound. To top things off, he produces a chart with five readings, all marking a straight edge course for the entrance to a Russian-mapped ste of caverns.
In the book, the skills of the sonar officer are better laid out. On a submarine, you are trained to do one job and do it well. The sonar officer had no training in navigation, but this one manages to put together a big picture. On submarines, no one has perspective or view of stars or the sun, so navigation seems only possible if you were trained for it. The character in the book is immediately granted a promotion by the skipper. And the audience cheers.
The captain orders his first officer to put them at the end of the canyons. He instructs the sonar officer to stand by, and pick them back up, now that he knows what to listen for. Sounds like the hunt is over, right?
Disaster 2 – The Second Act
The story moves along, and we discover, that Captain Ramius is NOT a renegade planning to fire his missiles. Instead, he is planning to defect along with most of his officers, but not the enlisted crew nor the doctor.
After entering the canyons, the silent drive breaks down, and they switch to classic propellers. We have already seen that the bulk of the Soviet navy has been scrambled to find this submarine and sink it, and now we know why.
This disaster is quite fascinating, because the protagonist has shifted from the Americans to Captain Ramius and his officers that want to defect.
Midpoint – Enemy makes a move
Earlier, the Russian submarine was the enemy making a move. Now the enemy has become the rest of the Soviet navy. Due to the failure of the silent drive, they use propellers to keep moving. It attracts a Fox Bear aircraft to launch a torpedo.
We already have the tension of a Russian submarine slipping past American sonar. The tension gets bumped up when it turns out the captain wants to defect. Yet more tension is heaped on when a torpedo is bearing down in a boat that has no room to maneuver in this underwater canyon.
Resolution 2
The captain does NOT order the turn when the navigator signals it is time. Instead, he keeps looking at the clock, listening to the “pings” from the torpedo, and seemingly making computations in his head.
At the last second, he orders a hard turn, and manages to dodge the torpedo. By waiting long enough, the torpedo has no room to turn and detonates as it hits the wall of the canyon. We get a hint of the captain’s expertise. In the book, these types of details are more clearly voiced. The knowledge the captain and his officers use to evade attack are better laid out.
Finally, as they exit the canyon walls, the silent drive is repaired and they continue on their real mission, escaping to freedom.
Disaster 3 – The Third Act
I haven’t really mentioned much about Jack Ryan, a pivotal character in the movie. That’s because he is mostly playing catchup. He represents the Americans and is the one that figures out in advance that Ramius is defecting. His tension is first suggesting the idea, then having to convince every member of the government along the way.
He finally links up with the Russians after the enlisted crew are evacuated for what he guesses is a false nuclear reactor emergency. Just when we get a sense of tension relief, the sound of a torpedo passes by. The sonar officer, without any gear, identifies it as Russian. As they plan to fire back, a secret member of the crew shoots at Ramius, but instead hits the first officer while also blasting the weapons control station.
Final pinch point – enemy makes a move
One of the other Russian submarines, a fast attack boat, is bearing down. He fires another torpedo, and Ramius manages to steer into its path, and blow it up before it arms itself. Another demonstration of his experience.
The crewman who shot at him threatens to blow up a nuclear missile and destroy the ship. In the book, this character is revealed to be a KGB agent. As Jack and Ramius enter the launch area, the agent keeps firing a pistal, wounding Ramius.
At the same time, the other Russian submarine launches another torpedo instantly armed. The tension is super high as the Dallas slips in between the other two subs and draws the torpedo away. After the Dallas escapes with an emergency blow, the torpedo locks back onto the Red October.
Resolution 3
Here we get to see the skipper of the Dallas really shine. He was part of the contingent that joined Ryan on the Red October. Ramius put him in command as he went after the agent. Mancuso has ordered a bunch of maneuvers, but we can’t tell what is happening. Finally, the captain lets us, the audience, in when he says, “The thing about playing chicken is knowing when to flinch.”
The Red October is barreling down on the other sub and then breaks off. The torpedo that was following it, crashes into the other sub and destroys it. You get a real sense of awe when you realize that the captain performed this move without seeing everything, under enormous pressure, and on a boot he has never been on before.
To top it off, the explosion erupts up on the surface, and all the crewmen, unaware of the other sub, believe the Red October has been sunk.
Conclusion
The closing scene shows the Red October being hidden a hundred miles from any naval base with Jack welcoming Ramius to “the new world”. He is then seen on a plane flight, asleep. This tiny snippet resolves the fact that he hasn’t slept in days and has had to fly ever worsening conditions from London to Washington to the carrier to the Dallas and to the Red October.
ANALYSIS
In the books, the skill sets of each officer is better laid out. In a movie, you can’t just explain everything or it would slow down to a crawl. The captain’s ability to evade sonar and slip in behind another submarine is delivered smoothly.
I never quite bought the Russian officer’s ability to hide their defection from the crew until I read the book. There it becomes clear that most enlisted Russians are probably serving their first or second tour, and basically are there to push knobs and other things to make the sub go. They don’t understand navigation, how all the systems operate and other things. They totally trust their commanding officers. This difference is turned into more tension when the defecting Russian officers meet the enlisted sonar officer of the Dallas and see how intelligent he is.
Tom Clancy uses the medium of underwater submarines to tell an exciting story. It is quite fascinating, because it is a great way to hide and reveal various things.
His big twist is changing who the antagonist is halfway into the story. Tom Clancy also communicates navy and military elements with grace and charm, one of the biggest things that made his career so successful. I have heard of other writer’s using Tom Clancy’s writing as their source for military research.
So go forth and watch the movie and read the book. The Three Act formula is easy to see, and yet, it doesn’t rob the author of a good story. It certainly doesn’t produce anything dull. Instead, it provides a collection of tension and relief that keeps adding up all the way to the end, making it real page turner.
Happy writing!
The post The Hunt for Red October – writing analysis appeared first on Greetings Programs.
June 9, 2015
Want to be a writer? Watch and read The Hunt for October
Want to be a writer? At last week’s writers conference, one speaker used movie clips to demonstrate various key structures found in books. I also heard another speaker mention how, in chatting with Lee Child, that the man did all his military research by reading Tom Clancy.
I just finished watching The Hunt for Red October for the nth time, only this time, I was watching it as a writer. I also plan to go and re-read the novel. That story carries all the perfect elements of a story. Want to write a gripping tale? Look at what happened there and you will understand things like pinch points and other constructs.
Disasters and Pinch points
There is a story structure that dates back to Aristotle. It has names including the Three Act Story. Some say this recipe is so successful because it really reflects us.
One way of describing this story is that it contains a series of disasters followed by pinch points. First, a disaster ensues and then a pinch point is when the enemy makes a move. Then show a way forward
Somebody gets into trouble, then gets out of it again. People love that story. They never get tired of it.” –Kurt Vonnegut
Go and watch The Hunt for October. Can you spot the disasters? What about the pinch points? Another good sign is when you connect to the characters and start to cheer for them. Or hate it when they are hurt or killed. And every author shoots to move the story along in a way such that you don’t need the next disaster that’s about to strike.
Read debut novels of famous authors
You don’t really have to pick the book I just said. But go and find the debut novel for any author you recognize. Read the first chapter. Does it hook you? Want to read more? A debut novel is what that author had to submit, wade through the tough process of convincing agents, editors, and publishers to bet on. These authors had no coat tails to ride.
I don’t know about you, but the next novel on my list is The Andromeda Strain by Michael Crichton. I love that movie. I must read the book and digest it as a hopeful author.
Happy writing!
The post Want to be a writer? Watch and read The Hunt for October appeared first on Greetings Programs.
June 2, 2015
From Beat Sheet to Synopsis: How Writing Tools Pay Back with Interest /cc @DanielRMarvello
About five years ago, I learned about structuring your novel. It started when I read Evolution of a Beat Sheet. I found the article quite interesting, and it lined up perfectly with my analyzing/organizing nature.
A Beat Sheet is basically an outline done on a spreadsheet. You can use any structure you want, but a common one that many will testify to is sometimes known as the Three Act Story. In essence, you lay out the most critical parts of your story. Then you start to fill in other scenes. Sooner or later, you have laid out a nice arrangement of your story. From here on, you can start writing your story. Writing a Beat Sheet isn’t easy. I think I spent a year at it. At one stage, I was stalled out because one tiny aspect of my world was unresolved, and it blocked me for some time.
After resolving that, I was suddenly writing at full force. Words flew out of my fingers. The detailed character profiles I had written combined with my structured story made it simple to crank out my novel. Being the software geek that I am, I added the extra ability to estimate total word counts at the end. I spotted half way in that my story was light, so I went back to the spreadsheet and crafted a subplot that happened to fill a big gap in the story. Blam!
Now here I sit, prepping for the Clarksville Writer’s Conference later this week. My plan is to schedule a slot to chat with an agent. I would like to show him my query letter and synopsis to get a read on how good or bad it is. Ever try to take an 80,000 word story and boil it down to 750-1000 words? Yikes! People say this is harder than writing the query.
But I had a secret trick in my backpocket. Each scene summary in the my beat sheet! I grabbed all the text from my beat sheet and pasted it into a document. I swept through it in ten minutes, picking paragraph chunks. Poof! 2800 words that depicts my story end-to-end. Now I just need to walk through it again, clean up the sloppy language, and throw out redundant or unnecessary stuff. This should get it into range for a proper synopsis.
To top it off, I’m hoping this entire process will help lend me towards writing the query itself. This is when I can whip out that one-sentence summary I wrote a long time ago based on the Snowflake method.
Happy writing!
The post From Beat Sheet to Synopsis: How Writing Tools Pay Back with Interest /cc @DanielRMarvello appeared first on Greetings Programs.
June 1, 2015
Building a writer’s platform
As Sara gets underway with her writing career, I am happily doing anything and everything to help. In particular, I’m her de facto web administrator.
I set up http://saraturnquist.com using WordPress.
I configured her Mail Chimp account to help her build her email list. She’s already sent out a newsletter!
I have stood up a Google Analytics account and created a property that is now linked to her website and her Mail Chimp mailing list.
Now, every web page she crafts, whether a blog page or a Mail Chimp archived newsletter, is serving up metrics to my admin page and letting me track it all. This is where you bend social media to serve you and not the other way around.
Of course, I’m doing to same for my own site as I slowly work at publishing my own debut novel. But suffice it to say, building your online presence in this day and age is easier than ever before. (It also helps if you are a professional software dev who understands some of these things!)
Happy blogging and newsletter writing!
The post Building a writer’s platform appeared first on Greetings Programs.



