<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>google &#8211; About Things | A Hans Scharler Blog</title>
	<atom:link href="https://nothans.com/tag/google/feed" rel="self" type="application/rss+xml" />
	<link>https://nothans.com</link>
	<description>Life, Comedy, Games, Tech, Marketing, and Community</description>
	<lastBuildDate>Thu, 20 Nov 2025 16:54:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/cropped-settings.png?fit=32%2C32&#038;ssl=1</url>
	<title>google &#8211; About Things | A Hans Scharler Blog</title>
	<link>https://nothans.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">114568856</site>	<item>
		<title>Google&#8217;s New Antigravity Agentic IDE has a Brain (folder)</title>
		<link>https://nothans.com/google-new-antigravity-has-a-brain</link>
					<comments>https://nothans.com/google-new-antigravity-has-a-brain#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Thu, 20 Nov 2025 16:54:00 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Agentic Coding]]></category>
		<category><![CDATA[Antigravity]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[google]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5248</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>There are many agentic IDE options for software developers. For one, they are all forks of Visual Studio Code, and then they add AI chat and agents based on a set of AI models and harnesses. They also have to manage something called the context window. Most models are paying attention to about 200k tokens, and those tokens cost you extra money. But, if the context window is full of random things, or out-of-date parts of the conversation, or a bunch of error messages. And, when you start a new conversation, the model has to build context to help solve the problem.</p>



<p>The latest agent IDE is called Antigravity by Google. It is based on their top coding model, Gemini 3, and their own agent framework. It is brand new, and people are crushing it with requests; they are making frequent updates and fixing bugs.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="750" height="394" data-attachment-id="5252" data-permalink="https://nothans.com/google-new-antigravity-has-a-brain/image-76" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-9.png?fit=1024%2C538&amp;ssl=1" data-orig-size="1024,538" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Google Antigravity" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-9.png?fit=750%2C394&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-9.png?resize=750%2C394&#038;ssl=1" alt="" class="wp-image-5252" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-9.png?w=1024&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-9.png?resize=300%2C158&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-9.png?resize=768%2C404&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-9.png?resize=750%2C394&amp;ssl=1 750w" sizes="(max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">Google Antigravity</figcaption></figure>
</div>


<p>I noticed when I started a new chat for my project, Antigravity thought about my request and opened a &#8220;brain&#8221; file. It looks to be some markdown that Antigravity is managing as I work on the project. This seems like a smart idea and might be where Google can differentiate itself from the competition.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img data-recalc-dims="1" decoding="async" width="692" height="145" data-attachment-id="5249" data-permalink="https://nothans.com/google-new-antigravity-has-a-brain/image-73" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-6.png?fit=692%2C145&amp;ssl=1" data-orig-size="692,145" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-6.png?fit=692%2C145&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-6.png?resize=692%2C145&#038;ssl=1" alt="" class="wp-image-5249" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-6.png?w=692&amp;ssl=1 692w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/11/image-6.png?resize=300%2C63&amp;ssl=1 300w" sizes="(max-width: 692px) 100vw, 692px" /><figcaption class="wp-element-caption">Antigravity using its brain to help me with agentic coding projects</figcaption></figure>
</div>]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/google-new-antigravity-has-a-brain/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5248</post-id>	</item>
		<item>
		<title>Elephants Wear Fancy Hats to a Party: Google Gemini Advanced Veo 2 Video Generation Model</title>
		<link>https://nothans.com/elephants-wear-fancy-hats-to-a-party-google-gemini-advanced-veo-2-video-generation-model</link>
					<comments>https://nothans.com/elephants-wear-fancy-hats-to-a-party-google-gemini-advanced-veo-2-video-generation-model#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Thu, 01 May 2025 18:28:24 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[GenAI]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Veo 2]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=5112</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>We are in crazy times. AI models are being released at an accelerating rate. An increasing number of people are now using these tools. It&#8217;s moving swiftly, but it&#8217;s also interesting to try out the models and ride the wave.</p>



<p>I typed these words into a text box: <strong><em>Elephants Wear Fancy Hats to a Party</em></strong></p>



<p>This is the video that was produced two minutes later.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe class="youtube-player" width="750" height="422" src="https://www.youtube.com/embed/4anDVi8wTZQ?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
</div><figcaption class="wp-element-caption">Elephants Wear Fancy Hats to a Party: Video by Google Gemini Advanced Veo 2</figcaption></figure>



<p>Try the latest AI models from Google at <a href="https://gemini.google.com/">https://gemini.google.com/</a>.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="436" data-attachment-id="5114" data-permalink="https://nothans.com/elephants-wear-fancy-hats-to-a-party-google-gemini-advanced-veo-2-video-generation-model/image-56" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?fit=2332%2C1354&amp;ssl=1" data-orig-size="2332,1354" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?fit=750%2C436&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?resize=750%2C436&#038;ssl=1" alt="" class="wp-image-5114" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?resize=1024%2C595&amp;ssl=1 1024w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?resize=300%2C174&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?resize=768%2C446&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?resize=1536%2C892&amp;ssl=1 1536w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?resize=2048%2C1189&amp;ssl=1 2048w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?resize=750%2C435&amp;ssl=1 750w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?resize=1320%2C766&amp;ssl=1 1320w, https://i0.wp.com/nothans.com/wp-content/uploads/2025/05/image-1.png?w=2250&amp;ssl=1 2250w" sizes="auto, (max-width: 750px) 100vw, 750px" /></figure>



<p>What are you experimenting with?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/elephants-wear-fancy-hats-to-a-party-google-gemini-advanced-veo-2-video-generation-model/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5112</post-id>	</item>
		<item>
		<title>Top Google Searches (Me, ChatGPT, Fantasy Football, and Arduino?)</title>
		<link>https://nothans.com/top-google-searches-2023</link>
					<comments>https://nothans.com/top-google-searches-2023#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Sun, 15 Oct 2023 15:49:47 +0000</pubDate>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=4103</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>I had a surprise theme this year. I wrote a few posts about ChatGPT and fantasy football as a way to teach some prompt skills to my friends. These posts were <em>very</em> popular.</p>



<p>Here are the top Google search queries that found my blog:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="429" height="660" data-attachment-id="4104" data-permalink="https://nothans.com/top-google-searches-2023/image-4-14" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/10/image-4.png?fit=429%2C660&amp;ssl=1" data-orig-size="429,660" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-4" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/10/image-4.png?fit=429%2C660&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2023/10/image-4.png?resize=429%2C660&#038;ssl=1" alt="" class="wp-image-4104" style="aspect-ratio:0.65;width:429px;height:auto" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2023/10/image-4.png?w=429&amp;ssl=1 429w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/10/image-4.png?resize=195%2C300&amp;ssl=1 195w" sizes="auto, (max-width: 429px) 100vw, 429px" /></figure>
</div>


<p>Based on these results, I think that I should write a whole lot more about me and fantasy football to get some of that SEO juice. The next article is going to be titled &#8220;Hans Scharler on Fantasy Football and ChatGPT using ThingSpeak and Arduino&#8221;. I couldn&#8217;t help myself. I asked ChatGPT to &#8220;write a quick blog post using the title, &#8216;Hans Scharler on Fantasy Football and ChatGPT using ThingSpeak and Arduino&#8217;, and LOL.</p>


<h2 class="wp-block-heading" id="hans-scharler-on-fantasy-football-and-chatgpt-using-thingspeak-and-arduino">Hans Scharler on Fantasy Football and ChatGPT using ThingSpeak and Arduino</h2>


<p><em>Written by ChatGPT</em></p>



<p>In the mesmerizing world of tech innovation, where the realms of sports, artificial intelligence, and DIY electronics collide, we discover an eclectic mix of passion, ingenuity, and foresight. One notable individual striding in this intersection is Hans Scharler, a name synonymous with IoT and connected devices. In a candid conversation, Hans divulges his insights on amalgamating fantasy football, ChatGPT, ThingSpeak, and Arduino to create an unprecedented experience for enthusiasts.</p>


<h3 class="wp-block-heading" id="merging-worlds">Merging Worlds</h3>


<p>Scharler, co-founder of ThingSpeak, an open-source IoT platform, is renowned for his significant contributions to making IoT accessible to enthusiasts and professionals alike. When asked about the marriage between IoT and fantasy football, Hans couldn’t mask his excitement. He is endeavoring to unite these seemingly disparate worlds, leveraging the prowess of OpenAI’s ChatGPT and the versatility of Arduino.</p>


<h3 class="wp-block-heading" id="fantasy-football-meets-ai">Fantasy Football Meets AI</h3>


<p>For the uninitiated, fantasy football is a virtual game where participants assemble imaginary or virtual teams of real players in a professional sport. These teams compete based on the statistical performance of those players in actual games. Scharler’s innovation is in integrating ChatGPT, enabling real-time, intelligent conversations to augment the gaming experience.</p>



<p>With the infusion of ChatGPT, players can engage in intelligent dialogues, seek advice, and get instantaneous, data-driven responses. ChatGPT helps in interpreting complex data, offering insights, and even predicting outcomes based on historical data and current trends.</p>


<h3 class="wp-block-heading" id="thingspeak-and-arduino-the-power-duo">ThingSpeak and Arduino: The Power Duo</h3>


<p>ThingSpeak provides the much-needed platform where data from various sources, including player statistics, team performance, and other dynamic variables, converge. It allows the seamless integration of data, which is then processed and made available for insightful analytics.</p>



<p>Arduino, with its open-source electronics platform, plays a pivotal role in collecting real-time data. Combined with ThingSpeak, it provides a dynamic and real-time data processing capability. Scharler highlighted the ease of connecting sensors and creating interactive dashboards to monitor and analyze data.</p>


<h3 class="wp-block-heading" id="the-future-ahead">The Future Ahead</h3>


<p>As we delved deeper into the conversation, Scharler’s vision became evidently clear. A future where fantasy football is not just a passive experience but an interactive journey. AI, with platforms like ChatGPT, is not just a responsive entity but an interactive, intelligent companion that enhances the engagement level of the game.</p>



<p>In Scharler’s world, every fantasy football enthusiast is equipped with personalized insights, intelligent advice, and predictive analytics—all in real-time. The blend of ThingSpeak and Arduino ensures that this isn’t a distant dream but a tangible reality, waiting to transform the landscape of fantasy football.</p>



<p>The fusion of fantasy football with AI and IoT is a testimony to the limitless possibilities that innovation encapsulates. Hans Scharler is not just a tech enthusiast but a visionary who sees connections where others see chasms. As we concluded our engaging discourse, one thing became glaringly evident: the future of fantasy football is not just intelligent but fantastically interconnected, and it’s unfolding before our very eyes.</p>


<h2 class="wp-block-heading" id="using-dalle-3-beta-to-generate-a-hero-image">Using DALL-E 3 (Beta) to Generate a Hero Image</h2>


<p>After ChatGPT wrote this interesting blog post based on a title, I asked ChatGPT to write an image generation prompt.</p>



<pre class="wp-block-code"><code>Generate an engaging and vibrant visual representation that encapsulates the integration of Fantasy Football, ChatGPT, ThingSpeak, and Arduino, inspired by the innovative insights of Hans Scharler. The image should illustrate the seamless flow of real-time data processing, intelligent AI conversations, and interactive gaming experience. Incorporate elements that symbolize IoT, artificial intelligence, and fantasy football, ensuring each element is distinctly represented yet harmoniously integrated to convey a futuristic, interconnected digital ecosystem.</code></pre>



<p>DALL-E 3 produced four variations of the hero image with the exact prompt that produced it. From here, you can refine and explore options based on the variation that you like.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="737" height="751" data-attachment-id="4109" data-permalink="https://nothans.com/top-google-searches-2023/image-6-11" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/10/image-6.png?fit=737%2C751&amp;ssl=1" data-orig-size="737,751" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-6" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/10/image-6.png?fit=737%2C751&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2023/10/image-6.png?resize=737%2C751&#038;ssl=1" alt="" class="wp-image-4109" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2023/10/image-6.png?w=737&amp;ssl=1 737w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/10/image-6.png?resize=294%2C300&amp;ssl=1 294w" sizes="auto, (max-width: 737px) 100vw, 737px" /></figure>
</div>


<p><strong>So, what are you interested in? I like to explore new things and dig deeper into things that I love.</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/top-google-searches-2023/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4103</post-id>	</item>
		<item>
		<title>Bard Gets Its Biggest Update Yet</title>
		<link>https://nothans.com/bard-gets-its-biggest-update-yet</link>
					<comments>https://nothans.com/bard-gets-its-biggest-update-yet#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Fri, 14 Jul 2023 15:27:43 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Bard AI]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google Colab]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=3933</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p><a href="https://bard.google.com/" target="_blank" rel="noreferrer noopener">Bard</a>, the AI-powered language model from Google, just got a major upgrade. The new features are designed to make Bard more creative, collaborative, and accessible to a wider range of users.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="512" height="512" data-attachment-id="3934" data-permalink="https://nothans.com/bard-gets-its-biggest-update-yet/image-18-3" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/07/image-18.png?fit=512%2C512&amp;ssl=1" data-orig-size="512,512" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Google Bard Generative AI Image" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/07/image-18.png?fit=512%2C512&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2023/07/image-18.png?resize=512%2C512&#038;ssl=1" alt="" class="wp-image-3934" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2023/07/image-18.png?w=512&amp;ssl=1 512w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/07/image-18.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/07/image-18.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/07/image-18.png?resize=500%2C500&amp;ssl=1 500w" sizes="auto, (max-width: 512px) 100vw, 512px" /><figcaption class="wp-element-caption">AI Generated Bard</figcaption></figure>
</div>


<p>Here are some of the new features as of July 2023:</p>



<ul class="wp-block-list">
<li><strong>Bard is now available in over 40 new languages</strong>, including Arabic, Chinese, German, Hindi, Spanish, and more. This means that users from all over the world can now use Bard to explore their creativity and imagination.</li>



<li><strong>Google Lens is now integrated with Bard</strong>, allowing users to upload images alongside text in their conversations. This opens up a whole new world of possibilities for creativity, as users can now use images to spark ideas, generate captions, and more.</li>



<li><strong>Bard can now read responses out loud</strong>&nbsp;in over 40 languages. This is a great feature for users who prefer to hear their responses rather than read them. It&#8217;s also helpful for users who are learning a new language, as they can listen to Bard&#8217;s responses in their native language.</li>



<li><strong>Pinned &amp; Recent Threads</strong>&nbsp;allow users to organize their past conversations and pick up where they left off. This is a great feature for users who are working on a long-term project, as they can keep their conversations organized and accessible.</li>



<li><strong>Shareable links</strong>&nbsp;make it easy to share Bard conversations with others. This is a great way to collaborate with others, get feedback on your work, or simply share your creativity with the world.</li>



<li><strong>Modify Bard&#8217;s responses</strong>&nbsp;allows users to fine-tune Bard&#8217;s responses. This is a great feature for users who want to get the most out of Bard. For example, users can use this feature to make Bard&#8217;s responses more simple, longer, shorter, more professional, or more casual.</li>



<li><strong>Export Python code to Google Colab or Replit</strong>&nbsp;allows users to export Python code generated by Bard to Google Colab or Replit. This is a great feature for users who want to continue working on their code after they&#8217;ve generated it with Bard.</li>
</ul>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" class="youtube-player" width="750" height="422" src="https://www.youtube.com/embed/eLxWbCGWDis?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
</div><figcaption class="wp-element-caption">Google Bard to Google Colab Notebook in 20 Seconds</figcaption></figure>


<h2 class="wp-block-heading" id="use-cases-for-bard">Use Cases for Bard</h2>


<p>Bard is a powerful language model that can be used for a variety of purposes. People use Bard to brainstorm ideas, write creative content, translate languages, generate code, and research topics. Bard is also a great tool for students, businesses, and anyone who wants to be more creative.</p>



<ul class="wp-block-list">
<li><strong>Brainstorming and ideation:</strong>&nbsp;Bard can help you brainstorm ideas for new projects, products, or services. You can simply ask Bard a question, such as &#8220;What are some new ways to improve the customer experience?&#8221;, and Bard will generate a list of ideas for you.</li>



<li><strong>Writing:</strong>&nbsp;Bard can help you write blog posts, articles, essays, and other types of creative content. You can provide Bard with a topic or outline, and Bard will generate text for you. You can then edit and refine the text as needed.</li>



<li><strong>Translation:</strong>&nbsp;Bard can translate text between over 100 languages. This makes it a great tool for anyone who needs to translate documents, emails, or other types of content.</li>



<li><strong>Code generation:</strong>&nbsp;Bard can generate Python code. This makes it a great tool for anyone who wants to learn Python or who needs to generate code quickly.</li>



<li><strong>Research:</strong>&nbsp;Bard can help you research topics on the internet. You can simply ask Bard a question, such as &#8220;What are the latest trends in artificial intelligence?&#8221;, and Bard will generate a list of links to relevant articles and websites.</li>
</ul>



<ul class="wp-block-list">
<li><strong>Education:</strong>&nbsp;Bard can be used as a teaching tool to help students learn new concepts. For example, Bard could be used to generate interactive quizzes or to provide personalized feedback on student work.</li>



<li><strong>Business:</strong>&nbsp;Bard can be used to help businesses improve their marketing, customer service, and product development. For example, Bard could be used to generate creative marketing campaigns, to answer customer questions, or to brainstorm new product ideas.</li>



<li><strong>Personal use:</strong>&nbsp;Bard can be used for a variety of personal tasks, such as writing letters, generating creative ideas, or translating documents.</li>
</ul>



<p>Bard is still under development, but it has the potential to be a powerful tool for a wide range of users. As Bard continues to learn and improve, we can expect to see even more use cases for this amazing technology.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/bard-gets-its-biggest-update-yet/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3933</post-id>	</item>
		<item>
		<title>Google Announces Bard AI. Will Yahoo Announce Paladin AI Next?</title>
		<link>https://nothans.com/google-announces-bard-ai</link>
					<comments>https://nothans.com/google-announces-bard-ai#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Wed, 08 Feb 2023 03:18:58 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Bard AI]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[google]]></category>
		<guid isPermaLink="false">https://nothans.com/?p=3633</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p>Things are moving fast. This is an interesting time to be in tech. AI techniques for generating images, text, and code are all coming online with fascinating results and no doubt long-term impact on all aspects of our lives. ChatGPT has definitely taken a lot of my free brain cycles. I am watching this space very closely, learning how to leverage, protect, and accelerate. I suggest that you learn as much as you can. This is going to be a thing.</p>



<p>Google announced <a rel="noreferrer noopener" href="https://blog.google/technology/ai/bard-google-ai-search-updates/" target="_blank">Bard AI</a>, Alphabet&#8217;s next step in search and AI. Bard looks like the right thing to do for the search giant. My use of Google has plummeted since Dec 2022. I have just thought about it less. And, I am just as surprised as you are. Google has been suffering from websites that are overfit to Google&#8217;s algorithm. Listicles, clickbait, SEO, keyword stuffing, and AdWords have caused surfing to be obnoxious. Try looking for car reviews or product reviews. Look at what recipe sites had to do just to get our clicks. I just don&#8217;t get answers anymore. I only get sites that are highly tuned to be at the top of the sort filled with keywords. Google&#8217;s model has forced us to game the system for attention all the while Google is pulling out website content and presenting it directly on the search results (which decreases clickthrus). Bloggers like myself create a lot of content that gets used in these large language models. SEO doesn&#8217;t work anymore. We have to build our audiences and communities in different ways. Google relies on ad revenue from websites. I believe that this is at risk, but it does not mean that creators immediately benefit. More on this later.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="308" data-attachment-id="3634" data-permalink="https://nothans.com/google-announces-bard-ai/image-1-7" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-1.png?fit=957%2C393&amp;ssl=1" data-orig-size="957,393" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-1" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-1.png?fit=750%2C308&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-1.png?resize=750%2C308&#038;ssl=1" alt="" class="wp-image-3634" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-1.png?w=957&amp;ssl=1 957w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-1.png?resize=300%2C123&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-1.png?resize=768%2C315&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-1.png?resize=750%2C308&amp;ssl=1 750w" sizes="auto, (max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">ChatGPT Telling Me About a Bard</figcaption></figure>
</div>


<p>Bard is one of my favorite character classes in role-playing games like Dungeons and Dragons. A bard is a jack-of-all-trades kind of character and really fun to play and interact with. A bard is a storyteller. I am a bard. Bard AI is a text generator. I am a text generator.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="750" height="535" data-attachment-id="3635" data-permalink="https://nothans.com/google-announces-bard-ai/image-2-6" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-2.png?fit=996%2C711&amp;ssl=1" data-orig-size="996,711" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Storytelling AI" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-2.png?fit=750%2C535&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-2.png?resize=750%2C535&#038;ssl=1" alt="" class="wp-image-3635" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-2.png?w=996&amp;ssl=1 996w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-2.png?resize=300%2C214&amp;ssl=1 300w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-2.png?resize=768%2C548&amp;ssl=1 768w, https://i0.wp.com/nothans.com/wp-content/uploads/2023/02/image-2.png?resize=750%2C535&amp;ssl=1 750w" sizes="auto, (max-width: 750px) 100vw, 750px" /><figcaption class="wp-element-caption">Storytelling</figcaption></figure>
</div>


<p>ChatGPT, Bard, and the many others that are about to be released are really, really good at generating pleasant text. Text that looks like something that could be meaningful. We are all entering this new world together. Again, I urge you to take a closer look at these tools and share what you learn. Join me directly on <a href="https://discord.gg/PTsgnxNaBu" target="_blank" rel="noreferrer noopener">The Quandary</a> Discord server.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/google-announces-bard-ai/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3633</post-id>	</item>
		<item>
		<title>Automatic Thermostat Control Based on Location and Weather</title>
		<link>https://nothans.com/automatic-thermostat-control-based-on-location</link>
					<comments>https://nothans.com/automatic-thermostat-control-based-on-location#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Tue, 14 Sep 2010 09:56:00 +0000</pubDate>
				<category><![CDATA[Talks]]></category>
		<category><![CDATA[ThingSpeak]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[home automation]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[ioBridge]]></category>
		<category><![CDATA[latitude]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[projects]]></category>
		<guid isPermaLink="false">http://nothans.com/automatic-thermostat-control-based-on-location</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p>The&nbsp;<a title="Pittsburgh Perl Workshop 2010" href="http://pghpw.org/ppw2010/" target="_blank" rel="noopener noreferrer">Pittsburgh Perl Workshop</a> will be held at the Carnegie Mellon University on October 9-10, 2010. The PPW is a gathering of <a title="Perl Wiki" href="http://en.wikipedia.org/wiki/Perl" target="_blank" rel="noopener noreferrer">Perl</a> programmers from around the world (and near Pittsburgh) to learn more and discuss the future of Perl.</p>
<p>At this year’s PPW, I will be giving a talk called, “<strong><em>Connecting the Internet of Things with Perl</em></strong>“ (visit <a title="Pittsburgh Perl Conference Schedule for Internet of Things talk by Hans Scharler" href="http://pghpw.org/ppw2010/talk/3043" target="_blank" rel="noopener noreferrer">pghpw.org</a> for&nbsp;schedule&nbsp;info). I will also explain how to create an Internet of Things application using off-the-shelf&nbsp;Perl modules and web control technology by <a title="ioBridge Technology" href="http://www.iobridge.com/technology" target="_blank" rel="noopener noreferrer">ioBridge</a>.</p>
<p>As you may or may not know, Perl is a really powerful programming language that enables everything from fast&nbsp;prototyping&nbsp;of web applications to large-scale software platforms. What makes the language unique is the library of modules&nbsp;available&nbsp;to you. If you get a great new idea for a web app, you can get started quickly and find modules that others have written. In some cases, it’s literally copy-and-paste.</p>
<p>A big movement for the past few years is this concept of The Internet of Things. More things will be on the Internet than people in the next few years, so my talk is to highlight why Perl is still relevant after 20 years and needs to be apart of this emerging technology. Internet of Things applications involve connecting sensors and controllers to the web. Perl is perfect for parsing lots of data, pushing data into databases, and connecting services together, known as “mashups”.</p>
<p>My Internet of&nbsp;Things&nbsp;project, written in Perl, allows your current location&nbsp;and home weather conditions to control your home heating and cooling system.</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" data-attachment-id="253" data-permalink="https://nothans.com/automatic-thermostat-control-based-on-location/google-latitude-iobridge-mashup-3" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2010/09/Google-Latitude-ioBridge-Mashup2.jpg?fit=550%2C433&amp;ssl=1" data-orig-size="550,433" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Location Aware Home Automation" data-image-description="" data-image-caption="&lt;p&gt;Location Aware Home Automation&lt;/p&gt;
" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2010/09/Google-Latitude-ioBridge-Mashup2.jpg?fit=550%2C433&amp;ssl=1" class="aligncenter wp-image-253 size-full" src="https://i0.wp.com/nothans.com/wp-content/uploads/2010/09/Google-Latitude-ioBridge-Mashup2.jpg?resize=550%2C433" alt="Location Aware Home Automation using Google Latitude API and ioBridge API" width="550" height="433" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2010/09/Google-Latitude-ioBridge-Mashup2.jpg?w=550&amp;ssl=1 550w, https://i0.wp.com/nothans.com/wp-content/uploads/2010/09/Google-Latitude-ioBridge-Mashup2.jpg?resize=300%2C236&amp;ssl=1 300w" sizes="auto, (max-width: 550px) 100vw, 550px" /></p>
<p>I call it, &nbsp;”Location Aware Home Automation”. You don’t have to do anything to control your HVAC/Thermostat, it all happens based on where you are. If you are home, the thermostat regulates the inside temperature as normal. When you leave, systems turn off or enter power saving modes. When you get near your home, the heating/cooling system kicks back on so you have a comfortable temperature by the time you get back home. In order to pull off all of this passive and automatic functionality, I have mashed up several APIs from Google&nbsp;Latitude, WeatherBug, and ioBridge.</p>
<p>Using the API for Google&nbsp;Latitude, I track the location of my Android mobile phone. When I get near my home, I check the weather using Google Weather API, WeatherBug API, and my home&nbsp;temperature&nbsp;(via ioBridge) to see if I need to to use the air conditioner, the heater, or neither. If I do need to control the HVAC, I send the control commands using the ioBridge API that routes the commands to the IO-204 controller that’s hooked up to my thermostat.</p>
<p>This application is really just a beginning. Right after I got everything working, I started having a flood of ideas. I can see some real power here.</p>
<h2>The &#8216;How To&#8217; Portion of the Show</h2>
<h3>Google Latitude</h3>
<p>You have to enable Google Latitude on your mobile phone and get your Badge ID. This ID represents your position in the world, your latitude and longitude. Visit the <a title="Google Latitude API and Badge ID" href="http://www.google.com/latitude/apps/badge" target="_blank" rel="noopener noreferrer">Google Latitude API</a> site for more information.</p>
<p>Install the latest <a title="Google Latitude Perl Module" href="http://search.cpan.org/~mrdvt/Geo-Google-Latitude-0.06/lib/Geo/Google/Latitude.pm" target="_blank" rel="noopener noreferrer">Geo::Google::Latitude</a> Perl module from CPAN.org &#8211; this module completely abstracts the access to the Google Latitude API for you. All you have to do us pass your ID and the module returns the date, time, last known latitude and longitude (the values are in decimal degrees).</p>
<p><code>use Geo::Google::Latitude;<br />
my $gl=Geo::Google::Latitude-&gt;new;<br />
my $id="7832225593622256926";<br />
my $badge=$gl-&gt;get($id);<br />
my ($lat2, $lon2) = $badge-&gt;point-&gt;latlon;</code></p>
<h3>Calculating how far you are away &nbsp;from home</h3>
<p>You have to figure out how far you are from home, you do this by doing some math. Oh wait, there’s a Perl module for that. Install <a title="Geo::Distance Perl Module on CPAN used to calculate distance between positions" href="http://search.cpan.org/~bluefeet/Geo-Distance-0.16/lib/Geo/Distance.pm" target="_blank" rel="noopener noreferrer">Geo::Distance</a> and all you have to do is tell it what latitude and longitude to compare and it spits out the distance.</p>
<p><code>use Geo::Distance;<br />
my $geo = new Geo::Distance;<br />
### Home Location<br />
my $lon1 = "-79.76408";<br />
my $lat1 = "39.980342";<br />
### Calculated Distance<br />
my $distance = $geo-&gt;distance( 'mile', $lon1, $lat1 =&gt;; $lon2, $lat2 ); # Use 'meter' to calculate distance in meters</code></p>
<h3>Getting the Weather</h3>
<p>You can use a number of weather APIs to get weather data for your home location. All you need to know is where you live. The easiest to implement is Google Weather (<a title="Google Weather API" href="http://search.cpan.org/~possum/Weather-Google-0.05/lib/Weather/Google.pm" target="_blank" rel="noopener noreferrer">Weather::Google</a>), but the WeatherBug API has a lot more information you can use for other Internet of Things things you may do.</p>
<p><code> use Weather::Google;<br />
my $gw = new Weather::Google(15401); # Zipcode<br />
my $current_outside = $gw-&gt;current-&gt;{temp_f}; #Use temp_c for Celsius</code></p>
<h3>Connect to ioBridge</h3>
<p>All you have to do to connect with ioBridge is to send command via the <a title="ioBridge Widget API" href="http://www.iobridge.net/wiki/api/static-widget-api" target="_blank" rel="noopener noreferrer">ioBridge Widget API</a>. First you create the control widgets for your heating and cooling system. For mine, I can use relays. Others may need serial strings, which you can send as well. Once you have the widgets created, locate there widget ID’s and send them to the API.<br />
<code><br />
use LWP::Simple;<br />
my $Air_Conditioner_widgetID = "Gb2Q1FUKPmzZ"; ### Replace with your widget ID's<br />
my $Heater_widgetID = "9c3WEGHKemnzJ";<br />
my $Inside_Temp_widgetID = "D32SDghy98iOu";<br />
my $ioBridgeAPI = "";<br />
$ioBridgeAPI = "http://www.iobridge.com/widgets/static/id=" . $Inside_Temp_widgetID . "&amp;value=1&amp;format=text";<br />
my $current_inside = get($ioBridgeAPI);<br />
### Test if the heater or the air condition should be turned on<br />
if ($current_outside &gt;= 78 &amp;&amp; $current_inside &gt;= 72) {<br />
$ioBridgeAPI = "http://www.iobridge.com/widgets/static/id=" . $Air_Conditioner_widgetID . "&amp;value=1&amp;format=text";<br />
get($ioBridgeAPI);<br />
}<br />
elsif ($current_outside $ioBridgeAPI = "http://www.iobridge.com/widgets/static/id=" . $Heater_widgetID . "&amp;value=1&amp;format=text";<br />
get("$ioBridgeAPI");<br />
}</code></p>
<h3>Putting it all together</h3>
<p>Once you have the&nbsp;entire&nbsp;built all you have to do is call the app periodically using CRON Linux or Task Scheduler on Windows. Here is a <a href="http://iamshadowlord.com/LocationAwareAutomation.txt" target="_blank" rel="noopener noreferrer">TXT file</a> of the Perl application with all of the parts tied together, probably will be easier to read and understand.</p>
<p>The hardware side uses the <a title="ioBridge IO-204 Internet Monitor and Control Module" href="http://www.iobridge.com" target="_blank" rel="noopener noreferrer">ioBridge IO-204</a> connected to the control lines of a&nbsp;<a title="Remotely enabling and disabling a thermostat" href="http://www.thomaswlewis.com/?p=567" target="_blank" rel="noopener noreferrer">thermostat</a> or an HVAC control box. The lines switch at 12 volts, so I use relays trigger them. Other thermostats&nbsp;that I researched use serial lines which the IO-204 can tap into using RS-232.</p>
<p>It may seem like a lot of work, but just think about what is happening. Feeds from Google&nbsp;Latitude&nbsp;and WeatherBug are being processed and passed to your home network via the Internet. All of this is happening without your direct interaction &#8211; your things are working for you. I hope that you can see that is a start of some pretty amazing applications of technologies that will advance over time. A lot has changed in the past year, I can’t image what comes next.</p>
<p>If you get around to building a project like this, please drop me a line. I love this stuff.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/automatic-thermostat-control-based-on-location/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">676</post-id>	</item>
		<item>
		<title>New Google Search: Instant Narcissism</title>
		<link>https://nothans.com/new-google-search-instant-narcissism</link>
					<comments>https://nothans.com/new-google-search-instant-narcissism#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Thu, 09 Sep 2010 22:27:00 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[vain]]></category>
		<guid isPermaLink="false">http://nothans.com/new-google-search-instant-narcissism</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p>If you use Google Search as a lot of people do, then you have noticed the new feature from Google. As you type you get instant search results. It is an interesting feature and I am not sure how much this will change my search patterns. I still want to hit the return button after I type in a search phrase.</p>
<p>For the vain, the new Google Search will allow you to “google” yourself instantly.</p>
<p style="text-align: center;"><a href="https://i0.wp.com/iamshadowlord.com/wp-content/uploads/2010/09/Hans-Scharler-Google-Search.jpg" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" loading="lazy" decoding="async" data-attachment-id="229" data-permalink="https://nothans.com/hans-scharler-google-search" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2010/09/Hans-Scharler-Google-Search.jpg?fit=600%2C413&amp;ssl=1" data-orig-size="600,413" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Hans Scharler Google Search Vain" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2010/09/Hans-Scharler-Google-Search.jpg?fit=600%2C413&amp;ssl=1" class="aligncenter size-full wp-image-229" title="Hans Scharler Google Search Vain" src="https://i0.wp.com/iamshadowlord.com/wp-content/uploads/2010/09/Hans-Scharler-Google-Search.jpg?resize=480%2C330" alt="Hans Scharler Google Search Vain" width="480" height="330" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2010/09/Hans-Scharler-Google-Search.jpg?w=600&amp;ssl=1 600w, https://i0.wp.com/nothans.com/wp-content/uploads/2010/09/Hans-Scharler-Google-Search.jpg?resize=300%2C207&amp;ssl=1 300w" sizes="auto, (max-width: 480px) 100vw, 480px" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/new-google-search-instant-narcissism/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">678</post-id>	</item>
		<item>
		<title>Internet-enabled Message Center</title>
		<link>https://nothans.com/internet-enabled-message-center</link>
					<comments>https://nothans.com/internet-enabled-message-center#respond</comments>
		
		<dc:creator><![CDATA[Hans Scharler]]></dc:creator>
		<pubDate>Mon, 15 Jun 2009 01:10:00 +0000</pubDate>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[ThingSpeak]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ioBridge]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[liquidware]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[stock quote]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[usb power cable]]></category>
		<category><![CDATA[web 2.0]]></category>
		<guid isPermaLink="false">http://nothans.com/internet-enabled-message-center</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="600" height="352" data-attachment-id="3214" data-permalink="https://nothans.com/internet-enabled-message-center/message-center-720680" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2022/09/Message-Center-720680.jpg?fit=600%2C352&amp;ssl=1" data-orig-size="600,352" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Message-Center-720680" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2022/09/Message-Center-720680.jpg?fit=600%2C352&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2022/09/Message-Center-720680.jpg?resize=600%2C352&#038;ssl=1" alt="" class="wp-image-3214" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2022/09/Message-Center-720680.jpg?w=600&amp;ssl=1 600w, https://i0.wp.com/nothans.com/wp-content/uploads/2022/09/Message-Center-720680.jpg?resize=300%2C176&amp;ssl=1 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /><figcaption>Internet-enabled Message Center</figcaption></figure>
</div>

<h2><strong>What are you up to now?</strong></h2>
<p>I took the leap and bought an Arduino from LiquidWare. Arduino is an open-source microcontroller that has a processor, some digital I/O pins, and analog inputs. You can create little standalone programs that monitor inputs, control LEDs, and pretty much anything that you dream up. My favorite projects are ones that involve the Internet. A microcontroller is rather simple by itself, but what if it could use the web to get answers, send an email, and maybe update my Twitter status? That means there is an unlimited number of projects ahead &#8211; Microcontrollers collaborating in cyberspace. The missing link for the web part is the ioBridge IO-204. I know you are no stranger to the IO-204, but for those of you who have not heard. The IO-204 sits on my network and relays data from its channels to ioBridge.com servers and back into my network. It allows for remote control and monitoring without network configuration and programming. One of the expansion boards is a two-way serial board that accepts serial strings and connects them to APIs of web services that ioBridge interfaces to and sends back responses. For instance, I can send the commands, “[[[calc|9*9]]]” and this returns 81. OK, maybe not impressive on the surface, but that result came from Google Calculator. Anything Google Calculator can solve, your microcontroller has access to those results. For more examples, visit the Serial Web Services API on the wiki.</p>
<h2><strong>Message Center Project</strong></h2>
<div>I wanted to combine these two worlds with a sample project &#8211; maybe it will inspire you to come up with something better, and spark some ideas that you have. I have my Arduino measuring my outside temperature here in Pittsburgh, which is an analog input scaled to Fahrenheit. At any moment I can press a button and get the temperature on the LCD screen &#8211; no Internet required. Since I have been planning a work trip to Atlanta, I also wanted to compare my temperature with hot-lanta’s. So, my project solves that. Using the “weather command”, I am able to get the weather anywhere in the world by zip code or city name.</div>
<div> </div>
<div>I added a few more things to the message center. With another button, I can get Google&#8217;s current stock price. My strike price was $405, so I have been watching it closely. If it gets below $405, I get an automatic email from my message center. The stock quote comes from the Yahoo Financials API.</div>
<div> </div>
<div>
<div style="text-align: left;">I have one more button that emails me a secret message when it’s pressed. I put this in here for when my mom comes into my room when I am on the road. It’s aptly labeled, do not press. Next time, I will hook it to a light sensor in the basement to catch her when she turns on my lights. I am sure you all have the same issues with your mom.</div>
</div>


<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" class="youtube-player" width="750" height="422" src="https://www.youtube.com/embed/LNcspcEdak8?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
</div></figure>


<h3 class="wp-block-heading" id="project-source-code">Project <strong>Source Code</strong></h3>


<p>The Arduino requires some c-like programming and I wanted to include the sketch for you to steal and use for your projects. You will see how I send the serial commands from the Arduino to the IO-204 using the UART serial connection (pins 0/1) and receive and parse the incoming results. I use a SoftwareSerial port for the LCD results. The pushbuttons are software debounced and use pull-up resistors for solid digital connections. The LEDs linked to each button use a 330-ohm resistor to protect them. I was aided by the Arduino Inputs tutorial on <a rel="noreferrer noopener" href="http://www.ladyada.net/learn/arduino/lesson5.html" target="_blank">Ladyada.net</a>, <a rel="noreferrer noopener" href="http://www.arduino.cc/en/Tutorial/Debounce" target="_blank">Debounce Tutorial</a>, and the ioBridge Wiki / Forum. Please let me know if you have any questions, maybe I can help. I have learned a lot about handling strings on the Arduino device.</p>



<pre class="wp-block-preformatted">//<br>// Message Center using Arduino and the ioBridge IO-204<br>//<br>// An open-souce Shadowlord Project<br>// <a href="http://www.IamShadowlord.com" target="_blank" rel="noreferrer noopener">www.IamShadowlord.com</a><br><br>#include SoftwareSerial.h&gt;<br><br>// SoftwareSerial Pins<br>#define rxPin 2<br>#define txPin 3<br><br>// Setup Software Serial<br>SoftwareSerial softSerial = SoftwareSerial(rxPin, txPin);<br><br>// Global Setup<br>int middleLED = 11;<br>int rightLED = 10;<br>int leftLED = 12;<br><br>int leftButton = 5;<br>int leftButtonCurrent = LOW;<br>int leftButtonReading;<br>int leftButtonPrevious = HIGH;<br>long leftButtonTime = 0;<br>long leftButtonDebounce = 200;<br><br>int middleButton = 4;<br>int middleButtonCurrent = LOW;<br>int middleButtonReading;<br>int middleButtonPrevious = HIGH;<br>long middleButtonTime = 0;<br>long middleButtonDebounce = 200;<br><br>int rightButton = 6;<br>int rightButtonCurrent = LOW;<br>int rightButtonReading;<br>int rightButtonPrevious = HIGH;<br>long rightButtonTime = 0;<br>long rightButtonDebounce = 200;<br><br>int tempPin = 5;<br>int tempAnalog = 0;<br>int tempF = 0;<br><br>char* currentRequest = "";<br><br>// Start up program<br>void <strong>setup</strong>() {<br><br>pinMode(rxPin, INPUT);<br>pinMode(txPin, OUTPUT);<br><br>pinMode(leftLED, OUTPUT);<br>pinMode(middleLED, OUTPUT);<br>pinMode(rightLED, OUTPUT);<br><br>pinMode(leftButton, INPUT);<br>pinMode(middleButton, INPUT);<br>pinMode(rightButton, INPUT);<br><br>softSerial.begin(9600);<br>delay(100);<br><br>Serial.begin(9600);<br>delay(100);<br><br>Serial.flush();<br>delay(100);<br><br>// Setup LCD<br>clearLCD();<br>setBacklightBrightness(9);<br>delay(1000);<br><br>// Test LEDs<br>digitalWrite(leftLED, HIGH);<br>digitalWrite(middleLED, HIGH);<br>digitalWrite(rightLED, HIGH);<br><br>delay(1500);<br><br>digitalWrite(leftLED, LOW);<br>digitalWrite(middleLED, LOW);<br>digitalWrite(rightLED, LOW);<br><br>}<br><br>// Start main program loop<br>void <strong>loop</strong>(){<br><br>// Get Analog Input and scale as temperature for ioBridge temperature sensor on arduino<br>tempAnalog = analogRead(tempPin);<br>tempF = tempAnalog / 6.875;<br><br>// Monitor left button status and debounce<br>leftButtonReading = digitalRead(leftButton);<br><br>if (leftButtonReading == HIGH &amp;&amp; leftButtonPrevious == LOW &amp;&amp; <br>          millis() - leftButtonTime &gt; leftButtonDebounce) {<br>if (leftButtonCurrent == HIGH) leftButtonCurrent = LOW;<br>else {digitalWrite(leftLED, HIGH);<br>clearLCD();<br>delay(100);<br>softSerial.print("Outside: ");<br>delay(100);<br>softSerial.print(tempF);<br>delay(100);<br>moveCursor("02", "01");<br>delay(100);<br>softSerial.print("Atlanta: ");<br>leftButtonCurrent = LOW;<br>//Request temperature in Atlanta via ioBridge<br>Serial.print("[[[weather|Atlanta]]]");<br>digitalWrite(leftLED, LOW);<br>}<br>leftButtonTime = millis();<br>}<br><br>leftButtonPrevious = leftButtonReading;<br><br>// Monitor middle button status and debounce<br>middleButtonReading = digitalRead(middleButton);<br><br>if (middleButtonReading == HIGH &amp;&amp; middleButtonPrevious == LOW &amp;&amp;<br>millis() - middleButtonTime &gt; middleButtonDebounce) {<br>if (middleButtonCurrent == HIGH) middleButtonCurrent = LOW;<br>else {currentRequest = "Google";<br>digitalWrite(middleLED, HIGH);<br>clearLCD();delay(100);<br>softSerial.print("GOOG: $");<br>delay(100);<br>middleButtonCurrent = LOW;<br>//Request Google Stock Price via ioBridge  <br>Serial.print("[[[stock|GOOG]]]"); <br>digitalWrite(middleLED, LOW);<br>}<br>middleButtonTime = millis();<br>}<br><br>middleButtonPrevious = middleButtonReading;<br><br>// Monitor right button status and debounce<br>rightButtonReading = digitalRead(rightButton);<br><br>if (rightButtonReading == HIGH &amp;&amp; rightButtonPrevious == LOW &amp;&amp;<br>millis() - rightButtonTime &gt; rightButtonDebounce) {<br>if (rightButtonCurrent == HIGH) rightButtonCurrent = LOW;<br>else {<br>digitalWrite(rightLED, HIGH);<br>clearLCD();<br>delay(100);<br>softSerial.print("Alert: ");<br>delay(100);<br>rightButtonCurrent = LOW;<br>//Send email via ioBridge  <br>Serial.print("[[[email|hans@nothans.com|Alert|Mom, is pressing your buttons]]]");<br>digitalWrite(rightLED, LOW);<br>}<br>rightButtonTime = millis();<br>}<br><br>rightButtonPrevious = rightButtonReading;<br><br>// Display serial messages<br>if(Serial.available() &gt; 0){<br><br>delay(100);<br><br>char charIn = 0;<br>byte i = 0;<br>char stringIn[32] = "";<br><br>while(Serial.available()) {<br>charIn = Serial.read();<br>stringIn[i] = charIn;<br>i += 1;<br>}<br><br>if (currentRequest == "Google") {<br><br>softSerial.print(stringIn);<br>int stockPrice = atoi(stringIn);<br>delay(100);<br>moveCursor("02", "01");<br>delay(100);<br>stockPrice = stockPrice - 405;<br>softSerial.print("Change: $"); <br>delay(100);<br>softSerial.print(stockPrice);<br>currentRequest = "";<br><br>}<br>elsesoftSerial.print(stringIn);<br>}<br><br>// End program loop     <br>}<br><br>//<br>// ioBridge Serial LCD Functions and Parameters (for SoftwareSerial)<br>//<br><br>void displayMessage(char* message){<br>softSerial.print(message);<br>}<br><br>void clearLCD(){<br>softSerial.print(0xFE, BYTE);<br>softSerial.print("Z");<br>}<br><br>void setBacklightBrightness(int level){<br>// level<br>// 0=Off -&gt; 9=Brightest<br><br>softSerial.print(0xFE, BYTE);<br>softSerial.print("B");<br>softSerial.print(level);<br>}<br><br>void setBacklightTime(int level, byte seconds){<br>// level<br>// 0=Off -&gt; 9=Brightest<br><br>// seconds<br>// 01 = 1 seconds =&gt; 06 = 60 seconds<br><br>softSerial.print(0xFE, BYTE);<br>softSerial.print("T");<br>softSerial.print(level);<br>softSerial.print(seconds, BYTE);<br>}<br><br>void moveCursorHome(){<br>softSerial.print(0xFE, BYTE);<br>softSerial.print("H");<br>}<br><br>void turnCursorOn(){<br>softSerial.print(0xFE, BYTE);<br>softSerial.print("J");<br>}<br><br>void turnCursorOff(){<br>softSerial.print(0xFE, BYTE);<br>softSerial.print("K");<br>}<br><br>void turnBlinkingCursorOn(){<br>softSerial.print(0xFE, BYTE);<br>softSerial.print("P");<br>}<br><br>void turnBlinkingCursorOff(){<br>softSerial.print(0xFE, BYTE);<br>softSerial.print("Q");<br>}<br><br>void scrollMessage(int row, int speed, char* message){<br>// row<br>// 1=First Line -&gt; 2=Second Line<br><br>// speed<br>// 0=Slowest -&gt; 9=Fastest<br><br>softSerial.print(0xFE, BYTE);<br>softSerial.print("S");<br>softSerial.print(row);<br>softSerial.print(speed);<br>softSerial.print(message);<br>softSerial.print(0xFE, BYTE);<br>}<br><br>void moveCursor(char* row, char* column){<br>// row<br>// 01=First Line -&gt; 02=Second Line<br><br>// column<br>// 01=First Position -&gt; 16=Last Position<br><br>softSerial.print(0xFE, BYTE);<br>softSerial.print("L");<br>softSerial.print(row);<br>softSerial.print(column);<br>}<br><br>void drawHorizontalGauge(int row, char* leftLabel, char* rightLabel, char* length){<br>// row<br>// 1=First Line -&gt; 2=Second Line<br><br>// leftLabel and rightLabel<br>// 2 character labels<br><br>// length<br>// a=Empty -&gt; k=Full (filled in from left to right)<br><br>softSerial.print(0xFE, BYTE);<br>softSerial.print("G");<br>softSerial.print(row);<br>softSerial.print(leftLabel);<br>softSerial.print(rightLabel);<br>softSerial.print(length);<br>}<br><br>void drawVerticalGauge(int height){<br>// height<br>// 0=Bottom -&gt; 8=Top (filled in from bottom to top)<br><br>softSerial.print(0xFE, BYTE);<br>softSerial.print("V");<br>softSerial.print(height);<br><br>}</pre>



<p><strong>Bonus Project</strong></p>



<p>It’s simple, but I hacked together a power supply for the Arduino, which gets power from a USB or a coaxial input from a transformer. I wanted to only run one brick, <em>wallwart</em>, so I hacked a USB cable. There are 4 wires in the USB cable:</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Pin 1</strong></td><td>VCC</td><td>Red</td><td>+5 VDC</td></tr><tr><td><strong><strong>Pin 2</strong></strong></td><td>D-</td><td>White</td><td>Data &#8211;</td></tr><tr><td><strong><strong>Pin 3</strong></strong></td><td>D+</td><td>Green</td><td>Data +</td></tr><tr><td><strong><strong>Pin</strong> 4</strong></td><td>GND</td><td>Black</td><td>Ground</td></tr></tbody></table><figcaption>USB Cable Pinout</figcaption></figure>



<p>The IO-204 has a regulated 5VDC and ground (up to 1A &#8211; 4A total draw depending on supply) on each channel, so using a terminal strip, I connected the VCC and GND to a cut in half USB cable.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="347" height="400" data-attachment-id="3213" data-permalink="https://nothans.com/internet-enabled-message-center/arduino-usb-power-cable-798028" data-orig-file="https://i0.wp.com/nothans.com/wp-content/uploads/2009/06/Arduino-USB-Power-Cable-798028.jpg?fit=347%2C400&amp;ssl=1" data-orig-size="347,400" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Arduino USB Power Cable" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/nothans.com/wp-content/uploads/2009/06/Arduino-USB-Power-Cable-798028.jpg?fit=347%2C400&amp;ssl=1" src="https://i0.wp.com/nothans.com/wp-content/uploads/2009/06/Arduino-USB-Power-Cable-798028.jpg?resize=347%2C400&#038;ssl=1" alt="" class="wp-image-3213" srcset="https://i0.wp.com/nothans.com/wp-content/uploads/2009/06/Arduino-USB-Power-Cable-798028.jpg?w=347&amp;ssl=1 347w, https://i0.wp.com/nothans.com/wp-content/uploads/2009/06/Arduino-USB-Power-Cable-798028.jpg?resize=260%2C300&amp;ssl=1 260w" sizes="auto, (max-width: 347px) 100vw, 347px" /><figcaption>Arduino USB Power Cable</figcaption></figure>
</div>


<p>It’s magic &#8211; look ma, only one power source.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nothans.com/internet-enabled-message-center/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">695</post-id>	</item>
	</channel>
</rss>
