PageSourceSearch

https://techsparx.com/lifestyle/international/news-info.html

html techsparx.com collected 2026-10-03 19:28:18 UTC 34,333 bytes, 566 lines download raw bytes

1<!DOCTYPE >
2<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
3<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
4<!--[if IE 7]>    <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
5<!--[if IE 8]>    <html class="no-js lt-ie9" lang="en"> <![endif]-->
6<!-- Consider adding a manifest.appcache: h5bp.com/d/Offline -->
7<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
8<head>
9<meta charset="utf-8"></meta>
10<!-- Use the .htaccess and remove these lines to avoid edge case issues. More info: h5bp.com/i/378 -->
11<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"></meta>
12<meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
13
14
15
16
17
18<title>Tips for reading international news &amp; social media to be informed about the world</title>
19
20
21
22
23
24 
25 
26 
27 
28
29
30
31
32
33
34
35
36
37
38
39
40
41<meta name="pagename" content="Tips for reading international news &amp; social media to be informed about the world"></meta>
42
43
44
45
46
47
48
49
50
51
52
53<meta name="DC.title" content="Tips for reading international news &amp; social media to be informed about the world"></meta>
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68<!-- OpenGraph Meta Tags -->
69
70<meta name="og:title" content="Tips for reading international news &amp; social media to be informed about the world"></meta>
71
72<meta name="og:url" content="https://techsparx.com/lifestyle/international/news-info.html"></meta>
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107<link rel="canonical" href="https://techsparx.com/lifestyle/international/news-info.html"></link>
108
109
110<link rel="sitemap" type="application/xml" href="../../sitemap.xml" title="Sitemap"></link>
111
112
113
114
115
116
117
118
119
120<link rel="stylesheet" type="text/css" href="../../vendor/@akashacms/diagrams-maker/style.css"></link><link rel="stylesheet" type="text/css" href="../../akasha/epub-website/style.css"></link><link rel="stylesheet" type="text/css" href="../../vendor/bootstrap/css/bootstrap.min.css"></link><link rel="stylesheet" type="text/css" href="../../vendor/bootswatch-litera.css"></link><link rel="stylesheet" type="text/css" href="../../style.css"></link><link rel="stylesheet" type="text/css" href="../../vendor/highlight.js/styles/tomorrow-night-blue.css"></link><link rel="stylesheet" type="text/css" href="../../vendor/fontawesome-free/css/all.min.css"></link>
121
122
123
124<link rel="alternate" type="application/rss+xml" href="../../ALL.xml"></link>
125<link rel="alternate" type="application/rss+xml" href="../../blog/rss.xml"></link>
126<link rel="alternate" type="application/rss+xml" href="../../doctor-who/rss.xml"></link>
127<link rel="alternate" type="application/rss+xml" href="../../nodejs/rss.xml"></link>
128
129<!-- Propeller Ads -->
130<meta name="propeller" content="0e6c4d6a2c29fc6abe531d0387b45dd5"></meta>
131<meta name="og:image" content="https://techsparx.com/lifestyle/international/img/international-news.jpg"></meta><meta name="og:image" content="https://techsparx.com/lifestyle/international/img/google-languages.png"></meta><meta name="og:image" content="https://techsparx.com/lifestyle/international/img/google-language-selector.png"></meta><meta name="og:image" content="https://techsparx.com/lifestyle/international/img/chrome-extensions.png"></meta><meta name="og:image" content="https://techsparx.com/lifestyle/international/img/google-translate-transnistria.png"></meta><meta name="og:image" content="https://techsparx.com/img/headshot-new.jpg"></meta><meta name="og:image" content="https://techsparx.com/imgz/udemy/39197_1387.png"></meta><meta name="og:image" content="https://techsparx.com/imgz/udemy/39197_7119.png"></meta><meta name="og:image" content="https://techsparx.com/imgz/a2hosting/468x60.jpg"></meta><meta name="og:image" content="https://techsparx.com/imgz/a2hosting/1d7c1fc2.png"></meta></head>
132<body>
133
134<div class="container-fluid" role="main">
135<nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top" role="navigation">
136    <a class="navbar-brand" href="../../index.html">
137      <img style="height: 50px;" id="site-logo-image" src="../../logo.jpg" title="TechSparx News"></img>
138    </a>
139
140    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#techsparx-navbar-collapse-1" aria-controls="techsparx-navbar-collapse-1" aria-expanded="false" aria-label="Toggle navigation">
141      <span class="navbar-toggler-icon"></span>
142    </button>
143
144    <div class="collapse navbar-collapse" id="techsparx-navbar-collapse-1">
145      <ul class="navbar-nav mr-auto">
146        <li class="nav-item dropdown">
147          <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Blog <span class="caret"></span></a>
148          <div class="dropdown-menu">
149            <a class="dropdown-item" href="../../blog/index.html">News</a>
150            <a class="dropdown-item" href="../../doctor-who/index.html">Doctor Who</a>
151          </div>
152        </li>
153        <li class="nav-item dropdown">
154          <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Computers <span class="caret"></span></a>
155          <div class="dropdown-menu">
156            <a class="dropdown-item" href="../../homelab/index.html">Homelab self-hosted services</a>
157            <a class="dropdown-item" href="../../chromebooks/index.html">Chromebooks</a>
158            <a class="dropdown-item" href="../../computer-hardware/index.html">Hardware</a>
159            <a class="dropdown-item" href="../../computer-hardware/apple/index.html">Apple</a>
160            <a class="dropdown-item" href="../../computer-hardware/arduino/index.html">Arduino</a>
161            <a class="dropdown-item" href="../../linux-sbc/index.html">Linux SBC's</a>
162            <a class="dropdown-item" href="../../linux/index.html">Linux</a>
163          </div>
164        </li>
165        <li class="nav-item dropdown">
166          <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Privacy <span class="caret"></span></a>
167          <div class="dropdown-menu">
168            <a class="dropdown-item" href="../../social-media-warfare/index.html">Social Media Warfare</a>
169            <a class="dropdown-item" href="../../spying/index.html">Spying</a>
170          </div>
171        </li>
172        <li class="nav-item dropdown">
173          <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Software Development <span class="caret"></span></a>
174          <div class="dropdown-menu">
175            <a class="dropdown-item" href="../../software-development/spring/index.html">Spring</a>
176            <a class="dropdown-item" href="../../software-development/docker/index.html">Docker</a>
177            <a class="dropdown-item" href="../../software-development/aws/index.html">AWS</a>
178            <a class="dropdown-item" href="../../software-development/serverless-computing/index.html">Serverless</a>
179            <a class="dropdown-item" href="../../nodejs/index.html">Node.js</a>
180          </div>
181        </li>
182        <li class="nav-item dropdown">
183          <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Catalog <span class="caret"></span></a>
184          <div class="dropdown-menu">
185            <a class="dropdown-item" href="../../nodejs/learning/products.html">Learn Node.js Programming</a>
186            <a class="dropdown-item" href="../../software-development/docker/learning.html">Learn Docker</a>
187            <a class="dropdown-item" href="../../computer-hardware/arduino/products.html">Arduino</a>
188            <a class="dropdown-item" href="../../linux-sbc/raspberry-pi/products.html">Raspberry Pi</a>
189          </div>
190        </li>
191        <li>
192        <a href="../../about.html" class="nav-link">About</a>
193        </li>
194      </ul>
195      <form method="get" id="cse-search-box" class="form-inline my-2 my-lg-0" role="search" action="https://duckduckgo.com/">
196        <input type="hidden" name="sites" value="techsparx.com"></input>
197        <input type="hidden" name="k7" value="#ffffff"></input>
198        <input type="hidden" name="k8" value="#222222"></input>
199        <input type="hidden" name="k9" value="#00278e"></input>
200        <input type="hidden" name="kx" value="#20692b"></input>
201        <input type="hidden" name="kj" value="#fafafa"></input>
202        <input type="hidden" name="kt" value="p"></input>
203        <div class="form-group">
204            <input type="text" name="q" placeholder="Search TechSparx.com" aria-label="Search techsparx.com on DuckDuckGo"></input>
205        </div>
206        <button class="btn btn-outline-success mb-2" type="submit">Search</button>
207     </form>
208
209      <!-- <form action="//www.google.com" id="cse-search-box" class="form-inline my-2 my-lg-0" role="search">
210        <input type="hidden" name="cx" value="partner-pub-2401070691062219:9544629023" />
211        <input type="hidden" name="ie" value="UTF-8" />
212        <div class="form-group">
213          <input type="text" class="form-control" placeholder="Search" name="q"  />
214        </div>
215        <button type="submit" name="sa" value="Search" class="btn btn-outline-success mb-2">Submit</button>
216        
216<script type="text/javascript" src="//www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en"></script>
216
217      </form> -->
218
219    </div>
220
221</nav>
222
223
224<div class="row">
225  <!-- include our document's content -->
226  <article class="col-md-9">
227
228    <div class="article-heading">
229        <h1 class="article-title" align="center">Tips for reading international news &amp; social media to be informed about the world
230    </h1></div>
231
232    <div class="article-body">
233        
234      <div id="breadcrumbTrail">
235    
236        » <a class="p-category" href="../../index.html">TechSparx</a>
237    
238        » <a class="p-category" href="../index.html">Living and Breathing in the modern world</a>
239    
240        » <a class="p-category" href="index.html">International living</a>
241    
242        » <a class="p-category" href="news-info.html">Tips for reading international news &amp; social media to be informed about the world</a>
243    
244</div>
245
246      <p><small><div class="author-byline" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
247By <span itemprop="name" class="author-name-wrapper">
248               <img class="akashacms-external-links-favicon opengraph-no-promote" src="https://www.google.com/s2/favicons?domain=davidherron.com" style="display: inline-block; padding-right: 2px;" alt="(davidherron.com)"></img>
249               <a href="https://davidherron.com" rel="author" itemprop="url" target="_blank">David Herron</a></span>
250</div>;
251    Date: Tue May 03 2022
252
253</small></p>
254      <p>Tags: <span class="taglist">
255        <a style="padding: 5px;" class="taglink-header p-category" href="../../tags/international-news.html">International News</a> »»»»
256    
257        <a style="padding: 5px;" class="taglink-header p-category" href="../../tags/social-media.html">Social Media</a> »»»»
258    
259        <a style="padding: 5px;" class="taglink-header p-category" href="../../tags/language-translation.html">Language Translation</a> »»»»
260    
261        <a style="padding: 5px;" class="taglink-header p-category" href="../../tags/google-translate.html">Google Translate</a> »»»»
262    </span></p>
263      <p><strong>We are firmly in the future, and can read news or social media posts from anywhere.  Automatic language translation means language differences are no longer a barrier.  With a few searches we can read any news, or interact with people, from around the world.  We do not have to trust our local news media is presenting the news correctly.  With a few simple techniques we can quickly learn opinions of people in other countries, in their own language.
264</strong></p>
265
266        
267        
268    <figure>
269        
270            <img src="img/international-news.jpg" class="heropicture"></img>
271        
272        
273        
274    </figure>
275
276
277        
278        <div class="mx-auto">
279        <div id="ezoic-pub-ad-placeholder-102">
280        </div>
281    </div>
282
283      <p>Just a few years ago learning what people said on the other side of the world meant long distance traveling, and learning many languages.  Not everyone has time for international travel, nor for learning foreign languages.  That created a barrier of us-versus-them making it easier to see those people over there as an enemy.</p>
284<p>Sometimes there is a pressing need to learn about events in far-away places.</p>
285<p>Today there is a war between Russia and Ukraine.  The news from there is excruciatingly horrid, with war crimes galore, and indications that Ukraine will eventually win the war against all odds.  But, is the story told to us by CNN, Fox News, The NY Times, the BBC, Deutsche Welle, and the like, at all accurate?  What if our local news media is presenting to us a slanted story?  What I've found is the news media in Ukraine, Romania, Moldova, Poland, Bulgaria, and even Russia, are presenting a local outlook on this war.  Reading those sources give us a different point of view.  Likewise, social media written by citizens of those countries are in their native language.  Those postings will be invisible if we search social media only in our language, and using search phrases from those other languages gives access to a whole universe of other social media posts.</p>
286<p>In other words, reading the news or social media posts from that place tells us a different story.  The story from Ukraine or neighboring countries is much more connected to the reality on the ground, and the actual history, than is the western media.</p>
287<p>Humans around the world risk being trapped in information silos shaped by their local news media, and the language they speak.  An information silo refers to an inability to freely communicate with others.</p>
288<p>It is our local news media, in our native language, which are the easiest-to-use sources of information.  That makes living in an information silo the easy path.</p>
289<p>This war in Ukraine is one of those times where we must learn what's actually happening in that area, and why.  We are being asked to support actions like economic warfare, or physical warfare, some of which are risking nuclear weapon use.  We had better understand what's going on.</p>
290<p>In the future there will be another event demanding our attention, for which the stakes are high.  The Internet can bring us news and other contact from anywhere.  If we only use the internet to read our local news, or limit ourselves to our native language, then how can we learn about those important events elsewhere?</p>
291<p>We can use the internet to break out of the information silos, by finding news outlets in other countries, and using language translation to read news articles or social media posts in their languages.  Language translation can also help us to create foreign-language search phrases to find the most relevant information in their languages.</p>
292<p>For example, a few years ago I wanted to learn about plans to frack for natural gas in Romania.  There were intense anti-fracking protests in a small town (Pungesti) in Vaslui County, Romania.  No news media in America were covering these protests.  But, once I learned the correct phrases to use, like "<em>gazelor de şist</em>" (natural gas from shale), I was able to read relevant articles in the Romanian press.</p>
293<p>I've been using these techniques, which rely on Google services, for almost 10 years.  I keep up with Romanian news, and with this war between Russia and Ukraine I've started reading the news in those countries.  I know nothing about the Ukrainian or Ru
293ssian languages, but have been able to read good translations in my web browser with ease.</p>
294<p>An issue is these techniques work only for text.  I don't know of anything for live translation of spoken audio/video.  We could easily search YouTube or other video platforms for foreign language video, but be unable to understand what's being said.</p>
295<h1>Using Google News to browse international news</h1>
296<p>Google News indexes news websites from most countries in the world.  In a few cases, specific countries have demanded that Google not do this, but that is the exception and most countries have their news indexed in Google News.  Hence, it is a valuable tool for exploring the news from everywhere (almost).  But, the default is that Google News places you in the information silo of your country and language.  But, with a couple easy steps we can view the news of any supported country, often in its native language.</p>
297<p>Head to <code>news.google.com</code> and by default you'll see it in your native language, showing news sources from your country.  On the left hand side of the screen is a navigation area listing news categories.  Below that is this:</p>
298<p><figure>
299        
300        <img src="img/google-languages.png"></img>
301        
302        
303            <figcaption>Google News language selection -- source Google</figcaption>
304        
305</figure>
306</p>
307<p>This button shows the selected language and region.  As an American, I see information in US English, from the United States of America.</p>
308<p>Because I'm interested in Romania, and the status of the Ukraine war, I switch this to view Romanian, Ukrainian or Russian news from time-to-time.  To make this easier, I have browser bookmarks for Google News in each country.</p>
309<p>To switch things around, click on that button and the following selector window pops up.</p>
310<p><figure>
311        
312        <img src="img/google-language-selector.png"></img>
313        
314        
315            <figcaption>Google News language selector - source Google</figcaption>
316        
317</figure>
318</p>
319<p>Simply scroll down to find the language/region choice you prefer.  Notice that Google does not offer this service for all language/region choices.  Also, notice that in many cases the language and region is written in the script for the language.  To correctly choose, you'll need to independently verify how to spell languages and country names in other scripts.</p>
320<p>In this case, the fourth choice is Russian language news from Russia.  But, the characters are in Cyrillic because that's the alphabet used natively in Russia.  To interact with folks in other languages, it's useful to learn at least a little of the language.</p>
321<p>Once you've made the choice Google News will instantly show news in the selected language, from the selected country.  Everything will be written in that language, and you might be wondering what use that is.  Proceed to the next section to learn about automatic language translation.</p>
322<h1>Automatically translate foreign languages in your web browser</h1>
323<p>By adding a browser extension, you can enjoy automatic language translation of any text shown by the browser.  I'm most familiar with the Google Translate for Chrome, but I see a similar extension is available for Firefox.  With this extension enabled, any visit to a web page written in a foreign language triggers a suggestion to translate the text.  You can also configure the extension to automatically translate text written in that language.</p>
324<p>This works for reading the news index on Google News, any news website you visit, and other websites.</p>
325<p>To start, let's learn about the <em>Extensions</em> area in the browser.  Most web browsers let us install additional features, often called <em>extensions</em>.</p>
326<p><figure>
327        
328        <img src="img/chrome-extensions.png"></img>
329        
330        
331            <figcaption>Chrome menu, manage extensions</figcaption>
332        
333</figure>
334</p>
335<p>This gives access to the browser settings page for managing the installed extensions.  This will let you control the installed extensions, turning them on or off, and configuring them.  This page probably does not let you search for extensions available to be installed.  For that purpose visit:</p>
336<ul>
337<li><code>https://addons.mozilla.org</code> -- for Firefox extensions</li>
338<li><code>https://chrome.google.com/webstore</code> -- for Chrome extensions</li>
339</ul>
340<p>In both, searching for <em>Translate</em>
340 will show multiple options.  Once you've found one you like, it's a simple matter to install the extension in your browser.</p>
341<p>I'm using the Google Translate extension.  Google Translate offers translations to and from a huge list of languages.  It is an amazing tool, and the translation quality has been improving every year.</p>
342<p>A side note is that I want to decrease my use of Google services to limit the amount of information I give to Google.  Google News and Google Translate are both excellent services that provide excellent value.  Is there a better alternative?  DuckDuckGo is my preferred search engine, and it has a News area, but it is nowhere as comprehensive as Google News.  For language translation, I sometimes use Reverso, but it supports a much smaller list of languages than Google Translate, and it does not have a browser extension.</p>
343<h1>Using Google Translate to find the correct search phrase</h1>
344<p>So far we've gone over how to find news sources in other countries, and to read the articles in your chosen language.  But, searching for relevant information requires knowing the right phrase in the foreign language.</p>
345<p>One method is to find phrases by by carefully reading foreign language text.  While reading a translated article, you can switch it back to the original language, and then puzzle out which squiggles represent the words for the topic you're interested in.  But, Google Translate gives us another choice for finding search phrases.</p>
346<p>For example, I am currently interested in Transnistria, which is a small "breakaway" section of the Republic of Moldova.  Transnistria is the Romanian name for that territory, but a different name is used in Russia and Ukraine.  Using that name gives a different set of articles and social media posts than if I use the Romanian name for the territory.</p>
347<p><figure>
348        
349        <img src="img/google-translate-transnistria.png"></img>
350        
351        
352            <figcaption>Google Translate for Transnistria</figcaption>
353        
354</figure>
355</p>
356<p>To use this, head to <code>translate.google.com</code> then configure the languages.  Another good choice is <code>https://context.reverso.net/translation/</code>, but it supports a smaller list of languages.  In this case, I configured it to translate from Romanian (<em>transnistria</em>) to Russian (<em>Приднестровье</em>).  Similarly it is easy to find out about "<em>climate change</em>" news in Russia by using "<em>изменение климата</em>" as your search phrase.</p>
357<p>To use it, configure the languages, then simply paste in the text you want to translate.  It's very fast, very simple, and gives Google even more information about your interests.  Is there a better alternative?</p>
358<p>In the right-hand box is the translation of your phrase.  Simply double-click on the phrase, then paste it into a search engine.  You should test how well the translated phrase gives you desired results.  You may need to learn a small amount of the language to adjust the phrase for better results.</p>
359<p>The search phrase should be used in news search engines, regular search engines, and social media searches.</p>
360<h1>Translation built-in to social media websites</h1>
361<p>I've found that the automatic browser translation usually does not work on most social media websites.  However, on Facebook and Twitter there are translation buttons available.  The latter uses Google Translate.  For Telegram, I'm not using the Telegram application but have found a way into Telegram using the website.  While Telegram does not offer translation, browser translation works in the Telegram website view.</p>
362<p>This means you can search the social media network using a phrase provided by Google Translate, then translate the postings using the built-in translation.</p>
363<h1>Summary</h1>
364<p>It's modern times, and even an old guy like me can learn new tricks.  Modern language translation technology gives us the opportunity to know what everyone else in the world is saying.  That's quite a gift to humanity.</p>
365
366      
367
368      <div class="author-bio-block">
369<h3>About the Author(s)</h3>
370
371<a href="https://davidherron.com" target="_blank"><img style="float: right; width: 150px" src="../../img/headshot-new.jpg"></img></a>
372<strong class="author-bio-block-name">
373
374               <img class="akashacms-external-links-favicon opengraph-no-promote" src="https://www.google.com/s2/favicons?domain=davidherron.com" style="display: inline-block; padding-right: 2px;" alt="(davidherron.com)"></img>
375               <a href="https://davidherron.com" target="_blank">David Herron</a>
376</strong>: <span class="author-bio-block-bio">
377David Herron is a writer and software engineer focusing on the wise use of technology.  He is especially interested in clean energy technologies like solar power, wind power, and electric cars.  David worked for nearly 30 years in Silicon Valley on software ranging from electronic mail systems, to video streaming, to the Java programming language, and has published several books on Node.js programming and electric vehicles.
378</span>
379
380</div>
381
382        
383      <div class="btn-group blog-prev-next-wrapper" role="group" aria-label="Next/Previous">
384<a class="btn btn-outline-primary blog-prev-link" href="../../software-development/docker/self-hosting/index.html" role="button">
385<i class="fas fa-angle-double-left fa-3x float-left"></i>
386Self-hosting services using Docker</a>
387<a class="btn btn-outline-primary blog-next-link" href="../../linux/tools/flatpak.html" role="button">
388Why use Flatpak on Linux (Ubuntu), and how to get started
389<i class="fas fa-angle-double-right fa-3x float-right"></i></a>
390</div>
391      <div class="mx-auto">
392        <a href="https://www.a2hosting.com/wordpress-hosting?aid=b39a3569&amp;bid=1d7c1fc2" target="_blank" rel="">
393            <img src="../../imgz/a2hosting/1d7c1fc2.png" alt="" title="" width="468" height="60"></img></a>
394    </div>
395
396<div id="ezoic-pub-ad-placeholder-104">
397</div>
398
399      <!--
400Disabled Disqus
401
402<--div id="disqus_thread"></div-- >
403<--script-- >
404
405/**
406*  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
407*  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
408/* */
409var disqus_config = function () {
410this.page.url = "<%= rendered_url %>";  // Replace PAGE_URL with your page's canonical URL variable
411this.page.identifier = "<%= document.path %>"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
412};
413/* */
414(function() { // DON'T EDIT BELOW THIS LINE
415var d = document, s = d.createElement('script');
416s.src = 'https://techsparx-1.disqus.com/embed.js';
417s.setAttribute('data-timestamp', +new Date());
418(d.head || d.body).appendChild(s);
419})();
420</script-- >
421<--noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript-- >--
422-->
423
424    </div>
425  </article>
426  <section id="right" class="col-md-3">
427      <!-- Ezoic - sidebar - sidebar -->
428<!-- <div id="ezoic-pub-ad-placeholder-106"> </div> -->
429<!-- End Ezoic - sidebar - sidebar -->
430
431    <div class="card" style="width: 100%; text-align: center;">
432    <div class="card-body">
433        <h4 class="card-title">Subscribe via RSS</h4>
434        <a href="../../feeds.html">
435            <img src="../../img/rss_button.gif" align="middle" width="40px"></img>
436        </a>
437    </div>
438</div>
439
440    <!-- <form action="//www.google.com" id="cse-search-box" class="navbar-form navbar-left" role="search">
441  <input type="hidden" name="cx" value="partner-pub-2401070691062219:9544629023" />
442  <input type="hidden" name="ie" value="UTF-8" />
443  <div class="form-group">
444    <input type="text" class="form-control" placeholder="Search" name="q"  />
445  </div>
446  <button type="submit" name="sa" value="Search" class="btn btn-default">Submit</button>
447  
447<script type="text/javascript" src="//www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en"></script>
447
448</form>
449-->
450    
451
452<div>
453
454
455
456<span class="link-to-external-card" style="float: left; width: 100%; padding: 2px; margin: 2px;">
457    <figure>
458        <a href="../../software-development/docker/learning.html#NativeDockerClusteringwithSwarm">
459            <img src="../../imgz/amazon/51piy8ilOHL.jpg" alt="Native Docker Clustering with Swarm" title="Native Docker Clustering with Swarm" style="width: 100%;"></img>
460        </a>
461    </figure>
462</span>
463
464<span class="link-to-external-card" style="float: left; width: 100%; padding: 2px; margin: 2px;">
465    <figure>
466        <a href="../../nodejs/learning/products.html#MasteringNodejs">
467            <img src="../../imgz/amazon/41bhyKrhsCL._SX404_BO1,204,203,200_.jpg" alt="Mastering Node.js - Second Edition: Build robust and scalable real-time server-side web applications efficiently" title="Mastering Node.js - Second Edition: Build robust and scalable real-time server-side web applications efficiently" style="width: 100%;"></img>
468        </a>
469    </figure>
470</span>
471
472<span class="link-to-external-card" style="float: left; width: 100%; padding: 2px; margin: 2px;">
473    <figure>
474        <a href="../../linux-sbc/raspberry-pi/products.html#CanaKitRaspberryPi3Bplus">
475            <img src="../../imgz/amazon/91I2lczz-EL._SL1500_.jpg" alt="CanaKit Raspberry Pi 3 B+ (B Plus) Starter Kit (32 GB EVO+ Edition, Premium Black Case)" title="CanaKit Raspberry Pi 3 B+ (B Plus) Starter Kit (32 GB EVO+ Edition, Premium Black Case)" style="width: 100%;"></img>
476        </a>
477    </figure>
478</span>
479
480<span class="link-to-external-card" style="float: left; width: 100%; padding: 2px; margin: 2px;">
481    <figure>
482        <a href="../../computer-hardware/arduino/products.html#ESUMICLCD4Arduino20x4">
483            <img src="https://images-na.ssl-images-amazon.com/images/I/41-otn46TjL.jpg" alt="ESUMIC LCD Module for Arduino 20 x 4, White on Blue, based on the popular HD44780 controller" title="ESUMIC LCD Module for Arduino 20 x 4, White on Blue, based on the popular HD44780 controller" style="width: 100%;"></img>
484        </a>
485    </figure>
486</span>
487
488<span class="link-to-external-card" style="float: left; width: 100%; padding: 2px; margin: 2px;">
489    <figure>
490        <a href="../geek-gear.html#magic-engineering">
491            <img src="../../imgz/zazzle/funny_geek_and_engineer_t_shirt_its_engineering-r1ebf83fbc0df41e2be04944ec33aa1b8_k2gm8_1024.jpg" alt="People think it's magic, we call it engineering" title="People think it's magic, we call it engineering" style="width: 100%;"></img>
492        </a>
493    </figure>
494</span>
495</div>
496
497      <!-- Ezoic - sidebar - sidebar -->
498<!-- <div id="ezoic-pub-ad-placeholder-106"> </div> -->
499<!-- End Ezoic - sidebar - sidebar -->
500
501    <div>
502
503<a href="https://fave.co/3eo8MDm" rel="" target="_blank">
504<!-- https://images-na.ssl-images-amazon.com/images/I/41SzsmJa9uL.jpg -->
505<img src="../../imgs/amazon/41SzsmJa9uL.jpg" align="center" width="100%" style="max-width: 180px; margin-left: auto; margin-right: auto;"></img>
506</a>
507
508<a href="https://www.amazon.com/dp/B072FRZNPD/ref=as_li_ss_tl?ie=UTF8&amp;linkCode=ll1&amp;tag=thereikipage&amp;linkId=d8d0049c1c18a35cb83f2282297119ec" rel="nofollow noskim" target="_blank">
509    <!-- https://images-na.ssl-images-amazon.com/images/I/510Xc8ieh0L.jpg -->
510    <img src="../../imgz/amazon/510Xc8ieh0L.jpg" align="center" width="100%" style="max-width: 180px; margin-left: auto; margin-right: auto;"></img>
511</a>
512
513<!-- style="max-width: 150px;" -->
514
515<a href="https://www.amazon.com/Asynchronous-Node-js-JavaScript-Promises-Generators-ebook/dp/B01N2Z4SOR/ref=as_li_ss_tl?s=books&amp;ie=UTF8&amp;qid=1498008506&amp;sr=1-2&amp;linkCode=ll1&amp;tag=thereikipage&amp;linkId=1c85526832f99037c925080682f1db36" rel="nofollow noskim" target="_blank">
516    <img src="../../nodejs/img/es-2015-16-17-promises-generators-and-async-await-2-1000.jpg" align="center" width="100%" style="max-width: 180px; margin-left: auto; margin-right: auto;"></img>
517</a>
518
519<a href="https://www.amazon.com/dp/B00WTKDH72/ref=as_li_ss_tl?ie=UTF8&amp;linkCode=ll1&amp;tag=thereikipage&amp;linkId=27adeed4cabfcdcc78a6ce776f8eeae3" rel="nofollow noskim" target="_blank">
520    <img src="../../nodejs/img/create-ebook-cover.jpg" align="center" width="100%" style="max-width: 180px; margin-left: auto; margin-right: auto;"></img>
521</a>
522</div>
523
524    <!-- <a target="_blank" href="http://shareasale.com/r.cfm?b=988648&amp;u=101040&amp;m=41312&amp;urllink=&amp;afftrack="><img src="https://i.shareasale.com/image/41312/btg-pc_250x250.jpg" border="0" alt="BlairTG.com Refurbished Computer Sales" /></a> -->
525    <div class="mx-auto">
526        <div id="ezoic-pub-ad-placeholder-105">
527        </div>
528    </div>
529  </section>
530</div>
531
532<div class="row">
533    <!-- tag-cloud class="col-md-12"/ -->
534</div>
535
536<footer class="row" style="text-align: center; height: 100px;">
537<span class="col-md-8">
538    <a href="../../about.html">About TechSparx</a>
539
540    
541<!-- span class="col-md-3">< %- partial('google-voice.html') %></span -->
542</span></footer>
543
544</div> <!-- container -->
545
546
547<!-- JavaScript at the bottom for fast page loading -->
548
549<script src="../../vendor/jquery/jquery.min.js"></script>
549<script src="../../vendor/popper.js/umd/popper.min.js"></script>
549<script src="../../vendor/bootstrap/js/bootstrap.min.js"></script>
549<script src="../../vendor/highlight.js/lib/highlight.js"></script>
549<script>hljs.initHighlightingOnLoad();</script>
549
550<!-- 
550<script>
vendor: 345 bytes, lines 550-556
550
551  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
552  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
553  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
554  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
555
556  ga('create', '
556UA-96446326-1
vendor: 39 bytes, lines 556-558
556', 'auto');
557  ga('send', 'pageview');
558
559</script>
559
560-->
561<!-- Go to www.addthis.com/dashboard to customize your tools --> 
561<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-594227a34ce36d45"></script>
561 
562
563
564<script type="text/javascript" src="//s.skimresources.com/js/27810X1162539.skimlinks.js"></script>
564
565</body>
566</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.