<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-614774449891686881</id><updated>2026-03-28T16:13:24.224-07:00</updated><category term="fitness"/><category term="kaizen"/><category term="self improvement"/><category term="Python"/><category term="Summer of code 2017"/><category term="TWID"/><category term="funny"/><category term="technical"/><category term="Picture"/><category term="movies"/><category term="books"/><category term="california"/><category term="san francisco"/><category term="stock market"/><category term="video"/><category term="humor"/><category term="travel"/><category term="Economy"/><category term="PostgreSQL"/><category term="Lego"/><category term="Philately"/><category term="Stamp Collecting"/><category term="Stamps"/><category term="Television"/><category term="fantasy soccer"/><category term="howto"/><category term="interesting"/><category term="non-technical"/><category term="rant"/><category term="soccer"/><category term="Toys"/><category term="Twitter"/><category term="database"/><category term="epl"/><category term="programming"/><category term="Booze"/><category term="Interview"/><category term="Powershell"/><category term="SQL"/><category term="Star Wars"/><category term="Swine Flu"/><category term="Windows 7"/><category term="Wine"/><category term="chinese"/><category term="depression"/><category term="finance"/><category term="food and beverage"/><category term="football"/><category term="fraud"/><category term="improvement"/><category term="joke"/><category term="learning"/><category term="mandarin"/><category term="market"/><category term="math"/><category term="new york"/><category term="r"/><category term="reading"/><category term="recession"/><category term="resolutions"/><category term="science"/><category term="shows"/><category term="sports"/><category term="today I learned"/><category term="zune"/><category term=". sql server 2016"/><category term="2021"/><category term="Alan Turing"/><category term="April Fools"/><category term="Avatar"/><category term="Bing"/><category term="BingTweets"/><category term="Blu-ray"/><category term="DRAM"/><category term="Dexter"/><category term="Euro 2012"/><category term="FPL"/><category term="Facebook"/><category term="FriendFeed"/><category term="Gmail"/><category term="Google"/><category term="Holiday"/><category term="Holland"/><category term="LOTR"/><category term="Lamborghini"/><category term="Layoffs"/><category term="LinkedIn"/><category term="Madoff"/><category term="Mix09"/><category term="NASA"/><category term="NYC"/><category term="Netherlands"/><category term="Ponzi"/><category term="Porkfluenza"/><category term="Porsche"/><category term="Pygame"/><category term="RAM"/><category term="Sandokan"/><category term="Science Fiction"/><category term="Security"/><category term="Showtime"/><category term="Situation puzzles"/><category term="The Hunt For Gollum"/><category term="Trivia"/><category term="WTF"/><category term="Westworld"/><category term="Y2K9"/><category term="alternative energy"/><category term="amazon"/><category term="animals"/><category term="bankrupt"/><category term="bitcoin"/><category term="blog"/><category term="bug"/><category term="bullet journal"/><category term="cars"/><category term="cat"/><category term="chocolate"/><category term="cloud computing"/><category term="cryptocurrency"/><category term="data"/><category term="disease"/><category term="email"/><category term="ev"/><category term="exercise"/><category term="family"/><category term="fantasy football"/><category term="farm"/><category term="fiction"/><category term="filter"/><category term="flu"/><category term="gaming"/><category term="gimp"/><category term="github"/><category term="global worming"/><category term="goals"/><category term="green"/><category term="gym"/><category term="hardware"/><category term="history"/><category term="job"/><category term="knowledge"/><category term="map"/><category term="mushroom"/><category term="mvp"/><category term="mvp10"/><category term="nature"/><category term="new jersey"/><category term="nj transit"/><category term="non-fiction"/><category term="outdoors"/><category term="parenting"/><category term="photography"/><category term="polyglot"/><category term="predator"/><category term="premier league"/><category term="puzzles"/><category term="recruiters"/><category term="recycling"/><category term="revenue"/><category term="sad"/><category term="seattle"/><category term="self help"/><category term="series"/><category term="space"/><category term="tesla"/><category term="til"/><category term="timelapse"/><category term="train"/><category term="tv"/><category term="tweets"/><category term="vampire"/><category term="vessel"/><category term="wc 2018"/><category term="worldcup"/><category term="xbox"/><category term="xbox 360"/><category term="zombies"/><title type='text'>Musings, Rants and Ponderings Of A DB Architect</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>214</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-1315002956142691720</id><published>2025-12-05T10:38:00.000-08:00</published><updated>2025-12-05T10:40:38.587-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DRAM"/><category scheme="http://www.blogger.com/atom/ns#" term="RAM"/><category scheme="http://www.blogger.com/atom/ns#" term="technical"/><title type='text'>RAM prices are totally out of control, tripled in less than 5 months</title><content type='html'>&lt;p&gt;&amp;nbsp;If you have been paying attention, you have noticed RAM prices are out of control&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Take a look at this order I placed on July 20th, so 4.5 months ago&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4q6XHk46KFWC4Pflprrt1Yg5x6t2eUJek_TkmjUFyI_0NgiI8PwiXaaw5GImESx91YAShq6mkMh0fc25lFd_dLOCJuIoLVSf61jD4zVOrvectfw9-lmsnIG7sTbTFwvESHZdBr1oOQXF-OEtvpij7ZOxXJwQ36br6mUB-DyKW3J3g9fbaED0Ofu1oJ7A/s745/RAM2.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;370&quot; data-original-width=&quot;745&quot; height=&quot;318&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4q6XHk46KFWC4Pflprrt1Yg5x6t2eUJek_TkmjUFyI_0NgiI8PwiXaaw5GImESx91YAShq6mkMh0fc25lFd_dLOCJuIoLVSf61jD4zVOrvectfw9-lmsnIG7sTbTFwvESHZdBr1oOQXF-OEtvpij7ZOxXJwQ36br6mUB-DyKW3J3g9fbaED0Ofu1oJ7A/w640-h318/RAM2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;I paid $168.99 for 64GB of RAM. Four weeks ago, it was&amp;nbsp;$297.99 so almost double&lt;/p&gt;&lt;p&gt;What is it today? Check it out, here is a link to Amazon so you can see the current price&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://amzn.to/43irnfi&quot;&gt;https://amzn.to/43irnfi&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Today, this is what is listed as the price&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5LEnmct0QkvsB6SjvTj6v5yWGlLL2NQb01Clr8A7aZ7OYDROSQmSTeP5x3LwvHsfnCMrPkmCTLzjR6GCxYj0iVW7P99ZirnJeHPFwRAdWswShTGfQoFqcdSgVM7v6N2R56AIBbKlJk7lQpzDFDM_H7zql0zW9sfu4QsGOkdClWkq0_jGtaS0Js7tNc-0/s1008/RAM3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;628&quot; data-original-width=&quot;1008&quot; height=&quot;398&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5LEnmct0QkvsB6SjvTj6v5yWGlLL2NQb01Clr8A7aZ7OYDROSQmSTeP5x3LwvHsfnCMrPkmCTLzjR6GCxYj0iVW7P99ZirnJeHPFwRAdWswShTGfQoFqcdSgVM7v6N2R56AIBbKlJk7lQpzDFDM_H7zql0zW9sfu4QsGOkdClWkq0_jGtaS0Js7tNc-0/w640-h398/RAM3.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;That&#39;s $537!!! That&#39;s more than triple, is that not insane??&lt;/p&gt;&lt;p&gt;So what happened?&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;i&gt;On October 1st OpenAI signed two simultaneous deals with Samsung and SK Hynix for 40% of the worlds DRAM supply... the shock wasn’t that OpenAI made a big deal, no, it was that they made two massive deals this big, at the same time, with Samsung and SK Hynix simultaneously! In fact, according to our sources - both companies had no idea how big each other&#39;s deal was, nor how close to simultaneous they were. And this secrecy mattered. It mattered a lot.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Had Samsung known SK Hynix was about to commit a similar chunk of supply — or vice-versa — the pricing and terms would have likely been different&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Read the whole thing here&amp;nbsp;&lt;a href=&quot;https://www.mooreslawisdead.com/post/sam-altman-s-dirty-dram-deal&quot;&gt;https://www.mooreslawisdead.com/post/sam-altman-s-dirty-dram-deal&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The good thing for me was that I sold the 32 GB stick I swapped out for the 62 GB for about the same price that I paid for the 32 GB&amp;nbsp; :-)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/1315002956142691720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/1315002956142691720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1315002956142691720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1315002956142691720'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2025/12/ram-prices-are-totally-out-of-control.html' title='RAM prices are totally out of control, tripled in less than 5 months'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4q6XHk46KFWC4Pflprrt1Yg5x6t2eUJek_TkmjUFyI_0NgiI8PwiXaaw5GImESx91YAShq6mkMh0fc25lFd_dLOCJuIoLVSf61jD4zVOrvectfw9-lmsnIG7sTbTFwvESHZdBr1oOQXF-OEtvpij7ZOxXJwQ36br6mUB-DyKW3J3g9fbaED0Ofu1oJ7A/s72-w640-h318-c/RAM2.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-3287606476191433585</id><published>2025-05-26T06:14:00.000-07:00</published><updated>2025-05-26T06:26:03.655-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Layoffs"/><category scheme="http://www.blogger.com/atom/ns#" term="LinkedIn"/><title type='text'>LinkedIn is more and more green these days and not in a good way....</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7NTf17jQH9EBhmFeNufsfEzhzwrI8UAKdAUkSPkcBSUu_-p7xzX9w7j5dagcvKr9S7JIrpklZ32NBc8Z6rqN6w3_Ta1KH7P_GG6siC2NeFMlfi3gxFPnmAKmXr-JHF0atr4t9pde4mEggVVFwMo95jIY-nXi1thIzuxREwXwnKUQ4AoQElAWQ3SGoiqM/s200/OpenToWork.jpeg&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;200&quot; data-original-width=&quot;200&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7NTf17jQH9EBhmFeNufsfEzhzwrI8UAKdAUkSPkcBSUu_-p7xzX9w7j5dagcvKr9S7JIrpklZ32NBc8Z6rqN6w3_Ta1KH7P_GG6siC2NeFMlfi3gxFPnmAKmXr-JHF0atr4t9pde4mEggVVFwMo95jIY-nXi1thIzuxREwXwnKUQ4AoQElAWQ3SGoiqM/s1600/OpenToWork.jpeg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;If you browse LinkedIn these days, you can&#39;t escape the fact that a lot of profiles have a green #opentowork badge. I know a bunch of these people personally and know that they are technically very strong. But it&#39;s looking bleak at the moment, uncertainty with the tariffs and the overall economy has forced a lot of companies to not even give earnings guidance. These same companies have also instituted a hiring freeze for the foreseeable future.&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then there is the elephant in the room... AI. Perhaps 1 person + AI can now do the same work as 2 or 3 people before? Time will tell but for sure it&#39;s a factor to take into account in regards to all these layoffs&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This period right now reminds me of the period around October and November 2001. First you had the dot com crash in 2000, this was followed by the September 11 attacks which caused a massive stock market crash, all this resulted in massive layoffs.&amp;nbsp;&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Back to current times: If you check the &lt;a href=&quot; https://layoffs.fyi/&quot;&gt;layoffs.fyi&lt;/a&gt; site, you can see a lot of layoffs in Tech and Federal Government&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Here is an example&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXKaiWsqOTQ5HG3kG3kYWeGMQh6Ptc096nS8loBA9AK6QFkC0JBwkSMPiZsNu2rlVZ9FDZ-vSPNtNk8IKSxT8Nc960oGpJ1si6Akd-6ffbqrKyJ3p7tdDZPX3ELrUpg0Xg74ykPjeellyWY2EYoYqwEIAIHDV8maxzPLcNH7iMFaVDvKG1eSGIddb_Cv8/s3183/Layoffs.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1512&quot; data-original-width=&quot;3183&quot; height=&quot;304&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXKaiWsqOTQ5HG3kG3kYWeGMQh6Ptc096nS8loBA9AK6QFkC0JBwkSMPiZsNu2rlVZ9FDZ-vSPNtNk8IKSxT8Nc960oGpJ1si6Akd-6ffbqrKyJ3p7tdDZPX3ELrUpg0Xg74ykPjeellyWY2EYoYqwEIAIHDV8maxzPLcNH7iMFaVDvKG1eSGIddb_Cv8/w640-h304/Layoffs.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let&#39;s go back to to the year 2001 again: I used to work in Silicon Alley, this was in New York City around 23rd Street and Broadway/5th Avenue, you might recognize some of these companies that had offices there like RazorFish and Kozmo.com.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was a web programmer doing ASP/JSP/ColdFusion and SQL Server.&amp;nbsp; Life was good in the summer of 2001, so good in fact that we used to have this massive 3 year project plan printed out and taped to the wall. Then in September someone took it off. A few weeks later we were called into a meeting and were told our last day was today. So of course the first thing we did was buy some beer and huddle together to says goodbyes and reminisce about the past few years.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now it was November, who will hire anyone in November? I decided to have 2 types of resumes, one was a Web Developer focused resume, the other was a SQL Server focused resume. I uploaded my resume to monster.com and a few days later someone contacted me that they had a 2 month contract job that needed someone with SQL Server 2000 and DTS skills. I decided to take it since like I said earlier, nobody will hire you in November/December. Well I got the job, after 2 months, they extended it for 3 more months, after that, they made me a full time employee. I stayed there for 3.5 years.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why am I telling you this? Most people will not take this 2 month contract, but you never know, it might get extended like in my case, or you might learn a new skill during that time that might help you land the next gig. In addition, the co-workers at this temporary job&amp;nbsp; might know someone that needs a full time job filled&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A few other things that come to mind:&lt;/div&gt;&lt;p&gt;Customize your resume and cover letter for each job. Highlight the skills and experience that match the job description exactly. Use keywords from the job posting: many companies use automated systems that screen for them.&lt;/p&gt;&lt;p&gt;Ensure your LinkedIn profile is up to date and reflects your current skills, accomplishments, and job goals. Recruiters often search LinkedIn before reaching out. Use a professional photo, write a compelling summary, and showcase measurable achievements.&lt;/p&gt;&lt;p&gt;Reach out to people in your industry: friends, alumni, or professionals on LinkedIn. Ask for informational interviews or referrals. A warm introduction often leads to more interviews than cold applications. Ask for feedback about your resume to these people as well as endorsements on LinkedIn&lt;/p&gt;&lt;p&gt;Jobs often receive the most attention in the first few days after posting. Apply early, and focus on roles you’re genuinely qualified for. Quality over quantity improves your chances of standing out.&lt;/p&gt;&lt;p&gt;After applying, follow up with a short, professional message to the recruiter or hiring manager if you can find their contact. Reaffirm your interest and briefly restate why you’re a strong fit.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;If you are 55 or over, do you know about the Rule Of 55?&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Ageism is a thing, companies might say you are overqualified or use some other excuse not to hire someone who is older.&amp;nbsp; For those that are 55 or older, keep reading.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The Rule of 55 is an IRS provision that allows individuals to withdraw funds from their 401(k) or 403(b) without the usual 10% early withdrawal penalty if they leave their job in or after the year they turn 55. This rule applies only to the retirement account from the employer they just left, not IRAs or accounts from previous jobs. It’s designed to offer more flexibility for those who retire or are laid off early. While the penalty is waived, regular income taxes still apply to the withdrawals.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;See more here at the IRS site:&amp;nbsp;&lt;a href=&quot;https://www.irs.gov/retirement-plans/plan-participant-employee/retirement-topics-exceptions-to-tax-on-early-distributions&quot;&gt;Retirement topics - Exceptions to tax on early distributions&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This can help you out if you are in a cash crunch since there is no 10% withdrawal penalty, you do however still pay regular income tax on that amount&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/3287606476191433585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/3287606476191433585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/3287606476191433585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/3287606476191433585'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2025/05/linkedin-is-more-and-more-green-these.html' title='LinkedIn is more and more green these days and not in a good way....'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7NTf17jQH9EBhmFeNufsfEzhzwrI8UAKdAUkSPkcBSUu_-p7xzX9w7j5dagcvKr9S7JIrpklZ32NBc8Z6rqN6w3_Ta1KH7P_GG6siC2NeFMlfi3gxFPnmAKmXr-JHF0atr4t9pde4mEggVVFwMo95jIY-nXi1thIzuxREwXwnKUQ4AoQElAWQ3SGoiqM/s72-c/OpenToWork.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-5152695169896747717</id><published>2021-01-09T12:45:00.001-08:00</published><updated>2021-01-09T12:45:21.733-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="2021"/><category scheme="http://www.blogger.com/atom/ns#" term="books"/><category scheme="http://www.blogger.com/atom/ns#" term="exercise"/><title type='text'>Some ideas for 2021, books to read or to get, stuff to plant, exercise to do</title><content type='html'>&lt;p&gt;Here are just some ideas of what I would like to do in 2021, these are all non professional goals if you will&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Run 800 miles&lt;/b&gt;&lt;/p&gt;&lt;p&gt;I ran 800.3 miles last year, this should be easily doable, it&#39;s about 4 miles 4 times a week&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Read 50 books&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Last year I read 60 books.. I assume at some point, I will be back in the office two times a day or so, this will maybe bump it down to 50 books from 60 books&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Books in the queue&lt;/b&gt;&lt;/p&gt;&lt;p&gt;These are&amp;nbsp; books I or my kids already own, some of these I have gifted to them this Christmas season (Masters of Doom, 1984, Brave New World, Infinite Jest, Pirate Latitudes)&lt;/p&gt;&lt;p&gt;I have not read any of these except for 1984 and Brave New World, I will re-read those, it&#39;s been 20 years or more since I last read those&lt;/p&gt;&lt;p&gt;Here is a picture of some of these books.....&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-bgvk_kJ5-puCexBjcOP_p2NHUov6ecX6u21zubWnGqZDcWRTH54FbtFtVoGuKL5-DptZ9KEGzu_wFT4pZn11iTjKosfEOrEVVWQ7a-295h9G9hMLIOYB5EsVjTrnxYStQ_Q38M3Km3E/s1662/Books+to+read+in+2021.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Books to read in 2021&quot; border=&quot;0&quot; data-original-height=&quot;1662&quot; data-original-width=&quot;1512&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-bgvk_kJ5-puCexBjcOP_p2NHUov6ecX6u21zubWnGqZDcWRTH54FbtFtVoGuKL5-DptZ9KEGzu_wFT4pZn11iTjKosfEOrEVVWQ7a-295h9G9hMLIOYB5EsVjTrnxYStQ_Q38M3Km3E/w582-h640/Books+to+read+in+2021.jpeg&quot; title=&quot;Books to read in 2021&quot; width=&quot;582&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Here is the full list, the titles link to Amazon so you can read the reviews there&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3rV8k6r&quot;&gt;Hyperion&lt;/a&gt; by Dan Simmons&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/391Rc6g&quot;&gt;The Fall of Hyperion&lt;/a&gt; by Dan Simmons&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2JKSUAi&quot;&gt;The Rise of Endymion&lt;/a&gt; by Dan Simmons&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2XefRPK&quot;&gt;Endymion&lt;/a&gt; by Dan Simmons&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3nhbZYA&quot;&gt;Philip and Alexander Kings and Conquerors&lt;/a&gt;&amp;nbsp;by Adrian Goldsworthy&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3chEsJ4&quot;&gt;The Prince&lt;/a&gt;&amp;nbsp;by Macchiavelli&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2XdfDbt&quot;&gt;The Dutch Overseas Empire&lt;/a&gt;&amp;nbsp;by Pieter C. Emmer, Jos J.L. Gommans&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3b9j2QD&quot;&gt;1776: The riveting story of George Washington&lt;/a&gt; by David McCullough&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/394NCZ5&quot;&gt;The Great Bridge&lt;/a&gt; by David McCullough&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3hLgtFH&quot;&gt;Ulysses&lt;/a&gt; by James Joyce&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/38f0mNu&quot;&gt;The Fifth Risk: Undoing Democracy&lt;/a&gt; by Michael Lewis&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2KXLdYm&quot;&gt;The Andromeda Strain&lt;/a&gt; by Michael Crichton&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/39joJt1&quot;&gt;A Tree Grows in Brooklyn&lt;/a&gt; by Betty Smith&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2L81xWe&quot;&gt;The Killer Angels: The Classic Novel of the Civil War Paperback&lt;/a&gt; by Michael Shaara&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3nm3FXr&quot;&gt;The Red Queen: Sex and the Evolution of Human Nature&lt;/a&gt;&amp;nbsp;by Matt Ridley&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3baFby4&quot;&gt;How Computers Really Work A Hands-On Guide to the Inner Workings of the Machine&lt;/a&gt;&amp;nbsp;by Matthew Justice&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2XfOhSa&quot;&gt;Can&#39;t Slow Down: How 1984 Became Pop&#39;s Blockbuster Year&lt;/a&gt;&amp;nbsp;by Michaelangelo Matos&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3omkCT5&quot;&gt;Powers of Darkness: The Lost Version of Dracula&lt;/a&gt;&amp;nbsp;by Bram Stoker , Valdimar Ásmundsson, et al&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2L3C7Jv&quot;&gt;Black Box Thinking The Surprising Truth About Success&lt;/a&gt; by Matthew Syed&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/359mhDW&quot;&gt;Life on Mars: What to Know Before We Go&lt;/a&gt; by David Weintraub&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3rX4z0b&quot;&gt;Brave New World&lt;/a&gt;&amp;nbsp;by Aldous Huxley&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2XdEDPQ&quot;&gt;Consider the Lobster: And Other Essays&lt;/a&gt; by David Foster Wallace&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/38dD4aW&quot;&gt;Pirate Latitudes&lt;/a&gt; by Michael Crichton&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/397YVzE&quot;&gt;Infinite Jest&lt;/a&gt; by David Foster Wallace&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3rZ5pd1&quot;&gt;100 Things Millionaires Do Little Lessons&lt;/a&gt; in Creating Wealth&amp;nbsp;by Nigel Cumberland&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2LnvCAQ&quot;&gt;Turing&#39;s Cathedral: The Origins of the Digital Universe&lt;/a&gt; by George Dyson&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3pOs1e8&quot;&gt;Where the Past Begins: Memory and Imagination&lt;/a&gt; by Amy Tan&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2LnAQg6&quot;&gt;Gerald&#39;s Game&lt;/a&gt; by Stephen King&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3okH5zT&quot;&gt;If It Bleeds&lt;/a&gt; by Stephen King&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/35fcpst&quot;&gt;The Eyes of the Dragon&lt;/a&gt; by Stephen King&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3nf8SQV&quot;&gt;The Dead Zone&lt;/a&gt; by Stephen King&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3hILxWO&quot;&gt;The Running Man&lt;/a&gt; by Stephen King&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bd1KC9&quot;&gt;Graveyard Book&lt;/a&gt; by Neil Gaiman&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3nm7vjj&quot;&gt;Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture&lt;/a&gt; by David Kushner&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/35mWSXG&quot;&gt;SQL Server 2019 Revealed Including Big Data Clusters and Machine Learning&lt;/a&gt;&amp;nbsp;by Bob Ward&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/39fV6IL&quot;&gt;The Man In The High Castle&lt;/a&gt;&amp;nbsp;by&amp;nbsp;Philip K. Dick&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;18,300 pushups&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Do about 100 pushups every other day.. this adds up to about 18,300 pushups for the whole year&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;10,000 in dividends&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Last year I received 9551 in dividends, since companies increase the dividend payout usually every 4 quarters and since I reinvest them, I should be easily able to get 10K&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;300 Hours of Pluralsight watching&lt;/b&gt;&lt;/p&gt;&lt;p&gt;I plan to watch about 6 hours a week of Pluralsight content. About 1 hour at lunch time and then 1 hour over the weekend&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Get 10 of these book in 2021&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Get at least&amp;nbsp;&amp;nbsp;&lt;strike&gt;10&lt;/strike&gt; 9 books of the &quot;wish list&quot; below&lt;/p&gt;&lt;p&gt;I have heard about these from friends or family. I also might have heard about these books from the various podcasts I listen to&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2YOFIQe&quot;&gt;The Splendid and the Vile: A Saga of Churchill, Family and Defiance During the Blitz&lt;/a&gt;&amp;nbsp;by Eric Larson&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/35OBxoT&quot;&gt;Salt, Fat, Acid, Heat: Mastering the Elements of Good Cooking&lt;/a&gt;&amp;nbsp;by Samin Nosrat&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2ywB3Yu&quot;&gt;The Lessons of History&lt;/a&gt;&amp;nbsp;by Will Durant and Ariel Durant&lt;/li&gt;&lt;li&gt;1/1&amp;nbsp;&lt;strike&gt;&lt;a href=&quot;https://amzn.to/3chEsJ4&quot;&gt;The Prince&lt;/a&gt;&amp;nbsp;by Macchiavelli&amp;nbsp;&amp;nbsp;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2LecgLr&quot;&gt;The Great War: A Combat History of the First World&lt;/a&gt;&amp;nbsp;War by Peter Hart&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2Le6PMC&quot;&gt;Hero with a 1000 faces&lt;/a&gt;&amp;nbsp;by Joseph Campbell&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bfDyeP&quot;&gt;The Virtues of War: A Novel of Alexander the Great&lt;/a&gt;&amp;nbsp;by Steven Pressfield&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dx5X1H&quot;&gt;Persian Fire: The First World Empire and the Battle for the West&lt;/a&gt;&amp;nbsp;by Tom Holland&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dEGbbZ&quot;&gt;Blood and Thunder&lt;/a&gt;&amp;nbsp;by Hampton Sides&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2WC1SSR&quot;&gt;Empire of the Summer Moon: Quanah Parker and the Rise and Fall of the Comanches, the Most Powerful Indian Tribe in American History&lt;/a&gt;&amp;nbsp;by S. C. Gwynne&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2Le64mK&quot;&gt;The Storm Before the Storm: The Beginning of the End of the Roman Republic&lt;/a&gt;&amp;nbsp;by Mike Duncan&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dvnXJw&quot;&gt;Black Elk: The Life of an American Visionary&lt;/a&gt;&amp;nbsp;by Joe Jackson&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SPEoc1&quot;&gt;What I Talk About When I Talk About Running: A Memoir&lt;/a&gt;&amp;nbsp;by Haruki Murakami&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2zpEb8g&quot;&gt;The Long Ships&lt;/a&gt;&amp;nbsp;by Frans G. Bengtsson&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/35Idh7L&quot;&gt;A Gentleman in Moscow&lt;/a&gt;&amp;nbsp;by Amor Towles&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SNob75&quot;&gt;The Innocent Anthropologist : Notes from a Mud Hut&lt;/a&gt;&amp;nbsp;by Nigel Barley&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2La0Cku&quot;&gt;Shogun: The Epic Novel of Japan&lt;/a&gt;&amp;nbsp;by James Clavell&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bebjgD&quot;&gt;Cat&#39;s Cradle&lt;/a&gt;&amp;nbsp;by Kurt Vonnegut&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3crX8WV&quot;&gt;Zorba the Greek&lt;/a&gt;&amp;nbsp;by Nikos Kazantzakis&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/38dN9Vf&quot;&gt;The Rising Sun: The Decline and Fall of the Japanese Empire, 1936-1945&lt;/a&gt; by John Toland&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2XaypjM&quot;&gt;Shattered Sword: The Untold Story of the Battle of Midway&lt;/a&gt;&amp;nbsp;by Jonathan Parshall, Anthony Tully&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3ovlJ37&quot;&gt;The Road&lt;/a&gt; by Cormac McCarthy&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2XdyX8p&quot;&gt;The End of October: A Novel&lt;/a&gt; by Lawrence Wright&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/3njIWDE&quot;&gt;Change Agent&lt;/a&gt;&amp;nbsp;by Daniel Suarez&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2MBu2MC&quot;&gt;Darkness at Noon&lt;/a&gt; by Arthur Koestler&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/38hNEhi&quot;&gt;A Distant Mirror: The Calamitous Fourteenth Century&lt;/a&gt; by Barbara Tuchman&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://amzn.to/2XrfscI&quot;&gt;Azure SQL Revealed: A Guide to the Cloud for SQL Server Professionals&lt;/a&gt; by Bob Ward&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Plant all these peppers&lt;/p&gt;&lt;p&gt;We got the following seeds in December&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd0e6PrVolOSoIOKi-Y0I5QDU11ZzKTrZ0AJ6wYbFms2Lei1FtFUsfBswLfaToAfbPGqHMzuG2TNzWV13CSGJl7WQzeT1Z-Z4ZWCThqGQdWslY7f1W5UV-IKmkJFp4BJrPl8SHO_jzzOE/s2048/SPicyPeppersFor2021.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Spicy Peppers For 2021&quot; border=&quot;0&quot; data-original-height=&quot;1536&quot; data-original-width=&quot;2048&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd0e6PrVolOSoIOKi-Y0I5QDU11ZzKTrZ0AJ6wYbFms2Lei1FtFUsfBswLfaToAfbPGqHMzuG2TNzWV13CSGJl7WQzeT1Z-Z4ZWCThqGQdWslY7f1W5UV-IKmkJFp4BJrPl8SHO_jzzOE/w640-h480/SPicyPeppersFor2021.jpg&quot; title=&quot;Spicy Peppers For 2021&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;The 3 packs on the left side are the Carolina Reaper, Trinidad Scorpion and Apocalypse Scorpion. These are some of the hottest peppers.... these things just look menacing, you can see they look spicy&lt;/p&gt;&lt;p&gt;Last year we planted 31 plants, you can those in the&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/2021/01/2020-in-numbers.html&quot;&gt;2020 in Numbers...&lt;/a&gt; post&lt;/p&gt;&lt;p&gt;I am excited about the chocolate habaneros, those look pretty cool&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Progress so far&lt;/b&gt;&lt;/h2&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;
  &lt;style type=&quot;text/css&quot;&gt;
.tg  {border-collapse:collapse;border-spacing:0;}
.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  overflow:hidden;padding:10px 5px;word-break:normal;}
.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .tg-1wig{font-weight:bold;text-align:left;vertical-align:top}
.tg .tg-0lax{text-align:left;vertical-align:top}
&lt;/style&gt;
&lt;/p&gt;&lt;table class=&quot;tg&quot;&gt;
&lt;thead&gt;
  &lt;tr&gt;
    &lt;th class=&quot;tg-1wig&quot;&gt;Activity&lt;/th&gt;
    &lt;th class=&quot;tg-1wig&quot;&gt;Count&lt;/th&gt;
    &lt;th class=&quot;tg-1wig&quot;&gt;%&lt;/th&gt;
  &lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
  &lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;Pushups&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;370&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;2.02%&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;Run&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;22.17&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;2.77%&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;Pluralsight Hours Watched&amp;nbsp;&amp;nbsp;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;2.13&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;0.711%&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;Books Read &lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;1&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;2%&lt;/td&gt;
  &lt;/tr&gt;
    &lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;Dividends&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;$63.89&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;0.6389%&lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Done&lt;/b&gt;&lt;/h2&gt;&lt;div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Book Finished&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Date&lt;span&gt;&amp;nbsp; &amp;nbsp; Title&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;-----&lt;span&gt;&amp;nbsp; &amp;nbsp; -------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Jan 3&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://amzn.to/2XdCBPD&quot;&gt;St Petersburg&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Pluralsight Course Finished&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Date&amp;nbsp; &amp;nbsp; Title&lt;/div&gt;&lt;div&gt;-----&amp;nbsp; &amp;nbsp; -------------------------------------------------------&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Jan 6&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://app.pluralsight.com/library/courses/optimizing-query-performance-columnstore-indexes/table-of-contents&quot;&gt;Optimizing Query Performance with Columnstore Indexes&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/5152695169896747717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/5152695169896747717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/5152695169896747717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/5152695169896747717'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2021/01/some-ideas-for-2021-books-to-read-or-to.html' title='Some ideas for 2021, books to read or to get, stuff to plant, exercise to do'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-bgvk_kJ5-puCexBjcOP_p2NHUov6ecX6u21zubWnGqZDcWRTH54FbtFtVoGuKL5-DptZ9KEGzu_wFT4pZn11iTjKosfEOrEVVWQ7a-295h9G9hMLIOYB5EsVjTrnxYStQ_Q38M3Km3E/s72-w582-h640-c/Books+to+read+in+2021.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-8174614675238991997</id><published>2021-01-02T11:50:00.002-08:00</published><updated>2021-01-02T11:50:48.470-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="books"/><category scheme="http://www.blogger.com/atom/ns#" term="improvement"/><title type='text'>2020 in Numbers...</title><content type='html'>&lt;div&gt;I am glad 2020 ended and hopefully 2021 will be much better.&amp;nbsp; A couple of items on my list for this year got either postponed or will never happen.&amp;nbsp; I planned to go to the PASS Summit in Texas in 2020, that obviously didn&#39;t happen and it looks like it won&#39;t happen in the future either. PASS is no more :-(&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are some numbers for 2020 that I put together looking at some sheets and journals&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;123,116&lt;/b&gt;&lt;br /&gt;Calories burned running. I ran a little over 800 miles this year and burned what seems like a lot of calories. But since we are all home, the wife and kids did a lot of baking, this evened out the calories :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1osnxoiSNQGdiC3dRuHSp5i87voXouqyjplJuF6sxlinSeG_4TNSH2dLpnHiSOgrVwbM1VOJPaFcnb_yKx8bkGouTaQC_JLeUywIIvfhngHjPqjmGKmIWQ8FdHsgVMsM1DvRWDMImNuA/s1600/Crumb+Cake.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;675&quot; data-original-width=&quot;900&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1osnxoiSNQGdiC3dRuHSp5i87voXouqyjplJuF6sxlinSeG_4TNSH2dLpnHiSOgrVwbM1VOJPaFcnb_yKx8bkGouTaQC_JLeUywIIvfhngHjPqjmGKmIWQ8FdHsgVMsM1DvRWDMImNuA/s400/Crumb+Cake.jpg&quot; title=&quot;Crumb Cake for Mothers Day&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFwbuixhYcdcAut6Y7V5sgzjuRAHVNAFGSFg3fcLxvJuV9yjJRX37iqdn6WVW76uhgbJKpuoJL30cmPDYiSTAXetMxrEn2J4NVp0k4LQJTIoy-kwkE9wT-4lC7k37OcXoSY40ABJ0RaiQ/s1600/Rugelach.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Rugelach&quot; border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFwbuixhYcdcAut6Y7V5sgzjuRAHVNAFGSFg3fcLxvJuV9yjJRX37iqdn6WVW76uhgbJKpuoJL30cmPDYiSTAXetMxrEn2J4NVp0k4LQJTIoy-kwkE9wT-4lC7k37OcXoSY40ABJ0RaiQ/w640-h480/Rugelach.jpg&quot; title=&quot;Rugelach&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;b&gt;13,930&lt;/b&gt;&lt;br /&gt;Pushups.&amp;nbsp; I try to do 100 pushups every 2 or 3 days, this is the total for the year&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;b&gt;9,551&amp;nbsp;&lt;/b&gt;&lt;br /&gt;Dividends. This is the total amount of dividends I received this year. All of these have been reinvested. Until I retire, I am doing a reinvestment into the same security&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;b&gt;800.3&lt;/b&gt;&lt;br /&gt;Miles run. My goal was 800 and I stuck to it... It&#39;s nothing major, about 4 miles 4 times a week&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;300&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Days since I was last in the office&lt;/div&gt;&lt;div&gt;I told my wife when the office is open again, you won&#39;t see me for a month :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;b&gt;60&lt;/b&gt;&lt;br /&gt;The number of books I read&lt;/div&gt;&lt;div&gt;Since there is no commute, I had some more time to read this year, I read about 5 books per month&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some of the book I read&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;Image&quot; src=&quot;https://pbs.twimg.com/media/EN7iWm3XUAE6YOR?format=jpg&amp;amp;name=small&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Will have my 5 favorite books after the numbers list&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;40&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Longest bike ride.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Did this bike ride with my oldest son. We left around 6:40 AM because it went up to 95 degrees that day. I Also managed to get a flat tire 30 miles in :-(&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;After we came home we just sat on the couch for the rest of the day&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizUBXOC_eUmI9uz1DWDQXcrHOLEKbsMPip6sxbcOOuBZbuhV0ZyXdBJeNWNaHmxf6LiVQwxrbkr72HnTxQ96-E4Ohb1xTQi40vRM200Gw7JvIAyAUjcayv04LA5zjMS_E6DedT1tuKHzk/s1792/Bikeride.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Bikeride&quot; border=&quot;0&quot; data-original-height=&quot;1792&quot; data-original-width=&quot;828&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizUBXOC_eUmI9uz1DWDQXcrHOLEKbsMPip6sxbcOOuBZbuhV0ZyXdBJeNWNaHmxf6LiVQwxrbkr72HnTxQ96-E4Ohb1xTQi40vRM200Gw7JvIAyAUjcayv04LA5zjMS_E6DedT1tuKHzk/w296-h640/Bikeride.jpg&quot; title=&quot;Bikeride&quot; width=&quot;296&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;31&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Number of pepper plants planted&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;We planted 31 spicy pepper plants. We picked a lot of the peppers, gave away a bunch, made pepper flakes etc etc&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Here are some pics&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;The first one is the ghost pepper&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8mLAtdIlqiN9-fDx1OzSz2e-EB066hBTw4uNuW8-iRl9VpiqPWNhd6yUSzGUOZvi8a6SesHXmpKH9A5w4YmWjLVWIXETK9eRr4Nwi9Uxuot2zHj0cEs8CklCbcSUTM6PXUQb5hV3DA9k/s1600/Ghost+Peppers.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Ghost Peppers&quot; border=&quot;0&quot; data-original-height=&quot;1066&quot; data-original-width=&quot;1600&quot; height=&quot;426&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8mLAtdIlqiN9-fDx1OzSz2e-EB066hBTw4uNuW8-iRl9VpiqPWNhd6yUSzGUOZvi8a6SesHXmpKH9A5w4YmWjLVWIXETK9eRr4Nwi9Uxuot2zHj0cEs8CklCbcSUTM6PXUQb5hV3DA9k/w640-h426/Ghost+Peppers.jpg&quot; title=&quot;Ghost Peppers&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUEyx0RXHawAIjFNHC7vU95FFFe-z1RVeucYue9hPGc81mFUFTODo_irBPJJM7elTDsgdfhHbXopDK-p8yWUoPQLbk5HgkjlfmE3ETp8GEVX5Tkt1UdiV3CrwKYsib4E7G7epqBeGKewY/s1600/Peppers.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Picked Peppers&quot; border=&quot;0&quot; data-original-height=&quot;958&quot; data-original-width=&quot;1600&quot; height=&quot;384&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUEyx0RXHawAIjFNHC7vU95FFFe-z1RVeucYue9hPGc81mFUFTODo_irBPJJM7elTDsgdfhHbXopDK-p8yWUoPQLbk5HgkjlfmE3ETp8GEVX5Tkt1UdiV3CrwKYsib4E7G7epqBeGKewY/w640-h384/Peppers.jpg&quot; title=&quot;Picked Peppers&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxDq6GOXsKCMUVZQxzp5HtIpLN-X6JTNeduSy1iV-O-mO4Eo37rz8ViaHWF1-TFWL5Mgudma-9KnzU4f-cQ_1pVaePYVGaNiEQ9caHcyPPA2oAt7HaNoykWey_dqC2R572pKDQcAPzibo/s2048/Spicy.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Spicy Peppers&quot; border=&quot;0&quot; data-original-height=&quot;1366&quot; data-original-width=&quot;2048&quot; height=&quot;426&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxDq6GOXsKCMUVZQxzp5HtIpLN-X6JTNeduSy1iV-O-mO4Eo37rz8ViaHWF1-TFWL5Mgudma-9KnzU4f-cQ_1pVaePYVGaNiEQ9caHcyPPA2oAt7HaNoykWey_dqC2R572pKDQcAPzibo/w640-h426/Spicy.jpg&quot; title=&quot;Spicy Peppers&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSM95WG6l1T7JdrsyiryyY8pGYk_JTeBoAxzieSw60APfKOuhyphenhyphenQbmgUo8ty3AXYoCruFJAGw_szX2YkaAUT1e6mjYQVQ8iPMSIMoD0NI-aYPjXQDehrm9iz3OcXd1LTn9GOfHBeqPELI/s1600/Pickled.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Pickled Peppers&quot; border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSM95WG6l1T7JdrsyiryyY8pGYk_JTeBoAxzieSw60APfKOuhyphenhyphenQbmgUo8ty3AXYoCruFJAGw_szX2YkaAUT1e6mjYQVQ8iPMSIMoD0NI-aYPjXQDehrm9iz3OcXd1LTn9GOfHBeqPELI/w240-h320/Pickled.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;11&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Seasons of shows I watched and finished with my wife&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Narcos Mexico II&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Mr Robot I&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Mr Robot II&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Mr Robot III&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Mr Robot IV&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;The Crown I&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Succession I&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Succession II&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Succession III&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Ozark III&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Curb Your Enthusiasm X&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;0&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Number of tables I dropped on the production database server&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Best item purchased&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Since I am working from home constantly, I decided to invest in a universal docking station. We got new laptops from work, they only come with 2 USB ports, and of course these are right next to the HDMI port. Using this USB docking station makes live so much easier&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;The one I picked is the&amp;nbsp;&lt;a href=&quot;https://amzn.to/3rNte7q&quot;&gt;Hiearcool USB C Hub,USB-C Laptop Docking Station,11 in 1 Triple Display Type C Adapter Compatiable for MacBook and Windows(2HDMI VGA PD3.0 SD TF Card Reader Gigabit Ethernet 4USB Ports)&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxSy9ZAyCKZoGCEhEVB4AQ499pUOPGaeMDiO0LKGhKsNgkI_FWFlNZg3hR8_9FHLWou1COrbX152bKS8Rz6427ygXRnqfKNACb21tItjRdu3VNFncyaKRxyoDjSiuuiMMlNgN-PmaqGqo/s642/USB+docking+station.JPG&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;USB docking station&quot; border=&quot;0&quot; data-original-height=&quot;567&quot; data-original-width=&quot;642&quot; height=&quot;283&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxSy9ZAyCKZoGCEhEVB4AQ499pUOPGaeMDiO0LKGhKsNgkI_FWFlNZg3hR8_9FHLWou1COrbX152bKS8Rz6427ygXRnqfKNACb21tItjRdu3VNFncyaKRxyoDjSiuuiMMlNgN-PmaqGqo/w320-h283/USB+docking+station.JPG&quot; title=&quot;USB docking station&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;And here is what it looks like, I included a mouse for scale (sorry didn&#39;t have a banana)&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivR_2FTUx868eEqMvkJ0xKZKiKbB0LpqdJLQs3v5nREIb0uj6JFJ0n1IV_JmdcPNEGs0HgLJEgeybkQmn8Ba2rm5cRHaSMhfhfsmkH68QY8hk-Mer7mGAeOtSHxMtYiNkGnP72Dn-9uQU/s2016/image1+%252847%2529.jpeg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1512&quot; data-original-width=&quot;2016&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivR_2FTUx868eEqMvkJ0xKZKiKbB0LpqdJLQs3v5nREIb0uj6JFJ0n1IV_JmdcPNEGs0HgLJEgeybkQmn8Ba2rm5cRHaSMhfhfsmkH68QY8hk-Mer7mGAeOtSHxMtYiNkGnP72Dn-9uQU/s320/image1+%252847%2529.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As you can see it comes with a nice pouch, it&#39;s really small and fits easily in your bag.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Best 5 books&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Here are my favorite 5 books I read last year, I did not include books I re-read like&amp;nbsp;&lt;a href=&quot;https://amzn.to/35KRKv8&quot;&gt;The Stand&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;https://amzn.to/2YTIdAR&quot;&gt;Fellowship of the ring&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://amzn.to/2WjoBnT&quot;&gt;Sandworm: A New Era of Cyberwar and the Hunt for the Kremlin&#39;s Most Dangerous Hackers&lt;/a&gt;&amp;nbsp;&lt;/b&gt;by Andy Greenberg&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;This is even more relevant now after the SolarWind hack&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://amzn.to/3bfutmb&quot;&gt;&lt;b&gt;Alexander Hamilton&lt;/b&gt;&lt;/a&gt;&amp;nbsp;by Ron Chernow&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I admit I did not know much about Hamilton, this was recommended by my brother in law. This is a fantastic book about a man who was part of the beginnings of the US&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://amzn.to/2YP5C6u&quot;&gt;&lt;b&gt;The Terror&lt;/b&gt;&lt;/a&gt;&amp;nbsp;by Dan Simmons&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I watched the show 2 years ago on AMC, the show is really good... but the book is even better&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://amzn.to/2MjD6FA&quot;&gt;Permutation City&lt;/a&gt; &lt;/b&gt;by Greg Egan&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Will this be us in 100 years?&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://amzn.to/351vlKU&quot;&gt;&lt;b&gt;The Wizard and the Prophet: Two Remarkable Scientists and Their Dueling Visions to Shape Tomorrow&#39;s World&lt;/b&gt;&lt;/a&gt; by Charles Mann&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;There are two ways to go about things... either conserve.. or use technology to fix things.....&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;That&#39;s it for 2020......&amp;nbsp; I will be back in a couple of days to show my list of things for 2021....&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Have a good 2021&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/8174614675238991997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/8174614675238991997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/8174614675238991997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/8174614675238991997'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2021/01/2020-in-numbers.html' title='2020 in Numbers...'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1osnxoiSNQGdiC3dRuHSp5i87voXouqyjplJuF6sxlinSeG_4TNSH2dLpnHiSOgrVwbM1VOJPaFcnb_yKx8bkGouTaQC_JLeUywIIvfhngHjPqjmGKmIWQ8FdHsgVMsM1DvRWDMImNuA/s72-c/Crumb+Cake.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-8447199215793167563</id><published>2020-05-15T12:30:00.001-07:00</published><updated>2020-05-15T12:38:32.027-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TWID"/><title type='text'>TWID May 16, 2020: random potpourri of things</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
In &lt;a href=&quot;https://denisgobo.blogspot.com/2020/05/twid-may-9-2020-books-and-plants.html&quot;&gt;last week&#39;s post&lt;/a&gt; I mentioned that the pepper and tomato plants were ready to be planted outside. This was done yesterday and the plants are outside now&lt;br /&gt;
&lt;br /&gt;
In front of the house we have put them in pots&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGdE0c5qdUcUKFFQS3lY8IjbW-Ssd6Rt0mUbh5LOcE90LVxZujqXyb5lmYo0LDggc9_CzHUFVzH6gX9MFKUW2H_bs0YHSQLGwM5KG5Exxh_11RTLWBl-5LVQZSbm2QiAqwaM4Jd7OQaPc/s1600/Plants.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;754&quot; data-original-width=&quot;571&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGdE0c5qdUcUKFFQS3lY8IjbW-Ssd6Rt0mUbh5LOcE90LVxZujqXyb5lmYo0LDggc9_CzHUFVzH6gX9MFKUW2H_bs0YHSQLGwM5KG5Exxh_11RTLWBl-5LVQZSbm2QiAqwaM4Jd7OQaPc/s320/Plants.JPG&quot; width=&quot;242&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
In the back of the house we have transferred the plants to a raised bed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2U-HX3j_vK8pRe-cmoOyp6H9qPre8Pv3h9bAYYeUr4PgyXdyhAJ8vDoOI37RGtQK4DC6ebyPwIhDZ4SoXYtsRLB0FDrt7sAGtHiK8p8mpSbHaFCuxpOgrNpqx9iFwTYoCY2c3jhwSneY/s1600/RAised+Garden+Peppers.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2U-HX3j_vK8pRe-cmoOyp6H9qPre8Pv3h9bAYYeUr4PgyXdyhAJ8vDoOI37RGtQK4DC6ebyPwIhDZ4SoXYtsRLB0FDrt7sAGtHiK8p8mpSbHaFCuxpOgrNpqx9iFwTYoCY2c3jhwSneY/s320/RAised+Garden+Peppers.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
It is over 80 degrees today, hopefully the plants will love this weather and grow big&lt;br /&gt;
&lt;br /&gt;
For Mothers day... we didn&#39;t do much because we are still under lockdown.. my oldest son made this crumb cake.. it was delicious&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1osnxoiSNQGdiC3dRuHSp5i87voXouqyjplJuF6sxlinSeG_4TNSH2dLpnHiSOgrVwbM1VOJPaFcnb_yKx8bkGouTaQC_JLeUywIIvfhngHjPqjmGKmIWQ8FdHsgVMsM1DvRWDMImNuA/s1600/Crumb+Cake.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;675&quot; data-original-width=&quot;900&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1osnxoiSNQGdiC3dRuHSp5i87voXouqyjplJuF6sxlinSeG_4TNSH2dLpnHiSOgrVwbM1VOJPaFcnb_yKx8bkGouTaQC_JLeUywIIvfhngHjPqjmGKmIWQ8FdHsgVMsM1DvRWDMImNuA/s400/Crumb+Cake.jpg&quot; title=&quot;Crumb Cake for Mothers Day&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://techcrunch.com/2020/05/15/us-video-game-sales-have-record-quarter-as-consumers-stay-at-home/&quot;&gt;&lt;b&gt;US video game sales have record quarter, as consumers stay at home&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;New numbers from NPD confirm what we’ve known for a while: The first quarter of 2020 was a very good one for gaming companies. The new report notes that sales hit a record $10.86 billion in the States between January and March of this year, marking a 9% increase over a year prior; $9.58 billion of that figure was from video game content.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;The primary driver is, you guessed it, COVID-19. As stay at home orders have been enacted on the federal and state levels, people are coping with the ongoing daily horror that is life in 2020 by playing video games. Lots and lots of video games.&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;
&lt;/h2&gt;
&lt;h2&gt;
&lt;/h2&gt;
&lt;h2&gt;
&lt;br /&gt;&lt;/h2&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfuITVM2XmoqJOLMMVtsr5tAtxYiIX2z7McTGhGlQgV5zUrzBtcs3pC0JW9lkLV2_w73EjppgO9CqeY-CGP577d1eTPvZWuNvvmljy-_254x7zwT7FPbGV-ZVMsdFXBNWc_AqmVbm4EDE/s1600/Nightwatch.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;The Rijksmuseum is today publishing the largest and most detailed ever photograph of The Night Watch&quot; border=&quot;0&quot; data-original-height=&quot;796&quot; data-original-width=&quot;951&quot; height=&quot;267&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfuITVM2XmoqJOLMMVtsr5tAtxYiIX2z7McTGhGlQgV5zUrzBtcs3pC0JW9lkLV2_w73EjppgO9CqeY-CGP577d1eTPvZWuNvvmljy-_254x7zwT7FPbGV-ZVMsdFXBNWc_AqmVbm4EDE/s320/Nightwatch.JPG&quot; title=&quot;The Rijksmuseum is today publishing the largest and most detailed ever photograph of The Night Watch&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.rijksmuseum.nl/en/most-detailed-ever-photograph-of-the-night-watch-goes-online&quot;&gt;Most detailed ever photograph of The Night Watch goes online&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;The Rijksmuseum is today publishing the largest and most detailed ever photograph of The Night Watch on its website, making it possible to zoom in on individual brushstrokes and even particles of pigment in the painting. Work on Operation Night Watch will resume on Wednesday 13 May in the glass chamber in the museum.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
I have seen this painting many times, the reason is because I grew up in Amsterdam and my neighbor worked for the Rijksmuseum. I always got complementary tickets. The interesting part is that I have been to the Rijksmuseum more times when moving to the US than I did when I lived in Amsterdam&amp;nbsp; :-(&lt;br /&gt;
&lt;br /&gt;
This does looks pretty cool,&amp;nbsp; you can just keep zooming. Direct link&amp;nbsp; &lt;a href=&quot;http://hyper-resolution.org/Nightwatch&quot;&gt;http://hyper-resolution.org/Nightwatch&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Why millennials have fallen in love with stamp collecting&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Covid has increased the number of people getting interested in stamp collecting. Here are 3 articles I happen to see in the past couple of weeks&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0Pn_GtTHMqRmCBR1F5I-rh_hp_4IdgtT5WLJzrhyM2a2Ns1Ib22T1ftZsfLOH0M9fHVKQLU6C15RChffUbrGJDh-MHHxJePUsRcZNyuqmCpT58h4FdWrvlCu1e4vcYsJBR4W0RhurDd4/s1600/Inflation.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Hyperinflation stamps Weimar Germany&quot; border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0Pn_GtTHMqRmCBR1F5I-rh_hp_4IdgtT5WLJzrhyM2a2Ns1Ib22T1ftZsfLOH0M9fHVKQLU6C15RChffUbrGJDh-MHHxJePUsRcZNyuqmCpT58h4FdWrvlCu1e4vcYsJBR4W0RhurDd4/s400/Inflation.jpg&quot; title=&quot;Hyperinflation stamps Weimar Germany&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.theguardian.com/artanddesign/2020/apr/11/post-modern-why-millennials-have-fallen-in-love-with-stamp-collecting&quot;&gt;&lt;b&gt;Post modern: why millennials have fallen in love with stamp collecting&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Philately is gaining popularity with younger hobbyists, who are drawn to its vintage - and Instagram - appeal&lt;br /&gt;
&lt;br /&gt;
It was once a byword for boring, but it seems stamp collecting is finding a new – young – audience, despite the fact that some hobbyists have never actually posted a letter.&lt;br /&gt;
&lt;br /&gt;
Philately is gaining popularity among millennials, many of whom see the creative pursuit as an escape from their screen-based lives, says 37-year-old Suzanne Rae, from North Yorkshire.&lt;br /&gt;
&lt;br /&gt;
“Philately is tangible: it’s relaxing and unplugged. It’s also very Instagrammable,” says Rae, who is only the second female chairman the Philatelic Traders Society has had in its 91-year history. “Twitter and Instagram enable young collectors to find people like them, and see that it’s not only a geeky old man’s pursuit.”&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.forbes.com/sites/richardlehmann/2020/03/24/covid-19-virus-affect-on-the-stamp-market/#66015d7e1e09&quot;&gt;&lt;b&gt;Covid-19 Virus Affect On The Stamp Market&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The strong reaction of the US Government to the Covid pandemic has resulted in the self-isolation and self-quarantining of millions of Americans as well as people worldwide. While this is having a devastating effect on the economy, it has been a real boost to the stamp market. Stamp collectors around the world suddenly have many hours of time to fill since they can&#39;t go out, go to work or watch sporting events. Hence, they spend time buying stamps. The dealers I spoke with all report a surge in orders, many from customers they have never had before.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://punkphilatelist.com/2020/05/05/covid-19-a-shot-in-the-arm-for-stamp-collecting/&quot;&gt;&lt;b&gt;COVID-19 a shot in the arm for stamp collecting&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Well, if you’d asked me a few months back what was needed to give stamp collecting a kick up the backside, my first answer would probably not have been “a global supervirus pandemic.”&lt;br /&gt;
&lt;br /&gt;
But it sure feels like that’s what has happened. The enforced worldwide recreation break has existing collectors burying their heads into their albums, lapsed collectors dusting cobwebs off old shoeboxes, and curious novices taking their first tentative steps into a mysterious world.&lt;br /&gt;
&lt;br /&gt;
New philatelic blogs and Instagram feeds are starting up, and online viewers are devouring YouTube clips. Philatelic magazines have even been offering free access to an edition or two.&lt;br /&gt;
&lt;br /&gt;
Even the mainstream media have noticed. Stamp dealers report rising sales. Kids are writing letters. Even before the COVID-19 crisis kicked in, both the BBC and the Observer were reporting the growing popularity of stamp collecting among younger collectors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2UJm2vIG64rad2P5iGEoXJ4cw86kVrsbpxlSIDU0qWc_2wS-aSv0W5AF3zZ1xMAXKU-qwPHgQ6ijoESL23-iDrPCKNwVz5RRK6AfnDYRJO36fGpyLtfDLRhG_eiPCZzy8NSzkevkiujQ/s1600/Bayern.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Bavaria Ring Cancellations&quot; border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2UJm2vIG64rad2P5iGEoXJ4cw86kVrsbpxlSIDU0qWc_2wS-aSv0W5AF3zZ1xMAXKU-qwPHgQ6ijoESL23-iDrPCKNwVz5RRK6AfnDYRJO36fGpyLtfDLRhG_eiPCZzy8NSzkevkiujQ/s400/Bayern.jpg&quot; title=&quot;Bavaria Ring Cancellations&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;
&lt;/h2&gt;
&lt;h2&gt;
&lt;/h2&gt;
&lt;h2&gt;
Some Progress&lt;/h2&gt;
&lt;div&gt;
Books finished so far/in progress&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;In progress&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;a href=&quot;https://amzn.to/35L3FsZ&quot;&gt;Gotham: A History of New York City to 1898&lt;/a&gt; 84% done&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://amzn.to/3fydejx&quot;&gt;The History of the Ancient World: From the Earliest Accounts to the Fall of Rome&lt;/a&gt;&amp;nbsp; 44% done&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://amzn.to/2YTIdAR&quot;&gt;Return Of The King&lt;/a&gt;&amp;nbsp;4% done&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;Done with these&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
.tg  {border-collapse:collapse;border-color:#aaa;border-spacing:0;}
.tg td{background-color:#fff;border-color:#aaa;border-style:solid;border-width:1px;color:#333;
  font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg th{background-color:#f38630;border-color:#aaa;border-style:solid;border-width:1px;color:#fff;
  font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .tg-0lax{text-align:left;vertical-align:top}
&lt;/style&gt;

&lt;br /&gt;
&lt;table class=&quot;tg&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
    &lt;th class=&quot;tg-0lax&quot;&gt;Book&lt;/th&gt;
    &lt;th class=&quot;tg-0lax&quot;&gt;Completed&lt;/th&gt;
  &lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/35IxLxc&quot;&gt;Stealth War: How China Took Over While America&#39;s Elite Slept&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;01/04&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2WjoBnT&quot;&gt;Sandworm: A New Era of Cyberwar and the Hunt for the Kremlin&#39;s Most Dangerous Hackers&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;01/25&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3bfutmb&quot;&gt;Alexander Hamilton&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/12&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2WH2NSc&quot;&gt;The Quick Python Book, 3rd Edition&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/13&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2yx4tFW&quot;&gt;The Gene: An intimate history&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/17&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2zqgxIQ&quot;&gt;Moonwalking with Einstein&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/27&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3bhoEEU&quot;&gt;The Somme&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/25&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3fxTj45&quot;&gt;The Art of Learning&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/16&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2zlOPgs&quot;&gt;Ready to Run: Unlocking Your Potential to Run Naturally&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;03/08&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3bl8PNs&quot;&gt;The Tudors, a very short introduction&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;03/17&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2YMj7Ud&quot;&gt;South: The Illustrated Story of Shackleton&#39;s Last Expedition 1914-1917&lt;/a&gt;&amp;nbsp;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;03/18&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3fxTKLL&quot;&gt;The Body: A Guide for Occupants&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;03/30&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3dsAxtc&quot;&gt;The Great Sea: A Human History of the Mediterranean&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;04/07&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2WhXB8g&quot;&gt;Tiny Habits: The Small Changes That Change Everything&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;04/11&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3dzdBZ9&quot;&gt;Lifespan: Why We Age – and Why We Don’t Have To&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;04/27&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/35KRKv8&quot;&gt;The Stand&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;04/30&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2YTIdAR&quot;&gt;Fellowship of the ring&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;05/07&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2YTIdAR&quot;&gt;The Two Towers&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;05/15&lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Books in the queue&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
These are next... in no specific order&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2YTIdAR&quot;&gt;Return Of The King&lt;/a&gt;&amp;nbsp; &amp;nbsp;(started 4/15)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2zmfutx&quot;&gt;The Silmarillion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SOZIhw&quot;&gt;The Library Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3cks1w3&quot;&gt;The Histories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3fy7TZA&quot;&gt;Black Hawk Down: A Story of Modern War&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dw9NIs&quot;&gt;The New York Nobody Knows: Walking 6,000 Miles in the City&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3cuJ6DX&quot;&gt;The Wind Through the Keyhole: The Dark Tower IV-1/2&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SP0qeG&quot;&gt;Out on the Wire: The Storytelling Secrets of the New Masters of Radio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bh1iiR&quot;&gt;The Godfather&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2YP5C6u&quot;&gt;The Terror&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2WF4mjr&quot;&gt;A Legacy of Spies&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dvVwLL&quot;&gt;Four Past Midnight&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SQ9rEv&quot;&gt;A Random Walk on Wall Street&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3fwRWTn&quot;&gt;Tulipomania: The Story of the World&#39;s Most Coveted Flower &amp;amp; the Extraordinary Passions It Aroused&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3fvVWn3&quot;&gt;Marathon: The Battle That Changed Western Civilization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2yz0TuW&quot;&gt;Walden Illustrated&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Books to get&lt;/b&gt;&lt;br /&gt;
Here are the books I plan to get. These were either mentioned on more than one podcast, recommended by friends, or are new books from authors I like, for example Eric Larson&#39;s latest book about Churchill and the Blitz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2YOFIQe&quot;&gt;The Splendid and the Vile: A Saga of Churchill, Family and Defiance During the Blitz&lt;/a&gt;&amp;nbsp;by Eric Larson&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3cfDP2F&quot;&gt;Ulysses&lt;/a&gt; by James Joyce&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/35OBxoT&quot;&gt;Salt, Fat, Acid, Heat: Mastering the Elements of Good Cooking&lt;/a&gt; by Samin Nosrat&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2ywB3Yu&quot;&gt;The Lessons of History&lt;/a&gt; by Will Durant and Ariel Durant&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3chEsJ4&quot;&gt;The Prince&lt;/a&gt;&amp;nbsp;by Macchiavelli&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2LecgLr&quot;&gt;The Great War: A Combat History of the First World&lt;/a&gt; War by Peter Hart&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2Le6PMC&quot;&gt;Hero with a 1000 faces&lt;/a&gt; by Joseph Campbell&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bfDyeP&quot;&gt;The Virtues of War: A Novel of Alexander the Great&lt;/a&gt; by Steven Pressfield&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dx5X1H&quot;&gt;Persian Fire: The First World Empire and the Battle for the West&lt;/a&gt; by Tom Holland&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dEGbbZ&quot;&gt;Blood and Thunder&lt;/a&gt; by Hampton Sides&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2WC1SSR&quot;&gt;Empire of the Summer Moon: Quanah Parker and the Rise and Fall of the Comanches, the Most Powerful Indian Tribe in American History&lt;/a&gt; by S. C. Gwynne&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2Le64mK&quot;&gt;The Storm Before the Storm: The Beginning of the End of the Roman Republic&lt;/a&gt; by Mike Duncan&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SP8rQX&quot;&gt;Permutation City&lt;/a&gt; by Greg Egan&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2LaHpPP&quot;&gt;Infinite Jest&lt;/a&gt; by David Foster Wallace&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dvnXJw&quot;&gt;Black Elk: The Life of an American Visionary&lt;/a&gt; by Joe Jackson&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SPEoc1&quot;&gt;What I Talk About When I Talk About Running: A Memoir&lt;/a&gt; by Haruki Murakami&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2zpEb8g&quot;&gt;The Long Ships&lt;/a&gt; by Frans G. Bengtsson&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/35Idh7L&quot;&gt;A Gentleman in Moscow&lt;/a&gt; by Amor Towles&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SNob75&quot;&gt;The Innocent Anthropologist : Notes from a Mud Hut&lt;/a&gt; by Nigel Barley&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2La0Cku&quot;&gt;Shogun: The Epic Novel of Japan&lt;/a&gt; by James Clavell&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bebjgD&quot;&gt;Cat&#39;s Cradle&lt;/a&gt; by Kurt Vonnegut&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3crX8WV&quot;&gt;Zorba the Greek&lt;/a&gt; by Nikos Kazantzakis&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Running progress&lt;/b&gt;&lt;br /&gt;
My goal is to run 800 miles this year, this means about 4 runs of about 4 miles per week&lt;br /&gt;
&lt;br /&gt;
Miles&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Percentage&lt;br /&gt;
296.81&lt;span style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;37.10%&lt;br /&gt;
&lt;br /&gt;
So far that burned a bit under 45,600 calories&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/8447199215793167563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/8447199215793167563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/8447199215793167563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/8447199215793167563'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2020/05/twid-may-16-2020-random-potpourri-of.html' title='TWID May 16, 2020: random potpourri of things'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGdE0c5qdUcUKFFQS3lY8IjbW-Ssd6Rt0mUbh5LOcE90LVxZujqXyb5lmYo0LDggc9_CzHUFVzH6gX9MFKUW2H_bs0YHSQLGwM5KG5Exxh_11RTLWBl-5LVQZSbm2QiAqwaM4Jd7OQaPc/s72-c/Plants.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-5681221018995816350</id><published>2020-05-09T06:36:00.001-07:00</published><updated>2020-05-09T06:49:18.316-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TWID"/><title type='text'>TWID May 9, 2020:  Books and Plants</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It has been a while since I posted here.. but I decided to bring back the TWID posts again&lt;br /&gt;
&lt;br /&gt;
I have been reading a lot lately, since I am already home for 60 days, I decided to read some of the big books I own or re-read them.&amp;nbsp; I already finished the Stand, almost done with Gotham and I am 35% done with the Lord of The Rings book.&lt;br /&gt;
&lt;br /&gt;
I read 10 pages per day of the Gotham book and then I usually have a book I read at home and one while I commute. Since I am home now, I read the commuting book in the morning&lt;br /&gt;
&lt;br /&gt;
Here is a pic of the books I owe but never read (except for the Lord Of the Rings book)&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;Image&quot; src=&quot;https://pbs.twimg.com/media/EN7iWm3XUAE6YOR?format=jpg&amp;amp;name=small&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
At the end of this post, you can see all the books I finished, what I am reading now and also what is in my backlog/queue to read.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here you can see some of the seeds my son and I purchased&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;Image&quot; src=&quot;https://pbs.twimg.com/media/ER9mCIDXsAE1syN?format=jpg&amp;amp;name=small&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
That&#39;s right.. the second one from the left in the top is a ghost chile... not sure yet what I will do with those.&amp;nbsp; Maybe make pepper spray or some extremely hot sauce&amp;nbsp; &amp;nbsp;:-)&lt;br /&gt;
&lt;br /&gt;
This is what the plants looked like a couple of weeks ago&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;Image&quot; height=&quot;300&quot; src=&quot;https://pbs.twimg.com/media/EUrCAYFUcAEs2CS?format=jpg&amp;amp;name=900x900&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
This is what it looks like today&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyr8CT6f-jM9Wl7x34TkxqnM90wPswEm_hrRrjuqf3VBsxVhYKCBn8lhK8LT5XqmD1SShe1hjYwdwE4RsMcFbzbhMDwTpJDPVk1YAZdHk4gttXcMnJkTgt7P1GyApwkz_MJofB7LHJZOA/s1600/image0+%252813%2529.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; height=&quot;480&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyr8CT6f-jM9Wl7x34TkxqnM90wPswEm_hrRrjuqf3VBsxVhYKCBn8lhK8LT5XqmD1SShe1hjYwdwE4RsMcFbzbhMDwTpJDPVk1YAZdHk4gttXcMnJkTgt7P1GyApwkz_MJofB7LHJZOA/s640/image0+%252813%2529.jpeg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
As you can see they are ready to be planted outside. It still cold at night but after Wednesday May 12th, these should be fine to be transplanted&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here you can see what the plants look like 2-3 weeks ago with a fan blowing on them&lt;br /&gt;
&lt;blockquote class=&quot;twitter-tweet&quot;&gt;
&lt;div dir=&quot;ltr&quot; lang=&quot;en&quot;&gt;
Put a fan blowing on these to prepare for the harsh outside world when they go outside around Mother’s Day &lt;a href=&quot;https://twitter.com/hashtag/gardening?src=hash&amp;amp;ref_src=twsrc%5Etfw&quot;&gt;#gardening&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/tomatoes?src=hash&amp;amp;ref_src=twsrc%5Etfw&quot;&gt;#tomatoes&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/peppers?src=hash&amp;amp;ref_src=twsrc%5Etfw&quot;&gt;#peppers&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/ghostpepper?src=hash&amp;amp;ref_src=twsrc%5Etfw&quot;&gt;#ghostpepper&lt;/a&gt; &lt;a href=&quot;https://t.co/BT5UcG5oAI&quot;&gt;pic.twitter.com/BT5UcG5oAI&lt;/a&gt;&lt;/div&gt;
— Denis Gobo (@DenisGobo) &lt;a href=&quot;https://twitter.com/DenisGobo/status/1253987061972889602?ref_src=twsrc%5Etfw&quot;&gt;April 25, 2020&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;https://platform.twitter.com/widgets.js&quot;&gt;&lt;/script&gt;



&lt;br /&gt;
&lt;br /&gt;
The reason you use a fan inside is to strengthen the the plants, this way they don&#39;t break when you put them outside and it is a little windy on the first day&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.zerohedge.com/energy/one-trader-started-day-77000-his-account-end-he-owed-9-million&quot;&gt;&lt;b&gt;One Trader Started The Day With $77,000 In His Account; By The End He Owed $9 Million&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;i&gt;As a result, crude was actually trading at a negative $3.70 a barrel when Shah’s screen had it at 1 cent; the reason: Interactive Brokers never displayed a subzero price to him as oil kept diving to end the day at minus $37.63 a barrel.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;At midnight, Shah some very bad news: he owed Interactive Brokers $9 million. He’d started the day with $77,000 in his account, expecting that his biggest possible loss was 100%, or $77,000.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Ouch that is so bad, who knew oil could go negative....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Can&#39;t quit Excel&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This happened to me.. pasted a lot of data into Excel on a VM and then tried to cancel it and quit.... nope.&amp;nbsp; So I just used task manager to kill it&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;Image&quot; src=&quot;https://pbs.twimg.com/media/EXMod5dWsAIEJbZ?format=png&amp;amp;name=small&quot; /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://sqlservercode.blogspot.com/2020/05/you-know-about-waitfor-delay-but-did.html&quot;&gt;&lt;b&gt;You know about waitfor delay but did you know there is a waitfor time?&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You may or may not know that WAITFOR has TIME in addition to DELAY&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.stampio.org/2020/05/did-you-know-i-sold-kinderzegels-while.html&quot;&gt;&lt;b&gt;Did you know, I sold kinderzegels while in 6th grade?&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
When I sold kinderzegels as part of school (semipostal stamps that benefit child welfare)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.diagram.codes/d/mind-map&quot;&gt;&lt;b&gt;Mindmap Diagram Codes&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This is pretty cool, you can create a mindmap, code on left.. output on the right, you can share it as well&lt;br /&gt;
&lt;br /&gt;
Looks like this&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjym4wWBYSrzLcWsqkKBiwUxXted1Fqs5JzGJujpcouR2rUfwhrViaS3Zc7xh7fk3wFsm1dgNJsLll1C4oKd-ElTh3lzgz7TjoP-CidzOkJouIgoNnr8BiMDikeRUC2ugcX0tZah2sIXp8/s1600/Mindmap.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;553&quot; data-original-width=&quot;1600&quot; height=&quot;220&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjym4wWBYSrzLcWsqkKBiwUxXted1Fqs5JzGJujpcouR2rUfwhrViaS3Zc7xh7fk3wFsm1dgNJsLll1C4oKd-ElTh3lzgz7TjoP-CidzOkJouIgoNnr8BiMDikeRUC2ugcX0tZah2sIXp8/s640/Mindmap.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;
Some Progress&lt;/h2&gt;
&lt;div&gt;
Books finished so far/in progress&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;In progress&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;a href=&quot;https://amzn.to/35L3FsZ&quot;&gt;Gotham: A History of New York City to 1898&lt;/a&gt; 78% done&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://amzn.to/3fydejx&quot;&gt;The History of the Ancient World: From the Earliest Accounts to the Fall of Rome&lt;/a&gt;&amp;nbsp; 20% done&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://amzn.to/2YTIdAR&quot;&gt;The Two Towers&lt;/a&gt;&amp;nbsp;21% done&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;Done with these&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;style type=&quot;text/css&quot;&gt;
.tg  {border-collapse:collapse;border-color:#aaa;border-spacing:0;}
.tg td{background-color:#fff;border-color:#aaa;border-style:solid;border-width:1px;color:#333;
  font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg th{background-color:#f38630;border-color:#aaa;border-style:solid;border-width:1px;color:#fff;
  font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .tg-0lax{text-align:left;vertical-align:top}
&lt;/style&gt;

&lt;br /&gt;
&lt;table class=&quot;tg&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
    &lt;th class=&quot;tg-0lax&quot;&gt;Book&lt;/th&gt;
    &lt;th class=&quot;tg-0lax&quot;&gt;Completed&lt;/th&gt;
  &lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/35IxLxc&quot;&gt;Stealth War: How China Took Over While America&#39;s Elite Slept&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;01/04&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2WjoBnT&quot;&gt;Sandworm: A New Era of Cyberwar and the Hunt for the Kremlin&#39;s Most Dangerous Hackers&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;01/25&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3bfutmb&quot;&gt;Alexander Hamilton&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/12&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2WH2NSc&quot;&gt;The Quick Python Book, 3rd Edition&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/13&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2yx4tFW&quot;&gt;The Gene: An intimate history&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/17&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2zqgxIQ&quot;&gt;Moonwalking with Einstein&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/27&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3bhoEEU&quot;&gt;The Somme&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/25&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3fxTj45&quot;&gt;The Art of Learning&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;02/16&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2zlOPgs&quot;&gt;Ready to Run: Unlocking Your Potential to Run Naturally&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;03/08&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3bl8PNs&quot;&gt;The Tudors, a very short introduction&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;03/17&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2YMj7Ud&quot;&gt;South: The Illustrated Story of Shackleton&#39;s Last Expedition 1914-1917&lt;/a&gt;&amp;nbsp;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;03/18&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3fxTKLL&quot;&gt;The Body: A Guide for Occupants&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;03/30&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3dsAxtc&quot;&gt;The Great Sea: A Human History of the Mediterranean&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;04/07&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2WhXB8g&quot;&gt;Tiny Habits: The Small Changes That Change Everything&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;04/11&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/3dzdBZ9&quot;&gt;Lifespan: Why We Age – and Why We Don’t Have To&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;04/27&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/35KRKv8&quot;&gt;The Stand&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;04/30&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;&lt;a href=&quot;https://amzn.to/2YTIdAR&quot;&gt;Fellowship of the ring&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;05/07&lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Books in the queue&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
These are next... in no specific order&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2YTIdAR&quot;&gt;Return Of The King&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2zmfutx&quot;&gt;The Silmarillion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SOZIhw&quot;&gt;The Library Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3cks1w3&quot;&gt;The Histories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3fy7TZA&quot;&gt;Black Hawk Down: A Story of Modern War&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dw9NIs&quot;&gt;The New York Nobody Knows: Walking 6,000 Miles in the City&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3cuJ6DX&quot;&gt;The Wind Through the Keyhole: The Dark Tower IV-1/2&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SP0qeG&quot;&gt;Out on the Wire: The Storytelling Secrets of the New Masters of Radio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bh1iiR&quot;&gt;The Godfather&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2YP5C6u&quot;&gt;The Terror&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2WF4mjr&quot;&gt;A Legacy of Spies&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dvVwLL&quot;&gt;Four Past Midnight&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SQ9rEv&quot;&gt;A Random Walk on Wall Street&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3fwRWTn&quot;&gt;Tulipomania: The Story of the World&#39;s Most Coveted Flower &amp;amp; the Extraordinary Passions It Aroused&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3fvVWn3&quot;&gt;Marathon: The Battle That Changed Western Civilization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2yz0TuW&quot;&gt;Walden Illustrated&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Books to get&lt;/b&gt;&lt;br /&gt;
Here are the books I plan to get. These were either mentioned on more than one podcast, recommended by friends or are new books from authors I like, for example Eric Larson&#39;s latest book about Churchill and the Blitz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2YOFIQe&quot;&gt;The Splendid and the Vile: A Saga of Churchill, Family and Defiance During the Blitz&lt;/a&gt;&amp;nbsp;by Eric Larson&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3cfDP2F&quot;&gt;Ulysses&lt;/a&gt; by James Joyce&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/35OBxoT&quot;&gt;Salt, Fat, Acid, Heat: Mastering the Elements of Good Cooking&lt;/a&gt; by Samin Nosrat&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2ywB3Yu&quot;&gt;The Lessons of History&lt;/a&gt; by Will Durant and Ariel Durant&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3chEsJ4&quot;&gt;The Prince&lt;/a&gt;&amp;nbsp;by Macchiavelli&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2LecgLr&quot;&gt;The Great War: A Combat History of the First World&lt;/a&gt; War by Peter Hart&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2Le6PMC&quot;&gt;Hero with a 1000 faces&lt;/a&gt; by Joseph Campbell&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bfDyeP&quot;&gt;The Virtues of War: A Novel of Alexander the Great&lt;/a&gt; by Steven Pressfield&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dx5X1H&quot;&gt;Persian Fire: The First World Empire and the Battle for the West&lt;/a&gt; by Tom Holland&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dEGbbZ&quot;&gt;Blood and Thunder&lt;/a&gt; by Hampton Sides&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2WC1SSR&quot;&gt;Empire of the Summer Moon: Quanah Parker and the Rise and Fall of the Comanches, the Most Powerful Indian Tribe in American History&lt;/a&gt; by S. C. Gwynne&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2Le64mK&quot;&gt;The Storm Before the Storm: The Beginning of the End of the Roman Republic&lt;/a&gt; by Mike Duncan&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SP8rQX&quot;&gt;Permutation City&lt;/a&gt; by Greg Egan&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2LaHpPP&quot;&gt;Infinite Jest&lt;/a&gt; by David Foster Wallace&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3dvnXJw&quot;&gt;Black Elk: The Life of an American Visionary&lt;/a&gt; by Joe Jackson&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SPEoc1&quot;&gt;What I Talk About When I Talk About Running: A Memoir&lt;/a&gt; by Haruki Murakami&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2zpEb8g&quot;&gt;The Long Ships&lt;/a&gt; by Frans G. Bengtsson&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/35Idh7L&quot;&gt;A Gentleman in Moscow&lt;/a&gt; by Amor Towles&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2SNob75&quot;&gt;The Innocent Anthropologist : Notes from a Mud Hut&lt;/a&gt; by Nigel Barley&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/2La0Cku&quot;&gt;Shogun: The Epic Novel of Japan&lt;/a&gt; by James Clavell&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3bebjgD&quot;&gt;Cat&#39;s Cradle&lt;/a&gt; by Kurt Vonnegut&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://amzn.to/3crX8WV&quot;&gt;Zorba the Greek&lt;/a&gt; by Nikos Kazantzakis&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Running progress&lt;/b&gt;&lt;br /&gt;
My goal is to run 800 miles this year, this means about 4 runs of about 4 miles per week&lt;br /&gt;
&lt;br /&gt;
Miles&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Percentage&lt;br /&gt;
279.57&lt;span style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt;34.95%&lt;br /&gt;
&lt;br /&gt;
So far that burned a bit under 43 thousand calories&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Interesting quote....heard it on a podcast... don&#39;t remember which one&amp;nbsp; .. sorry&amp;nbsp; :-(&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
A fool never learns&lt;/div&gt;
&lt;div&gt;
A smart man learns from his mistakes&lt;/div&gt;
&lt;div&gt;
A wise man learns from the mistakes of others&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/5681221018995816350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/5681221018995816350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/5681221018995816350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/5681221018995816350'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2020/05/twid-may-9-2020-books-and-plants.html' title='TWID May 9, 2020:  Books and Plants'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyr8CT6f-jM9Wl7x34TkxqnM90wPswEm_hrRrjuqf3VBsxVhYKCBn8lhK8LT5XqmD1SShe1hjYwdwE4RsMcFbzbhMDwTpJDPVk1YAZdHk4gttXcMnJkTgt7P1GyApwkz_MJofB7LHJZOA/s72-c/image0+%252813%2529.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-6330445941257722245</id><published>2019-04-30T10:21:00.000-07:00</published><updated>2019-04-30T10:31:36.365-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="PostgreSQL"/><title type='text'>A quick and easy way to count the percentage of nulls without a where clause in PostgreSQL</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s1600/PostgreSQLBanner.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;256&quot; data-original-width=&quot;700&quot; height=&quot;146&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s400/PostgreSQLBanner.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
This came up the other day, someone wanted to know the percentage of NULL values in a column&lt;br /&gt;
&lt;br /&gt;
Then I said &quot;I bet you I can run that query without using a NULL in the WHERE clause, as a matter of fact, I can run that query without a WHERE clause at all!!&quot;&lt;br /&gt;
&lt;br /&gt;
I created a SQL Server version of this post here: &lt;a href=&quot;http://sqlservercode.blogspot.com/2019/04/how-to-count-nulls-without-using-is.html&quot;&gt;How to count NULLS without using IS NULL in a WHERE clause&lt;/a&gt;, this is the PostgreSQL version&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To start, first create this table and verify you have 9 rows&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CREATE&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;TABLE&lt;/span&gt; foo(bar &lt;span style=&quot;color: #007020;&quot;&gt;int&lt;/span&gt;);
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;INSERT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;INTO&lt;/span&gt; foo &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;values&lt;/span&gt;(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;),(&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;null&lt;/span&gt;),(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;),(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;),(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;),
 (&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;null&lt;/span&gt;),(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;5&lt;/span&gt;),(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;),(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;7&lt;/span&gt;);

&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; * &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; foo;&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
Here is what the output should look like&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_21bMoHlGI9Lgn5rfd4rMggy3jfuU8fyPjBnmx3sQIbMlMD69n-GZeBTGeyn5rqhSOuE_i3DXpnXtnR_bLsYhbtc945fwGeDkj3gVHUXpzvVVH_MMxS4vLqrjrq5cpPGgWDEi15XU8uY/s1600/PostgreSQL1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;575&quot; data-original-width=&quot;461&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_21bMoHlGI9Lgn5rfd4rMggy3jfuU8fyPjBnmx3sQIbMlMD69n-GZeBTGeyn5rqhSOuE_i3DXpnXtnR_bLsYhbtc945fwGeDkj3gVHUXpzvVVH_MMxS4vLqrjrq5cpPGgWDEi15XU8uY/s640/PostgreSQL1.PNG&quot; width=&quot;512&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
To get the NULL values and NON NULL values, you can do something like this&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; CountAll &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; foo &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; bar &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;IS&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;NOT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;NULL;&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; CountAll &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; foo &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; bar &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;IS&lt;/span&gt;  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;NULL;&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
However, there is another way&lt;br /&gt;
&lt;br /&gt;
Did you know that COUNT behaves differently if you use a column name compared to when you use *&lt;br /&gt;
&lt;br /&gt;
Take a look&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; CountAll, 
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(bar) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; CountColumn
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; foo;&lt;/pre&gt;
&lt;br /&gt;
If you ran that query, the result is the following&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;CountAll&amp;nbsp; &amp;nbsp; CountColumn&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;----------- -----------&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Here is what it looks like in pgAdmin3&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhixrormN0su0UdF4CnPK-HBdVgY5aH-DOZnI964HQqFUfpial7SRFPPL3sRmxbUV577I-JOKbAb6S6VOwLSbnWHdEdOADffE-cabCkMQk5vnPxJp9SGXtvXLoIeqHSNndD4HSbhA6xZbI/s1600/PostgreSQL2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;412&quot; data-original-width=&quot;436&quot; height=&quot;604&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhixrormN0su0UdF4CnPK-HBdVgY5aH-DOZnI964HQqFUfpial7SRFPPL3sRmxbUV577I-JOKbAb6S6VOwLSbnWHdEdOADffE-cabCkMQk5vnPxJp9SGXtvXLoIeqHSNndD4HSbhA6xZbI/s640/PostgreSQL2.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#39;s see what the &lt;a href=&quot;https://www.postgresql.org/docs/10/functions-aggregate.html&quot;&gt;PostgreSQL documentation&lt;/a&gt; has to say&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;COUNT(*)&amp;nbsp;number of input rows&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;COUNT(expression)&amp;nbsp;number of input rows for which the value of expression is not null&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
This is thus indeed documented behavior, count(*) counts all rows, count(column) skips the rows with NULLS&lt;br /&gt;
&lt;br /&gt;
So now, lets change our query to return the percentage of non null values in the column&lt;br /&gt;
&lt;br /&gt;
Here is what the query looks like&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; CountAll, 
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(bar) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; CountColumn, 
  (&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(bar)/&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*))*&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;100&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; PercentageOfNonNullValues 
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; foo;&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
Running that gives us this output&lt;br /&gt;
&lt;br /&gt;
CountAll&amp;nbsp; &amp;nbsp; CountColumn percentageOfNonNullValues&lt;br /&gt;
----------- ----------- ---------------------------------------&lt;br /&gt;
9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
Here is what it looks like in pgAdmin3&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIkd9IaB_Sd0Qg3pt-ePByYw4qPSffjXwVUdrwe8BgQtKxNRqDiOmM5Du-r5OgJ6xfLJ58YK20HPKn7Zk2IPuvBcnxfeWjS1Bd1B3SsCQCf2BiM1iDQnM96amXnIWmV5XOC4lH3c5mYkk/s1600/PostgreSQL3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;417&quot; data-original-width=&quot;600&quot; height=&quot;444&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIkd9IaB_Sd0Qg3pt-ePByYw4qPSffjXwVUdrwe8BgQtKxNRqDiOmM5Du-r5OgJ6xfLJ58YK20HPKn7Zk2IPuvBcnxfeWjS1Bd1B3SsCQCf2BiM1iDQnM96amXnIWmV5XOC4lH3c5mYkk/s640/PostgreSQL3.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see, we have a 0 in the percentage column. The reason is that if you do math with integers, you will get an integer back&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can fix this easy by multiplying one of the integers by 1.0, this will convert the integer to a numeric data type . So instead of this line&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;line-height: 16.25px;&quot;&gt; (&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(bar)/&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*))*&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;100&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; PercentageOfNonNullValues &lt;/pre&gt;
&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
We will change it to be like this&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;(&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(bar)*&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;0&lt;/span&gt;/&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*))*&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;100&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; PercentageOfNonNullValues&lt;/pre&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
Here is the changed query&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; CountAll, 
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(bar) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; CountColumn, 
  (&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(bar)*&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;.&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;0&lt;/span&gt;/&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*))*&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;100&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; PercentageOfNonNullValues 
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; foo;&lt;/pre&gt;
&lt;br /&gt;
Here is the output&lt;br /&gt;
&lt;br /&gt;
CountAll&amp;nbsp; &amp;nbsp; CountColumn percentageOfNonNullValues&lt;br /&gt;
----------- ----------- ---------------------------------------&lt;br /&gt;
9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;77.7777777777800&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is what it looks like in pgAdmin3&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRmgh1y_RmlG8urx_nienh3YSESClwr16XFd_K23B2jKihk-JmuWzd7phdRNMSz-MZsL0cJujHAe3bO-CVCmvT5FDRU_WxlTi_nMaTt6Z2wNg9IJh-erragWe-4eqJ-RahBfJQDEVO7SU/s1600/PostgreSQL4.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;392&quot; data-original-width=&quot;630&quot; height=&quot;398&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRmgh1y_RmlG8urx_nienh3YSESClwr16XFd_K23B2jKihk-JmuWzd7phdRNMSz-MZsL0cJujHAe3bO-CVCmvT5FDRU_WxlTi_nMaTt6Z2wNg9IJh-erragWe-4eqJ-RahBfJQDEVO7SU/s640/PostgreSQL4.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Instead of doing * 1.0, you can also explicitly cast the integer like this&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;(&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CAST&lt;/span&gt; (&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(bar) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: #007020;&quot;&gt;numeric&lt;/span&gt;(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;20&lt;/span&gt;,&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;))/&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*))*&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;100&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; PercentageOfNonNullValues&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
The query now looks like this&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; CountAll, 
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(bar) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; CountColumn, 
  (&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CAST&lt;/span&gt; (&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(bar) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: #007020;&quot;&gt;numeric&lt;/span&gt;(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;20&lt;/span&gt;,&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;))/&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;COUNT&lt;/span&gt;(*))*&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;100&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; PercentageOfNonNullValues
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; foo;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;/pre&gt;
Here is what it looks like in pgAdmin3&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjffEvfdqr0gkcHuraDqxHDpRfXsyZdvai36C2O0uDpIaXAED650QMIstwcy_IeH6wfLqu-RmJRYvYB4ZvmrZ59HCjdYzmrtfIkqGcgvTJfcokKQRICKTymz_3WJv_3HemxX4j0LdSPZ5c/s1600/PostgreSQL5.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;396&quot; data-original-width=&quot;824&quot; height=&quot;306&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjffEvfdqr0gkcHuraDqxHDpRfXsyZdvai36C2O0uDpIaXAED650QMIstwcy_IeH6wfLqu-RmJRYvYB4ZvmrZ59HCjdYzmrtfIkqGcgvTJfcokKQRICKTymz_3WJv_3HemxX4j0LdSPZ5c/s640/PostgreSQL5.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That&#39;s it for this short post.. hopefully you knew this, if not, then you know it now&amp;nbsp; :-)&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/6330445941257722245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/6330445941257722245' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/6330445941257722245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/6330445941257722245'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/04/a-quick-and-easy-way-to-count-percentage-of-nulls-without-a-where-clause-in-PostgreSQL.html' title='A quick and easy way to count the percentage of nulls without a where clause in PostgreSQL'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s72-c/PostgreSQLBanner.gif" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-1654578305856905867</id><published>2019-04-17T07:27:00.001-07:00</published><updated>2019-04-17T07:27:38.517-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="new york"/><category scheme="http://www.blogger.com/atom/ns#" term="NYC"/><category scheme="http://www.blogger.com/atom/ns#" term="vessel"/><title type='text'>The Vessel, a honeycomb shaped structure that will be a great tourist destination at Hudson Yards in New York City</title><content type='html'>I took a stroll at the high-line in NYC yesterday and noticed that the Vessel was open to the public&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Vessel is a&amp;nbsp; copper-colored steel structure comprises 54 interconnecting flights of stairs, 2,500 steps, and 80 landings, it was designed by Heatherwick Studio&#39;s. The Vessel rises to a height of 150 ft (45 m) offering views of the city and the Hudson River.&lt;br /&gt;
&lt;br /&gt;
Here is what it looks like&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/33748566608/in/photostream&quot; title=&quot;The Vessel From a distance&quot;&gt;&lt;img alt=&quot;The Vessel From a distance&quot; height=&quot;640&quot; src=&quot;https://live.staticflickr.com/65535/33748566608_42ebf27130_z.jpg&quot; width=&quot;584&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here it is on the map, it&#39;s right at the end/start of the highline and also just a block or so from the&amp;nbsp;Jacob K. Javits Convention Center. I think a lot of visitors to the Jacob Javits Center will stop by&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKWsF5KpMw_XPXFbpcmaLHFD_RzxJQYNcX9jC84389yfqUHIKpDxb6-3fG1QzkPUqqTBQgSAV1sO2hVmvpvLKugu2e6LlpD4I_1D8v_JWBvvkc6BViwMp-v0ZlIoHBTxc9Q3EGXOL2eNA/s1600/TheVessel.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;887&quot; data-original-width=&quot;1323&quot; height=&quot;428&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKWsF5KpMw_XPXFbpcmaLHFD_RzxJQYNcX9jC84389yfqUHIKpDxb6-3fG1QzkPUqqTBQgSAV1sO2hVmvpvLKugu2e6LlpD4I_1D8v_JWBvvkc6BViwMp-v0ZlIoHBTxc9Q3EGXOL2eNA/s640/TheVessel.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The first thing you will notice is how shiny the Vessel is... in place when the sun hits it..it&#39;s like hitting a mirror. I wonder how soon before it turns green because of&amp;nbsp;oxidation. I wouldn&#39;t want to be the person who has to polish this copper&amp;nbsp;behemoth&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/47625844971/in/photostream&quot; title=&quot;Shiny vessel&quot;&gt;&lt;img alt=&quot;Shiny vessel&quot; height=&quot;800&quot; src=&quot;https://live.staticflickr.com/65535/47625844971_7c74c571f3_c.jpg&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second thing you need to know is that you can&#39;t go inside the Vessel without a ticket. Tickets are free, I picked one up in front of the Vessel near the building right in front of it. I did have to wait 30 minutes to get in, the tickets are only valid for 1 hour&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7r0YIDqb1f14qWb9_PVAoH0Bg3ITImUl3qLMXGHIUFXSBCV6svCk0HAifIcUQ7PU_s66oKsDOky0YL9NO8tZ1HVCcVcDii_0IjWULfHP89OI70War9TqrxqIA0FhrI2Mg-7KxLU5Dp60/s1600/Image-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1600&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7r0YIDqb1f14qWb9_PVAoH0Bg3ITImUl3qLMXGHIUFXSBCV6svCk0HAifIcUQ7PU_s66oKsDOky0YL9NO8tZ1HVCcVcDii_0IjWULfHP89OI70War9TqrxqIA0FhrI2Mg-7KxLU5Dp60/s400/Image-1.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The third thing you will notice once you enter the Vessel is a blue light and a crowd of people near it&lt;br /&gt;
&lt;br /&gt;
You will see something like this&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/33751510398/in/photostream&quot; title=&quot;Selfies at the Vessel&quot;&gt;&lt;img alt=&quot;Selfies at the Vessel&quot; height=&quot;427&quot; src=&quot;https://live.staticflickr.com/65535/33751510398_5d9c6da1a3_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;
&lt;br /&gt;
Or something like this&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/33751536398/in/photostream&quot; title=&quot;Taking selfies at the vessel&quot;&gt;&lt;img alt=&quot;Taking selfies at the vessel&quot; height=&quot;480&quot; src=&quot;https://live.staticflickr.com/65535/33751536398_a224f44261_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
That spot with the blue light is the selfie station, you put your phone down in the middle, then you stand there while a selfie is taken&lt;br /&gt;
&lt;br /&gt;
I decided not to do that since I don&#39;t take selfies, but here is the view from the bottom when you take a normal shot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/33748567278/in/photostream&quot; title=&quot;Looking Up From The Vessel&quot;&gt;&lt;img alt=&quot;Looking Up From The Vessel&quot; height=&quot;800&quot; src=&quot;https://live.staticflickr.com/65535/33748567278_feb278a6a6_c.jpg&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here you can see all the stairs, it&#39;s nice to walk all over the structure, you get nice views of the city.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/47625844661/in/photostream&quot; title=&quot;The Vessel&quot;&gt;&lt;img alt=&quot;The Vessel&quot; height=&quot;480&quot; src=&quot;https://live.staticflickr.com/65535/47625844661_6ec300a741_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If for some reason, you can&#39;t take the stairs, there is an elevator as well. The thing you see in the middle in the pic below is where the elevator travels&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnPKbA53WxDWGlK4ebP9rxEn3OUwmuBPg8TD_W8TILBy-u38nYAqdJtVEyxDgj6AlXVeuO1-H0Sc_PNy8wIv70ZKgGczBQfBURvsNpDcnP26xy7y67hjmmjQL0pnNjJl9j8U5lrh44Tnk/s1600/Elevator.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1067&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnPKbA53WxDWGlK4ebP9rxEn3OUwmuBPg8TD_W8TILBy-u38nYAqdJtVEyxDgj6AlXVeuO1-H0Sc_PNy8wIv70ZKgGczBQfBURvsNpDcnP26xy7y67hjmmjQL0pnNjJl9j8U5lrh44Tnk/s640/Elevator.jpg&quot; width=&quot;425&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;Here is a pic I took of people on the top of the Vessel, it was very windy yesterday, I stayed on the one below the top&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/40662437713/in/photostream&quot; title=&quot;On top of the Vessel&quot;&gt;&lt;img alt=&quot;On top of the Vessel&quot; height=&quot;427&quot; src=&quot;https://live.staticflickr.com/65535/40662437713_64374ddfa6_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
I took a picture of these path trains&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;  
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/33751509718/in/photostream&quot; title=&quot;Trains as seen from the Vessel&quot;&gt;&lt;img alt=&quot;Trains as seen from the Vessel&quot; height=&quot;427&quot; src=&quot;https://live.staticflickr.com/65535/33751509718_f4db4fac80_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/1654578305856905867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/1654578305856905867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1654578305856905867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1654578305856905867'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/04/the-vessel-honeycomb-shaped-structure-hudson-yards-nyc.html' title='The Vessel, a honeycomb shaped structure that will be a great tourist destination at Hudson Yards in New York City'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKWsF5KpMw_XPXFbpcmaLHFD_RzxJQYNcX9jC84389yfqUHIKpDxb6-3fG1QzkPUqqTBQgSAV1sO2hVmvpvLKugu2e6LlpD4I_1D8v_JWBvvkc6BViwMp-v0ZlIoHBTxc9Q3EGXOL2eNA/s72-c/TheVessel.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-4138395191130925419</id><published>2019-03-30T10:05:00.001-07:00</published><updated>2019-03-31T03:19:16.795-07:00</updated><title type='text'>TWID March 30, 2019:  Tsundoku, DevOps, robots, turing award,gps drifting </title><content type='html'>&lt;br /&gt;
This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Learned&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Tsundoku&quot;&gt;Tsundoku&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;Tsundoku (積ん読) is acquiring reading materials but letting them pile up in one&#39;s home without reading them. The term originated in the Meiji era (1868–1912) as Japanese slang. It combines elements of tsunde-oku (積んでおく, to pile things up ready for later and leave) and dokusho (読書, reading books). It is also used to refer to books ready for reading later when they are on a bookshelf. As currently written, the word combines the characters for &quot;pile up&quot; (積) and the character for &quot;read&quot; (読).&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
OK, so I have a bunch of books that I bought years ago and never finished. Some of these I never started. So what I decided to do is take 1 hour each day before going to work, grab 3 books and read 20 minutes per book.&amp;nbsp; I also have some books in the office, I am reading 20 minutes each time when I go to the office, this is currently twice a week. The book I am reading in the office is Pragmatic Thinking and Learning, I am 40% done with that book&lt;br /&gt;
&lt;br /&gt;
I already finished the book War Of Art, am 25% done with Tools of Titans and just started Python Tricks&lt;br /&gt;
&lt;br /&gt;
Here is a pic of the books&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBpoZnVy7W5aCqYIqUqmr11RU5h0g850fxOhuYZVdvX_zFv92aZGR-y0TjYSqlQKINjmqhSwGjQnN2979opIGZifxOY8cSaeLmzVkvz3pu1gqjl_5xMcMvv0pcY9obqfXOAsWd6pUsKJQ/s1600/IMG_3310.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Tsundoku (積ん読) is acquiring reading materials but letting them pile up in one&#39;s home without reading them&quot; border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1600&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBpoZnVy7W5aCqYIqUqmr11RU5h0g850fxOhuYZVdvX_zFv92aZGR-y0TjYSqlQKINjmqhSwGjQnN2979opIGZifxOY8cSaeLmzVkvz3pu1gqjl_5xMcMvv0pcY9obqfXOAsWd6pUsKJQ/s400/IMG_3310.jpg&quot; title=&quot;Tsundoku (積ん読) is acquiring reading materials but letting them pile up in one&#39;s home without reading them&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The books in that picture are the following&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2Wytabd&quot;&gt;Tools of Titans: The Tactics, Routines, and Habits of Billionaires, Icons, and World-Class Performers&lt;/a&gt;&amp;nbsp;(started)&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2VdBi0k&quot;&gt;Tribe of Mentors: Short Life Advice from the Best in the World&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.amazon.com/War-Art-Through-Creative-Battles/dp/1936891026/ref=tmm_pap_swatch_0?_encoding=UTF8&amp;amp;qid=1553691529&amp;amp;sr=8-1&amp;amp;tag=sql08-20&quot;&gt;War Of Art&lt;/a&gt;&amp;nbsp; (finished)&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2V5ugen&quot;&gt;Wired To Eat&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2uzqFt5&quot;&gt;Python Tricks the book: A Buffet of Awesome Python Features&lt;/a&gt;&amp;nbsp;(started)&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2HPKNzO&quot;&gt;Fluent Python: Clear, Concise, and Effective Programming&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2Ww0sHW&quot;&gt;Book of Five Rings&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2FJR0tE&quot;&gt;How Linux Works, 2nd Edition: What Every Superuser Should Know&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I continued my DevOps training and like last week, I decided to put my note at the end of this post, this way I can easily look it up again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://www.bloomberg.com/news/articles/2019-03-27/three-godfathers-of-deep-learning-selected-for-turing-award&quot;&gt;Three ‘Godfathers of Deep Learning’ Selected for Turing Award&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Three computer scientists who laid the foundations for many of the recent advances in artificial intelligence are being honored with this year’s Turing Award, considered the field’s highest accolade.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Geoff Hinton, an emeritus professor at the University of Toronto and a senior researcher at Alphabet Inc.’s Google Brain, Yann LeCun, a professor at New York University and the chief AI scientist at Facebook Inc., and Yoshua Bengio, a professor at the University of Montreal as well as co-founder of AI company Element AI Inc., will share this year’s award, which is given annually by the Association for Computing Machinery.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;The three winners will split a $1 million prize that comes with the award, which is currently underwritten by Google&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
For a list of previous winners see here:&amp;nbsp;https://en.wikipedia.org/wiki/Turing_Award&lt;a href=&quot;https://en.wikipedia.org/wiki/Turing_Award&quot;&gt;https://en.wikipedia.org/wiki/Turing_Award&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.simplethread.com/was-mongodb-ever-the-right-choice/&quot;&gt;Was MongoDB Ever the Right Choice?&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;I was reading a post recently about Red Hat removing MongoDB support from Satellite (and yes, some folks say it is because of the license changes). It made me think how often over the last few years I’ve seen post after angry post about how terrible MongoDB is and how no one should ever use. However, in all this time, MongoDB has become a much more mature product. So what happened? Did all of the hate truly come from mistakes made in the early implementation/marketing of MongoDB? Or is the problem that people are blaming MongoDB for their own lack of efforts when evaluating if it was a good fit?&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Read and find out.....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://news.nationalgeographic.com/2016/09/australia-moves-gps-coordinates-adjusted-continental-drift/&quot;&gt;Australia Is Drifting So Fast GPS Can&#39;t Keep Up&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Australia is not quite where you think it is. The continent has shifted by 4.9 feet since the last adjustment was made to GPS coordinates in 1994, reports the New York Times.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;A significant correction must be made by the end of the year for navigation technology to keep working smoothly.&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This is interesting, I&amp;nbsp; about drift because undersea cables will break, but never had an idea that it was this fast that they have to adjust GPS&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.technologyreview.com/the-download/613240/watching-boston-dynamics-new-robot-stack-boxes-is-weirdly-mesmerizing/&quot;&gt;Boston Dynamics’ new robot stacks boxes&amp;nbsp;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;It’s a “mobile manipulation robot” designed for the logistics sector. It can autonomously stack and unstack boxes onto and off pallets, and shift them onto conveyor belts. It uses an onboard vision system to track which objects go where, and to judge how to grasp and place each box. It uses a robotic technique called “force control” to nestle each box up against its neighbors. It can handle weights of up to 15 kilograms (33 pounds.)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
And that is how it all starts... wondering when they will rename the company to SkyNet&amp;nbsp; :-)&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://github.com/zudochkin/awesome-newsletters&quot;&gt;Awesome Newsletters&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;A curated list of awesome newsletters.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Inspired by the awesome-* trend on GitHub.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
There is something here for everyone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://observablehq.com/@johnburnmurdoch/bar-chart-race-the-most-populous-cities-in-the-world&quot;&gt;The most populous cities in the world from 1500 to 2018&amp;nbsp; &lt;/a&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
This is amazing, make sure to watch the whole animation..it&#39;s like a race....&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy2MKa2LXBsWvbLLEsotiDICAxvBbY8vUAmMk9SMWBVQjGvxSK7t-55PmbrCiWm0HqYRYnhG_pWYWcwGOAYs6gw2FwlppM573jv8VmQztLiG6wM2IVD0H2Q7QduPpBscygIR31uAukpZE/s1600/PopulousCities.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;688&quot; data-original-width=&quot;1200&quot; height=&quot;364&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy2MKa2LXBsWvbLLEsotiDICAxvBbY8vUAmMk9SMWBVQjGvxSK7t-55PmbrCiWm0HqYRYnhG_pWYWcwGOAYs6gw2FwlppM573jv8VmQztLiG6wM2IVD0H2Q7QduPpBscygIR31uAukpZE/s640/PopulousCities.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Some DevOps notes&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is for me.. not for you.... but feel free to take a look...although it won&#39;t probably make a lot of sense if you see these terms for the first time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Top 10 books&amp;nbsp; from 10 to number 1&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2V6o5qi&quot;&gt;Visible Ops&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2Uq83KY&quot;&gt;Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2HP66lg&quot;&gt;Release It!: Design and Deploy Production-Ready Software&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2HLxuAJ&quot;&gt;Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2UhEpaG&quot;&gt;Lean Software Development: An Agile Toolkit&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2THeLYw&quot;&gt;Web Operations: Keeping the Data on Time&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2I1NvBC&quot;&gt;The Practice of Cloud System Administration: DevOps and SRE Practices for Web Services&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2HMRq63&quot;&gt;The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2HZtRpX&quot;&gt;Leading the Transformation: Applying Agile and DevOps Principles at Scale&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://amzn.to/2HOaIIe&quot;&gt;The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://devopsweekly.com/&quot;&gt;Devopsweekly.com&lt;/a&gt;&amp;nbsp;mailinglist&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Wall of Confusion&lt;br /&gt;
Impedance mismatch between teams&lt;br /&gt;
&lt;br /&gt;
Blameless postmortems&lt;br /&gt;
---------------------------------------&lt;br /&gt;
It&#39;s a meeting&lt;br /&gt;
within 48 hours of incident&lt;br /&gt;
run by a 3rd party&lt;br /&gt;
&lt;br /&gt;
Have everything in a timeline. Not here to blame a person but making sure this doesn&#39;t happen again&lt;br /&gt;
&lt;br /&gt;
Trasnparent Uptime&lt;br /&gt;
-------------------------&lt;br /&gt;
Admit failure&lt;br /&gt;
Sound like a human.. no doublespeak&lt;br /&gt;
Have a communication channel&lt;br /&gt;
Be authentic&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Trust blockers&lt;br /&gt;
--------------------&lt;br /&gt;
Lack of Context&lt;br /&gt;
Conflicting goals&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open it Up&lt;br /&gt;
-----------------------&lt;br /&gt;
Chat rooms&lt;br /&gt;
Wiki pages&lt;br /&gt;
Source code (to read)&lt;br /&gt;
Infrastructure&lt;br /&gt;
Monitoring Tools&lt;br /&gt;
Ticket Tracker&lt;br /&gt;
&lt;br /&gt;
Chatops&lt;br /&gt;
USe something like chat or teams instead of emails&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shared responsibility&lt;br /&gt;
-------------------------------&lt;br /&gt;
Feedback&lt;br /&gt;
Automation&lt;br /&gt;
Team culture&lt;br /&gt;
No Silos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shadow IT/Bimodal IT&lt;br /&gt;
Groups deliberate bypassing processes to get things done&lt;br /&gt;
&lt;br /&gt;
Devs responsibe for failed deployment after code checkin&lt;br /&gt;
&lt;br /&gt;
Changing your ways of how you do work.... might be hard..but it will pay off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conway&#39;s law&lt;br /&gt;
----------------------------&lt;br /&gt;
organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.&lt;br /&gt;
&lt;br /&gt;
Eric S. Raymond, an open-source advocate, restated Conway&#39;s law in The New Hacker&#39;s Dictionary&lt;br /&gt;
James O. Coplien and Neil B. Harrison stated:&lt;br /&gt;
&lt;br /&gt;
If the parts of an organization (e.g., teams, departments, or subdivisions) do not closely reflect the essential parts of the product, or if the relationship between organizations do not reflect the relationships between product parts, then the project will be in trouble ... Therefore: Make sure the organization is compatible with the product architecture.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Westrum Model&lt;br /&gt;
--------------------------------&lt;br /&gt;
Pathological (Power Oriented)&lt;br /&gt;
Bureaucratic (Rule Oriented)&lt;br /&gt;
Generative (Performance Oriented)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Management Best Practices&lt;br /&gt;
-----------------------------------&lt;br /&gt;
Independent, cross-functional teams&lt;br /&gt;
People first&lt;br /&gt;
Agile, lean processes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaizen&lt;br /&gt;
---------------------------&lt;br /&gt;
Small change&amp;nbsp; aka continues improvement&lt;br /&gt;
Good processes bring good results&lt;br /&gt;
Gemba (Go see for yourself).. (the real pace or Locus).. meaning look at the code or the system or factory floor&lt;br /&gt;
Speak with data, manage by facts&amp;nbsp; (scientific method)&lt;br /&gt;
Take action to contain and correct root causes (The 5 whys, people don&#39;t fail processes do)&lt;br /&gt;
Work as a team&lt;br /&gt;
Kaizen is everubody&#39;s business&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
======================================================&lt;br /&gt;
------------------------------------------------------&lt;br /&gt;
======================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waterfall --&amp;gt; Iterative&lt;br /&gt;
DevOps has strong roots in Agile but is not just agile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lean, 7 principles&lt;br /&gt;
1 Eliminate Waste&lt;br /&gt;
2 Amplify Learning&lt;br /&gt;
3 Decide as late as possible&lt;br /&gt;
4 Decide as fast as possible&lt;br /&gt;
5 Empower the team&lt;br /&gt;
6 Build in integrity&lt;br /&gt;
7 See the whole picture&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waste&lt;br /&gt;
Muda: work that absorbs resources but adds no value&lt;br /&gt;
Muri: Unreasonable work imposed on workers and machines&lt;br /&gt;
Mura: Work coming in unevenly instead of a constant or regular flow&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The 7 Wastes Of Software&lt;br /&gt;
1 Partially work done&lt;br /&gt;
2 Extar features&lt;br /&gt;
3 Relearning&lt;br /&gt;
4 Handoffs&lt;br /&gt;
5 Delays&lt;br /&gt;
6 Task Switching&lt;br /&gt;
7 Defects&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Build Measure Learn&lt;br /&gt;
-----------------------&lt;br /&gt;
Build minimum viable product&lt;br /&gt;
Measure the outcome and internal metrics&lt;br /&gt;
Learn about you problem and your solution&lt;br /&gt;
Repeat, go deep where it&#39;s needed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Concept to cash: from idea to it&#39;s realization, including everything needed to get it to customer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ITSM (Information Technology Service Management)&lt;br /&gt;
&lt;br /&gt;
ITIL (Information Technology Infrastructure Library)&lt;br /&gt;
1 Service&amp;nbsp; Strategy&lt;br /&gt;
2 Service&amp;nbsp; Design&lt;br /&gt;
3 Service&amp;nbsp; Transition&lt;br /&gt;
4 Service&amp;nbsp; Operation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ITIL 2007... 2000 pages long...&amp;nbsp; &lt;b&gt;&lt;a href=&quot;https://www.amazon.com/Visible-Ops-Handbook-Implementing-Practical/dp/0975568612/ref=as_li_ss_tl?tag=sql08-20&quot;&gt;The Visible OPS handbook&lt;/a&gt;&lt;/b&gt; (only 100 pages)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Use ITIL but make it lean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
======================================================&lt;br /&gt;
------------------------------------------------------&lt;br /&gt;
======================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Infrastructure as code&lt;br /&gt;
Everything programmatically, no UI, same code runs on test, stage, UAT and production&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Servers are cattle not pets.. deploy in mass, not handcrafted&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Provisioning: Making a server ready for operation..including OS, network connectivity and system services&lt;br /&gt;
Deployment: Automatically deploying and upgrading applications on a server&lt;br /&gt;
Orchestration: Performing coordinated operations across multiple systems&lt;br /&gt;
Configuration Management: Management of change control after initial provision, maintaining and upgrading apps and app dependencies&lt;br /&gt;
&lt;br /&gt;
Imperative/procedural: Commands necessary to produce a desired state are defined and executed&lt;br /&gt;
Declaritive/Functional: A desired state is defined, relying on the tool to configure a system to match that state&lt;br /&gt;
Idempotent: The ability to execute repeatedly, resulting in the same outcome&lt;br /&gt;
Self Service: The ability for an end user to initiate a process without having to go through other people&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Canary (staged) Deployment Pattern&lt;br /&gt;
Upgrade 1 server, see how it works before upgrading the rest&lt;br /&gt;
&lt;br /&gt;
Blue Green deployment&lt;br /&gt;
Two environment, code is pushed to one, then environments are swapped, variant like cluster immune system deployment&lt;br /&gt;
&lt;br /&gt;
Containers making things easier to deploy, golden image is coming back now since you can just packe it up as a container.&lt;br /&gt;
&lt;br /&gt;
Terraform.. used so that you can use setting across Azure and AWS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Continuous Deploy&lt;br /&gt;
Continuous Delivery&lt;br /&gt;
Continuous Integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Time to market goes down... high performing IT orgs can deploy on demand, some 10 or 100 times a day&lt;br /&gt;
&lt;br /&gt;
“Cease dependence on inspection to achieve quality. Eliminate the need for massive inspection by building quality into the product in the first place.” quote by W. Edwards Deming&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With Continuous&amp;nbsp;Delivery you can much easier see what change caused a degradation of an application, with a quarterly release there are so many changes, it is difficult to find out what caused the degradation&lt;br /&gt;
&lt;br /&gt;
The goal of continuous&amp;nbsp;integration is that working software is in a working state all the time quote by Jez Humble&lt;br /&gt;
&lt;br /&gt;
6 practices&lt;br /&gt;
Builds should pass the coffee test (should be less than 5 minutes)&lt;br /&gt;
Commit really small bits&lt;br /&gt;
Don&#39;t leave the build broken&lt;br /&gt;
Use a trunk based development flow&lt;br /&gt;
No crappy tests, fix your tests&lt;br /&gt;
The build should return a status, a log and an artifact&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only build artifacts once..immutable, should not change... this creates trust.. underlying bits did not change&lt;br /&gt;
Stop deploy if a step fails, notify teams&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test Unit testing&lt;br /&gt;
Code hygiene&amp;nbsp; linters, formatters, banned functions check&lt;br /&gt;
Integration testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TDD/BDD/ATDD&lt;br /&gt;
&lt;br /&gt;
TDD&lt;br /&gt;
State desired outcome as test&lt;br /&gt;
write code to pass test&lt;br /&gt;
Repeat&lt;br /&gt;
&lt;br /&gt;
BDD&lt;br /&gt;
Work with stakeholders&lt;br /&gt;
Describe business functionality&lt;br /&gt;
Tests are based on natutal language descriptions&lt;br /&gt;
&lt;br /&gt;
ATDD (acceptance test driven development)&lt;br /&gt;
End user perpective&lt;br /&gt;
Use case automated testing&lt;br /&gt;
testing is continous during development&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 ways to get around slow tests... so you don&#39;t violate your coffee rule&lt;br /&gt;
use nonblocking tests&lt;br /&gt;
use time scheduled tests&lt;br /&gt;
use monitoring&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MTTR&lt;br /&gt;
Mean Time To Recovery&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cascading failure pattern: Cascading failure is number one threat to stability, one layer can choke out other layers&lt;br /&gt;
Circuit breaker pattern: If app see an issue with one specific set of calls redirect to other part.. minimizes outage risk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The twelve-factor methodology&lt;br /&gt;
&lt;a href=&quot;https://12factor.net/&quot;&gt;https://12factor.net/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I. Codebase&lt;br /&gt;
One codebase tracked in revision control, many deploys&lt;br /&gt;
&lt;br /&gt;
II. Dependencies&lt;br /&gt;
Explicitly declare and isolate dependencies&lt;br /&gt;
&lt;br /&gt;
III. Config&lt;br /&gt;
Store config in the environment&lt;br /&gt;
&lt;br /&gt;
IV. Backing services&lt;br /&gt;
Treat backing services as attached resources&lt;br /&gt;
&lt;br /&gt;
V. Build, release, run&lt;br /&gt;
Strictly separate build and run stages&lt;br /&gt;
&lt;br /&gt;
VI. Processes&lt;br /&gt;
Execute the app as one or more stateless processes&lt;br /&gt;
&lt;br /&gt;
VII. Port binding&lt;br /&gt;
Export services via port binding&lt;br /&gt;
&lt;br /&gt;
VIII. Concurrency&lt;br /&gt;
Scale out via the process model&lt;br /&gt;
&lt;br /&gt;
IX. Disposability&lt;br /&gt;
Maximize robustness with fast startup and graceful shutdown&lt;br /&gt;
&lt;br /&gt;
X. Dev/prod parity&lt;br /&gt;
Keep development, staging, and production as similar as possible&lt;br /&gt;
&lt;br /&gt;
XI. Logs&lt;br /&gt;
Treat logs as event streams&lt;br /&gt;
&lt;br /&gt;
XII. Admin processes&lt;br /&gt;
Run admin/management tasks as one-off processes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If it hurts, do it more often. The best way to avoid failure is to fail constantly&lt;br /&gt;
&lt;br /&gt;
Monitoring&lt;br /&gt;
------------------&lt;br /&gt;
Service performance/uptime&lt;br /&gt;
software component metrics&lt;br /&gt;
system metrics&lt;br /&gt;
app metrics&lt;br /&gt;
performance&lt;br /&gt;
security&lt;br /&gt;
&lt;br /&gt;
5 Principles of log data&lt;br /&gt;
Do not collect log data if you never plan to use it&lt;br /&gt;
Retain log data for as long as it can be used&lt;br /&gt;
Log all you can, alert only what you must respond to, define log levels&lt;br /&gt;
Don&#39;t make logging more available than production stack&lt;br /&gt;
Make log changes as needed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Future&lt;br /&gt;
Containers and Serverless (serverless might only run 1 invocation)&lt;br /&gt;
&lt;br /&gt;
Security&lt;br /&gt;
100:10:1&amp;nbsp; (Dev:Ops:Sec)&lt;br /&gt;
100 developers, 10 Ops, 1 Security person&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Rugged Manifesto: &lt;a href=&quot;https://ruggedsoftware.org/&quot;&gt;https://ruggedsoftware.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I am rugged and, more importantly, my code is rugged.&lt;br /&gt;
I recognize that software has become a foundation of our modern world.&lt;br /&gt;
I recognize the awesome responsibility that comes with this foundational role.&lt;br /&gt;
I recognize that my code will be used in ways I cannot anticipate, in ways it was not designed, and for longer than it was ever intended.&lt;br /&gt;
I recognize that my code will be attacked by talented and persistent adversaries who threaten our physical, economic, and national security.&lt;br /&gt;
I recognize these things - and I choose to be rugged.&lt;br /&gt;
I am rugged because I refuse to be a source of vulnerability or weakness.&lt;br /&gt;
I am rugged because I assure my code will support its mission.&lt;br /&gt;
I am rugged because my code can face these challenges and persist in spite of them.&lt;br /&gt;
I am rugged, not because it is easy, but because it is necessary and I am up for the challenge.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/4138395191130925419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/4138395191130925419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/4138395191130925419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/4138395191130925419'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/03/twid-march-30-2019-tsundoku-devops-robots-turing-award-gps-drifting.html' title='TWID March 30, 2019:  Tsundoku, DevOps, robots, turing award,gps drifting '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBpoZnVy7W5aCqYIqUqmr11RU5h0g850fxOhuYZVdvX_zFv92aZGR-y0TjYSqlQKINjmqhSwGjQnN2979opIGZifxOY8cSaeLmzVkvz3pu1gqjl_5xMcMvv0pcY9obqfXOAsWd6pUsKJQ/s72-c/IMG_3310.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-9020014766996741286</id><published>2019-03-24T07:38:00.000-07:00</published><updated>2019-03-24T07:38:06.094-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TWID"/><title type='text'>TWID March 24, 2019: Gout, Music Biz, Space 2.0, Luke Starkiller, space angels, DevOps Notes</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Didn&#39;t do a TWID post for a couple of weeks, will continue regularly from this week on. Had an issue with my foot... still not sure if I sprained my toe or if it was gout. Didn&#39;t run for 3 weeks but started to run again this week. It feels good to run again in nature. This morning I heard so many woodpeckers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Learned&lt;/h2&gt;
Finished the book&amp;nbsp;&lt;a href=&quot;https://www.amazon.com/Space-2-0-Spaceflight-Resurgent-International/dp/1944648453/ref=as_li_ss_tl&amp;amp;tag=sql08-20&quot;&gt;Space 2.0: How Private Spaceflight, a Resurgent NASA, and International Partners are Creating a New Space Age&lt;/a&gt;&lt;br /&gt;
Some interesting stuff, I like how the cost went down a lot after SpaceX, Blue Horizon and others made the government contractor&lt;br /&gt;
&lt;br /&gt;
Started on&amp;nbsp; the book&amp;nbsp;&lt;a href=&quot;https://www.amazon.com/Loonshots-Nurture-Diseases-Transform-Industries/dp/1250185963/ref=sr_1_1?crid=21VH5CDCZV94I&amp;amp;keywords=loonshots&amp;amp;tag=sql08-20&quot;&gt;Loonshots: How to Nurture the Crazy Ideas That Win Wars, Cure Diseases, and Transform Industries&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Listened to the &lt;a href=&quot;https://tim.blog/2019/03/15/safi-bahcall-loonshots/&quot;&gt;Tim Ferriss podcast with Safi Bahcall&lt;/a&gt;&amp;nbsp;and in that podcast Safi mentioned that the 1st draft of Star Wars was so bad, no studio wanted it&lt;br /&gt;
It had these characters: Luke and Windy Starkiller.&amp;nbsp; Lol can you imagine those names having made it into the movie&lt;br /&gt;
&lt;br /&gt;
Summary of the Original Script of “The Star Wars”:  &lt;a href=&quot;https://www.starwarz.com/starkiller/summary-of-the-original-script-of-the-star-wars/&quot;&gt;https://www.starwarz.com/starkiller/summary-of-the-original-script-of-the-star-wars/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Listened tot the final episode of &lt;a href=&quot;https://wondery.com/shows/business-wars/&quot;&gt;&lt;b&gt;East Coast vs West Coats Business Wars&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Learned some stuff about how it is changing how artists get paid in the music industry. Artists used to be paid by album, now they are paid by the song, 1500 streams is about $9, this is cut between label/produces/songwriter. Since artists are paid by song.. , songs are getting shorter and an album will have more songs. So if you listen through an album, you are listening to more songs.&amp;nbsp; Artist are also putting the chorus at the start of the song to hook you in, because if you skip before 30 seconds or so, the play doesn&#39;t count.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Gompertz_function&quot;&gt;Gompertz function&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
The Gompertz curve or Gompertz function, is a type of mathematical model for a time series and is named after Benjamin Gompertz (1779-1865). It is a sigmoid function which describes growth as being slowest at the start and end of a given time period&lt;br /&gt;
&lt;br /&gt;
One example: Mobile phone uptake, where costs were initially high (so uptake was slow), followed by a period of rapid growth, followed by a slowing of uptake as saturation was reached.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.theatlantic.com/magazine/archive/2019/04/fertility-doctor-donald-cline-secret-children/583249/&quot;&gt;The Fertility Doctor’s Secret&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;Her husband had given her a DNA test for Christmas because she was interested in genealogy. Her heritage turned out to be exactly what she had thought—Scottish, with English, Irish, and Scandinavian mixed in—and she never bothered to click on the link that would show whether anyone on the site shared her DNA.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Apparently she did have relatives on Ancestry.com—and not just distant cousins. The people now sending her messages said they were Cline’s secret biological children. They said their parents had also been treated by Cline. They said that decades ago, without ever telling his patients, Cline had used his own sperm to impregnate women who came to him for artificial insemination.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;According to her DNA, Woock, too, was one of his children.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;This so messed up, and with more and more people doing DNA testing, I think this will only increase.&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
But there is a person who has 600 offspring, his name is &lt;a href=&quot;https://en.wikipedia.org/wiki/Bertold_Wiesner&quot;&gt;Bertold_Wiesner&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.spaceangels.com/why-space-angels&quot;&gt;&lt;b&gt;Space Angels&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Space Angels is Venture Capital firm, they invest in SpaceX as well as the ones in the list below and more&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Accion Systems&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Accion Systems is developing revolutionary ion beam propulsion technologies for satellites, that are light, powerful, and affordable.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Analytical Space&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Analytical Space is developing a cost-effective, high-throughput satellite data relay service using Cubesats with laser downlink capabilities.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Astrobotic Technology&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Astrobotic will be the first private company to regularly deliver customer payloads and communication services to the Moon&#39;s surface.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Atlas Space Operations&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;ATLAS&#39; network of RF satellite ground stations will offer reliable delivery of big data from LEO satellites at one-third of the cost of legacy providers.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Because Learning&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Because Learning is an interactive STEM platform that enables any school to run experiments from Earth to space, through the Spire satellite network.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Bridgesat&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;BridgeSat is developing an optical communications network that offers secure delivery of big data from LEO at low cost and high speeds.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;NanoRacks&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;NanoRacks is the leading commercial provider of hardware and services in low-Earth orbit for microgravity research and space station utilization.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Took some DevOps trainging this week... wanted to save the notes I took.. so I put them at the end of this post :-)&lt;br /&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://www.marketwatch.com/story/big-name-lawsuit-could-upend-realtors-and-their-6-fee-2019-03-19&quot;&gt;The lawyers who took on Big Tobacco are aiming at Realtors and their 6% fee&lt;/a&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Homeowners who are ready to sell their properties usually hire a real-estate agent to represent them by staging the home, photographing it, adding it to the MLS, marketing it, and showing it to prospective buyers. Sellers agree to pay that person a commission on the selling price of the home. That commission has traditionally been known as the “6%,” but it’s a little more complicated than that.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Sellers can really only negotiate with the agent they’ve hired, while agents representing buyers are generally assured of a standard 3% commission. That means that a seller’s agent who’s willing to negotiate, or one that works for a discount brokerage like Redfin RDFN, +2.93%&amp;nbsp; , will be paid less than a buyer’s agent.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Buyers can choose to be represented by an agent, or to go without one – but in any case, all commission money for both sides of the deal is always paid by the seller, thanks to a 1996 NAR rule known as the “Buyer Broker Commission Rule.”&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
I always thought it was strange that listing a 100K house and a 2 Million house would give you so much more money for essentially the same amount of work.&amp;nbsp;Of course selling a million dollar home takes more time. Then there are people who will talk to an agent...do the house tours and not put a bid down with that agent.&amp;nbsp; If this prevails.. I wonder if the million dollar listing tv show will still be around?&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmPbc2-xH1lQGnXMVffLBINVuCxz5LAmXTvXLxYXz1qRv-blVOYpaeE769GMjNoMzv9IpYTCWIFS6OGR9VOxYRd2FecJURa1NQ-UrlearoP5PPp8PZwmeZfgmhkSxtsCMLQKUJXvjda2U/s1600/Facebook-dislike.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;712&quot; data-original-width=&quot;1600&quot; height=&quot;142&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmPbc2-xH1lQGnXMVffLBINVuCxz5LAmXTvXLxYXz1qRv-blVOYpaeE769GMjNoMzv9IpYTCWIFS6OGR9VOxYRd2FecJURa1NQ-UrlearoP5PPp8PZwmeZfgmhkSxtsCMLQKUJXvjda2U/s320/Facebook-dislike.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://krebsonsecurity.com/2019/03/facebook-stored-hundreds-of-millions-of-user-passwords-in-plain-text-for-years/&quot;&gt;Facebook Stored Hundreds of Millions of User Passwords in Plain Text for Years&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Hundreds of millions of Facebook users had their account passwords stored in plain text and searchable by thousands of Facebook employees — in some cases going back to 2012, KrebsOnSecurity has learned. Facebook says an ongoing investigation has so far found no indication that employees have abused access to this data.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Facebook is probing a series of security failures in which employees built applications that logged unencrypted password data for Facebook users and stored it in plain text on internal company servers. That’s according to a senior Facebook employee who is familiar with the investigation and who spoke on condition of anonymity because they were not authorized to speak to the press.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This was maybe some logging, but still, this is bad&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://arstechnica.com/tech-policy/2019/03/new-jersey-becomes-second-state-to-ban-cashless-shops-and-restaurants/&quot;&gt;New Jersey becomes second state to ban cashless shops and restaurants&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;On Monday, New Jersey Governor Phil Murphy signed a bill banning cashless retail stores and restaurants in the Garden State. Murphy&#39;s signature makes New Jersey the second state in the US to ban cashless stores, after Massachusetts banned them in 1978.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;More recently, New Jersey&#39;s move follows that of Philadelphia, which banned cashless stores earlier this month. Philadelphia&#39;s legislation was a reaction to a growing number of stores that only accept credit cards or require customers to pay with an app, like Amazon&#39;s new Amazon Go stores.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Ha, I ran into this the other day in Manhattan. Left the office with a $20 in my pocket, went to this place named Dos Torros with my co-worker, ordered a burrito and then couldn&#39;t pay, had to have my co-worker pay for me and then had to pay him back.&amp;nbsp; My main reason yo pay with cash in restaurants and smaller shops is that I don&#39;t want my credit card to be hacked, my next reason is privacy.&lt;br /&gt;
&lt;br /&gt;
Also some people with bad credit might now have credit cards.. how would they pay?&lt;br /&gt;
&lt;br /&gt;
I welcome this law.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;a href=&quot;https://tim.blog/2019/03/21/learn-to-code/&quot;&gt;&lt;b&gt;Ten Lessons I Learned While Teaching Myself to Code&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;The following is a guest post by Clive Thompson (@pomeranian99), a journalist who’s written about technology and science for two decades. Clive is a longtime contributing writer for the New York Times Magazine and a columnist for Wired.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;In his guest post, Clive outlines the most important lessons he learned teaching himself to code after interviewing 200+ programmers for his new book &lt;a href=&quot;https://www.amazon.com/Coders-Making-Tribe-Remaking-World/dp/0735220565?tag=sql08-20&quot;&gt;Coders: The Making of a New Tribe and the Remaking of the World.&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;So, you want to learn to code.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Join the club! We live in a time when, as the venture capitalist Marc Andreessen famously put it, “…software is eating the world.” So the people who know how to program are in a catalytic spot; they can make things happen. Maybe you’ve watched this from the sidelines and thought: Huh. Could I learn to do that? Perhaps you’re out of school; maybe you can’t afford either the money or the time to go back and do a four-year degree in computer science. You’ve seen a zillion of these online tutorials in coding. Could you just sort of, well, teach yourself?&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;The short answer is: Sure you can.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;The longer answer is… the rest of this essay.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Some interesting tidbits&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://sqlservercode.blogspot.com/2019/03/some-numbers-that-you-will-know-by.html?spref=tw&quot;&gt;Some numbers that you will know by heart if you have been working with SQL Server for a while&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;I was troubleshooting a deadlock the other day and it got me thinking.... I know the number 1205 by heart and know it is associated to a deadlock.&amp;nbsp; What other numbers are there that you can associate to an event or object or limitation. For example 32767 will be known by a lot of people as the database id of the ResourceDb, master is 1, msdb is 4 etc etc.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
A fun and quick posts with some numbers that most SQL Server peeps probably know&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Some DevOps notes I took&lt;/b&gt;&lt;br /&gt;
Had some DevOps training, took some notes, didn&#39;t know where to save them, so put it here&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CAMS&lt;br /&gt;
-------------&lt;br /&gt;
Culture&lt;br /&gt;
Automation&lt;br /&gt;
Measurement&lt;br /&gt;
Sharing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DevOps Principles 3 ways&lt;br /&gt;
----------------------------------------------&lt;br /&gt;
System Thinking&amp;nbsp; (concept to cash)&amp;nbsp; aka overall view&lt;br /&gt;
Amplified feedback loop&amp;nbsp; (later you find the bug.. the more it costs to fix)&lt;br /&gt;
Work culture to allow for learning and continues experimentation (fail fast, working code wins..sharing..)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Five Methodologies&lt;br /&gt;
------------------------------------&lt;br /&gt;
People over process over tools&lt;br /&gt;
Continues Delivery&lt;br /&gt;
Lean management (small batches, progress limits, feedback loops, visualization)&lt;br /&gt;
Visible Ops Change Control (repeatable build process, manage dependencies, eliminate fragile artifacts, continues improvement)&lt;br /&gt;
Infrastrucure as code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10 practices for DevOps success&lt;br /&gt;
------------------------&lt;br /&gt;
Incident command system&lt;br /&gt;
Developers on call&lt;br /&gt;
Status pages (transparent uptime)&lt;br /&gt;
Blameless postmortems&lt;br /&gt;
Embedded teams&lt;br /&gt;
The Cloud&lt;br /&gt;
Andon Cords (anyone can stop the release, this way something doesn&#39;t go to prod)&lt;br /&gt;
Dependency Injection (Inversion of Control)&lt;br /&gt;
Blue/Green deployment (2 system, 1 live, the other is not..deploy changes and shift traffic towards it, if problems shift back to prev version)&lt;br /&gt;
Chaos Monkey (trash servers occasional so that you can code for it and be prepared in case it happens out of your control.. came from Netflix)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DevOps Tools ... cart or horse?&lt;br /&gt;
----------------------------&lt;br /&gt;
Toolchain... that works together&lt;br /&gt;
Should be programmable.. no UI tools&lt;br /&gt;
Verifiable&lt;br /&gt;
Well behaved (from dev and operations point of view)&lt;br /&gt;
Write own tools if you need to....&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/9020014766996741286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/9020014766996741286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/9020014766996741286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/9020014766996741286'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/03/twid-march-24-2019-gout-music-biz-space-DevOps-starkiller.html' title='TWID March 24, 2019: Gout, Music Biz, Space 2.0, Luke Starkiller, space angels, DevOps Notes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmPbc2-xH1lQGnXMVffLBINVuCxz5LAmXTvXLxYXz1qRv-blVOYpaeE769GMjNoMzv9IpYTCWIFS6OGR9VOxYRd2FecJURa1NQ-UrlearoP5PPp8PZwmeZfgmhkSxtsCMLQKUJXvjda2U/s72-c/Facebook-dislike.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-6178973526608958208</id><published>2019-03-03T08:09:00.000-08:00</published><updated>2019-03-03T08:09:48.618-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TWID"/><title type='text'>TWID March 3, 2019: Death by GPS, Python tool vs code, Alexa + Jenkins, Job Red Flags, Game of Thrones Fantasy League</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Learned&lt;/h2&gt;
Finished the Pluralsight course &lt;a href=&quot;https://app.pluralsight.com/library/courses/sql-server-2016-features-real-world-data/table-of-contents&quot;&gt;Applying SQL Server 2016 Features to Real-world Data Problems&lt;/a&gt;
by Ana Voicu&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://en.wikipedia.org/wiki/Death_by_GPS&quot;&gt;Death by GPS&lt;/a&gt;&amp;nbsp;refers to the death of people attributable, in part, to following GPS directions or GPS maps. Death by GPS has been noted in several deaths in Death Valley, California; a lost hiker at Joshua Tree National Park in southeastern California; and incidents in Washington State, Australia, England, Italy and Brazil.&lt;br /&gt;
&lt;br /&gt;
Got to the wikipedia entry after reading some comments on this link on hackernews:&amp;nbsp;&lt;a href=&quot;http://www.otherhand.org/home-page/search-and-rescue/the-hunt-for-the-death-valley-germans/&quot;&gt;The Hunt for the Death Valley Germans&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://devblogs.microsoft.com/python/python-in-visual-studio-code-february-2019-release/&quot;&gt;Python in Visual Studio Code – February 2019 Release&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Test Explorer&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;This release includes the ability to visualize, navigate and run unit tests through a test explorer, a feature that is commonly requested by our users.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Validated breakpoints when debugging&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;This release also includes an enhancement to the debugger: validation of breakpoints targets. If a breakpoint is set on a line where breakpoints are invalid (e.g. blank lines, pass statement, lines in the middle of a multi-line statement), then it’s automatically moved to the nearest preceeding valid line&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
The team keeps cranking out more awesomeness every month&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://jenkins.io/blog/2019/02/26/jenkins-alexa-voice-controlled-cicd/&quot;&gt;Jenkins + Alexa: Say Hello to Voice Controlled CI/CD&amp;nbsp; &lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Alexa (named after the ancient library of Alexandria) is Amazon’s Artificial Intelligence (AI) powered intelligent voice assistant that runs in the cloud. Software engineers make Alexa smarter by creating apps, called skills. From the time that I developed my first Alexa skill, I dreamed of deploying my Java projects to the cloud via voice. For me, telling Alexa to deploy my code is the ultimate level of cool! I recently made my dream a reality when I devoted a weekend to developing my newest Alexa skill, DevOps Pal. In this blog, I will show you how I developed DevOps Pal and hopefully inspire you to build your own version.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LOL, I have Alexa at home.. but I mostly use it to listen to Music. I am just wondering if they did this because they could and not because this is actually useful. Our builds build upon checkin (on dev, qa/test is scheduled), not sure why you would want to initiate it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://joecmarshall.com/posts/job-description-red-flags/&quot;&gt;Red Flags in Software Developer Job Descriptions&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;For some reason I’ve been reading a lot of job descriptions for junior devs lately and that has naturally left me with an inordinate number of opinions. I have, with great effort, condensed them here for you, dear reader.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;The following aren’t pulled from any specific listings because these types of awfulness transcend the individual - and because that would be dickish. But their spirit should ring true to anyone in the trenches of the job search process.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;“Technologies: Coldfusion + jQuery”&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Your job search shouldn’t be driven by what’s fashionable in tech, but popularity and the market for a skill are important factors, since they influence a career track’s employability and profitability. The market for Coldfusion devs isn’t too hot (or even a thing) and jQuery simply doesn’t have the complexity or potential power of a full JS MVC. Companies advertising outdated stacks open you up to the risk of building the wrong sorts of skills, which can have far-reaching effects on your career.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One thing that caught my eye was&amp;nbsp; Coldfusion + jQuery, this is the stack that DJindexes website was built on so had to go and troll my ex co-workers&amp;nbsp; haha. One reply I got was:&amp;nbsp;All of these jobs sound very interesting to me. Do they have any COBOL and JCL openings?&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
See also the comments on hackernews here:&amp;nbsp;&lt;a href=&quot;https://news.ycombinator.com/item?id=19268989&quot;&gt;https://news.ycombinator.com/item?id=19268989&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.engadget.com/2019/02/27/motorola-confirms-its-foldable-phone-is-coming/&quot;&gt;&lt;b&gt;Motorola confirms its foldable phone is coming&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
By now, it&#39;s not much of a secret that Motorola is working on a folding phone of its own: A patent for such a device surfaced late last year, and a subsequent report in The Wall Street Journal basically confirmed the company&#39;s plans. Despite the ensuing hype, Motorola has mostly kept quiet about its progress, but in an interview with Engadget this week, Motorola VP of Global Product Dan Dery shed some additional light on the company&#39;s ambitions.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&quot;We started to work on foldables a long time ago,&quot; Dery said. &quot;And we have been doing a lot of iteration.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;Oh man.. now everyone is jumping on this bandwagon??&amp;nbsp; What happens when you only crack one screen? This still seems idiotic to me, especially at that price point that Samsung has.&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;&lt;a href=&quot;https://cloudblogs.microsoft.com/sqlserver/2019/03/01/sql-server-2019-community-technology-preview-2-3-is-now-available/&quot;&gt;SQL Server 2019 community technology preview 2.3 is now available&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This CTP 2.3 preview brings the following new features and capabilities to SQL Server 2019:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Big data clusters&lt;/div&gt;
&lt;div&gt;
Submit Spark jobs on SQL Server big data clusters from IntelliJ&lt;/div&gt;
&lt;div&gt;
Application deployment and management experience for deploying a variety of data-related apps including operationalizing machine learning models using R and Python, running SQL Server Integration Services (SSIS) jobs, and more&lt;/div&gt;
&lt;div&gt;
Database engine&lt;/div&gt;
&lt;div&gt;
Accelerated database recovery to provide constant time recovery and instant rollback for long running transactions&lt;/div&gt;
&lt;div&gt;
Performance enhancements in query plan recompilations, transaction log management, and Query Store&lt;/div&gt;
&lt;div&gt;
SQL Graph enhancement to enable cascaded deletion of edges upon the deletion of nodes&lt;/div&gt;
&lt;div&gt;
SQL Server Analysis Services (SSAS)&lt;/div&gt;
&lt;div&gt;
Calculation groups in tabular models that reduce the number of measures by reusing calculation logic&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8vdHBMNE3_Qvmry52s_iG3othpX1jCwWjx5ykkXjIKD-037rJiYaq-FFBbaj1jcDPMdJHcTOitQoEFGUpwoDVFifmy6nSI8hxXH4Hvhjv5e_Pt7XZMxPy9NGok-_GxkQ7foxWvktl3Gw/s1600/SQL2019CTP23.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;481&quot; data-original-width=&quot;1056&quot; height=&quot;181&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8vdHBMNE3_Qvmry52s_iG3othpX1jCwWjx5ykkXjIKD-037rJiYaq-FFBbaj1jcDPMdJHcTOitQoEFGUpwoDVFifmy6nSI8hxXH4Hvhjv5e_Pt7XZMxPy9NGok-_GxkQ7foxWvktl3Gw/s400/SQL2019CTP23.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Installed on Sunday morning..checking out what is new and shiny. One thing that &lt;a href=&quot;https://www.brentozar.com/archive/2019/03/sql-server-2019-result-set-caching/&quot;&gt;Brent Ozar noticed&lt;/a&gt; was the&amp;nbsp;is_result_set_caching_on as a new column in sys.databases. So far I haven&#39;t heard yet how to turn it on&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;Finished  &lt;a href=&quot;https://www.amazon.com/Annotated-Turing-Through-Historic-Computability/dp/0470229055/ref=sr_1_1&amp;amp;tag=sql08-20&quot;&gt;The Annotated Turing: A Guided Tour Through Alan Turing&#39;s Historic Paper on Computability and the Turing Machine&lt;/a&gt; by Charles Petzold.  a little dry at times.. but if you like math or want to learn about Turing machines, this book is for you  &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.fantasizr.com/sport/fantasy-game-of-thrones-season-8&quot;&gt;&lt;b&gt;There is a Game Of Thrones fantasy league?&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I signed up and created a league with a bunch of co-workers&lt;br /&gt;
Here is how some of the scoring works&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Violence:&lt;br /&gt;
&lt;br /&gt;
10 Kill Random Character / White Walker / Wight (capped at 50pts)&lt;br /&gt;
15 Kill White Walker&lt;br /&gt;
25 Kill Known or Drafted Character&lt;br /&gt;
150 Kill Dragon&lt;br /&gt;
5 Incapacitate Random Character (not killed)&lt;br /&gt;
10 Incapacitate Known or Drafted Character (not killed)&lt;br /&gt;
25 Exit Bonus for Drafted Character Dying Memorably&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Status/Power:&lt;br /&gt;
&lt;br /&gt;
200 Take the Iron Throne&lt;br /&gt;
25 Sack a City / Lead a Battle Victory (must be present at victory)&lt;br /&gt;
25 Get a Seat on the High Council&lt;br /&gt;
50 Magic Use (1x Episode / Character)&lt;br /&gt;
50 Gain ownership of Valyrian Steel (Must keep through end of episode)&lt;br /&gt;
20 Have a Vision/Prophecy (1x / Episode / Character)&lt;br /&gt;
15 Take up a Weird/New Religion&lt;br /&gt;
10 Get Engaged&lt;br /&gt;
20 Get Married&lt;br /&gt;
15 Get Pregnant/Get Someone Pregnant&lt;br /&gt;
-20 Lose a Baby&lt;br /&gt;
25 Official Promotion&lt;br /&gt;
-25 Official Demotion&lt;br /&gt;
50 Come Back from the Dead&lt;br /&gt;
15 Act of Betrayal&lt;br /&gt;
15 Form / Join existing alliance&lt;br /&gt;
20 Ride or Control Dragon (1x / Episode)&lt;br /&gt;
20 MVP of Episode (Scorekeeper&#39;s Choice)&lt;br /&gt;
50 Revealed as Azor Ahai&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I just love Times Square, here is a panorama I took&#39;&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/47206070272/in/photostream&quot; title=&quot;Times Square Panorama&quot;&gt;&lt;img alt=&quot;Times Square Panorama&quot; height=&quot;221&quot; src=&quot;https://farm8.staticflickr.com/7897/47206070272_0abcdcf2f0_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/6178973526608958208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/6178973526608958208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/6178973526608958208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/6178973526608958208'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/03/twid-march-3rd-death-by-gps-python-tool-vs-code-alexa-jenkins-job-red-flags-game-of-thrones-fantasy-league.html' title='TWID March 3, 2019: Death by GPS, Python tool vs code, Alexa + Jenkins, Job Red Flags, Game of Thrones Fantasy League'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8vdHBMNE3_Qvmry52s_iG3othpX1jCwWjx5ykkXjIKD-037rJiYaq-FFBbaj1jcDPMdJHcTOitQoEFGUpwoDVFifmy6nSI8hxXH4Hvhjv5e_Pt7XZMxPy9NGok-_GxkQ7foxWvktl3Gw/s72-c/SQL2019CTP23.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-1604320984843732090</id><published>2019-02-25T07:42:00.002-08:00</published><updated>2019-02-25T07:59:42.011-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="farm"/><category scheme="http://www.blogger.com/atom/ns#" term="nature"/><category scheme="http://www.blogger.com/atom/ns#" term="new jersey"/><category scheme="http://www.blogger.com/atom/ns#" term="outdoors"/><title type='text'>Cool day trip in February if you live in  New Jersey.. tree tapping at Howell Living History Farm</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-I8_60PmRKR7yrBYgJ448geNFsGSkbqyUS8lgqtUV6HDb72C4z8O0dMSw9EGUppqKjRMuR9m4oYbMgsrMaht3M4UJImtNvYs097vkf1Qc1_MfJF71_BjGjC6W0Jvc3RHUGnvzvJmoqZU/s1600/Trying+maple+sap.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-I8_60PmRKR7yrBYgJ448geNFsGSkbqyUS8lgqtUV6HDb72C4z8O0dMSw9EGUppqKjRMuR9m4oYbMgsrMaht3M4UJImtNvYs097vkf1Qc1_MfJF71_BjGjC6W0Jvc3RHUGnvzvJmoqZU/s400/Trying+maple+sap.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Our family went to&amp;nbsp;&lt;b&gt;&lt;a href=&quot;http://howellfarm.org/ShowPage.aspx?PageID=17&quot;&gt;Howell Living History Farm&lt;/a&gt; &lt;/b&gt;for the tree tapping event 6 years or so ago, the kids were little and didn&#39;t really remember the event. We decided to repeat the event this year so that they would remember this.&amp;nbsp; From our home in Princeton it&#39;s about a 25 minute drive, not too bad&lt;br /&gt;
&lt;br /&gt;
It was a cloudy day, so the pics look a little gloomy but it was not too cold&lt;br /&gt;
&lt;br /&gt;
Here you can see some benches that are next to the main entrance where the shop is located&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/33322495998/in/photostream&quot; title=&quot;Benches&quot;&gt;&lt;img alt=&quot;Benches&quot; height=&quot;480&quot; src=&quot;https://farm8.staticflickr.com/7828/33322495998_274bce3e04_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;br /&gt;
At the shop, you can see a board with all the activities and the time when the activities start. Ask someone for directions if you need to know where to go&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While we were walking towards the area where they had the sap collecting buckets, these sheep came running towards us, my kids freaked out but they were very exciting to see the sheep&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/46467079294/in/photostream/&quot; title=&quot;Sheep Running Towards Us&quot;&gt;&lt;img alt=&quot;Sheep Running Towards Us&quot; height=&quot;427&quot; src=&quot;https://farm8.staticflickr.com/7817/46467079294_039ab2333b_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;A little later we saw this big duck, looked like it weighed at least 10 pounds to me, it was about the size of one of those Canada geese birds&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/40225870573/in/photostream/&quot; title=&quot;Duck Drinking&quot;&gt;&lt;img alt=&quot;Duck Drinking&quot; height=&quot;427&quot; src=&quot;https://farm8.staticflickr.com/7836/40225870573_f9dd7ff048_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The farm had this stack of neatly piled wood&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/46467079764/in/photostream/&quot; title=&quot;Stack of Wood&quot;&gt;&lt;img alt=&quot;Stack of Wood&quot; height=&quot;427&quot; src=&quot;https://farm8.staticflickr.com/7831/46467079764_ec037c3513_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You could actually get busy and cut the wood with this huge saw&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/40225871413/in/photostream/&quot; title=&quot;Cut that wood&quot;&gt;&lt;img alt=&quot;Cut that wood&quot; height=&quot;443&quot; src=&quot;https://farm8.staticflickr.com/7846/40225871413_a8c70fa7cf_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;


&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These orange roots looked really weird and much better in person&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/40225871033/in/photostream/&quot; title=&quot;Orange roots over a stream&quot;&gt;&lt;img alt=&quot;Orange roots over a stream&quot; height=&quot;427&quot; src=&quot;https://farm8.staticflickr.com/7827/40225871033_f98fc6a3a4_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here you can see the buckets that they use to collect the sap. If you stand still and don&#39;t make any noise, you can here the drops making noise when they hit the bucket. It&#39;s a pretty interesting sound&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/32248701537/in/photostream/&quot; title=&quot;Many Buckets to tap maple sap&quot;&gt;&lt;img alt=&quot;Many Buckets to tap maple sap&quot; height=&quot;427&quot; src=&quot;https://farm8.staticflickr.com/7920/32248701537_64253f4c54_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;br /&gt;
A close up shot of the buckets

&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/40225825863/in/photostream/&quot; title=&quot;Buckets to tap maple sap&quot;&gt;&lt;img alt=&quot;Buckets to tap maple sap&quot; height=&quot;427&quot; src=&quot;https://farm8.staticflickr.com/7808/40225825863_7d7a50d064_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;


&lt;br /&gt;
&lt;br /&gt;
I tasted the sap as did my wife and the kids. It doesn&#39;t taste as syrup at all, it is like water with a very tiny hint of sweetness, the sap is also clear, it does not have a color&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is the evaporator, it is used to make syrup from the sap&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/33322494528/in/photostream/&quot; title=&quot;Maple Syrup Evaporator&quot;&gt;&lt;img alt=&quot;Maple Syrup Evaporator&quot; height=&quot;480&quot; src=&quot;https://farm8.staticflickr.com/7850/33322494528_461d2d5dc6_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;br /&gt;
Open pan evaporation methods have been streamlined since colonial days, but remain basically unchanged. Sap must first be collected and boiled down to obtain pure syrup without chemical agents or preservatives. Maple syrup is made by boiling between 20 and 50 volumes of sap (depending on its concentration) over an open fire until 1 volume of syrup is obtained, usually at a temperature 4.1 °C (7.4 °F) over the boiling point of water&lt;br /&gt;
&lt;br /&gt;
Boiling the sap for too long will create crystals so you have to be on top of the process and check it.&amp;nbsp; While they were doing the explaining, they also mentioned that the indigenous people would warm up stones and then drop those hot stones in the sap to create syrup.&lt;br /&gt;
&lt;br /&gt;
After you are done with the presentation, you can go to the house where they will make you some old fashioned pancakes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Farm house

&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/32248702497/in/photostream/&quot; title=&quot;FarmHouse&quot;&gt;&lt;img alt=&quot;FarmHouse&quot; height=&quot;427&quot; src=&quot;https://farm8.staticflickr.com/7844/32248702497_c3f47dd505_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;br /&gt;
Chickens

&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/47156851392/in/dateposted/&quot; title=&quot;Chickens&quot;&gt;&lt;img alt=&quot;Chickens&quot; height=&quot;480&quot; src=&quot;https://farm8.staticflickr.com/7892/47156851392_9c73c0974d_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;
&lt;br /&gt;
These chickens come inside at night because foxes and hawks will snatch them and eat them. They told us to come back in about 4 weeks because that is when they will have the little chicks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My daughter Catherine petting this horse&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb_nqXzawpdErL_S2-RKVWh_rZUXajCfVxpHCGCv7vQyfXRqmzPuT74AbqBk9yRWGkIw4kpiDHGmFDBw_8DDE0P6jEg2Uu0u1HDePEhSeWKbfVvBwq9XpfVJszEBIoCVYhuSZVJZX8mbo/s1600/Horse.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb_nqXzawpdErL_S2-RKVWh_rZUXajCfVxpHCGCv7vQyfXRqmzPuT74AbqBk9yRWGkIw4kpiDHGmFDBw_8DDE0P6jEg2Uu0u1HDePEhSeWKbfVvBwq9XpfVJszEBIoCVYhuSZVJZX8mbo/s320/Horse.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the farm, we drove to Nomad Pizza in Hopewell. If you want to eat there you will probably have to wait since they only have 10 tables or so. In the summer there is an outside area as well. This is why if we go there during the colder months we make sure to get there by 5&lt;br /&gt;
&lt;br /&gt;
I had the chorizo with onion, pepper and mozzarella pizza, it was delicious&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5ixqkiB90zykNPxvCvyKfB6cC1H3H-QgYHrNQb2ZF4VKzByZlcjiUrU5EyRq4Sxr8mZ0cmlgwCur6-cxmX1h00JRJo_HQCfLU3AWKJLqHsE8HkDVh0-LSvmp_yHgIcCyh0MqYF3LliP0/s1600/Pizza.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1600&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5ixqkiB90zykNPxvCvyKfB6cC1H3H-QgYHrNQb2ZF4VKzByZlcjiUrU5EyRq4Sxr8mZ0cmlgwCur6-cxmX1h00JRJo_HQCfLU3AWKJLqHsE8HkDVh0-LSvmp_yHgIcCyh0MqYF3LliP0/s400/Pizza.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/1604320984843732090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/1604320984843732090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1604320984843732090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1604320984843732090'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/02/Cool-day-trip-in-February-if-you-live-in-New-Jersey-tree-tapping-at-Howell-Living-History-Farm-syrup.html' title='Cool day trip in February if you live in  New Jersey.. tree tapping at Howell Living History Farm'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-I8_60PmRKR7yrBYgJ448geNFsGSkbqyUS8lgqtUV6HDb72C4z8O0dMSw9EGUppqKjRMuR9m4oYbMgsrMaht3M4UJImtNvYs097vkf1Qc1_MfJF71_BjGjC6W0Jvc3RHUGnvzvJmoqZU/s72-c/Trying+maple+sap.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-759381482930524607</id><published>2019-02-25T06:13:00.001-08:00</published><updated>2019-02-25T07:42:56.266-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TWID"/><title type='text'>TWID Feb 25, 2019: Galaxy Fold, Huawei Mate X, Hololens 2, Juventus, Linux Fsync Issue fix for PostgreSQL, syrup</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Learned&lt;/h2&gt;
&lt;br /&gt;
Almost finished with the book&amp;nbsp;&lt;a href=&quot;https://www.amazon.com/Annotated-Turing-Through-Historic-Computability/dp/0470229055/ref=sr_1_1&amp;amp;tag=sql08-20&quot;&gt;The Annotated Turing: A Guided Tour Through Alan Turing&#39;s Historic Paper on Computability and the Turing Machine&lt;/a&gt;&amp;nbsp;by Charles Petzold&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;It takes a lot of maple sap to create maple syrup&lt;/b&gt;.&amp;nbsp;&amp;nbsp;The higher the sugar content of the sap, the smaller the volume of sap is needed to obtain the same amount of syrup. 57 units of sap with 1.5 percent sugar content will yield 1 unit of syrup, but only 25 units of sap with a 3.5 percent sugar content are needed to obtain one unit of syrup&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-I8_60PmRKR7yrBYgJ448geNFsGSkbqyUS8lgqtUV6HDb72C4z8O0dMSw9EGUppqKjRMuR9m4oYbMgsrMaht3M4UJImtNvYs097vkf1Qc1_MfJF71_BjGjC6W0Jvc3RHUGnvzvJmoqZU/s1600/Trying+maple+sap.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-I8_60PmRKR7yrBYgJ448geNFsGSkbqyUS8lgqtUV6HDb72C4z8O0dMSw9EGUppqKjRMuR9m4oYbMgsrMaht3M4UJImtNvYs097vkf1Qc1_MfJF71_BjGjC6W0Jvc3RHUGnvzvJmoqZU/s400/Trying+maple+sap.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Those are my youngest two trying the sap. I tried it as well, I must say there really is no taste to it.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
I will make a separate post about our visit to the farm&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;a href=&quot;https://www.theverge.com/2019/2/20/18231249/samsung-galaxy-fold-folding-phone-features-screen-photos-size-announcement?utm_campaign=denisgobo.blogspot.com&amp;amp;utm_content=entry&amp;amp;utm_medium=awesome&amp;amp;utm_source=twitter&quot;&gt;&lt;b&gt;Samsung’s foldable phone is the Galaxy Fold, available April 26th starting at $1,980&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Samsung first teased its foldable phone back in November, and at the company’s Galaxy Unpacked event today, it’s further detailing its foldable plans. Samsung’s foldable now has a name, the Samsung Galaxy Fold, and the company is revealing more about what this unique smartphone can do. Samsung is planning to launch the Galaxy Fold on April 26th, starting at $1,980, through AT&amp;amp;T and T-Mobile in the US, with a free pair of Samsung’s new wireless earbuds. There will be both an LTE and 5G version of the Galaxy Fold, and Samsung is even planning on launching the device in Europe on May 3rd, starting at 2,000 euros.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Overpriced and if you damage a screen how much to repair this. I rather have a phone like the showed in the Expanse or even better a phone you can roll up so it is the size and shape of a pen. This thing is just too bulky as well. A better design would have been if there was a screen that you could slide out instead.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;If you thought the Galaxy Fold was not expensive enough.. no worried&amp;nbsp;&lt;a href=&quot;https://techcrunch.com/2019/02/24/the-mate-x-is-huaweis-5g-foldable/&quot;&gt;&lt;b&gt;The Mate X is Huawei’s 5G foldable phone&lt;/b&gt;&lt;/a&gt;... the price $2600.&amp;nbsp; Fitting name Mate X, as in &lt;b&gt;mate &lt;/b&gt;you will need e&lt;b&gt;X&lt;/b&gt;tra money for this one...&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Pass on both from me&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;b&gt;Juventus share price is down 9% after their champions league result&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj50YabrsEouWsT_9XAGW5uqxikkYMaQEJFgit-m-bdLXqRFfQkhwWRpPtTzl215_DdLWnSyEKAmU35M7t3swmXzX2XAjrnqiADPSng49cI8SSVl07y9CI-Fsx5Kgmstggp1l6YTXyZ4rk/s1600/JuveShareprice.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Juventus share price is down 9% after their champions league result &quot; border=&quot;0&quot; data-original-height=&quot;316&quot; data-original-width=&quot;660&quot; height=&quot;191&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj50YabrsEouWsT_9XAGW5uqxikkYMaQEJFgit-m-bdLXqRFfQkhwWRpPtTzl215_DdLWnSyEKAmU35M7t3swmXzX2XAjrnqiADPSng49cI8SSVl07y9CI-Fsx5Kgmstggp1l6YTXyZ4rk/s400/JuveShareprice.png&quot; title=&quot;Juventus share price is down 9% after their champions league result &quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&amp;nbsp; Ouch, that is not good, but Atletico played a much better 2nd half and converted their chances. Let&#39;s see if Juve can advance by scoring at least 2 at home in the return game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md&quot;&gt;&lt;b&gt;Falsehoods Programmers Believe About Phone Numbers&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Some interesting things you might already know, still good to revisit this list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;a href=&quot;https://www.theverge.com/2019/2/24/18235460/microsoft-hololens-2-price-specs-mixed-reality-ar-vr-business-work-features-mwc-2019&quot;&gt;&lt;b&gt;Microsoft’s HoloLens 2: a $3,500 mixed-reality headset for the factory&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The Microsoft HoloLens 2 is available for preorder today for $3,500, and it’s expected to ship later this year. However, Microsoft has decided that it is only going to sell to enterprise customers who want to deploy the headset to their workers. As of right now, Microsoft isn’t even announcing a developer kit version of the HoloLens 2.&lt;br /&gt;
&lt;br /&gt;
Compared to the HoloLens we first saw demonstrated four years ago, the second version is better in nearly every important way. It’s more comfortable, it has a much larger field of view, and it’s better able to detect real physical objects in the room. It features new components like the Azure Kinect sensor, an ARM processor, eye-tracking sensors, and an entirely different display system.&lt;br /&gt;
&lt;br /&gt;
It has a couple of speakers, the visor flips up, and it can see what your hands are doing more accurately than before. There’s an 8-megapixel front-facing camera for video conferencing, it’s capable of full 6 degrees of tracking, and it also uses USB-C to charge. It is, in short, chock-full of new technology. But after four years, that should be no surprise.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.percona.com/blog/2019/02/22/postgresql-fsync-failure-fixed-minor-versions-released-feb-14-2019/#FSYNC-ERRORS-ARE-NOW-DETECTED&quot;&gt;Linux Fsync Issue for Buffered IO and Its Preliminary Fix for PostgreSQL&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;One of the common fixes applied to all the supported PostgreSQL versions is on – panic instead of retrying after fsync () failure. This fsync failure has been in discussion for a year or two now, so let’s take a look at the implications.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;A fix to the Linux fsync issue for PostgreSQL Buffered IO in all supported versions&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;PostgreSQL performs two types of IO. Direct IO – though almost never – and the much more commonly performed Buffered IO.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;PostgreSQL uses O_DIRECT when it is writing to WALs (Write-Ahead Logs aka Transaction Logs) only when wal_sync_method is set to : open_datasync or to&amp;nbsp; open_sync with no archiving or streaming enabled. The default&amp;nbsp; wal_sync_method may be fdatasync that does not use O_DIRECT. This means, almost all the time in your production database server, you’ll see PostgreSQL using O_SYNC / O_DSYNC while writing to WAL’s. Whereas, writing the modified/dirty buffers to datafiles from shared buffers is always through Buffered IO&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Starting from kernel 4.13, we can now reliably detect such errors during fsync. So, any open file descriptor to a file includes a pointer to the address_space structure, and a new 32-bit value (errseq_t) has been added that is visible to all the processes accessing that file. With the new minor version for all supported PostgreSQL versions, a PANIC is triggered upon such error. This performs a database crash and initiates recovery from the last CHECKPOINT. There is a patch expected to be released in PostgreSQL 12 that works for newer kernel versions and modifies the way PostgreSQL handles the file descriptors. A long term solution to this issue may be Direct IO, but you might see a different approach to this in PG 12.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Some more info that I found in this&amp;nbsp;&lt;a href=&quot;https://news.ycombinator.com/item?id=19238121&quot;&gt;hackernews&lt;/a&gt;&amp;nbsp;comment thread that might interest you:&lt;br /&gt;
If you want an overview of the issue, here&#39;s a presentation from Tomas Vondra at FOSDEM 2019: &lt;a href=&quot;https://youtu.be/1VWIGBQLtxo&quot;&gt;https://youtu.be/1VWIGBQLtxo&lt;/a&gt;&lt;br /&gt;
Or an early recap of the &quot;fsyncgate&quot; issue in textual form: &lt;a href=&quot;https://lwn.net/Articles/752063/&quot;&gt;https://lwn.net/Articles/752063/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Related (also listed by Tomas Vondra): Linux&#39;s IO errors reporting &lt;a href=&quot;https://youtu.be/74c19hwY2oE&quot;&gt;https://youtu.be/74c19hwY2oE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As always, I will leave you with a pic I took this past week. This one is a pic of some orange roots over a stream&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/40225871033/in/photostream&quot; title=&quot;Orange roots over a stream&quot;&gt;&lt;img alt=&quot;Orange roots over a stream&quot; height=&quot;427&quot; src=&quot;https://farm8.staticflickr.com/7827/40225871033_f98fc6a3a4_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/759381482930524607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/759381482930524607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/759381482930524607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/759381482930524607'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/02/twid-feb-25-2019-Galaxy-Fold-Huawei-Mate-X-Hololens-2-Juventus-Linux-Fsync-Issue-fix-for-PostgreSQL-syrup.html' title='TWID Feb 25, 2019: Galaxy Fold, Huawei Mate X, Hololens 2, Juventus, Linux Fsync Issue fix for PostgreSQL, syrup'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-I8_60PmRKR7yrBYgJ448geNFsGSkbqyUS8lgqtUV6HDb72C4z8O0dMSw9EGUppqKjRMuR9m4oYbMgsrMaht3M4UJImtNvYs097vkf1Qc1_MfJF71_BjGjC6W0Jvc3RHUGnvzvJmoqZU/s72-c/Trying+maple+sap.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-8782056348862574628</id><published>2019-02-18T13:56:00.001-08:00</published><updated>2019-02-19T02:28:51.045-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="math"/><category scheme="http://www.blogger.com/atom/ns#" term="PostgreSQL"/><title type='text'>Calculating Sexy Primes, Prime Triplets and Sexy Prime Triplets in PostgreSQL</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s1600/PostgreSQLBanner.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;256&quot; data-original-width=&quot;700&quot; height=&quot;146&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s400/PostgreSQLBanner.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The other day I was reading something on Hackernews and someone posted a link to a Sexy Primes wikipedia article.&amp;nbsp; I looked at that and then decided to do this in SQL Server because.. why not? Then I decided to see how different this would be to do in PostgreSQL.&amp;nbsp; For the first method to create the prime numbers it&#39;s different. For the method with the CTE it is very similar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From the Sexy Primes wikipedia link:&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Sexy_prime&quot;&gt;https://en.wikipedia.org/wiki/Sexy_prime&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In mathematics, sexy primes are prime numbers that differ from each other by six. For example, the numbers 5 and 11 are both sexy primes, because 11 minus 5 is 6.&lt;br /&gt;
&lt;br /&gt;
The term &quot;sexy prime&quot; is a pun stemming from the Latin word for six: sex.&lt;br /&gt;
&lt;br /&gt;
If p + 2 or p + 4 (where p is the lower prime) is also prime, then the sexy prime is part of a prime triplet.&lt;br /&gt;
&lt;br /&gt;
Ok I did a couple of versions of this and over the weekend.. here is what I ended up with&lt;br /&gt;
&lt;br /&gt;
So first we need a table that will just have the prime numbers&lt;br /&gt;
&lt;br /&gt;
I decided to populate a table with numbers from 2 till 500 and then use the sieve of Eratosthenes method to delete the non primes&lt;br /&gt;
&lt;br /&gt;
This will look like this&lt;br /&gt;
&lt;br /&gt;
Create this table&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CREATE&lt;/span&gt;  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;TABLE&lt;/span&gt;  PrimeNumbers  (N &lt;span style=&quot;color: #007020;&quot;&gt;INT&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;br /&gt;
In one window run this to create the function/proc&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CREATE&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;OR&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;REPLACE&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FUNCTION&lt;/span&gt; MakePrime() &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;RETURNS&lt;/span&gt; void &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AS&lt;/span&gt; &lt;span style=&quot;background-color: #ffaaaa; color: red;&quot;&gt;$$&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;DECLARE&lt;/span&gt; I &lt;span style=&quot;color: #007020;&quot;&gt;integer&lt;/span&gt; := &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BEGIN&lt;/span&gt;
WHILE I &amp;lt;= SQRT(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;500&lt;/span&gt;) LOOP
    &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;DELETE&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; PrimeNumbers &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; N % I = &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AND&lt;/span&gt; N &amp;gt; I;
    I := I + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; ; 
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;END&lt;/span&gt; LOOP;

&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;END&lt;/span&gt;;

&lt;span style=&quot;background-color: #ffaaaa; color: red;&quot;&gt;$$&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;LANGUAGE&lt;/span&gt; plpgsql;&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;div style=&quot;line-height: 16.25px;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;In a another window populate the table by making the call to the function&lt;/span&gt;&lt;/div&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: #333333;&quot;&gt;

&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;INSERT&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;INTO&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; PrimeNumbers(n)
&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; N
 &lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; generate_series(&lt;/span&gt;&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;500&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; n) x;


&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; MakePrime() ; &lt;/span&gt;&lt;span style=&quot;color: #888888;&quot;&gt;-- Yes that is a proc call&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;

&lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; * &lt;/span&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; PrimeNumbers&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
Thinking about it a little more I decided to do it with a CTE instead of a loop with delete statements, if your tables will be big then the delete method is probably better... it&#39;s for you to test that out :-)&lt;br /&gt;
&lt;br /&gt;
What we are doing is a NOT EXISTS query against the same cte and we are filtering out numbers that are greater than the number in the current row and are not divisible by the current number&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CREATE&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;TABLE&lt;/span&gt; IF &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;NOT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;EXISTS&lt;/span&gt;  PrimeNumbers  (N &lt;span style=&quot;color: #007020;&quot;&gt;INT&lt;/span&gt;);


;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WITH&lt;/span&gt; cte &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AS&lt;/span&gt; (
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; * &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; generate_series( &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;, &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;500&lt;/span&gt; )  n
  )

&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;INSERT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;INTO&lt;/span&gt; PrimeNumbers
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; n
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; cte
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;NOT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;EXISTS&lt;/span&gt; (
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; n &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt;  cte &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; cte2
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; cte.n &amp;gt; cte2.n &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AND&lt;/span&gt; cte.n % cte2.n = &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;0&lt;/span&gt;)
;

&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; * &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; PrimeNumbers;&lt;/pre&gt;
&lt;br /&gt;
If we run that last select statement, we should have 95 rows&lt;br /&gt;
&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
5&lt;br /&gt;
7&lt;br /&gt;
&amp;nbsp;.....&lt;br /&gt;
&amp;nbsp;.....&lt;br /&gt;
463&lt;br /&gt;
467&lt;br /&gt;
479&lt;br /&gt;
487&lt;br /&gt;
491&lt;br /&gt;
499&lt;br /&gt;
&lt;br /&gt;
Now that we have our table filled with prime numbers till 500, it&#39;s time to run the queries&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sexy prime pairs&lt;/b&gt;&lt;br /&gt;
The sexy primes (sequences OEIS: &lt;a href=&quot;https://oeis.org/A023201&quot;&gt;A023201&lt;/a&gt; and OEIS: &lt;a href=&quot;https://oeis.org/A046117&quot;&gt;A046117&lt;/a&gt; in OEIS) below 500 are:&lt;br /&gt;
&lt;br /&gt;
(5,11), (7,13), (11,17), (13,19), (17,23), (23,29), (31,37), (37,43), (41,47), (47,53), (53,59), (61,67), (67,73), (73,79), (83,89), (97,103), (101,107), (103,109), (107,113), (131,137), (151,157), (157,163), (167,173), (173,179), (191,197), (193,199), (223,229), (227,233), (233,239), (251,257), (257,263), (263,269), (271,277), (277,283), (307,313), (311,317), (331,337), (347,353), (353,359), (367,373), (373,379), (383,389), (433,439), (443,449), (457,463), (461,467).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is that query for the sexy prime pairs&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #888888;&quot;&gt;-- 46 rows.. sexy primes&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; t1.N,t2.N 
 &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; PrimeNumbers t1
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;join&lt;/span&gt; PrimeNumbers t2 &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;on&lt;/span&gt; t2.N - t1.N = &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt; 
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;order&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;by&lt;/span&gt; &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
It&#39;s very simple.. a self join that returns rows where the number from one table alias and the number from the other table alias differ by 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Prime triplets&lt;/b&gt;&lt;br /&gt;
The first prime triplets below 500 (sequence &lt;a href=&quot;https://oeis.org/A098420&quot;&gt;A098420 &lt;/a&gt;in the OEIS) are&lt;br /&gt;
&lt;br /&gt;
(5, 7, 11), (7, 11, 13), (11, 13, 17), (13, 17, 19), (17, 19, 23), (37, 41, 43), (41, 43, 47), (67, 71, 73), (97, 101, 103), (101, 103, 107), (103, 107, 109), (107, 109, 113), (191, 193, 197), (193, 197, 199), (223, 227, 229), (227, 229, 233), (277, 281, 283), (307, 311, 313), (311, 313, 317), (347, 349, 353), (457, 461, 463), (461, 463, 467)&lt;br /&gt;
&lt;br /&gt;
A prime triplet contains a pair of twin primes (p and p + 2, or p + 4 and p + 6), a pair of cousin primes (p and p + 4, or p + 2 and p + 6), and a pair of sexy primes (p and p + 6).&lt;br /&gt;
&lt;br /&gt;
So we need to check that the 1st and 3rd number have a difference of 6, we also check that that difference between number 1 and 2 is 2 or 4.&amp;nbsp; That query looks like this&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #888888;&quot;&gt;-- 22 rows.. Prime Triplets&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; t1.N &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AS&lt;/span&gt; N1,t2.N &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AS&lt;/span&gt; N2, t3.N &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AS&lt;/span&gt; N3
 &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; PrimeNumbers t1
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;join&lt;/span&gt; PrimeNumbers t2 &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;on&lt;/span&gt; t2.N &amp;gt; t1.N 
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;join&lt;/span&gt; PrimeNumbers t3 &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;on&lt;/span&gt; t3.N - t1.N = &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;and&lt;/span&gt; t3.N &amp;gt; t2.N
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;and&lt;/span&gt; t2.n - t1.n &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;IN&lt;/span&gt; (&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;4&lt;/span&gt;)
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;order&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;by&lt;/span&gt; &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
Here is what it looks like from pgAdmin&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJY4LEC2GjPYLhB-HaxuqFLA_XBuxAbbVmxi_hD1YvgbTPQi8BRudx91qb4GP4YMwg6t2r88yS4vlm0WDf4sNwtrAExrccC4DXPBqO6vaviI_aXyKzMFPFd8F-8T1GjlWrpESC3TElaEo/s1600/PrimeTriplets.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;871&quot; data-original-width=&quot;413&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJY4LEC2GjPYLhB-HaxuqFLA_XBuxAbbVmxi_hD1YvgbTPQi8BRudx91qb4GP4YMwg6t2r88yS4vlm0WDf4sNwtrAExrccC4DXPBqO6vaviI_aXyKzMFPFd8F-8T1GjlWrpESC3TElaEo/s640/PrimeTriplets.PNG&quot; width=&quot;302&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sexy prime triplets&lt;/b&gt;&lt;br /&gt;
Triplets of primes (p, p + 6, p + 12) such that p + 18 is composite are called sexy prime.&amp;nbsp; p&amp;nbsp;p, p+6 and p+12 are all prime, but p+18 is not&lt;br /&gt;
&lt;br /&gt;
Those below 500 (sequence&amp;nbsp;OEIS: A046118) are:&lt;br /&gt;
&lt;br /&gt;
(7,13,19), (17,23,29), (31,37,43), (47,53,59), (67,73,79), (97,103,109), (101,107,113), (151,157,163), (167,173,179), (227,233,239), (257,263,269), (271,277,283), (347,353,359), (367,373,379)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The query looks like this.. instead of a self join, we do a triple self join, we also check that p + 18 is not a prime number in the line before the order by&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #888888;&quot;&gt;-- 14 rows.. Sexy prime triplets&lt;/span&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; t1.N &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AS&lt;/span&gt; N1,t2.N &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AS&lt;/span&gt; N2, t3.N &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AS&lt;/span&gt; N3
 &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; PrimeNumbers t1
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;join&lt;/span&gt; PrimeNumbers t2 &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;on&lt;/span&gt; t2.n - t1.n = &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;6&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;join&lt;/span&gt; PrimeNumbers t3 &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;on&lt;/span&gt; t3.N - t1.N = &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;12&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;and&lt;/span&gt; t3.N &amp;gt; t2.N
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AND&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;NOT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;EXISTS&lt;/span&gt;( &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;null&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; PrimeNumbers p &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; p.n = t1.n +&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;18&lt;/span&gt;)
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;order&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;by&lt;/span&gt; &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And that&#39;s it for this post.&amp;nbsp; If you are interested in the SQl Server version, you can find it here:&amp;nbsp;&lt;a href=&quot;https://sqlservercode.blogspot.com/2019/02/Calculating-Sexy-Primes-Prime-Triplets-and-Sexy-Prime-Triplets-in-SQL-Server.html&quot;&gt;Calculating Sexy Primes, Prime Triplets and Sexy Prime Triplets in SQL Server&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;More PostgreSQL posts can be found here:&amp;nbsp; &lt;a href=&quot;https://denisgobo.blogspot.com/search/label/PostgreSQL&quot;&gt;/label/PostgreSQL&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/8782056348862574628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/8782056348862574628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/8782056348862574628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/8782056348862574628'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/02/Calculating-Sexy-Primes-Prime-Triplets-and-Sexy-Prime-Triplets-in-PostgreSQL.html' title='Calculating Sexy Primes, Prime Triplets and Sexy Prime Triplets in PostgreSQL'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s72-c/PostgreSQLBanner.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-1556437477200816189</id><published>2019-02-18T11:14:00.000-08:00</published><updated>2019-02-18T11:14:22.415-08:00</updated><title type='text'>TWID Feb 18, 2019: Bruno Ganz, Red hat dropping MongoDB, 500px hacked, VFEmail</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Learned&lt;/h2&gt;
&lt;br /&gt;
Continued reading the book&amp;nbsp;&lt;a href=&quot;https://www.amazon.com/Annotated-Turing-Through-Historic-Computability/dp/0470229055/ref=sr_1_1&amp;amp;tag=sql08-20&quot;&gt;The Annotated Turing: A Guided Tour Through Alan Turing&#39;s Historic Paper on Computability and the Turing Machine&lt;/a&gt;&amp;nbsp;by Charles Petzold&lt;br /&gt;
&lt;br /&gt;
I was translating a block of T-SQL code that calculated sexy primes into PostgreSQL and found out that in order to use variables, you need to wrap it into a function in PostgreSQL&amp;nbsp;. I also found out that PostgreSQL up until version 11 didn&#39;t really have stored procedures either but you could have functions behave like procs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://www.zdnet.com/article/hackers-wipe-us-servers-of-email-provider-vfemail/&quot;&gt;Hackers wipe US servers of email provider VFEmail&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&quot;At this time, the attacker has formatted all the disks on every server,&quot; the company said yesterday. &quot;Every VM is lost. Every file server is lost, every backup server is lost.&quot;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&quot;This was more than a multi-password via SSH exploit, and there was no ransom. Just attack and destroy,&quot; VFEmail said.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Yep someone got pissed of for something and this was a big &lt;i&gt;F&lt;/i&gt; &lt;i&gt;U&lt;/i&gt; operation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://petapixel.com/2019/02/13/500px-hacked-personal-data-stolen-from-all-14-8-million-users/&quot;&gt;500px Hacked: Personal Data Exposed for All 14.8 Million Users&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;The popular photo-sharing service 500px has announced that it was the victim of a hack back in 2018 and that personal data was exposed for all the roughly 14.8 million accounts that existed at the time.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;In an email sent out to users and an announcement posted to its website, 500px states that it was only on February 8th, 2019, that its team learned of an unauthorized intrusion to its system that occurred on or around July 5th, 2018.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;The personal data that may have been stolen by the intruder includes first and last names, usernames, email addresses, password hashes (i.e. not plaintext passwords), location (i.e. city, state, country), birth date, and gender.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Took over 6 months to find out...&amp;nbsp; that is a very long time.. as always make sure that your password is unique for each site that you use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.cnbc.com/2019/02/13/google-will-spend-13-billion-on-real-estate-moves-in-2019.html?__source=denis.gobo.blogspot.com&quot;&gt;&lt;b&gt;Google will spend $13 billion on U.S. real estate in 2019, expanding into Nevada, Ohio&amp;nbsp; and Texas&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;CEO Sundar Pichai said in a blog post on Wednesday that the company is building new data centers and offices and expanding several key locations across the U.S., spending $13 billion this year.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Pichai outlined the plans, which include opening new data centers in Nevada, Ohio, Texas and Nebraska, the first time the company will have infrastructure locations in those states. The company is also doubling its workforce in Virginia, providing greater access to Washington, D.C., with a new office and more data center space, and expanding its New York campus at Hudson Square.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Have to spend all that that money to catch up to Amazon and Microsoft in the cloud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.redhat.com/en/blog/red-hat-satellite-standardize-postgresql-backend&quot;&gt;Red Hat Satellite to standardize on PostgreSQL backend, will be dropping MongoDB&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;When will MongoDB Community Edition be dropped as an embedded database within Red Hat Satellite?&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;This database change is a still to come, but the product team wanted to go ahead and communicate this intent to our users so they were not caught by surprise as this is a change to the underlying databases of Satellite.&amp;nbsp; No specific timing or release is being communicated at this time. At this point we’re simply hoping to raise awareness of the change that is coming to help users of Satellite prepare for the removal of MongoDB.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is in response to the license changes that MongoDB made recently... Looking at the chart below..it looks like this is no worry to investors, MongoDB&amp;nbsp; just hit a all time high&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzZca1N8mY-B6G_WNc7mrpfC6kPXrMwR2fvgLmTfvogFW8DOeJHj-Hx-3sQjxzL7ZIq2mTZk_MJmVDOjWNxXD-I0BIbRVijz3p5DZKbt-biyC6eLPAKgxDkfULqRuRnVBv4c1R8Rb7P1I/s1600/MongoDB+All+Time+High.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;MongoDB  just hit a all time high&quot; border=&quot;0&quot; data-original-height=&quot;791&quot; data-original-width=&quot;1600&quot; height=&quot;316&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzZca1N8mY-B6G_WNc7mrpfC6kPXrMwR2fvgLmTfvogFW8DOeJHj-Hx-3sQjxzL7ZIq2mTZk_MJmVDOjWNxXD-I0BIbRVijz3p5DZKbt-biyC6eLPAKgxDkfULqRuRnVBv4c1R8Rb7P1I/s640/MongoDB+All+Time+High.PNG&quot; title=&quot;MongoDB  just hit a all time high&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;RIP Bruno Ganz&lt;/b&gt;, who Gen X remembers as the angel in &quot;Wings of Desire&quot; and millennials remember as Hitler in that bunker scene.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;You have seen all the parodies of course, I actually only watched this movie on January 6th 2018. Downfall is an excellent movie, if you have some time, make sure to watch it&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;


&lt;iframe allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/pR5q0ajW8Ko&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;a href=&quot;https://sqlservercode.blogspot.com/2019/02/using-sonarqube-sonarqube-scanner-and-sonar-tsql-plugin-to-run-static-code-analysis.html&quot;&gt;Using SonarQube, SonarQube Scanner and the sonar-tsql-plugin to run static code analysis&amp;nbsp;&lt;/a&gt;&lt;/b&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I wrote this post for a friend so that he has a reference on how to install SonarQUbe and how to get started. This post explain how you can user SonarQube to run static code analysis against your T-SQL procs and functions&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://cloudblogs.microsoft.com/sqlserver/2019/02/13/the-february-release-of-azure-data-studio-is-now-available/&quot;&gt;&lt;b&gt;February release of @AzureDataStudio is now available!&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;- Admin Pack for SQL Server extension&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- Auto-sizing columns in results&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- Notebook UI improvements&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- Profiler Filtering&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- Save Results as XML&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;- Deploy scripts&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
I am still using SSMS but maybe I will switch to DataStudio one of these days&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Someone took 50,000 images of the night sky to make an 81 Megapixel image of the moon&amp;nbsp; It&#39;s beautiful&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
See it here:&amp;nbsp;&lt;a href=&quot;https://www.reddit.com/r/space/comments/arer0k/i_took_nearly_50000_images_of_the_night_sky_to/&quot;&gt;https://www.reddit.com/r/space/comments/arer0k/i_took_nearly_50000_images_of_the_night_sky_to/&lt;/a&gt;&amp;nbsp;…&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
mirrors of both JPG and PNG in zoomable versions here:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://micr.io/i/clIZW&quot;&gt;https://micr.io/i/clIZW&lt;/a&gt;&amp;nbsp; (JPG)&lt;br /&gt;
&lt;a href=&quot;https://micr.io/i/WFjqr&quot;&gt;https://micr.io/i/WFjqr&amp;nbsp;&lt;/a&gt;&amp;nbsp;(PNG)&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://sqlservercode.blogspot.com/2019/02/finding-rows-where-column-starts-or-end-with-bad-characters.html&quot;&gt;Finding rows where the column starts or ends with a &#39;bad&#39; character&amp;nbsp;&amp;nbsp;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Another post I wrote because of a problem that a co-worker had with some data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A nice view while going to the Princeton Junction train station...&amp;nbsp; had to take a pic&lt;br /&gt;
&lt;br /&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/33222783518/in/photostream&quot; title=&quot;Princeton Junction parking lot path&quot;&gt;&lt;img alt=&quot;Princeton Junction parking lot path&quot; height=&quot;480&quot; src=&quot;https://farm8.staticflickr.com/7829/33222783518_375f00bb37_z.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/1556437477200816189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/1556437477200816189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1556437477200816189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1556437477200816189'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/02/twid-feb-18-2019-bruno-ganz-red-hat-dropping-MongoDB-500px-hacked-VFEmail.html' title='TWID Feb 18, 2019: Bruno Ganz, Red hat dropping MongoDB, 500px hacked, VFEmail'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzZca1N8mY-B6G_WNc7mrpfC6kPXrMwR2fvgLmTfvogFW8DOeJHj-Hx-3sQjxzL7ZIq2mTZk_MJmVDOjWNxXD-I0BIbRVijz3p5DZKbt-biyC6eLPAKgxDkfULqRuRnVBv4c1R8Rb7P1I/s72-c/MongoDB+All+Time+High.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-7039412298038244101</id><published>2019-02-09T12:38:00.000-08:00</published><updated>2019-02-09T12:40:05.925-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TWID"/><title type='text'>Twid Feb 10 2019: Gemini, Stablecoin, BrightBytes, Turing, world war I restored,githistory</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Learned&lt;/h2&gt;
&lt;br /&gt;
Continued reading the book&amp;nbsp;&lt;a href=&quot;https://www.amazon.com/Annotated-Turing-Through-Historic-Computability/dp/0470229055/ref=sr_1_1&amp;amp;tag=sql08-20&quot;&gt;The Annotated Turing: A Guided Tour Through Alan Turing&#39;s Historic Paper on Computability and the Turing Machine&lt;/a&gt;&amp;nbsp;by Charles Petzold&lt;br /&gt;
&lt;br /&gt;
Technically this didn&#39;t happen this week, but I decided to blog about it this week:&amp;nbsp;&lt;a href=&quot;https://sqlservercode.blogspot.com/2019/02/after-20-years-in-it-i-finally-discovered-this.html&quot;&gt;After 20+ years in IT .. I finally discovered this...&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://www.zdnet.com/article/microsoft-buys-brightbytes-datasense-to-bring-more-data-analytics-to-schools/&quot;&gt;Microsoft buys BrightBytes DataSense to bring more data analytics to schools&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;BrightBytes, based in San Francisco, is an education data-analytics company and has been a Microsoft partner for years. In addition to the DataSense data-integration platform it is selling to Microsoft, BrightBytes will continue to sell its decision-support platform called Clarity which uses machine learning and predictive analytics.&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Microsoft is planning to integrate DataSense into its Microsoft Education product family. According to Microsoft, DataSense is &quot;the leading IPaaS (integration platform as a service) solution for both education solution providers and school districts across the US.&quot;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
I don&#39;t know much about this company.. but it&#39;s the data and analytics that is valuable... companies like this one are getting snapped up left and right&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.coindesk.com/winklevoss-crypto-gemini-gusd-stablecoin-redemption&quot;&gt;Winklevoss Exchange Gemini Shuts Down Accounts Over Stablecoin Redemptions&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;In one instance, email correspondence obtained by CoinDesk shows an OTC trader based in Latin America had his account closed after he informed Gemini that he planned to redeem several million dollars of GUSD. (A major cryptocurrency exchange, speaking on condition of anonymity, attested to the desk’s professionalism and reported that it was in good standing.)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
So you can deposit money but don&#39;t you dare take it out........&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.jetbrains.com/research/python-developers-survey-2018/&quot;&gt;&lt;b&gt;Python Developers Survey 2018 Results&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Python usage as a main language is up 5 percentage points from 79% in 2017 when Python Software Foundation conducted its previous survey.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Half of all Python users also use JavaScript. The 2018 stats are very similar to the 2017 results. The only significant difference is that Bash/Shell has grown from 36% in 2017 to 45% in 2018. Go and SQL have also grown by 2 percentage points each, while many other languages such as C/C++, Java, and C# have lost their share.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;In 2018 we had significantly more respondents specifying they’re involved in DevOps (an increase of 8% compared to 2017). In terms of Python users using Python as their secondary language, DevOps has overtaken web development.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;The use of Python 3 continues to grow rapidly. According to the latest research in 2017, 75% were using Python 3 compared with 25% for Python 2. Use of Python 2 is declining as it’s no longer actively developed, doesn’t get new features, and its maintenance is going to be stopped in 2020.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See all the other interesting fact on the jetbrains site&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Githistory&lt;/b&gt;&lt;br /&gt;
This is pretty cool.. point any public github file here and you can see the last 8&amp;nbsp; or so commits by scrolling from the top&amp;nbsp; here is what @BrentOzarULTD&amp;nbsp; sp_foreachdb changes look like ...&lt;br /&gt;
&lt;br /&gt;
It looks like this&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg405Lnnz1YIetY9dEMHbfPV9ocmnSjNRqFVsLLtKLeDw5ZawYkHh98qM_sIGRKlW4jGrJeiz7Lc-NVhSUj7k8Y-JFwuth5O8vi5HVETDMQWzHScfKZj3IlXozfpDUAL_jAafYbKBhfU88/s1600/Githistory.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;884&quot; data-original-width=&quot;1207&quot; height=&quot;468&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg405Lnnz1YIetY9dEMHbfPV9ocmnSjNRqFVsLLtKLeDw5ZawYkHh98qM_sIGRKlW4jGrJeiz7Lc-NVhSUj7k8Y-JFwuth5O8vi5HVETDMQWzHScfKZj3IlXozfpDUAL_jAafYbKBhfU88/s640/Githistory.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
So for any file, just replace github.com in the url with githistory.xyz&lt;br /&gt;
&lt;br /&gt;
For example.. the stuff in red needs to be replaced&lt;br /&gt;
&lt;br /&gt;
https://&lt;span style=&quot;color: red;&quot;&gt;github.com&lt;/span&gt;/BrentOzarULTD/SQL-Server-First-Responder-Kit/blob/dev/sp_foreachdb.sql&lt;br /&gt;
https://&lt;span style=&quot;color: red;&quot;&gt;githistory.xyz&lt;/span&gt;/BrentOzarULTD/SQL-Server-First-Responder-Kit/blob/dev/sp_foreachdb.sql&lt;br /&gt;
&lt;br /&gt;
Just hit this link to see it&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://githistory.xyz/BrentOzarULTD/SQL-Server-First-Responder-Kit/blob/dev/sp_foreachdb.sql&quot;&gt;https://githistory.xyz/BrentOzarULTD/SQL-Server-First-Responder-Kit/blob/dev/sp_foreachdb.sql&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/List_of_stories_set_in_a_future_now_past&quot;&gt;List of stories set in a future now past&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;This is a dynamic list and may never be able to satisfy particular standards for completeness. You can help by expanding it with reliably sourced entries.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;This is a list of fictional stories that, when written, were set in the future, but the future they predicted is now present or past. The list excludes works that were alternate histories, which were composed after the dates they depict. The list also excludes contemporary or near-future works (e.g. set within a year or two), unless it deals with some notable futuristic event as with the 2012 phenomenon. It also excludes works where the future is passively mentioned and not really depicting anything notable about the society, as with an epilogue that just focuses on the fate of the main characters. Entries referencing the current year may be added if their month and day were not specified or have already occurred.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Some from the year 2019... Akira, Blade Runner, Dark Angel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.recode.net/2018/12/15/18141509/peter-jackson-wwi-world-war-they-shall-not-grow-old-documentary-kara-swisher-recode-decode-podcast&quot;&gt;How Peter Jackson’s team made World War I footage look new&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;“I thought, ‘Can we actually make this 100-year-old footage look like it was shot now?’” Jackson said on the latest episode of Recode Decode with Kara Swisher. “So it’s sharp, it’s clear, it’s stable, it looks like modern [films].”&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;And he had the means to do that: Over the past five years, Jackson tasked Park Road Post (a subsidiary of his production company WingNut Films) with adding color and sound to the archive footage, as well as making the frame rate consistent and similar to what we’d expect from footage shot today. The result is the new documentary “They Shall Not Grow Old,” which he said removes the “barrier between us and the actual people that were being filmed.”&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This is some amazingly looking stuff... here is a video so you can see what it looks like&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/EYIeactlMWo&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/build&quot;&gt;Build 2019 registration opens on February 27th&amp;nbsp;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Join us in Seattle for Microsoft’s premier event for developers. Come and experience the latest developer tools and technologies. Imagine new ways to create software by getting industry insights into the future of software development. Connect with your community to understand new development trends and innovative ways to code.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Wondering what new stuff they will announce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Chemical Brothers: Setting Sun (1996)&lt;/b&gt;&lt;br /&gt;
Haven&#39;t heard Setting Sun for a while, it&#39;s an excellent running song, I have added it to my running playlist on my phone&lt;br /&gt;
&lt;br /&gt;
Setting Sun is a song by The Chemical Brothers with vocals by Noel Gallagher from the group Oasis. It was released as a single in 1996 from their second album Dig Your Own Hole and reached number one on the UK Singles Chart.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/p5NX1FC-7-w&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Took this on my way to the Princeton Junction train station... beautiful morning colors&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/46297557394/in/photostream&quot; title=&quot;Princeton Winter Wonderland&quot;&gt;&lt;img alt=&quot;Princeton Winter Wonderland&quot; height=&quot;375&quot; src=&quot;https://farm8.staticflickr.com/7803/46297557394_c680db10ca.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/7039412298038244101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/7039412298038244101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/7039412298038244101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/7039412298038244101'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/02/twid-feb-10-2019-Gemini-Stablecoin-BrightBytes-Turing-world-war-I-restored-githistory-python.html' title='Twid Feb 10 2019: Gemini, Stablecoin, BrightBytes, Turing, world war I restored,githistory'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg405Lnnz1YIetY9dEMHbfPV9ocmnSjNRqFVsLLtKLeDw5ZawYkHh98qM_sIGRKlW4jGrJeiz7Lc-NVhSUj7k8Y-JFwuth5O8vi5HVETDMQWzHScfKZj3IlXozfpDUAL_jAafYbKBhfU88/s72-c/Githistory.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-1569322411303142952</id><published>2019-02-04T05:52:00.001-08:00</published><updated>2019-02-04T05:52:08.233-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TWID"/><title type='text'>TWID Feb 3rd 2019, Huawei  stealing, billion solar panels, big puzzle, beethoven, kodak</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Learned&lt;/h2&gt;
Continued with the&amp;nbsp;&lt;a href=&quot;https://app.pluralsight.com/library/courses/docker-swarm-mode-getting-started&quot;&gt;Getting Started with Docker Swarm Mode&lt;/a&gt; Pluralsight course&lt;br /&gt;
&lt;br /&gt;
Started reading the book&amp;nbsp;&lt;a href=&quot;https://www.amazon.com/Annotated-Turing-Through-Historic-Computability/dp/0470229055/ref=sr_1_1&amp;amp;tag=sql08-20&quot;&gt;The Annotated Turing: A Guided Tour Through Alan Turing&#39;s Historic Paper on Computability and the Turing Machine&lt;/a&gt; by Charles Petzold&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://www.businessinsider.com/us-indictment-against-huawei-t-mobile-reads-spy-movie-2019-1&quot;&gt;Huawei is accused of attempting to copycat a T-Mobile robot, and the charges read like a comical spy movie&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;The US on Monday charged the Chinese phone giant Huawei with trying to steal trade secrets from T-Mobile, among other crimes.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;One Justice Department indictment includes internal emails between Huawei&#39;s US and Chinese employees who prosecutors said were trying to copy a T-Mobile device-testing robot.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;The emails read like a comical spy movie, with one set of employees trying to avoid wrongdoing and another engineer getting caught putting part of the robot into his bag.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Huawei said that it hasn&#39;t violated any US laws and that it already settled with T-Mobile in a civil lawsuit&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
What the heck is going on here?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.engineering.com/DesignerEdge/DesignerEdgeArticles/ArticleID/18348/How-Do-You-Count-Every-Solar-Panel-in-the-US-Machine-Learning-and-a-Billion-Satellite-Images.aspx&quot;&gt;How Do You Count Every Solar Panel in the U.S.? Machine Learning and a Billion Satellite Images&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;The DeepSolar Project, developed by engineers and computer scientists at Stanford University, is a machine learning framework that analyzes a dataset of satellite images in order to identify the size and location of installed solar panels.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;To accurately count the panels, the DeepSolar team used a machine learning algorithm to analyze more than a billion high-resolution satellite images. The algorithm identified what the team believes to be almost every solar power installation across the contiguous 48 states.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;The DeepSolar analysis reached a total of 1.47 million solar installations in the U.S., a much higher number than either of the two most commonly cited estimates.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;“We can use recent advances in machine learning to know where all these assets are, which has been a huge question, and generate insights about where the grid is going and how we can help get it to a more beneficial place,” said Ram Rajagopal, associate professor of civil and environmental engineering, who supervised the project with Arun Majumdar, professor of mechanical engineering.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This is cool..but do they really need to use a billion images.. can&#39;t they use a subset and come pretty close to the real answer as well?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.cockroachlabs.com/blog/vectorized-hash-joiner/&quot;&gt;40x faster hash joiner with vectorized execution&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;For the past four months, I’ve been working with the incredible SQL Execution team at Cockroach Labs as a backend engineering intern to develop the first prototype of a batched, column-at-a-time execution engine. During this time, I implemented a column-at-a-time hash join operator that outperformed CockroachDB’s existing row-at-a-time hash join by 40x. In this blog post, I’ll be going over the philosophy, challenges, and motivation behind implementing a column-at-a-time SQL operator in general, as well as some specifics about hash join itself.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;In CockroachDB, we use the term “vectorized execution” as a short hand for the batched, column-at-a-time data processing that is discussed throughout this post.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
I love it when you see drastic speed improvements like this, I remember one time when we upgraded some hardware to use SSDs and more RAM.. a reporting query that took a minute now finished in less than a second.. I thought the results were wrong because it finished too fast lol&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXy7TY4q7cdacRYlx8f0S_fa3_xhcMbqY9sX2lIlqxjARqHtTYQOLrtm-2KKxHuJb5XmvEI3JdKTGTQa5P8D06tPuR5EhBuqJAUdUz4oik-CzfXHaZhPhI85ezmzL2Ep03kkpONw4W3OA/s1600/51300.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;400&quot; data-original-width=&quot;782&quot; height=&quot;326&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXy7TY4q7cdacRYlx8f0S_fa3_xhcMbqY9sX2lIlqxjARqHtTYQOLrtm-2KKxHuJb5XmvEI3JdKTGTQa5P8D06tPuR5EhBuqJAUdUz4oik-CzfXHaZhPhI85ezmzL2Ep03kkpONw4W3OA/s640/51300.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Kodak Premium Puzzle Presents:&lt;a href=&quot;https://www.amazon.com/Kodak-Premium-Puzzle-Presents-Largest/dp/B07L8LZRCT/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=sql08-20&quot;&gt; &lt;b&gt;The World&#39;s Largest Puzzle 51,300 Pieces 27 Wonders from Around The World&lt;/b&gt;&lt;/a&gt; 28.5 Foot x 6.25 Foot Jigsaw Puzzle&amp;nbsp;

&lt;br /&gt;
&lt;br /&gt;
That is 8.68 meters wide for the metric people....aka 1 big white shark length&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I don&#39;t always listen to classical music.. but when I do.. I make sure it&#39;s played on an electric guitar, enjoy this piece of&amp;nbsp;&lt;i&gt;&lt;b&gt;Ludwig van Beethoven - Moonlight Sonata ( 3rd Movement )&lt;/b&gt;&lt;/i&gt; by Tina S&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/o6rBK0BqL2w&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/1569322411303142952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/1569322411303142952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1569322411303142952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1569322411303142952'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/02/twid-feb-3rd-2019-huawei-stealing-billion-solar-panels-big-puzzle-beethoven-kodak.html' title='TWID Feb 3rd 2019, Huawei  stealing, billion solar panels, big puzzle, beethoven, kodak'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXy7TY4q7cdacRYlx8f0S_fa3_xhcMbqY9sX2lIlqxjARqHtTYQOLrtm-2KKxHuJb5XmvEI3JdKTGTQa5P8D06tPuR5EhBuqJAUdUz4oik-CzfXHaZhPhI85ezmzL2Ep03kkpONw4W3OA/s72-c/51300.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-3427005223388481413</id><published>2019-01-27T06:57:00.001-08:00</published><updated>2019-01-27T06:59:42.177-08:00</updated><title type='text'>TWID Jan 27th, Salah, SSMS emoji, franz josef, mourning stamps,american gods season 2, PostgreSQL</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Learned&lt;/h2&gt;
&lt;br /&gt;
Continued with the&amp;nbsp;&lt;a href=&quot;https://app.pluralsight.com/library/courses/docker-swarm-mode-getting-started&quot;&gt;Getting Started with Docker Swarm Mode&lt;/a&gt; Pluralsight course&lt;br /&gt;
Finished&amp;nbsp;&lt;a href=&quot;https://www.amazon.com/History-Japan-R-H-Mason/dp/080482097X/ref=tmm_pap_swatch_0?_encoding=UTF8&amp;amp;qid=1548173551&amp;amp;sr=8-2&amp;amp;tag=sql08-20&quot;&gt;A History of Japan&lt;/a&gt; by R.H.P. And J. G. Caiger Mason&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Did you know, you can use emojis in output from SSMS?&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://github.com/SQLMenace/til/raw/master/SQL-Server/Unicode.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;465&quot; data-original-width=&quot;800&quot; height=&quot;232&quot; src=&quot;https://github.com/SQLMenace/til/raw/master/SQL-Server/Unicode.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
More info, including the code to run can be found here: &lt;a href=&quot;https://github.com/SQLMenace/til/blob/master/SQL-Server/Emoji-in-output.md&quot;&gt;Did you know, you can use emojis in output from SSMS?&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.latimes.com/business/lazarus/la-fi-lazarus-why-are-eyeglasses-so-expensive-20190122-story.html#nws=mcnewsletter&quot;&gt;&lt;b&gt;Why are glasses so expensive? The eyewear industry prefers to keep that blurry&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;i&gt;It’s a question I get asked frequently, most recently by a colleague who was shocked to find that his new pair of prescription eyeglasses cost about $800.

Why are these things so damn expensive?

The answer: Because no one is doing anything to prevent a near-monopolistic, $100-billion industry from shamelessly abusing its market power.

Prescription eyewear represents perhaps the single biggest mass-market consumer ripoff to be found.

The stats tell the whole story.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;Totally agree&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://www.interdb.jp/pg/index.html?utm_source=denisgobo.blogspot.com&quot;&gt;The Internals of PostgreSQL for database administrators and system developers&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;i&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;I&lt;/span&gt;&lt;/span&gt;n this document, the internals of PostgreSQL for database administrators and system developers are described.&lt;br /&gt;&lt;br /&gt;PostgreSQL is an open source multi-purpose relational database system which is widely used throughout the world. It is one huge system with the integrated subsystems, each of which has a particular complex feature and works with each other cooperatively. Although understanding of the internal mechanism is crucial for both administration and integration using PostgreSQL, its hugeness and complexity prevent it. The main purposes of this document are to explain how each subsystem works, and to provide the whole picture of PostgreSQL.&lt;br /&gt;&lt;br /&gt;This document is based on the second part of the book I wrote in Japanese in 2012 (ISBN-13: 978-4774153926) which is composed of seven parts, and covers version 11 and earlier.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;background-color: white; color: #454545; font-family: &amp;quot;bookman old style&amp;quot; , &amp;quot;times new roman&amp;quot; , &amp;quot;times&amp;quot; , serif; font-size: 13px; font-weight: 700;&quot;&gt;Contents&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #454545; font-family: &amp;quot;bookman old style&amp;quot; , &amp;quot;times new roman&amp;quot; , &amp;quot;times&amp;quot; , serif; font-size: 13px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;ul style=&quot;background-color: white; border: 0px solid rgb(204, 204, 204); color: #454545; font-family: &amp;quot;Bookman Old Style&amp;quot;, &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 13px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 9px 25px; overflow: visible; padding: 0px;&quot;&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql01.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 1&lt;/a&gt;. Database Cluster, Databases and Tables&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql02.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 2&lt;/a&gt;. Process and Memory Architecture&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql03.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 3&lt;/a&gt;. Query Processing&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql04.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 4&lt;/a&gt;. Foreign Data Wrappers (FDW)&amp;nbsp;&lt;span style=&quot;color: #cccccc;&quot;&gt;and Parallel Query&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql05.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 5&lt;/a&gt;. Concurrency Control&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql06.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 6&lt;/a&gt;. VACUUM Processing&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql07.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 7&lt;/a&gt;. Heap Only Tuple (HOT) and Index-Only Scans&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql08.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 8&lt;/a&gt;. Buffer Manager&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql09.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 9&lt;/a&gt;. Write Ahead Logging (WAL)&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql10.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 10&lt;/a&gt;. Base Backup and Point-In-Time Recovery (PITR)&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;border: 0px solid rgb(204, 204, 204); line-height: 19.5px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.interdb.jp/pg/pgsql11.html&quot; style=&quot;-webkit-tap-highlight-color: rgb(21, 98, 142); border: 0px solid rgb(204, 204, 204); color: #4f82b4; cursor: pointer; text-decoration-line: none;&quot;&gt;Chapter 11&lt;/a&gt;. Streaming Replication&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #5e5e5e; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 14.85px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #5e5e5e; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 14.85px;&quot;&gt;What are you wating for.. start reading.....&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #5e5e5e; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 14.85px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #5e5e5e; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 14.85px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #5e5e5e; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 14.85px;&quot;&gt;Since we are talking about PostgreSQL.....&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #5e5e5e; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 14.85px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; font-size: 14.85px;&quot;&gt;&lt;span style=&quot;color: #5e5e5e; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://blogs.microsoft.com/blog/2019/01/24/microsoft-acquires-citus-data-re-affirming-its-commitment-to-open-source-and-accelerating-azure-postgresql-performance-and-scale/&quot;&gt;Microsoft acquires Citus Data, re-affirming its commitment to Open Source and accelerating Azure PostgreSQL performance and scale&lt;/a&gt;&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;I am thrilled to announce that we have acquired Citus Data, a leader in the PostgreSQL community. Citus is an innovative open source extension to PostgreSQL that transforms PostgreSQL into a distributed database, dramatically increasing performance and scale for application developers. Because Citus is an extension to open source PostgreSQL, it gives enterprises the performance advantages of a horizontally scalable database while staying current with all the latest innovations in PostgreSQL. Citus is available as a fully-managed database as a service, as enterprise software, and as a free open source download.&lt;br /&gt;&lt;br /&gt;Since the launch of Microsoft’s fully managed community-based database service for PostgreSQL in &lt;a href=&quot;https://azure.microsoft.com/en-us/blog/announcing-general-availability-of-azure-database-services-for-mysql-and-postgresql/&quot;&gt;March 2018&lt;/a&gt;, its adoption has surged. Earlier this month, PostgreSQL was named &lt;a href=&quot;https://db-engines.com/en/blog_post/79&quot;&gt;DBMS of the Year&lt;/a&gt; by DB-Engines, for the second year in a row. The acquisition of Citus Data builds on Azure’s open source commitment and enables us to provide the massive scalability and performance our customers demand as their workloads grow.&lt;br /&gt;&lt;br /&gt;Together, Microsoft and Citus Data will further unlock the power of data, enabling customers to scale complex multi-tenant SaaS applications and accelerate the time to insight with real-time analytics over billions of rows, all with the familiar PostgreSQL tools developers know and love.&lt;/i&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: white; box-sizing: inherit; color: #2f2f2f; font-family: &amp;quot;Segoe UI&amp;quot;, SegoeUI, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; padding: 24px 0px 0px;&quot;&gt;
That&#39;s pretty cool..hopefully they will leave the team alone and not do a FoxPro type move.....&amp;nbsp; But since Ballmer is not in charge anymore, I have faith&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: inherit; color: #2f2f2f; font-family: &amp;quot;Segoe UI&amp;quot;, SegoeUI, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; padding: 24px 0px 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: inherit; color: #2f2f2f; font-family: &amp;quot;Segoe UI&amp;quot;, SegoeUI, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; padding: 24px 0px 0px;&quot;&gt;
&lt;b&gt;&lt;a href=&quot;https://techcrunch.com/2019/01/24/mortgage-loan-leak-gets-worse/&quot;&gt;Massive mortgage and loan data leak gets worse as original documents also exposed&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: inherit; line-height: 20px; padding: 24px 0px 0px;&quot;&gt;
&lt;span style=&quot;color: #2f2f2f; font-family: &amp;quot;segoe ui&amp;quot; , &amp;quot;segoeui&amp;quot; , &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 15px;&quot;&gt;&lt;i&gt;The bucket contained 21 files containing 23,000 pages of PDF documents stitched together — or about 1.3 gigabytes in size. Diachenko said that portions of the data in the exposed Elasticsearch database on Wednesday matched data found in the Amazon S3 bucket, confirming that some or all of the data is the same as what was previously discovered. Like in Wednesday’s report, the server contained documents from banks and financial institutions across the U.S., including loans and mortgage agreements. We also found documents from the U.S. Department of Housing and Urban Development, as well as W-2 tax forms, loan repayment schedules and other sensitive financial information.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
This is really, really messed up&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://ahrefs.com/blog/google-advanced-search-operators/?utm_source=newsletter&amp;amp;utm_medium=email&amp;amp;utm_campaign=Learn%20By%20Doing&quot;&gt;Google Search Operators: The Complete List (42 Advanced Operators)&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;i&gt;Did you know that Google is constantly killing useful operators?&lt;br /&gt;That’s why most existing lists of Google search operators are outdated and inaccurate.&lt;br /&gt;For this post, I personally tested EVERY search operator I could find.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Here is a complete list of all working, non‐working, and “hit and miss” Google advanced search operators as of 2018.&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
All you need to step up your Google Fu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style=&quot;background-color: white; color: #5e5e5e; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 14.85px;&quot;&gt;Austro-Hungarian&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #5e5e5e; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 14.85px;&quot;&gt;&amp;nbsp;emperor&amp;nbsp;&lt;/span&gt;Franz Josef defaced&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/46840026711/in/photostream&quot; title=&quot;Franz Joseph defaced....&quot;&gt;&lt;img alt=&quot;Franz Joseph defaced....&quot; height=&quot;304&quot; src=&quot;https://farm8.staticflickr.com/7805/46840026711_d04275a262_n.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;
&lt;br /&gt;
See more info here: &lt;a href=&quot;http://www.stampio.org/2019/01/the-revenge-of-yugoslavia-on-bosnian.html&quot;&gt;The revenge of Yugoslavia on Bosnian stamps of 1906&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are interested in philately, see also, &lt;a href=&quot;http://www.stampio.org/2019/01/mourning-stamps-with-black-perforation.html&quot;&gt;why do some of these stamps have black perforations?&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Took this pic of Liverpool player Mo Salah mural near time square&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/46114836714/in/photostream&quot; title=&quot;Mo Salah ...   Larger Than Life&quot;&gt;&lt;img alt=&quot;Mo Salah ...   Larger Than Life&quot; height=&quot;800&quot; src=&quot;https://farm8.staticflickr.com/7893/46114836714_a536460479_c.jpg&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;American Gods | Season 2 Official Trailer&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;


&lt;iframe allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/-lnHyVg74aQ&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Can&#39;t wait to watch that, have watched season I and have also read the book last year&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/3427005223388481413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/3427005223388481413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/3427005223388481413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/3427005223388481413'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/01/twid-jan-27thSalah-SSMS-emoji-franz-josef-mourning-stampsamerican-gods-season-2-PostgreSQL.html' title='TWID Jan 27th, Salah, SSMS emoji, franz josef, mourning stamps,american gods season 2, PostgreSQL'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/-lnHyVg74aQ/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-3565124755025485876</id><published>2019-01-20T07:02:00.001-08:00</published><updated>2019-01-20T07:02:29.504-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TWID"/><title type='text'>TWID Jan 20th 2019.. ... Crypts of Winterfell, Brexit, re:MARS, remars, myths, trace flags, agile bs</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Learned&lt;/h2&gt;
Continued with the&amp;nbsp;&lt;a href=&quot;https://app.pluralsight.com/library/courses/docker-swarm-mode-getting-started&quot;&gt;Getting Started with Docker Swarm Mode&lt;/a&gt; Pluralsight course&lt;br /&gt;
Finished&amp;nbsp;&lt;a href=&quot;https://amzn.to/2U1MegC&quot; style=&quot;font-family: arial; font-size: 10pt;&quot;&gt;D&#39;Aulaires&#39; Book of Greek Myths&lt;/a&gt;&amp;nbsp;by Ingri d&#39;Aulaire, Edgar Parin d&#39;Aulaire&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
&lt;/h2&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://blogs.msdn.microsoft.com/sql_server_team/lets-talk-about-trace-flags/&quot;&gt;MSSQL Tiger Team:&amp;nbsp; &amp;nbsp;Let’s talk about trace flags&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;i&gt;So why do we even have trace flags to begin with?&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Some trace flags are used to enable enhanced debugging features such as additional logging, memory dumps etc. and are used only when you are working with Microsoft Support to provide additional data for troubleshooting. These trace flags are not ones you want to leave turned on in a production system as they may have a negative impact on your workload. An example of one of these flags would be TF 2551 which is used to trigger a filtered memory dump whenever there is an exception or assertion in the SQL Server process. These trace flags are only used for a short period of time and typically only at the recommendation of Microsoft Support, so they will likely always be around.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Other trace flags are used to alter the behavior of the server in other ways, such as to turn a feature ON or OFF or change the way the database engine manages resources. One example of this type of trace flag is 7752 which was introduced as a knob for something that is default behavior in Azure SQL DB. In a SQL Server (on-prem or IaaS) database that is undergoing recovery and has Query Store (QDS) enabled, user queries will be blocked until all the data required for QDS to start is loaded. This ensures QDS doesn&#39;t miss any queries that are executed in that database. In some cases, this can take a long time to complete and you&#39;ll see sessions with a wait type of QDS_LOADDB until the QDS becomes available. Turning on TF 7752 makes this process asynchronous so that user queries can proceed while the QDS starts. It&#39;s not something we want to make the default behavior in general because it means that some query executions won&#39;t be captured by QDS, but it&#39;s a tradeoff you might be willing to make in order to reduce the time it takes for a database to become available upon restart or failover. This is the sort of trace flag that we are trying to incorporate into the product in some other way, such as to provide a database-scoped configuration. Moving forward, we hope not to introduce any new trace flags like this, and over time the number of flags of this type should approach zero.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Make sure to read the rest of the post and read the links to the knowledge base articles as well&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://www.dutchnews.nl/news/2019/01/broadcast-group-discovery-shifts-jobs-from-london-to-amsterdam/&quot;&gt;Broadcast group Discovery shifts jobs from London to Amsterdam&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Discovery has become the latest international broadcast group to move European operations to the Netherlands following Britain’s decision to pull out of the EU. Discovery has had a Dutch base since 1989 but has now applied for EU licences for its paid channel portfolio through the Netherlands.&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;This decision ensures continuity of our services for the view across Europe,’ the company said in a statement.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have seen a lot of these job shifts over the last year because of Brexit, even the company I work for has moved people to Amsterdam from London. This will be very costly for London.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://denisgobo.blogspot.com/2019/01/bullet-journal-progress-walls-and-grids.html&quot;&gt;Bullet Journal Progress Walls and Progress Grids &lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13.2px; white-space: normal;&quot;&gt;The one thing I like to have in my Bullet Journal is a progress wall or progress grid&lt;/span&gt;&lt;br style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; white-space: normal;&quot; /&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13.2px; white-space: normal;&quot;&gt;What a progress wall can do for you is to visually let you know how long you are from your goal. You can make it look neat and pretty or as in my case a little messy&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.2px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;

&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/31803394367/in/photostream&quot; title=&quot;Bullet Journal Progress Grid&quot;&gt;&lt;img alt=&quot;Bullet Journal Progress Grid&quot; height=&quot;354&quot; src=&quot;https://farm8.staticflickr.com/7860/31803394367_af2df4d23e.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;


&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://media.defense.gov/2018/Oct/09/2002049591/-1/-1/0/DIB_DETECTING_AGILE_BS_2018.10.05.PDF&quot;&gt;Detecting Agile BS(from the US Department Of Defense) [pdf]&amp;nbsp;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Agile is a buzzword of software development, and so all DoD software development projects&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;are, almost by default, now declared to be “agile.” The purpose of this document is to provide&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;guidance to DoD program executives and acquisition professionals on how to detect software&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;projects that are really using agile development versus those that are simply waterfall or spiral&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;development in agile clothing (“agile-scrum-fall”).&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYhqwO03c5N-b0T3fwCoFmpYlhV0TT5pg_HImXs8QO0CfDsSd12ZaAT3L2cbjUIaWKTxWkL7_YC2hMARPtZ8Gz9ESJc7nEFyvvYqX5MGlQaE-7k22O_XEzUNN1vtireadtqgaJIIbQY00/s1600/AgileBS.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;631&quot; data-original-width=&quot;918&quot; height=&quot;438&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYhqwO03c5N-b0T3fwCoFmpYlhV0TT5pg_HImXs8QO0CfDsSd12ZaAT3L2cbjUIaWKTxWkL7_YC2hMARPtZ8Gz9ESJc7nEFyvvYqX5MGlQaE-7k22O_XEzUNN1vtireadtqgaJIIbQY00/s640/AgileBS.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Pretty cool from the department of Defense&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8-beta/html/8.0_beta_release_notes/new-features#web_servers_databases_dynamic_languages_2&quot;&gt;MongoDB removed from RHEL 8 beta due to license&lt;/a&gt;&lt;/b&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #292f33; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;i&gt;Note that the NoSQL MongoDB database server is not included in RHEL 8.0 Beta because it uses the Server Side Public License (SSPL).&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;Didn&#39;t AWS roll out their own version as well?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://www.bloomberg.com/news/articles/2019-01-17/lego-collecting-delivers-huge-and-uncorrelated-market-returns&quot;&gt;Lego collecting delivers huge and uncorrelated market returns&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;&quot;&gt;&lt;i&gt;A lot of fancy things can be built with Lego sets nowadays. Such as a diversifying portfolio that loads on the Fama-French size factor.

Collecting Lego -- yes, the plastic toys made of interlocking bricks that become cars and castles and robots -- returned more than large stocks, bonds and gold in the three decades ending in 2015, says a study by Victoria Dobrynskaya, an assistant professor at Russia’s Higher School of Economics. Aspects of the performance even align with returns sought by owners of smart-beta ETFs.  &lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;&quot;&gt;Man, I wish I still had my space sets from the 70s intact&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;color: #292f33; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://www.foundationdb.org/blog/announcing-record-layer/&quot;&gt;Apple Open-Sources FoundationDB Record Layer&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Today, we are excited to announce the open source release of the FoundationDB Record Layer!&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;From its inception, FoundationDB was designed as a highly scalable key-value store with a simple API. Layers extend the functionality of the database by adding features and data models to allow new storage access patterns. Today we are releasing the FoundationDB Record Layer, which provides relational database semantics on top of FoundationDB. This layer features schema management, indexing facilities, and a rich set of query capabilities. The Record Layer is used in production at Apple to support applications and services for hundreds of millions of users.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Supports ACID transactions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blog.aboutamazon.com/innovation/re-mars-a-new-ai-event-for-machine-learning-automation-robotics-and-space&quot;&gt;&lt;b&gt;re:MARS, a new AI event for machine learning, automation, robotics, and space&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Machine Learning (ML) and Artificial Intelligence (AI) are behind almost everything we do at Amazon. Some of this work is highly visible, such as autonomous Prime Air delivery drones, eliminating checkout lines at Amazon Go, and making everyday life more convenient for customers with Alexa. But much of what we do with AI and ML happens beneath the surface – from the speed in which we deliver packages, to the broad selection and low prices we’re able to offer customers, to automatic extraction of characters and places from books and videos with X-Ray. This is in addition to the unrivaled breadth and depth of AI and ML services that AWS offers businesses of all sizes. And it’s still day one for AI at Amazon.&lt;br /&gt;
&lt;br /&gt;
Today we are excited to announce we are bringing together some of the brightest leaders across science, academia, and business to explore innovation, scientific advancements, and practical applications of AI and ML. re:MARS, Amazon’s new AI event focused on &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;M&lt;/span&gt;&lt;/b&gt;achine learning, &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;A&lt;/span&gt;&lt;/b&gt;utomation, &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;R&lt;/span&gt;&lt;/b&gt;obotics, and &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;S&lt;/span&gt;&lt;/b&gt;pace, will take place June 4-7, 2019 at the ARIA Resort &amp;amp; Casino in Las Vegas. Business leaders and technical builders will learn, share, and further imagine how these four fields of study will shape the future of AI.&lt;br /&gt;
&lt;br /&gt;
See also here:&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://remars.amazon.com/&quot;&gt;&lt;b&gt;https://remars.amazon.com/&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Game of Thrones | Season 8 | Official Tease: Crypts of Winterfell (HBO)&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;iframe allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/wA38GCX4Tb0&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;br /&gt;
We have all been waiting for this... but where are the books??</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/3565124755025485876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/3565124755025485876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/3565124755025485876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/3565124755025485876'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/01/twid-Crypts-of-Winterfell-Brexit-remars-myths-trace-flags-agile-bs.html' title='TWID Jan 20th 2019.. ... Crypts of Winterfell, Brexit, re:MARS, remars, myths, trace flags, agile bs'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYhqwO03c5N-b0T3fwCoFmpYlhV0TT5pg_HImXs8QO0CfDsSd12ZaAT3L2cbjUIaWKTxWkL7_YC2hMARPtZ8Gz9ESJc7nEFyvvYqX5MGlQaE-7k22O_XEzUNN1vtireadtqgaJIIbQY00/s72-c/AgileBS.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-1792825837822842629</id><published>2019-01-14T12:10:00.002-08:00</published><updated>2019-01-14T12:14:24.182-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bullet journal"/><title type='text'>Bullet Journal Progress Walls and Progress Grids</title><content type='html'>I got a &lt;a href=&quot;https://www.amazon.com/s/s/ref=as_li_ss_tl?fst=as:off&amp;amp;rh=i:aps,k:bullet+journal,p_89:LEUCHTTURM1917&amp;amp;keywords=bullet+journal&amp;amp;ie=UTF8&amp;amp;qid=1547495354&amp;amp;rnid=2528832011&amp;amp;linkCode=ll2&amp;amp;tag=sql08-20&amp;amp;linkId=b15462be0633e4f81cf37171e4c84ecc&amp;amp;language=en_US&quot;&gt;Bullet Journal&lt;/a&gt; as a gift in December and have been messing around with it a little&lt;br /&gt;
The one thing I like to have in my Bullet Journal is a progress wall or progress grid&lt;br /&gt;
What a progress wall can do for you is to visually let you know how long you are from your goal. You can make it look neat and pretty or as in my case a little messy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I decided to run 750 miles this year and also do 15,000 push ups. This means I will do about 100 push ups every other day and run about 4 miles 4 times a week&lt;br /&gt;
&lt;br /&gt;
What I did for the 17,500 push ups is divide it up by 100 so that I need a wall with 175 bricks&lt;br /&gt;
&lt;br /&gt;
For the 750 mile run, I divided it by 2.5 miles so that I ended up with 300 bricks&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Once you are done with fill in the brick in your favorite color, I chose the color red&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Here is what my messy walls look like&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb_w9Ct_3yJc_RWmFPFjfaqW959DIOx9bmkfBEnLPk7QK-BNVjNrlhXDdLgm-R-BS-4ObHZSTa7-_gxBbwDpURyFC6RGKfXH8uwFnu9bIWCQ4dlyIFbMxOqJRweecLIk2JUocR1Y1JGtI/s1600/IMG_2548.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1112&quot; data-original-width=&quot;1600&quot; height=&quot;444&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb_w9Ct_3yJc_RWmFPFjfaqW959DIOx9bmkfBEnLPk7QK-BNVjNrlhXDdLgm-R-BS-4ObHZSTa7-_gxBbwDpURyFC6RGKfXH8uwFnu9bIWCQ4dlyIFbMxOqJRweecLIk2JUocR1Y1JGtI/s640/IMG_2548.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Once you finish a row, put a date next to it, this way you can quickly see when you completed that section&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
If you prefer a neater version, you can of course do a grid, here is what the progress grid I created for my &lt;a href=&quot;https://sqlservercode.blogspot.com/&quot;&gt;SQL Server blog&lt;/a&gt; posts looks like&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEe9wc4EX7GnDzlB5dNn_LnCrsxweJF9GSFWz1uc4OU6dkF6qDQsMg09DZudouR-1dyfD0WIUnm9tPuh9k2uUt3UmVmQYu4d7oeYnPHbKhRZMg2nJ_-MX-AEdCwyK6F2jqbO3xeSH5NKs/s1600/IMG_2546.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1135&quot; data-original-width=&quot;1600&quot; height=&quot;226&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEe9wc4EX7GnDzlB5dNn_LnCrsxweJF9GSFWz1uc4OU6dkF6qDQsMg09DZudouR-1dyfD0WIUnm9tPuh9k2uUt3UmVmQYu4d7oeYnPHbKhRZMg2nJ_-MX-AEdCwyK6F2jqbO3xeSH5NKs/s320/IMG_2546.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
My goal is to write 100 SQL Server Posts in 2019, here is what the grid looks like right now, so far I created 4 post, I have colored those brick in red&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
You can use a progress wall for all kind of things... maybe you are saving for a vacation and putting $20 away each week... divide the amount you need by 20 and you have how many bricks you need in your wall.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
A progress wall is a fun and creative way to keep track of how far you are from your goal&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Let me know in a comment what you would use a progress wall for to track progress&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/1792825837822842629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/1792825837822842629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1792825837822842629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1792825837822842629'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/01/bullet-journal-progress-walls-and-grids.html' title='Bullet Journal Progress Walls and Progress Grids'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb_w9Ct_3yJc_RWmFPFjfaqW959DIOx9bmkfBEnLPk7QK-BNVjNrlhXDdLgm-R-BS-4ObHZSTa7-_gxBbwDpURyFC6RGKfXH8uwFnu9bIWCQ4dlyIFbMxOqJRweecLIk2JUocR1Y1JGtI/s72-c/IMG_2548.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-6145385755359580196</id><published>2019-01-13T11:26:00.000-08:00</published><updated>2019-01-13T11:29:11.208-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="TWID"/><title type='text'>TWID Jan 13th 2019.. Rules of 3. hacked photosynthesis. Containers Killed The Virtual Machine</title><content type='html'>This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label&amp;nbsp;&lt;a href=&quot;https://denisgobo.blogspot.com/search/label/TWID&quot;&gt;TWID&lt;/a&gt;&amp;nbsp;for these&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
This Week I Learned&lt;/h2&gt;
&lt;br /&gt;
Finished the &lt;a href=&quot;https://app.pluralsight.com/library/courses/docker-getting-started&quot;&gt;Getting Started with Docker&lt;/a&gt; Pluralsight course&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rules of 3... for survival&lt;br /&gt;
3 Minutes for air&lt;br /&gt;
3 Days for water&lt;br /&gt;
3 Weeks for food&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
&lt;/h2&gt;
&lt;h2&gt;
This Week I Tweeted&lt;/h2&gt;
&lt;a href=&quot;https://www.npr.org/sections/thesalt/2019/01/03/681941779/scientists-have-hacked-photosynthesis-in-search-of-more-productive-crops&quot;&gt;&lt;b&gt;Scientists Have &#39;Hacked Photosynthesis&#39; In Search Of More Productive Crops&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;This is a very important finding,&quot; she says. &quot;It&#39;s really the first major breakthrough showing that one can indeed engineer photosynthesis and achieve a major increase in crop productivity.&quot;&lt;br /&gt;
&lt;br /&gt;
It will be many years, though, before any farmers plant crops with this new version of photosynthesis. Researchers will have to find out whether it means that a food crop like soybeans actually produces more beans — or just more stalks and leaves.&lt;br /&gt;
&lt;br /&gt;
Then they&#39;ll need to convince government regulators and consumers that the crops are &lt;u&gt;&lt;i&gt;safe to grow and eat.&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.scmp.com/tech/gear/article/2181661/giant-ces-fair-vegas-shows-us-remains-too-big-ignore-chinese-tech-firms&quot;&gt;&lt;b&gt;Giant CES fair in Vegas shows US remains too big to ignore for Chinese tech firms even as trade war swirls&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Times are tough in 2019 thanks to the US-China trade war and an escalating war of words between Washington and Beijing over tech leadership&lt;/div&gt;
&lt;div&gt;
Chinese companies at CES all agreed though that while the trade war has adversely impacted their business in the US, it remains a very important market&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
“We are definitely affected by the tariffs, in fact one of our big US customers is moving their manufacturing operations outside of China to Vietnam to avoid an increase in the cost of doing business,” said Yuki, a saleswoman from Dongguan-based Ruiheng Electronic Co. Ltd., which manufactures power adaptors and circuit boards.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.geek.com/culture/costco-sells-out-of-27-pound-storage-bucket-mac-and-cheese-with-20-year-shelf-life-1769537/&quot;&gt;&lt;b&gt;Costco Sells Out of 27-Pound ‘Storage Bucket’ Mac and Cheese With 20-Year Shelf Life&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Bad news for those looking to stock up on Costco’s food hit, the 27-pound bucket of macaroni and cheese with 20 years of shelf life: it’s now sold out on the warehouse’s website after going viral on social media.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Who buys this stuff?&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;a href=&quot;https://www.nextplatform.com/2019/01/09/containers-killed-the-virtual-machine-star/&quot;&gt;&lt;b&gt;Containers Killed The Virtual Machine Star&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
We predict new enterprise application development will pass a tipping point in 2019 and shift away from legacy virtual machines (VMs) and strongly toward containers and Kubernetes container orchestration.&lt;br /&gt;
&lt;br /&gt;
To be precise, we predict that:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The future is multi-cloud, and multi-cloud means Docker containers with Kubernetes orchestration. Every public cloud has its own APIs, and in that sense, they are all new versions of proprietary mainframes.&lt;/li&gt;
&lt;li&gt;“Lift-and-shift” of VMware virtual machines will be more expensive than customers realize. Paying no money up front, in this case to refactor and port applications to Kubernetes, typically means paying more during operations.&lt;/li&gt;
&lt;li&gt;Java is not dead. It may play an important middle ground between lift-and-shift and the expense of completely refactoring applications for cloud-native environments. Java may be a light touch version of “move-and-improve.”&lt;/li&gt;
&lt;li&gt;It seems likely that Lenovo will take a look at acquiring SUSE, with Supermicro perhaps also in the mix.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;Docker/Kubernetes and other container technologies is all the rage now...especially with DevOps&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://sqlservercode.blogspot.com/2019/01/print-disruptor-of-batch-deletes-in-sql.html?spref=tw&quot;&gt;Print.. the disruptor of batch deletes in SQL &lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;A SQL Server post showing you how the print statement might mess up your batch delete statement&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href=&quot;https://threatpost.com/u-s-government-shutdown-leaves-dozens-of-gov-websites-vulnerable/140782/&quot;&gt;&lt;b&gt;Dozens of government websites rendered insecure or inaccessible due to 80+ expired TLS certificates that haven&#39;t been renewed due to the US government shutdown&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
As the U.S. federal shutdown continues, dozens of U.S. government websites have been rendered either insecure or inaccessible due to expired transport layer security (TLS) certificates that have not been renewed.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In fact, .gov websites are using more than 80 TLS certificates that have expired, according to a new Thursday report by Netcraft. That’s because funding for renewals has been paused. That opens the impacted sites to an array of cyber-attacks; most notably, man-in the-middle attacks, which allow bad actors to intercept exchanges between a user and a web application—either to eavesdrop or to impersonate the website and steal any data that the user may input.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;That&#39;s not good... shouldn&#39;t these people be on the essential employee list?&lt;/i&gt;&lt;/div&gt;
&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Some cool stuff you might enjoy&lt;/h2&gt;
&lt;b&gt;&lt;a href=&quot;https://getpolarized.io/2019/01/08/top-pdfs-of-2018-hackernews.html&quot;&gt;500 Top PDFs posted to Hacker News in 2018&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The top 5&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
1. &lt;a href=&quot;https://fil.forbrukerradet.no/wp-content/uploads/2018/06/2018-06-27-deceived-by-design-final.pdf&quot;&gt;Norwegian Consumer Council report on how tech companies use dark patterns [pdf]&lt;/a&gt;&lt;br /&gt;
score: 661 &lt;a href=&quot;https://news.ycombinator.com/item?id=17406186&quot;&gt;comments&lt;/a&gt;&lt;br /&gt;
2. &lt;a href=&quot;https://yurichev.com/writings/AL4B-EN.pdf&quot;&gt;Assembly Language for Beginners [pdf]&lt;/a&gt;&lt;br /&gt;
score: 590 &lt;a href=&quot;https://news.ycombinator.com/item?id=17549050&quot;&gt;comments&lt;/a&gt;&lt;br /&gt;
3. &lt;a href=&quot;https://stratos.seas.harvard.edu/files/stratos/files/periodictabledatastructures.pdf&quot;&gt;The Periodic Table of Data Structures [pdf]&lt;/a&gt;&lt;br /&gt;
score: 534 &lt;a href=&quot;https://news.ycombinator.com/item?id=18314555&quot;&gt;comments&lt;/a&gt;&lt;br /&gt;
4. &lt;a href=&quot;https://cses.fi/book.pdf&quot;&gt;Competitive Programmer&#39;s Handbook (2017) [pdf]&lt;/a&gt;&lt;br /&gt;
score: 514 &lt;a href=&quot;https://news.ycombinator.com/item?id=16952222&quot;&gt;comments&lt;/a&gt;&lt;br /&gt;
5. &lt;a href=&quot;https://defcon.org/images/defcon-26/DEF%20CON%2026%20voting%20village%20report.pdf&quot;&gt;DEF CON report on vulnerabilities in US election infrastructure [pdf]&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #212529; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-size: 20px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Rest can be found here: &amp;nbsp;&lt;a href=&quot;https://getpolarized.io/2019/01/08/top-pdfs-of-2018-hackernews.html&quot;&gt;https://getpolarized.io/2019/01/08/top-pdfs-of-2018-hackernews.html&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a href=&quot;https://getpolarized.io/2019/01/08/top-pdfs-of-2018-hackernews.html&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;Mongo song....&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;Hey Mongo I just met you
  And this is craaazy
  but here&#39;s my data
  so store it maybe?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;B bu but.. it&#39;s webscale  :-)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;The ideal amount of sunlight for growing your garden &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;See the infographic here: &lt;/span&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;a href=&quot;https://www.dailyinfographic.com/wp-content/uploads/2018/10/Garden-sunlight-infographic.jpg&quot;&gt;https://www.dailyinfographic.com/wp-content/uploads/2018/10/Garden-sunlight-infographic.jpg&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://github.com/kamranahmedse/developer-roadmap&quot;&gt;Roadmap to becoming a Web Developer in 2019 &lt;/a&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin5ZMKi2BMtuSey-KCXoZ0fZYNl7if1Fajx1AMM_YUMDWc0_TtmwJSvWbpvSFuqsmhnsyY0pAEwKm3C_Q-5EECED0cibFCLS3lYo3BBjJW_4QEhZO-PEiapMnRCdnEIMdeDjqEXXVSMQ0/s1600/WebDev.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;460&quot; data-original-width=&quot;1149&quot; height=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin5ZMKi2BMtuSey-KCXoZ0fZYNl7if1Fajx1AMM_YUMDWc0_TtmwJSvWbpvSFuqsmhnsyY0pAEwKm3C_Q-5EECED0cibFCLS3lYo3BBjJW_4QEhZO-PEiapMnRCdnEIMdeDjqEXXVSMQ0/s640/WebDev.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-size: 14px; white-space: pre-wrap;&quot;&gt;Seems very overwhelming to me&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; white-space: pre-wrap;&quot;&gt;See it all here: &lt;/span&gt;&lt;span style=&quot;color: #292f33; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;a href=&quot;https://github.com/kamranahmedse/developer-roadmap&quot;&gt;https://github.com/kamranahmedse/developer-roadmap&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alexander Hall as seem from Blair Hall at Princeton University&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;a data-flickr-embed=&quot;true&quot; href=&quot;https://www.flickr.com/photos/denisgobo/32724924778/in/photostream&quot; title=&quot;Alexander Hall&quot;&gt;&lt;img alt=&quot;Alexander Hall&quot; height=&quot;373&quot; src=&quot;https://farm5.staticflickr.com/4850/32724924778_2b5cb40152.jpg&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//embedr.flickr.com/assets/client-code.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Took this on my way to pick up the kids from an event&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/6145385755359580196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/6145385755359580196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/6145385755359580196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/6145385755359580196'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2019/01/TWID-Jan-13th-2019..-Rules-of-3.-hacked-photosynthesis.-Containers-Killed-The-Virtual-Machine.html' title='TWID Jan 13th 2019.. Rules of 3. hacked photosynthesis. Containers Killed The Virtual Machine'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin5ZMKi2BMtuSey-KCXoZ0fZYNl7if1Fajx1AMM_YUMDWc0_TtmwJSvWbpvSFuqsmhnsyY0pAEwKm3C_Q-5EECED0cibFCLS3lYo3BBjJW_4QEhZO-PEiapMnRCdnEIMdeDjqEXXVSMQ0/s72-c/WebDev.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-4442375892161393073</id><published>2018-12-03T08:26:00.003-08:00</published><updated>2018-12-03T08:26:29.926-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="PostgreSQL"/><title type='text'>Using PostgreSQL&#39;s Interval to mimic SQL Server&#39;s DATEADD function</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s1600/PostgreSQLBanner.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;256&quot; data-original-width=&quot;700&quot; height=&quot;146&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s400/PostgreSQLBanner.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I wanted to do some date calculations in PostgreSQL and was doing some research on if something like the DATEDIFF function that exists in SQL Server is available in PostgreSQL. These notes are mostly for me so I can refer back to them..but maybe they are useful for someone else as well&lt;br /&gt;
&lt;br /&gt;
In SQL Server to add dates, minutes and other fractions of a date to a date, you can use the DATEADD function&lt;br /&gt;
&lt;br /&gt;
Here are some quick examples, if you want to run this in SQL Server, create this table with one row first&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CREATE&lt;/span&gt;  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;TABLE&lt;/span&gt; test(SomeDate &lt;span style=&quot;color: #007020;&quot;&gt;date&lt;/span&gt;);

&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;INSERT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;INTO&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;VALUES&lt;/span&gt;(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;20120101&#39;&lt;/span&gt;);&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
And here is a simple DATEADD query, that adds 1 or 2 days to a date by using both the datepart and the abbreviated datepart&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; SomeDate,
  DATEADD(dd,&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,SomeDate) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1dd,
  DATEADD(dd,&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,SomeDate) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2dd,
  DATEADD(&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;day&lt;/span&gt;,&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,SomeDate) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Day,
  DATEADD(&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;day&lt;/span&gt;,&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,SomeDate) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Day
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; test&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;br /&gt;
That will give us the following output&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
SomeDate&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Interval1dd&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Interval2dd&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Interval1Day&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Interval2Day&lt;/div&gt;
&lt;div&gt;
2012-01-01&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2012-01-02&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2012-01-03&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2012-01-02&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2012-01-03&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to go negative, all you have to do is place a minus sign in front of the number&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; SomeDate,
  DATEADD(dd,-&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,SomeDate) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1dd,
  DATEADD(dd,-&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,SomeDate) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2dd,
  DATEADD(&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;day&lt;/span&gt;,-&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,SomeDate) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Day,
  DATEADD(&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;day&lt;/span&gt;,-&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,SomeDate) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Day
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; test&lt;/pre&gt;
&lt;br /&gt;
Here is the output of that query&lt;br /&gt;
&lt;br /&gt;
SomeDate&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Interval1dd&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Interval2dd&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Interval1Day&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Interval2Day&lt;br /&gt;
2012-01-01&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2011-12-31&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2011-12-30&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2011-12-31&lt;span style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2011-12-30&lt;br /&gt;
&lt;br /&gt;
Here are all the valid datepart arguments in SQL Server&lt;br /&gt;
&lt;br /&gt;
&lt;style type=&quot;text/css&quot;&gt;
.tg  {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg .tg-0lax{text-align:left;vertical-align:top}
&lt;/style&gt;

&lt;br /&gt;
&lt;table class=&quot;tg&quot;&gt;
  &lt;tbody&gt;
&lt;tr&gt;
    &lt;th class=&quot;tg-0lax&quot;&gt;datepart&lt;/th&gt;
    &lt;th class=&quot;tg-0lax&quot;&gt;Abbreviations&lt;/th&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;year&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;yy, yyyy&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;quarter&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;qq, q&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;month&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;mm, m&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;dayofyear&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;dy, y&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;day&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;dd, d&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;week&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;wk, ww&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;weekday&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;dw, w&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;hour&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;hh&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;minute&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;mi, n&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;second&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;ss, s&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;millisecond&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;ms&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;microsecond&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;mcs&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;nanosecond&lt;/td&gt;
    &lt;td class=&quot;tg-0lax&quot;&gt;ns&lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
Now let&#39;s take a look at PostgreSQL&lt;br /&gt;
&lt;br /&gt;
In PostgreSQL, there is no DATEPART function, but you can use interval literals to accomplish something that behaves the same&lt;br /&gt;
&lt;br /&gt;
Let&#39;s do something similar like we did with the SQL Server queries, first create this temp table with one row&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CREATE&lt;/span&gt; Temp &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;TABLE&lt;/span&gt; test(SomeDate &lt;span style=&quot;color: #007020;&quot;&gt;date&lt;/span&gt;);


&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;INSERT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;INTO&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;VALUES&lt;/span&gt;( to_date(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;20120101&#39;&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;YYYYMMDD&#39;&lt;/span&gt;));&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Now let&#39;s run this query&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; SomeDate,(SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Day&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Day,
  (SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 D&#39;&lt;/span&gt;)  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; IntervalD,
  (SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Day&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Times1Day,
  (SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;2 Day&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Days,
  (SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;2 Days&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Times2Days,
  (SomeDate +  &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Day&#39;&lt;/span&gt; )    &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; IntervalD
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; test&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is the output&lt;br /&gt;
&lt;br /&gt;
&quot;2012-01-01&quot;;&quot;2012-01-02 00:00:00&quot;;&quot;2012-01-02 00:00:00&quot;;&quot;2012-01-03 00:00:00&quot;;&quot;2012-01-03 00:00:00&quot;;&quot;2012-01-05 00:00:00&quot;;&quot;2012-01-02 00:00:00&quot;&lt;br /&gt;
&lt;br /&gt;
When you copy from pgAdmin&amp;nbsp;, you don&#39;t get the column aliases, so below is a screenshot of what it looks like(Click on the image for a bigger sized image)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2KOEXre3ydbNiWXEmuq4GeVUr0TjRC7qsfybW6TxvQge_KXhcf4Ndjfcl2VS-1Ydjhl6Jfd-15dEkofJhPSkunpdj4jbxhorWmVG-iYtV1wE_Ywcy1GcaRZTvuR_oX3p1HRKnlFYOPws/s1600/PostgreOutputPlus.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;374&quot; data-original-width=&quot;1310&quot; height=&quot;182&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2KOEXre3ydbNiWXEmuq4GeVUr0TjRC7qsfybW6TxvQge_KXhcf4Ndjfcl2VS-1Ydjhl6Jfd-15dEkofJhPSkunpdj4jbxhorWmVG-iYtV1wE_Ywcy1GcaRZTvuR_oX3p1HRKnlFYOPws/s640/PostgreOutputPlus.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see there are two parts where you can supply a number&lt;br /&gt;
&lt;br /&gt;
I think I prefer the top one from the query below, since it resembles the DATEPART function more&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;(SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Day&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Times1Day,
(SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;2 Day&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Days,&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
But as you saw,it was possible to add 4 days by using a one in both places like shown below&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;(SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;2 Days&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Times2Days,&lt;/pre&gt;
&lt;br /&gt;
And of course if you want, you can just use the number inside the string like in this example below&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;(SomeDate +  &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Day&#39;&lt;/span&gt; )    &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; IntervalD&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;br /&gt;
It&#39;s up to you, but I don&#39;t like changing numbers inside a string&lt;br /&gt;
&lt;br /&gt;
To do negative numbers, you just change the positive number to a negative number, here is the same query from before but now with negative numbers&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; SomeDate,(SomeDate + -&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Day&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Day,
  (SomeDate + -&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 D&#39;&lt;/span&gt;)    &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; IntervalD,
  (SomeDate + -&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Day&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Times1Day,
  (SomeDate + -&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;2 Day&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Days,
  (SomeDate + -&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;-2 Days&#39;&lt;/span&gt;)&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval2Times2Days,
  (SomeDate +  &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;-1 Day&#39;&lt;/span&gt; )    &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; IntervalD
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; test&lt;/pre&gt;
&lt;br /&gt;
Here is the output&lt;br /&gt;
&quot;2012-01-01&quot;;&quot;2011-12-31 00:00:00&quot;;&quot;2011-12-31 00:00:00&quot;;&quot;2011-12-30 00:00:00&quot;;&quot;2011-12-30 00:00:00&quot;;&quot;2012-01-05 00:00:00&quot;;&quot;2011-12-31 00:00:00&quot;&lt;br /&gt;
&lt;br /&gt;
As you can see that all works as expected, did you notice that the we get +4 when we do -2 * -2?&lt;br /&gt;
&lt;br /&gt;
Here is the output also from pgAdmin so that you can see the column aliases&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBurtlIaPQqjHDTn-N650hYRu2azvzQCDyqhEH2on8Zsu70oz_XI1l1uRcMnJd8mIjn0u_Fdw1LssL3lPc9yzoOiVVCB2lWxHJuwS6Gt_zkqlcF7LaeLAsVns42SqWrZbEzOpUOTJK09w/s1600/PostgreOutputNegative.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;384&quot; data-original-width=&quot;1368&quot; height=&quot;178&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBurtlIaPQqjHDTn-N650hYRu2azvzQCDyqhEH2on8Zsu70oz_XI1l1uRcMnJd8mIjn0u_Fdw1LssL3lPc9yzoOiVVCB2lWxHJuwS6Gt_zkqlcF7LaeLAsVns42SqWrZbEzOpUOTJK09w/s640/PostgreOutputNegative.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Besides using days, you can also use these parts of a date&lt;br /&gt;
&lt;br /&gt;
&lt;style type=&quot;text/css&quot;&gt;
.tg  {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg .tg-s268{text-align:left}
&lt;/style&gt;

&lt;br /&gt;
&lt;table class=&quot;tg&quot;&gt;
  &lt;tbody&gt;
&lt;tr&gt;
    &lt;th class=&quot;tg-s268&quot;&gt;Abbreviation&lt;/th&gt;
    &lt;th class=&quot;tg-s268&quot;&gt;Meaning&lt;/th&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;Y&lt;/td&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;Years&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;M&lt;/td&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;Months (in the date part)&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;W&lt;/td&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;Weeks&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;D&lt;/td&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;Days&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;H&lt;/td&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;Hours&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;M&lt;/td&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;Minutes (in the time part)&lt;/td&gt;
  &lt;/tr&gt;
&lt;tr&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;S&lt;/td&gt;
    &lt;td class=&quot;tg-s268&quot;&gt;Seconds&lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
Let&#39;s take a look by using some of these in a query&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; SomeDate,(SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Day&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Day,
  (SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Week&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Week,
  (SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Month&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Month,
  (SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Year&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Year
  
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;UNION&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ALL&lt;/span&gt;
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; SomeDate,(SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 D&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Day,
  (SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 W&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Week,
  (SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 M&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Month,
  (SomeDate + &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 Y&#39;&lt;/span&gt; ) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Interval1Year
  
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; test&lt;/pre&gt;
&lt;br /&gt;
Here is the output&lt;br /&gt;
&lt;br /&gt;
&quot;2012-01-01&quot;;&quot;2012-01-02 00:00:00&quot;;&quot;2012-01-08 00:00:00&quot;;&quot;2012-02-01 00:00:00&quot;;&quot;2013-01-01 00:00:00&quot;&lt;br /&gt;
&quot;2012-01-01&quot;;&quot;2012-01-02 00:00:00&quot;;&quot;2012-01-08 00:00:00&quot;;&quot;2012-01-01 00:01:00&quot;;&quot;2013-01-01 00:00:00&quot;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
Here is the output also from pgAdmin so that you can see the column aliases&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJprqWll2YEPB3MYU9flFo73IzqHV69QpHysfuG5fjgGgvYCtcY3V08Q4tqgnRS_O6jN1SsjY7dIgBJlVSYzHiyNFfEROw28__w05qARGnD7ymPx5vD3ybWlNAlN5xMSCzmEgtXug4_0A/s1600/PostgreOutputUnion.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;454&quot; data-original-width=&quot;913&quot; height=&quot;318&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJprqWll2YEPB3MYU9flFo73IzqHV69QpHysfuG5fjgGgvYCtcY3V08Q4tqgnRS_O6jN1SsjY7dIgBJlVSYzHiyNFfEROw28__w05qARGnD7ymPx5vD3ybWlNAlN5xMSCzmEgtXug4_0A/s640/PostgreOutputUnion.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see when using M it used minute not month. I would recommend to always use the full name and not the abbreviated part so as not to create confusion&lt;br /&gt;
&lt;br /&gt;
That&#39;s all for this post&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/4442375892161393073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/4442375892161393073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/4442375892161393073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/4442375892161393073'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2018/12/using-postgresqls-interval-to-mimic-sql.html' title='Using PostgreSQL&#39;s Interval to mimic SQL Server&#39;s DATEADD function'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s72-c/PostgreSQLBanner.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-312798504613240048</id><published>2018-11-25T12:41:00.000-08:00</published><updated>2018-11-26T05:31:59.452-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="PostgreSQL"/><title type='text'>Easy running totals with windowing functions in PostgreSQL</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s1600/PostgreSQLBanner.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;256&quot; data-original-width=&quot;700&quot; height=&quot;146&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s400/PostgreSQLBanner.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;Back in the pre windowing function days, if you wanted to do a running count, you either had to run a subquery or you could use a variable. This was slow because for each row the query that did the sum would be executed. With windowing functions in PostgreSQL, this is now running much faster.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;Let&#39;s take a look, first create the following table&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;br /&gt;
&lt;div style=&quot;background: rgb(255, 255, 255); border: solid gray; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CREATE&lt;/span&gt; Temp &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;TABLE&lt;/span&gt; test(Id &lt;span style=&quot;color: #007020;&quot;&gt;int&lt;/span&gt;,SomeDate &lt;span style=&quot;color: #007020;&quot;&gt;date&lt;/span&gt;, Charge &lt;span style=&quot;color: #007020;&quot;&gt;decimal&lt;/span&gt;(&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;20&lt;/span&gt;,&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;10&lt;/span&gt;));


&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;insert&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;into&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;values&lt;/span&gt;( &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,to_date(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;20120101&#39;&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;YYYYMMDD&#39;&lt;/span&gt;),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1000&lt;/span&gt;);
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;insert&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;into&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;values&lt;/span&gt;( &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,to_date(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;20120401&#39;&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;YYYYMMDD&#39;&lt;/span&gt;),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;200&lt;/span&gt;);
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;insert&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;into&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;values&lt;/span&gt;( &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,to_date(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;20120501&#39;&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;YYYYMMDD&#39;&lt;/span&gt;),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;300&lt;/span&gt;);
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;insert&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;into&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;values&lt;/span&gt;( &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,to_date(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;20120601&#39;&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;YYYYMMDD&#39;&lt;/span&gt;),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;600&lt;/span&gt;);
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;insert&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;into&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;values&lt;/span&gt;( &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,to_date(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;20120101&#39;&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;YYYYMMDD&#39;&lt;/span&gt;),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;100&lt;/span&gt;);
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;insert&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;into&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;values&lt;/span&gt;( &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,to_date(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;20120101&#39;&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;YYYYMMDD&#39;&lt;/span&gt;),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;500&lt;/span&gt;);
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;insert&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;into&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;values&lt;/span&gt;( &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;2&lt;/span&gt;,to_date(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;20120101&#39;&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;YYYYMMDD&#39;&lt;/span&gt;),-&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;800&lt;/span&gt;);
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;insert&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;into&lt;/span&gt; test
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;values&lt;/span&gt;( &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;3&lt;/span&gt;,to_date(&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;20120101&#39;&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;YYYYMMDD&#39;&lt;/span&gt;),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;100&lt;/span&gt;);&lt;/pre&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;let&#39;s check that data we just inserted into the temporary table&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;br /&gt;
&lt;div style=&quot;background: rgb(255, 255, 255); border: solid gray; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #333333;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; test
&lt;/pre&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;The output looks like this&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: white; color: #444444; font-size: 13px;&quot;&gt;Id SomeDate Charge
1 2012-01-01 1000.0000000000
1 2012-04-01 200.0000000000
1 2012-05-01 300.0000000000
1 2012-06-01 600.0000000000
2 2012-01-01 100.0000000000
2 2013-01-01 500.0000000000
2 2014-01-01 -800.0000000000
3 2012-01-01 100.0000000000
&lt;/pre&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;What we want is the following&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: white; color: #444444; font-size: 13px;&quot;&gt;id StartDate Enddate         Charge         RunningTotal
1 2012-01-01 2012-03-31 1000.0000000000 1000.0000000000
1 2012-04-01 2012-04-30 200.0000000000 1200.0000000000
1 2012-05-01 2012-05-31 300.0000000000 1500.0000000000
1 2012-06-01 9999-12-31 600.0000000000 2100.0000000000
2 2012-01-01 2012-12-31 100.0000000000 100.0000000000
2 2013-01-01 2013-12-31 500.0000000000 600.0000000000
2 2014-01-01 9999-12-31 -800.0000000000 -200.0000000000
3 2012-01-01 9999-12-31 100.0000000000 100.0000000000
&lt;/pre&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;For each row, we want to have the date that the row starts on and also the date when it ends, we also want a running total as well. If there is no row after the current row for that id, we want the end date to be 9999-12-31.&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;So we will use a couple of functions. The first one is LEAD, LEAD accesses data from a subsequent row in the same result set without the use of a self-join. So the LEAD part looks like this&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;LEAD((SomeDate + -1 * INTERVAL &#39;1 day&#39; ),&lt;/span&gt;&lt;span style=&quot;background-color: white; color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;,&#39;99991231&#39;)&amp;nbsp;OVER (PARTITION BY id ORDER BY SomeDate) as Enddate,&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;What we are doing is subtracting 1 from the date in the subsequent row&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;(SomeDate + -1 * INTERVAL &#39;1 day&#39; )&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px; line-height: 16.25px;&quot;&gt;We are using &lt;/span&gt;&lt;span style=&quot;background-color: white; color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px; line-height: 16.25px;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px; line-height: 16.25px;&quot;&gt; as the offset since we want to apply this to the next row. Finally if there is no subsequent row, we want to use the date 9999-12-31 instead of NULL&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px; line-height: 16.25px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px; line-height: 16.25px;&quot;&gt;To do the running count, we will do the following&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px; line-height: 16.25px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;SUM(Charge) OVER (PARTITION BY id ORDER BY SomeDate&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AS RunningTotal&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;What this means in English is for each id ordered by date, sum up the charge values for the rows between the preceding rows and the current row. Here is what all that stuff means.&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;ROWS BETWEEN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;Specifies the rows that make up the range to use as implied by&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;UNBOUNDED PRECEDING&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;Specifies that the window starts at the first row of the partition. UNBOUNDED PRECEDING can only be specified as window starting point.&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;CURRENT ROW&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;Specifies that the window starts or ends at the current row when used with ROWS or the current value when used with RANGE.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;CURRENT ROW can be specified as both a starting and ending point.&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;And here is the query&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;br /&gt;
&lt;div style=&quot;background: rgb(255, 255, 255); border: solid gray; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; id, someDate &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; StartDate,
LEAD((SomeDate + -&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 day&#39;&lt;/span&gt; ),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;99991231&#39;&lt;/span&gt;)
 OVER (PARTITION &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BY&lt;/span&gt; id &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ORDER&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BY&lt;/span&gt; SomeDate) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Enddate,
  Charge,
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SUM&lt;/span&gt;(Charge) OVER (PARTITION &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BY&lt;/span&gt; id &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ORDER&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BY&lt;/span&gt; SomeDate 
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ROWS&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BETWEEN&lt;/span&gt; UNBOUNDED PRECEDING &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AND&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CURRENT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ROW&lt;/span&gt;) 
          &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AS&lt;/span&gt; RunningTotal
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; test
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ORDER&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BY&lt;/span&gt; id, SomeDate&lt;/pre&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;br style=&quot;background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;&quot; /&gt;
&lt;span style=&quot;background-color: white; color: #444444; font-family: &amp;quot;arial&amp;quot; , &amp;quot;tahoma&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;freesans&amp;quot; , sans-serif; font-size: 13px;&quot;&gt;And running that query, gives us the running count as well as the end dates&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: white; color: #444444; font-size: 13px;&quot;&gt;id StartDate Enddate         Charge         RunningTotal
1 2012-01-01 2012-03-31 1000.0000000000 1000.0000000000
1 2012-04-01 2012-04-30 200.0000000000 1200.0000000000
1 2012-05-01 2012-05-31 300.0000000000 1500.0000000000
1 2012-06-01 9999-12-31 600.0000000000 2100.0000000000
2 2012-01-01 2011-12-31 100.0000000000 100.0000000000
2 2012-01-01 2011-13-31 500.0000000000 600.0000000000
2 2012-01-01 9999-12-31 -800.0000000000 -200.0000000000
3 2012-01-01 9999-12-31 100.0000000000 100.0000000000
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is what it looks like if you execute the query in PGAdmin&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgno8qxz_ckeP31Lg7cr_lOWVB2CfsqPZeBZUxtUlhkrwHF1DdG3-UQleLHNAYP5G2jUWXymcq9YaU-ylDDJr3-9A2i3H8ivqYjMAm3d1xKn-MdRUE04msM7mQCVrPFDm9atV0pHa50ANY/s1600/PGadminOutput.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;586&quot; data-original-width=&quot;754&quot; height=&quot;496&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgno8qxz_ckeP31Lg7cr_lOWVB2CfsqPZeBZUxtUlhkrwHF1DdG3-UQleLHNAYP5G2jUWXymcq9YaU-ylDDJr3-9A2i3H8ivqYjMAm3d1xKn-MdRUE04msM7mQCVrPFDm9atV0pHa50ANY/s640/PGadminOutput.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
If you don&#39;t want the last row to have the end date filled in, just omit the default value in the LEAD function. Instead of&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: white; color: #333333; font-size: 13px; line-height: 16.25px;&quot;&gt;LEAD((SomeDate + -&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 day&#39;&lt;/span&gt; ),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;,&lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;99991231&#39;&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; color: #333333; font-size: 13px; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
Make it&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: white; color: #333333; font-size: 13px; line-height: 16.25px;&quot;&gt;LEAD((SomeDate + -&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 day&#39;&lt;/span&gt; ),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;)&lt;/pre&gt;
&lt;br /&gt;
Here is the whole query again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;div style=&quot;background: rgb(255, 255, 255); border: solid gray; color: #444444; font-family: arial, tahoma, helvetica, freesans, sans-serif; font-size: 13px; overflow: auto; padding: 0.2em 0.6em; white-space: normal; width: auto;&quot;&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; id, someDate &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; StartDate,
LEAD((SomeDate + -&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt; * &lt;span style=&quot;color: #007020;&quot;&gt;INTERVAL&lt;/span&gt; &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1 day&#39;&lt;/span&gt; ),&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;)
 OVER (PARTITION &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BY&lt;/span&gt; id &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ORDER&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BY&lt;/span&gt; SomeDate) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Enddate,
  Charge,
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SUM&lt;/span&gt;(Charge) OVER (PARTITION &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BY&lt;/span&gt; id &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ORDER&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BY&lt;/span&gt; SomeDate 
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ROWS&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BETWEEN&lt;/span&gt; UNBOUNDED PRECEDING &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AND&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;CURRENT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ROW&lt;/span&gt;) 
          &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;AS&lt;/span&gt; RunningTotal
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; test
  &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ORDER&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;BY&lt;/span&gt; id, SomeDate&lt;/pre&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; white-space: normal;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; white-space: normal;&quot;&gt;
And here is what the output looks like after we made the change&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; white-space: normal;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1wYMnMzb76sLuXizPcTXfStvZDkkWizeCbCGQatDcCW2OmXEnbIimKN8R85ZhzoYLPvUWM2spNpkHddJQsyuq-USkHEFIq6Z7xgxRK68BZ2WkAU8zgbLLuaXcJr2udn2-sPQX4XUEFy0/s1600/PGadminOutput2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;524&quot; data-original-width=&quot;706&quot; height=&quot;474&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1wYMnMzb76sLuXizPcTXfStvZDkkWizeCbCGQatDcCW2OmXEnbIimKN8R85ZhzoYLPvUWM2spNpkHddJQsyuq-USkHEFIq6Z7xgxRK68BZ2WkAU8zgbLLuaXcJr2udn2-sPQX4XUEFy0/s640/PGadminOutput2.PNG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; white-space: normal;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; white-space: normal;&quot;&gt;
As you can see the rows for an id that doesn&#39;t have a row with a date greater than the current date will have a null end date&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; white-space: normal;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; white-space: normal;&quot;&gt;
That is all for this post&lt;/div&gt;
&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/312798504613240048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/312798504613240048' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/312798504613240048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/312798504613240048'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2018/11/easy-running-totals-with-windowing.html' title='Easy running totals with windowing functions in PostgreSQL'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLvNUhZFSt8SQwuufvEsSNv32W6qFuDMjVohjFFa4cfk763S5UIY7eMADMloMfcvGpC_rpKrZH7PASVq8lB2x_BxXeE00Fbi_UZchEEMiJ6QYy7Ov3Q-EYyi9uKSC3ci9INxerH3o8Q4/s72-c/PostgreSQLBanner.gif" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-1065770928499647595</id><published>2018-11-23T11:43:00.002-08:00</published><updated>2019-02-16T08:07:17.898-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="math"/><category scheme="http://www.blogger.com/atom/ns#" term="PostgreSQL"/><title type='text'>Happy Fibonacci day, here is how to generate a Fibonacci sequence in PostgreSQL </title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioUZMTOpXhGPLeUMARDBuAspp7t4M4EWayYMSZL6HlOV_aPODQae2eCuGCi6o033C9J4oupBXBJAMtMT2WZf_ixFAyI_ONWeo9FITp-L52l9XNol9kewbt46JF662znus0xoy5Lj4xYLQ/s1600/Fibonacci.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;412&quot; data-original-width=&quot;659&quot; height=&quot;250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioUZMTOpXhGPLeUMARDBuAspp7t4M4EWayYMSZL6HlOV_aPODQae2eCuGCi6o033C9J4oupBXBJAMtMT2WZf_ixFAyI_ONWeo9FITp-L52l9XNol9kewbt46JF662znus0xoy5Lj4xYLQ/s400/Fibonacci.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Image by&amp;nbsp;&lt;a href=&quot;https://commons.wikimedia.org/wiki/User:Jahobr&quot; title=&quot;User:Jahobr&quot;&gt;Jahobr&lt;/a&gt; - &lt;span class=&quot;int-own-work&quot; lang=&quot;en&quot;&gt;Own work&lt;/span&gt;, &lt;a href=&quot;http://creativecommons.org/publicdomain/zero/1.0/deed.en&quot; title=&quot;Creative Commons Zero, Public Domain Dedication&quot;&gt;CC0&lt;/a&gt;, &lt;a href=&quot;https://commons.wikimedia.org/w/index.php?curid=58460223&quot;&gt;Link&lt;/a&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since today is Fibonacci day I decided to to a short post about how to do generate a&amp;nbsp;Fibonacci sequence in PostgreSQL. But first let&#39;s take a look at what a&amp;nbsp;Fibonacci sequence actually is.&lt;br /&gt;
&lt;br /&gt;
In mathematics, the Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and characterized by the fact that every number after the first two is the sum of the two preceding ones:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;1, 1, 2, 3, 5, 8, 13, 21, 34, ...&lt;br /&gt;
&lt;br /&gt;
Often, especially in modern usage, the sequence is extended by one more initial term:&lt;br /&gt;
&lt;br /&gt;
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...&lt;br /&gt;
&lt;br /&gt;
November 23 is celebrated as Fibonacci day because when the date is written in the mm/dd format (11/23), the digits in the date form a Fibonacci sequence: 1,1,2,3.&lt;br /&gt;
&lt;br /&gt;
So here is how you can generate a Fibonacci sequence in PostgreSQL, you can do it by using s recursive table expression.&amp;nbsp; Here is what it looks like if you wanted to generate&amp;nbsp;the Fibonacci sequence to up to a value of 1 million&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WITH&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;RECURSIVE&lt;/span&gt; Fibonacci (Prev, &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;Next&lt;/span&gt;) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt;
(
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;UNION&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ALL&lt;/span&gt;
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;Next&lt;/span&gt;, Prev + &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;Next&lt;/span&gt;
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; Fibonacci
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;Next&lt;/span&gt; &amp;lt; &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1000000&lt;/span&gt;
)
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; Prev &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Fibonacci
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; Fibonacci
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; Prev &amp;lt; &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1000000&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
That will generate a Fibonacci sequence that starts with 0 if you need the Fibonacci sequence to start at 1, all you have to do is replace the 1 to 0 in the first select statement&lt;br /&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;&lt;pre style=&quot;line-height: 16.25px;&quot;&gt;;&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WITH&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;RECURSIVE&lt;/span&gt; Fibonacci (Prev, &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;Next&lt;/span&gt;) &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt;
(
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1&lt;/span&gt;
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;UNION&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;ALL&lt;/span&gt;
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;Next&lt;/span&gt;, Prev + &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;Next&lt;/span&gt;
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; Fibonacci
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;Next&lt;/span&gt; &amp;lt; &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1000000&lt;/span&gt;
)
&lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;SELECT&lt;/span&gt; Prev &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;as&lt;/span&gt; Fibonacci
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;FROM&lt;/span&gt; Fibonacci
     &lt;span style=&quot;color: #008800; font-weight: bold;&quot;&gt;WHERE&lt;/span&gt; Prev &amp;lt; &lt;span style=&quot;color: #0000dd; font-weight: bold;&quot;&gt;1000000&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;/pre&gt;
&lt;pre style=&quot;color: #333333; line-height: 16.25px;&quot;&gt;&lt;/pre&gt;
&lt;br /&gt;
Here is what it looks like in PGAdmin when you run the query&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyPIKhaDxpmOs9ztSIstEOr06XhmBSmCxKezLzNaPTiNR16RcOmgySrm_z_fLwb_UIQSpBrWSPzVX87n5OQ-diC1axePSrIonzXd1iSxvqA7r_NzUFWa6hQMwMuqPRVxuMOCgrC1xNZow/s1600/FibonacciPGAdminSOutput.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1080&quot; data-original-width=&quot;968&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyPIKhaDxpmOs9ztSIstEOr06XhmBSmCxKezLzNaPTiNR16RcOmgySrm_z_fLwb_UIQSpBrWSPzVX87n5OQ-diC1axePSrIonzXd1iSxvqA7r_NzUFWa6hQMwMuqPRVxuMOCgrC1xNZow/s640/FibonacciPGAdminSOutput.PNG&quot; width=&quot;572&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Happy Fibonacci day!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is pretty much the same post that I created for SQL Server: &lt;a href=&quot;https://sqlservercode.blogspot.com/2018/11/happy-fibonacci-day-here-is-how-to.html&quot;&gt;Happy Fibonacci day, here is how to generate a Fibonacci sequence in SQL &lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/1065770928499647595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/1065770928499647595' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1065770928499647595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1065770928499647595'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2018/11/happy-fibonacci-day-here-is-how-to.html' title='Happy Fibonacci day, here is how to generate a Fibonacci sequence in PostgreSQL '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioUZMTOpXhGPLeUMARDBuAspp7t4M4EWayYMSZL6HlOV_aPODQae2eCuGCi6o033C9J4oupBXBJAMtMT2WZf_ixFAyI_ONWeo9FITp-L52l9XNol9kewbt46JF662znus0xoy5Lj4xYLQ/s72-c/Fibonacci.PNG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-614774449891686881.post-1969841385441691393</id><published>2018-11-20T10:08:00.001-08:00</published><updated>2018-11-22T07:13:41.839-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="non-technical"/><title type='text'>This brought back memories</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7tpdrMaRx8L_TEorjVWr3U9lgfvH-ZXpmli1vjokCYNmA60hFsvFNrYcW6msJYHfsmrlWnvNbKimu6Qt83kxTSnstBcZ0J6JL5Jxi64-vqSTinftlY1HG_o7yKjKw5lOO8vvns7JHzfE/s1600/IMG_1799.JPG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7tpdrMaRx8L_TEorjVWr3U9lgfvH-ZXpmli1vjokCYNmA60hFsvFNrYcW6msJYHfsmrlWnvNbKimu6Qt83kxTSnstBcZ0J6JL5Jxi64-vqSTinftlY1HG_o7yKjKw5lOO8vvns7JHzfE/s320/IMG_1799.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
The other day I walked past the building in the picture above and
I felt a little sad. The reason I felt sad is because I have great memories
about this building. When I first came to the US from the Netherlands I was
amazed at how big this store was and how they had so many things on display. In
Amsterdam where I arrived from, you didn’t really have a store like this. The
story was named J&amp;amp;R, there was a J&amp;amp;R Music World store and a J&amp;amp;R
Computer World store. J&amp;amp;R stands for the founders Joe and Rachelle Friedman.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
There were several items I bought at this store&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The first camera I ever owned I bought in this place, it was
a Minolta but I don’t remember the model. I later sold the camera because a
co-worker needed the camera while he went on vacation to Equador. So I only had
it for 2 or 3 months.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A couple of years later I replaced that camera with a Canon
50E &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;I think this Canon camera might have
also been known as an Elan. The E in the model name stands for eye-control,
this was an enhanced version of the 3-zone eye-controlled autofocus system that
was first seen on the EOS 5 camera. This was very high tech back then.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ8HHglsviY2AM3LL_GSZK9GkfDxSC61RTeEOp3O3v4YDxvffXcm1CbyudeiEqITM2vWNNQlHDD118Q9hThVMPAiq7NE1ZkWXM3KGwQiodZeUqh-UyrXJD2IKI5c8TVXLNP4lqn7GYgMc/s1600/50e.PNG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ8HHglsviY2AM3LL_GSZK9GkfDxSC61RTeEOp3O3v4YDxvffXcm1CbyudeiEqITM2vWNNQlHDD118Q9hThVMPAiq7NE1ZkWXM3KGwQiodZeUqh-UyrXJD2IKI5c8TVXLNP4lqn7GYgMc/s400/50e.PNG&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Another item that I have fond memories about was the first
MP3 player that I purchased; It was the first MP3 player that was available to
buy. It was the Rio PMP-300 portable MP3 player. I believe it was around $200
and you could hold about 10 songs or so since it only came with 32 MB of memory.
You could store more songs if you inserted a smartmedia card. But even then you
could not store hundreds of songs. I remember encoding the songs in WMA 64k
format so I could store even more songs…… lol&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;
&lt;/span&gt;1&lt;sup&gt;st&lt;/sup&gt; world problems.&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVHtvFNPKrNx7haQsXIkdVFD6qowhfNwvOdjCmCxyaFW1mIy8Tx2uvtHsSrOAHoTsffxGCdNYWQe3lLykgAMa-daMmcZcNKCtMEyVoLpeUNrTdKTLfaS7AZ1-4DRFUkFk1GcEAcW2b5Zw/s1600/rio.PNG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVHtvFNPKrNx7haQsXIkdVFD6qowhfNwvOdjCmCxyaFW1mIy8Tx2uvtHsSrOAHoTsffxGCdNYWQe3lLykgAMa-daMmcZcNKCtMEyVoLpeUNrTdKTLfaS7AZ1-4DRFUkFk1GcEAcW2b5Zw/s400/rio.PNG&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I bought many other things at J&amp;amp;R like camera lenses, filters for the camera, a tripod, RAM to upgrade the PC, I even purchased Plus! lol&amp;nbsp; Plus had themes and utilities for Windows&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpxbD4x0PYtn4LECfKZ446ITXpW4J6JesQcmpLJKmlOkaYfc46oO19OpHWDv4ngbDzpP6wtsiG9iZUFS4zdC5oMAu2m-GJSE0aboJLWlquQCndJaauISxN-9cAeYYM__RBvHue7_fcVWg/s1600/plus.PNG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpxbD4x0PYtn4LECfKZ446ITXpW4J6JesQcmpLJKmlOkaYfc46oO19OpHWDv4ngbDzpP6wtsiG9iZUFS4zdC5oMAu2m-GJSE0aboJLWlquQCndJaauISxN-9cAeYYM__RBvHue7_fcVWg/s200/plus.PNG&quot; width=&quot;163&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The nice thing about J&amp;amp;R was that they had prices unlike
42 street photo or whatever those stores were called where you had to negotiate
the price. Also unlike at the Nobody Beats The Wiz store, they did not try to
sell you insurance with every item you bought.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
These days I guess you would have to go to B&amp;amp;H to get a&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;similar experience, just be aware that they
are not open on Saturdays.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://denisgobo.blogspot.com/feeds/1969841385441691393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/614774449891686881/1969841385441691393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1969841385441691393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/614774449891686881/posts/default/1969841385441691393'/><link rel='alternate' type='text/html' href='http://denisgobo.blogspot.com/2018/11/this-brought-back-memories.html' title='This brought back memories'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7tpdrMaRx8L_TEorjVWr3U9lgfvH-ZXpmli1vjokCYNmA60hFsvFNrYcW6msJYHfsmrlWnvNbKimu6Qt83kxTSnstBcZ0J6JL5Jxi64-vqSTinftlY1HG_o7yKjKw5lOO8vvns7JHzfE/s72-c/IMG_1799.JPG" height="72" width="72"/><thr:total>0</thr:total></entry></feed>