<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6907975643453137972</id><updated>2016-04-11T20:51:27.874-07:00</updated><category term="musings"/><category term="dev"/><category term="SQL"/><category term="SQL Server 2005"/><category term="SSRS"/><category term="android"/><category term="notepad++"/><category term="python"/><category term="scripting"/><category term="Management Studio"/><category term="SQL Server"/><category term="contacts"/><category term="gadgets"/><category term="lent"/><category term="music"/><category term="open source"/><category term="palm"/><category term="software"/><category term="spreadsheets"/><category term="subversion"/><category term="visual studio"/><category term="ASP"/><category term="Decimals"/><category term="Directv"/><category term="GIMP"/><category term="Mirror"/><category term="Remote Work"/><category term="Report Services"/><category term="SQL Server 2000"/><category term="Simpsons"/><category term="Stored Procedures"/><category term="SubString"/><category term="TARDIS"/><category term="Tivo"/><category term="Two Rooms"/><category term="VB"/><category term="adobe"/><category term="art"/><category term="astronomy"/><category term="blog"/><category term="bookmarklet"/><category term="c#"/><category term="chromecast"/><category term="doctorwho"/><category term="dotproject"/><category term="email"/><category term="excel"/><category term="gmail"/><category term="hack"/><category term="hardware"/><category term="image"/><category term="launchy"/><category term="lego"/><category term="pacman"/><category term="podcast"/><category term="powershell"/><category term="record player"/><category term="religion"/><category term="rhapsody"/><category term="service"/><category term="space"/><category term="starting a podcast"/><category term="story"/><category term="subscription"/><category term="svn"/><category term="sync"/><category term="thoughts"/><category term="treo"/><category term="turn table"/><category term="vinyl"/><category term="yahoo mail"/><title type='text'>Jason Jerome</title><subtitle type='html'>&lt;a href=&quot;http://jjerome.com&quot;&gt;main&lt;/a&gt; | &#xa;&lt;a href=&quot;http://jjerome.com/blog&quot;&gt;blog&lt;/a&gt; |&#xa;&lt;a href=&quot;http://jjerome.com/resume&quot;&gt;resume&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.jjerome.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>58</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-7320960471649181619</id><published>2016-02-24T10:38:00.004-08:00</published><updated>2016-02-24T10:39:59.449-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="lego"/><category scheme="http://www.blogger.com/atom/ns#" term="pacman"/><category scheme="http://www.blogger.com/atom/ns#" term="space"/><title type='text'>Lego Solar System</title><content type='html'>&lt;h3&gt;I made a solar system out of Lego!&amp;nbsp;&lt;/h3&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b id=&quot;docs-internal-guid-31dfa0f3-1474-f3a0-a33e-610084921b68&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;arial&amp;quot;; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;This post will be a little more detailed.  You can see a nice summary album of the process on&lt;b&gt; &lt;/b&gt;Imgur: &lt;/span&gt;&lt;a href=&quot;http://imgur.com/a/KqjZK&quot; style=&quot;text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #1155cc; font-family: &amp;quot;arial&amp;quot;; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;http://imgur.com/a/KqjZK&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/--xe0BOo-aTE/Vs3xPMnf62I/AAAAAAAA8xk/Gh5unk66GMg/s1600/IMG_5982.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://3.bp.blogspot.com/--xe0BOo-aTE/Vs3xPMnf62I/AAAAAAAA8xk/Gh5unk66GMg/s640/IMG_5982.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;b&gt;The final results&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span id=&quot;goog_1196949778&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1196949779&quot;&gt;&lt;/span&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;b id=&quot;docs-internal-guid-31dfa0f3-1477-e998-644a-072bc80c7a80&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;/b&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-31dfa0f3-1477-e998-644a-072bc80c7a80&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;arial&amp;quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;I got my inspiration from a mosaic displayed at the European Space Agency in Germany (&lt;a href=&quot;http://www.esa.int/spaceinimages/Images/2015/04/Pacman_Solar_System&quot; target=&quot;_blank&quot;&gt;http://www.esa.int/spaceinimages/Images/2015/04/Pacman_Solar_System&lt;/a&gt;). &amp;nbsp;It was made by the artist Invader (&lt;a href=&quot;http://www.space-invaders.com/&quot; target=&quot;_blank&quot;&gt;http://www.space-invaders.com&lt;/a&gt;) . &amp;nbsp;I borrowed heavily from his design and made some changes along the way.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;b id=&quot;docs-internal-guid-31dfa0f3-1477-e998-644a-072bc80c7a80&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-31dfa0f3-1477-e998-644a-072bc80c7a80&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;arial&amp;quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;I liked the 8-bit look of the tiles and had been thinking about starting a project using Lego, so it made a lot of sense. &amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;b id=&quot;docs-internal-guid-31dfa0f3-1477-e998-644a-072bc80c7a80&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;/b&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;h2&gt;Design&lt;/h2&gt;I started by making some mock-ups on paper of each planet.  I originally  thought I would use 4 Lego plates for each tile, but I quickly realized  that would make it too large.  I switched to using just one 1x1 plate  per box.&lt;br /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-EI0awrF-3rw/Vs3yTChDvBI/AAAAAAAA8xw/4-_hTfEKYLc/s1600/20151113_191306_HDR.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://3.bp.blogspot.com/-EI0awrF-3rw/Vs3yTChDvBI/AAAAAAAA8xw/4-_hTfEKYLc/s640/20151113_191306_HDR.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-stSDXlCmeQs/Vs3ybr3RkCI/AAAAAAAA8yA/kujMV4d0NTM/s1600/20151117_184706_HDR.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://3.bp.blogspot.com/-stSDXlCmeQs/Vs3ybr3RkCI/AAAAAAAA8yA/kujMV4d0NTM/s640/20151117_184706_HDR.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-qBdEmmXC3sA/Vs3yW8Pe_FI/AAAAAAAA8x4/H2tkqceLZqc/s1600/20151118_194936_HDR.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://1.bp.blogspot.com/-qBdEmmXC3sA/Vs3yW8Pe_FI/AAAAAAAA8x4/H2tkqceLZqc/s640/20151118_194936_HDR.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;h2&gt;Building &amp;amp; Learning&lt;/h2&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;arial&amp;quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;We tested our plans on one planet - Earth. I&#39;m always on the lookout for things for my kids to do. It&#39;s more important to be fun than a success. Fun means they might try it again.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b id=&quot;docs-internal-guid-31dfa0f3-147e-aed2-dd9c-8476d36babe6&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;arial&amp;quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;I started out by getting a standard plate from &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;arial&amp;quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;L&lt;/span&gt;&lt;/span&gt;&lt;b id=&quot;docs-internal-guid-31dfa0f3-147e-aed2-dd9c-8476d36babe6&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;arial&amp;quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;ego, which only came in 2 colors: tan and green. &amp;nbsp;I thought I would just cover everything outside of the planets in black pieces. &amp;nbsp;This idea was quickly dropped after I realized how much money I would have to spend on black background pieces. &amp;nbsp;After finishing the first planet (Earth), I found some black base plates on ebay.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-2W8p3HgIMz8/Vs3z1KCiFUI/AAAAAAAA8yM/vf0WXQTh_nw/s1600/20160104_192651_HDR.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://2.bp.blogspot.com/-2W8p3HgIMz8/Vs3z1KCiFUI/AAAAAAAA8yM/vf0WXQTh_nw/s640/20160104_192651_HDR.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-fnXmmd9spBg/Vs3z875WGZI/AAAAAAAA8yc/rD5b_oeQwoI/s1600/20160115_180510.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://1.bp.blogspot.com/-fnXmmd9spBg/Vs3z875WGZI/AAAAAAAA8yc/rD5b_oeQwoI/s640/20160115_180510.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Goodbye tan baseplate, hello black baseplate&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-ENS8NBSZXPM/Vs3z5I-MrKI/AAAAAAAA8yU/NClo8WLkWF0/s1600/20160121_182408.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://4.bp.blogspot.com/-ENS8NBSZXPM/Vs3z5I-MrKI/AAAAAAAA8yU/NClo8WLkWF0/s640/20160121_182408.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br /&gt;&lt;b id=&quot;docs-internal-guid-31dfa0f3-147e-fcdf-0455-0352c40f3f81&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;arial&amp;quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;After the first two were done, we got into a rhythm and pushed out the rest in quick order. &amp;nbsp;I wasn&#39;t planning on making the sun, but I accidentally ordered too many baseplates and figured why not.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-jdQBx_0PCPs/Vs30mN3xUCI/AAAAAAAA8yk/mumBmFVoVMg/s1600/20160123_192124%257E2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;134&quot; src=&quot;https://1.bp.blogspot.com/-jdQBx_0PCPs/Vs30mN3xUCI/AAAAAAAA8yk/mumBmFVoVMg/s640/20160123_192124%257E2.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Keep an eye on Uranus&#39; rings&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;h2&gt;Assembly&lt;/h2&gt;&lt;br /&gt;I mounted the plates to a 1/4 inch piece of wood that is 6 feet long.&amp;nbsp; I painted it black and attached each plate using liquid nails adhesive.&lt;br /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-pZWDnB20seY/Vs31GH8YoKI/AAAAAAAA8yw/Yx635-1s_-w/s1600/20160218_152638.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://4.bp.blogspot.com/-pZWDnB20seY/Vs31GH8YoKI/AAAAAAAA8yw/Yx635-1s_-w/s640/20160218_152638.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-sj-Gx4FHOaU/Vs31KkNSbvI/AAAAAAAA8y4/-QV2tLe_zoo/s1600/20160221_144651.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://4.bp.blogspot.com/-sj-Gx4FHOaU/Vs31KkNSbvI/AAAAAAAA8y4/-QV2tLe_zoo/s640/20160221_144651.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;h2&gt;Extra Credit&lt;/h2&gt;&lt;br /&gt;I decided to try to add some additional fun themes to my solar system.  I played around with making some things using my extra pieces, but I couldn’t get them to look quite right.&lt;br /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;I was trying to find a way to make a convincing Starship Enterprise when it occurred to me that my strategy suggested two-dimensional thinking. That’s when I found lots of instructions and small sets on ebay - a TARDIS, X-wing, TIE Fighter, etc.&lt;br /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-ZjLbr5J9uYk/Vs31vGpe0MI/AAAAAAAA8zE/4QGYt1wfPhY/s1600/20160211_212537.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://2.bp.blogspot.com/-ZjLbr5J9uYk/Vs31vGpe0MI/AAAAAAAA8zE/4QGYt1wfPhY/s640/20160211_212537.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;My first attempt, any guesses as to what some of these are?&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-wsEvLrmJnvs/Vs31y_F3WgI/AAAAAAAA8zM/O386OlgXnVQ/s1600/20160219_182604.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://2.bp.blogspot.com/-wsEvLrmJnvs/Vs31y_F3WgI/AAAAAAAA8zM/O386OlgXnVQ/s640/20160219_182604.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-A-SQCB2RNeU/Vs312msnxGI/AAAAAAAA8zU/q5IGAdQ5BJY/s1600/20160220_170319.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;https://1.bp.blogspot.com/-A-SQCB2RNeU/Vs312msnxGI/AAAAAAAA8zU/q5IGAdQ5BJY/s640/20160220_170319.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;h2&gt;Final Result&lt;/h2&gt;&lt;br /&gt;After I had pretty much finished, a friend pointed out that Uranus’ rings we situated more North-to-South. One advantage of using Lego is that you can change things fairly easily.&lt;br /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-OvbQdTynYTw/Vs33LnzVf5I/AAAAAAAA8zk/1y-9m5FMj6Q/s1600/IMG_5982.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://3.bp.blogspot.com/-OvbQdTynYTw/Vs33LnzVf5I/AAAAAAAA8zk/1y-9m5FMj6Q/s640/IMG_5982.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br /&gt;This project cost me about $300: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;$200 - Legos&lt;/li&gt;&lt;li&gt;$60 - Baseplates&lt;/li&gt;&lt;li&gt;$30 - wood&lt;/li&gt;&lt;li&gt;$10 - glue, picture hangers, etc&lt;/li&gt;&lt;/ul&gt;I spent a lot of time on various Lego websites, but I almost always used ebay for my final purchases.&amp;nbsp; The people running little Lego shops on there are very organized and ship fast.&amp;nbsp; I made one order on Lego&#39;s Pick-A-Brick website and I&#39;m still waiting for those parts to arrive.&lt;br /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/7320960471649181619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2016/02/lego-solar-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/7320960471649181619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/7320960471649181619'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2016/02/lego-solar-system.html' title='Lego Solar System'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/--xe0BOo-aTE/Vs3xPMnf62I/AAAAAAAA8xk/Gh5unk66GMg/s72-c/IMG_5982.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-1833918012588899700</id><published>2015-09-24T11:25:00.000-07:00</published><updated>2015-09-24T11:25:10.721-07:00</updated><title type='text'>WA State Toll Tracker, for Android</title><content type='html'> &lt;p&gt;I&#39;m happy to announce the release of another Android application, &lt;b&gt;WA State Toll Tracker&lt;/b&gt;! &lt;br/&gt;&lt;br/&gt;Go install it now at the Google Play Store: &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.mabon.goodtoknow&quot; target=&quot;_blank&quot;&gt;https://play.google.com/store/apps/details?id=com.mabon.goodtoknow&lt;/a&gt;&lt;/li&gt;&lt;li&gt;If you like it, please leave a great review!&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;View the official web page:&lt;br/&gt;&lt;a href=&quot;http://mabonservices.com/tolls&quot; target=&quot;_blank&quot;&gt;http://mabonservices.com/tolls&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; &lt;/p&gt;  &lt;h2&gt;Questions about the project&lt;/h2&gt; &lt;p&gt;&lt;b&gt;Where did this idea come from?&lt;/b&gt;&lt;br/&gt;I came up with the idea for this app while crossing the SR 520 bridge, which is a toll road.  All tolling is handled by an automated system that is linked to an online account you setup with the State of Washington.  You can read more about the program at &lt;a href=&quot;http://mygoodtogo.com&quot; target=&quot;_blank&quot;&gt;http://mygoodtogo.com&lt;/a&gt; .  You sign up for an account, and provide a credit card to get started.  When you cross the bridge (or another tolled area) their system reads your pass and deducts the toll from your account.  &lt;/p&gt;   &lt;p&gt;I had read some stories about people who had racked up large fines for failing to notice they had outstanding tolls and fees on their accounts.  I decided to double-check my account, but couldn&#39;t remember my username or password.  It would be ok if it happened once, but every time I wanted to check my account I would have to go through the process of forgetting my username or password and having to reset my account. &lt;/p&gt; &lt;p&gt;So I built this app.  It allows me to quickly view my tolling activity without having to reset my password.  Now when I want to quickly review my account, I can just open the app and refresh for my most recent activity. &lt;/p&gt; &lt;p&gt;It has also saved us money.  We had a car that had problems with a sticker pass.  The system would recognize the pass but someone at Good To Go had to visually confirm the toll via a photo.  It&#39;s called a photo enforcement fee, and you get charged an additional 25 cents for each time it occurs.  It happened so frequently that it became cost effective to get a new pass. &lt;/p&gt; &lt;p&gt;&lt;b&gt;How long did it take to build?&lt;/b&gt;&lt;br/&gt;I think it was about a year.  It was done in my spare time, and I allowed some other interests to get in the way if needed, &lt;a href=&quot;http://blog.jjerome.com/2015/08/tardis-fridge.html&quot; target=&quot;_blank&quot;&gt;like painting my fridge to look like a TARDIS&lt;/a&gt;.   &lt;/p&gt; &lt;p&gt;&lt;b&gt;What&#39;s your status?&lt;/b&gt;&lt;br/&gt;I&#39;m a full-time contractor, so I was looking for something to do on the side for fun.  I don&#39;t do any advertising for my apps, and I feel if I was ever going to look to do this more seriously it would be beneficial for me to keep publishing apps. &lt;/p&gt; &lt;p&gt;&lt;b&gt;What got you into Android development?&lt;/b&gt;&lt;br/&gt;Honestly, I couldn&#39;t afford a computer from Apple.  I did some robotics development a few years ago that I very much liked.  The same bug that might render a web page incorrectly might sent your robot into a ditch.  Android development reminded me of that past, so I wanted to explore it further. &lt;/p&gt; &lt;p&gt;&lt;b&gt;What challenges did you face with building the app?&lt;/b&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt;My other apps were Activity-based apps, and I wanted to play with fragments.  It was a bit of pain, because some things I knew, but not enough to do everything I wanted to do.  So I was making jagged progress - some things came quickly, others moved forward like a snail.&lt;/li&gt; &lt;li&gt;InApp billing was a little bit of a pain.  For starters, InApp billing needs more real-world examples, and the ability to debug a beta APK with InApp billing enabled&lt;/li&gt; &lt;li&gt;The technique to implement a Navigation Drawer changed half way through my development of the app.  Honestly I&#39;m glad I put the time in to change it because the new way is better. &lt;/li&gt; &lt;li&gt;It seems petty, but would it kill Android Studio to allow you to set a breakpoint on an empty line?  I mean that I want it to stop before the next executable line.  Android Studio will let you set the breakpoint on an empty line, but completely ignores it come debug time. &lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;   &lt;p&gt;&lt;b&gt;What&#39;s next?&lt;/b&gt;&lt;br/&gt;I have a few ideas rolling around in my head, and some friends with ideas of their own.  My biggest fear is that since I&#39;m doing this myself that I&#39;m missing out on the collaborative learning I would get if I was working with a team. &lt;/p&gt; &lt;a href=&quot;http://1.bp.blogspot.com/-8Z116AfKPzQ/VgQ_atryN3I/AAAAAAAA4PM/rn539XXry84/s1600/ss01.png&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-8Z116AfKPzQ/VgQ_atryN3I/AAAAAAAA4PM/rn539XXry84/s320/ss01.png&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://4.bp.blogspot.com/-e5smxebE4Bk/VgQ_akmHbdI/AAAAAAAA4PI/RO-wtykigDI/s1600/ss02.png&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-e5smxebE4Bk/VgQ_akmHbdI/AAAAAAAA4PI/RO-wtykigDI/s320/ss02.png&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://2.bp.blogspot.com/-PB2Abgn48ww/VgQ_aiQI3yI/AAAAAAAA4PU/tjdBF77yAns/s1600/ss03.png&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-PB2Abgn48ww/VgQ_aiQI3yI/AAAAAAAA4PU/tjdBF77yAns/s320/ss03.png&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://1.bp.blogspot.com/-v5m6E1QM__Y/VgQ_b1puGxI/AAAAAAAA4PQ/v9QR9QVV3t0/s1600/ss04.png&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-v5m6E1QM__Y/VgQ_b1puGxI/AAAAAAAA4PQ/v9QR9QVV3t0/s320/ss04.png&quot; /&gt;&lt;/a&gt;  </content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/1833918012588899700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2015/09/wa-state-toll-tracker-for-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/1833918012588899700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/1833918012588899700'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2015/09/wa-state-toll-tracker-for-android.html' title='WA State Toll Tracker, for Android'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-8Z116AfKPzQ/VgQ_atryN3I/AAAAAAAA4PM/rn539XXry84/s72-c/ss01.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-3537845798378035529</id><published>2015-08-11T16:29:00.000-07:00</published><updated>2015-08-11T16:29:07.095-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="art"/><category scheme="http://www.blogger.com/atom/ns#" term="doctorwho"/><category scheme="http://www.blogger.com/atom/ns#" term="TARDIS"/><title type='text'>TARDIS Fridge</title><content type='html'>&lt;style&gt;&lt;!--  .tr-caption { font-size:1.25em !important; } --&gt;&lt;/style&gt;  I made my fridge into a TARDIS! I know that you can buy kits to do this, but I decided to try to make one. I used packing paper, some paint, and lots of measuring.  &lt;br /&gt;&lt;br /&gt;Colors: &lt;ul&gt;&lt;li&gt;Blue: Empire Fleet Blue, Flat (from Lowe&#39;s)&lt;/li&gt;&lt;li&gt;Black: generic poster paint, Flat (I&#39;d suggest not using poster paint - it&#39;s water soluble &lt;/li&gt;&lt;li&gt;White: semigloss White&lt;/li&gt;&lt;/ul&gt;  &lt;br /&gt;Fonts: &lt;ul&gt;&lt;li&gt;&lt;b&gt;Gill Sans MT&lt;/b&gt; (POLICE PUBLIC CALL BOX)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Gill Sans MT Condensed&lt;/b&gt; (POLICE PUBLIC CALL BOX (on side))&lt;/li&gt;&lt;li&gt;&lt;b&gt;Times New Roman&lt;/b&gt; (POLICE TELEPHONE / FREE / FORE USE OF / PUBLIC)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Gill Sans MT&lt;/b&gt; (ADVICE &amp; ASSISTANCE / OBTAINABLE IMMEDIATELY / OFFICER &amp; CARS / RESPOND TO ALL CALLS)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Calibri&lt;/b&gt; (PULL TO OPEN)&lt;/li&gt;&lt;/ul&gt;  &lt;br /&gt;&lt;br /&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-pkJbbAMreHI/Vcp6qUNh4qI/AAAAAAAAyxo/fjiSQUXIr6U/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://2.bp.blogspot.com/-pkJbbAMreHI/Vcp6qUNh4qI/AAAAAAAAyxo/fjiSQUXIr6U/s640/1.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The finished product!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-4NdOnzShbr4/Vcp6tOQTobI/AAAAAAAAyxw/NHqyddHvaCo/s1600/20150607_224929.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://1.bp.blogspot.com/-4NdOnzShbr4/Vcp6tOQTobI/AAAAAAAAyxw/NHqyddHvaCo/s640/20150607_224929.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;I had lots of packing paper from past Amazon orders.  I rolled them out  on the floor and painted them with a small roller.  I found a couple  suggestions for colors, and took the easiest one.  Lowe&#39;s &quot;Empire Fleet  Blue&quot; in flat.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-ZIJWvVSXWp0/Vcp67y2eC7I/AAAAAAAAyx4/JYv3YRLmu3w/s1600/20150608_170218.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://2.bp.blogspot.com/-ZIJWvVSXWp0/Vcp67y2eC7I/AAAAAAAAyx4/JYv3YRLmu3w/s640/20150608_170218.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Hanging the first paper on the fridge.  I made some guides to help make  the different panels.  I had a couple reference models in my house which  I used to determine rough dimensions.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-7vQhA8QGX04/Vcp7-dSA1TI/AAAAAAAAyzc/u9AkQBFgqu0/s1600/20150608_182149.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://3.bp.blogspot.com/-7vQhA8QGX04/Vcp7-dSA1TI/AAAAAAAAyzc/u9AkQBFgqu0/s640/20150608_182149.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;A closeup of the window guide.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-Y2PIuzLPjZE/Vcp7-93_dxI/AAAAAAAAyzk/BSIb0U7F3_o/s1600/20150713_181943.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://1.bp.blogspot.com/-Y2PIuzLPjZE/Vcp7-93_dxI/AAAAAAAAyzk/BSIb0U7F3_o/s640/20150713_181943.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;I used magnets to hold each panel in place, then taped the edges with  black tape.  I originally wanted to take the door handles off, but I  couldn&#39;t figure it out and decided against it.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-FPMSIFZRHi4/Vcp7-E3rYCI/AAAAAAAAyzY/jPPwK70sRXU/s1600/20150716_193048.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://4.bp.blogspot.com/-FPMSIFZRHi4/Vcp7-E3rYCI/AAAAAAAAyzY/jPPwK70sRXU/s640/20150716_193048.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;I used the guides to trace an outline of each section.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-QEXz1BDbHBU/Vcp7_6UHaeI/AAAAAAAAyzw/E7iDPFdPC7s/s1600/20150718_184007.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://1.bp.blogspot.com/-QEXz1BDbHBU/Vcp7_6UHaeI/AAAAAAAAyzw/E7iDPFdPC7s/s640/20150718_184007.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;My neighbor had a laser level, which I decided to take advantage of when trying to line up the panels on both sides.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-iLiDW7KTqzM/Vcp8AlfAToI/AAAAAAAAyz0/RcIJZvDOs_o/s1600/20150719_181431.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://4.bp.blogspot.com/-iLiDW7KTqzM/Vcp8AlfAToI/AAAAAAAAyz0/RcIJZvDOs_o/s640/20150719_181431.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;After all the outlines were traced, I cut out the windows on my guide to help make the individual windows.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-cb5YmdVFYC4/Vcp8BEKS2UI/AAAAAAAAy0A/MqnQPI-0diU/s1600/20150719_195016.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://4.bp.blogspot.com/-cb5YmdVFYC4/Vcp8BEKS2UI/AAAAAAAAy0A/MqnQPI-0diU/s640/20150719_195016.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;First windows painted!  I decided I liked the translucent look and did not add any extra coats.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-Sa6kdjHpKd0/Vcp8CSDo4SI/AAAAAAAAy0I/GgZ9vAXvbU8/s1600/20150720_213742.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://1.bp.blogspot.com/-Sa6kdjHpKd0/Vcp8CSDo4SI/AAAAAAAAy0I/GgZ9vAXvbU8/s640/20150720_213742.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;I figured out the font for the top (Gill Sans MT), and then printed out  the letters on my printer.  Once I had the sizing, I used an x-acto  knife to make a stencil and traced them in the right spot for painting.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-4yPMKn6UoRQ/Vcp8DPcgKxI/AAAAAAAAy0M/ap19gU1r5ao/s1600/20150807_175237.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://2.bp.blogspot.com/-4yPMKn6UoRQ/Vcp8DPcgKxI/AAAAAAAAy0M/ap19gU1r5ao/s640/20150807_175237.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;It took a while - it turned out I needed 2 sets of stencils, one for  each side.  Since it wasn&#39;t as wide, I had to use &quot;Gill Sans MT  Condensed&quot; for the side.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-tVlJI1liyjo/Vcp8ECEO2sI/AAAAAAAAy0Y/H3rkaOxnmT0/s1600/20150808_185724.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://4.bp.blogspot.com/-tVlJI1liyjo/Vcp8ECEO2sI/AAAAAAAAy0Y/H3rkaOxnmT0/s640/20150808_185724.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;By the time I got to the sign, I just researched the fonts and printed  them on paper that I cut to size.  I used spray glue to attach it.  The  fonts I used were: Times New Roman, Gill Sans MT, and Calibri.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-Hfa0E15UC24/Vcp8FP6oGPI/AAAAAAAAy0g/VgaBAYssKbk/s1600/20150808_185730.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;480&quot; src=&quot;http://2.bp.blogspot.com/-Hfa0E15UC24/Vcp8FP6oGPI/AAAAAAAAy0g/VgaBAYssKbk/s640/20150808_185730.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;I decided to add the St John&#39;s Ambulance logo as well.  I found a bunch of examples online.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-cV4_HtU5O0g/Vcp8GBojNuI/AAAAAAAAy00/bYKk2JucDZI/s1600/20150808_204750.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;http://4.bp.blogspot.com/-cV4_HtU5O0g/Vcp8GBojNuI/AAAAAAAAy00/bYKk2JucDZI/s640/20150808_204750.jpg&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The finished product!  It took much longer than I was expecting, but it  was something artistic to do when I needed a distraction.  Maybe we&#39;ll  find more room in there for milk now?&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-X1V1fdY5L0E/Vcp8GkQHD6I/AAAAAAAAy0s/D6G5RGXRhqo/s1600/20150808_204754.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;http://3.bp.blogspot.com/-X1V1fdY5L0E/Vcp8GkQHD6I/AAAAAAAAy0s/D6G5RGXRhqo/s640/20150808_204754.jpg&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The base blue paint is rather sturdy.  Unfortunately I used some poster  paint for the black, so it is not exactly water safe.  I used a  semi-gloss white for the letters/windows, which gives it an  ever-so-slight glowing effect next to all the flat colors.   &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left; margin-top: 4em;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-uOsdbDHDLLQ/Vcp8GTj0wrI/AAAAAAAAy0o/2gc8dDz8PNQ/s1600/last.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;http://4.bp.blogspot.com/-uOsdbDHDLLQ/Vcp8GTj0wrI/AAAAAAAAy0o/2gc8dDz8PNQ/s640/last.jpg&quot; width=&quot;426&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;K9 approves!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/3537845798378035529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2015/08/tardis-fridge.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/3537845798378035529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/3537845798378035529'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2015/08/tardis-fridge.html' title='TARDIS Fridge'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-pkJbbAMreHI/Vcp6qUNh4qI/AAAAAAAAyxo/fjiSQUXIr6U/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-4202923693915666493</id><published>2015-07-28T12:54:00.000-07:00</published><updated>2015-07-28T14:49:55.724-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><title type='text'>TSQLUnit_Job</title><content type='html'>&lt;p&gt;&lt;div style=&quot; border: #008000 1px solid; padding-left: 5px; padding: 5px; border-radius: 2px; background-color: #EBEBEB;&quot;&gt;&lt;div style=&quot;font-size: 16pt;&quot;&gt;&lt;b&gt;TSQLUnit_Job&lt;/b&gt;&lt;/div&gt;Allows &lt;a target=&quot;_blank&quot; href=&quot;http://sourceforge.net/projects/tsqlunit/&quot;&gt;TSQLUnit&lt;/a&gt; to run unit tests as a database job (SQL Agent) &lt;/div&gt;&lt;/p&gt; &lt;p&gt;I finally released code publicly (yikes!). I doubt anyone will ever see it, let alone use it.  However, it still frightens me beyond belief!&lt;/p&gt; Go check it out now on github:&lt;br /&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://github.com/jjerome00/TSQLUnit_Job&quot;&gt;https://github.com/jjerome00/TSQLUnit_Job&lt;/a&gt; &lt;p&gt;It&#39;s essentially a wrapper for TSQLUnit that allows unit tests to be run as a database job (SQL Agent), with the results sent as an email (with html formatting).  Read more about it on &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/jjerome00/TSQLUnit_Job&quot;&gt;Github&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;I wrote it years ago for a situation where we needed to look for common error conditions in a legacy system.  We didn&#39;t have the resources to fix everything, so I would write a test to look for certain situations.  The job would notify me if something came up.  It was very useful for planning - if an issue only occurred once every six months, we might apply a different fix instead of re-writing the entire module. &lt;/p&gt; &lt;p&gt;It requires &lt;a target=&quot;_blank&quot; href=&quot;http://sourceforge.net/projects/tsqlunit/&quot;&gt;TSQLUnit&lt;/a&gt;, and SQL Server (duh).&lt;/p&gt; &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/jjerome00/TSQLUnit_Job&quot;&gt;TSQLUnit_Job&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/4202923693915666493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2015/07/tsqlunitjob.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/4202923693915666493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/4202923693915666493'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2015/07/tsqlunitjob.html' title='TSQLUnit_Job'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-6441929140724430506</id><published>2015-07-02T16:12:00.000-07:00</published><updated>2015-07-02T16:20:23.947-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GIMP"/><category scheme="http://www.blogger.com/atom/ns#" term="image"/><category scheme="http://www.blogger.com/atom/ns#" term="Simpsons"/><title type='text'>Simpsonized Family Portraits</title><content type='html'>&lt;html&gt;&lt;h1&gt;I somehow developed a hobby of creating Simpsons pictures for my family.&lt;/h1&gt;&lt;p&gt;I have this ongoing hobby of creating Simpsons pictures for myself and family.  It started out as a joke, and it just continued from there.  I just created a new one the other day, and I thought I should try to keep some sort of a record of some of them. &lt;/p&gt; &lt;p&gt;This pre-dates most social media sites.  In fact, the original reason was to make chat icons for my IM client (Pidgin).  I suppose as web technology improved and the avatars got bigger, so did the complexity of my alterations.  After each one I think it will be the last, only to find myself thinking of new ideas a short time later. &lt;/p&gt; &lt;p&gt;All of these were made using &lt;a href=&quot;http://gimp.org&quot; target=&quot;_blank&quot;&gt;GIMP&lt;/a&gt; (for Windows).&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-VjaiGByD4SE/VZXB8okhQ2I/AAAAAAAAxSk/WOwfDnnQbbU/s1600/family%2Bwith%2Bhouse.png&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-VjaiGByD4SE/VZXB8okhQ2I/AAAAAAAAxSk/WOwfDnnQbbU/s320/family%2Bwith%2Bhouse.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Some past versions:&lt;br/&gt; &lt;a href=&quot;http://1.bp.blogspot.com/-OhE0NBg7I2U/VZXDKV0gZoI/AAAAAAAAxTA/cszUpzz8Qac/s1600/kids.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-OhE0NBg7I2U/VZXDKV0gZoI/AAAAAAAAxTA/cszUpzz8Qac/s320/kids.jpg&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://2.bp.blogspot.com/-UagPhpLO0Is/VZXB9V3F7mI/AAAAAAAAxSs/eo-ZyK33ZXA/s1600/pool.png&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-UagPhpLO0Is/VZXB9V3F7mI/AAAAAAAAxSs/eo-ZyK33ZXA/s320/pool.png&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://2.bp.blogspot.com/-NfTvVndVEaA/VZXB8Yo4w-I/AAAAAAAAxSU/_Fo5AYaATEs/s1600/family%2Bdance.png&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-NfTvVndVEaA/VZXB8Yo4w-I/AAAAAAAAxSU/_Fo5AYaATEs/s320/family%2Bdance.png&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://2.bp.blogspot.com/-IPk02aLq7yk/VZXB8kSidzI/AAAAAAAAxSY/CLSGkieOAJg/s1600/halloween.png&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-IPk02aLq7yk/VZXB8kSidzI/AAAAAAAAxSY/CLSGkieOAJg/s320/halloween.png&quot; /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/br&gt;&lt;/p&gt;&lt;p&gt;&lt;/br&gt;&lt;/p&gt; &lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/6441929140724430506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2015/07/simpsonized-family-portraits.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/6441929140724430506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/6441929140724430506'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2015/07/simpsonized-family-portraits.html' title='Simpsonized Family Portraits'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-VjaiGByD4SE/VZXB8okhQ2I/AAAAAAAAxSk/WOwfDnnQbbU/s72-c/family%2Bwith%2Bhouse.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-2849761699267926212</id><published>2015-02-27T15:58:00.000-08:00</published><updated>2015-02-27T15:58:55.926-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="religion"/><category scheme="http://www.blogger.com/atom/ns#" term="story"/><title type='text'>Growing up as a clueless goofy Catholic kid</title><content type='html'>&lt;p&gt;I used to write a lot when I was younger.  I’ve had multiple diaries, journals, and so forth through the years.  Some of the more memorable stories I took the time to write down.  Anyway, I have a bunch of little tidbits I wrote this week but nothing really stuck out.  That’s when it occurred to me that I should post one of these past stories that I took the time to write down.  This story is from around 1995, and I believe I finally gathered all of it together around 2000. &lt;/p&gt; &lt;h1&gt;This story is about trying to act grown up as a clueless goofy Catholic kid.&lt;/h1&gt;&lt;p&gt;&lt;i&gt;Everything in this story is completely true, right down to the announcement made in church.&lt;/i&gt;&lt;/p&gt; &lt;p&gt;It all started a few years ago when I went with my sister to visit my parents for Christmas.  My mother makes a big deal about her children going to church on Christmas eve.  Instead of following the usual Catholic routine (try to get out of it, she gives us a guilt trip, we give in) we decided to just agree to go and make her happy. &lt;/p&gt; &lt;p&gt;We get spiffed up for the service and head down to the church.  As usual every other Christian family that usually doesn&#39;t go to church decides to show up for the service too.  This year is a bit different, instead of our usual spot along the wall, we split up and actually get seats.  Its a minor miracle. &lt;/p&gt; &lt;p&gt;Anyway, that&#39;s not the point of the story.  Communion comes up and we all get in line to go and receive the bread/body/&quot;whatever they call that white wafer thing&quot;.  On our way up, I started to think back to my first communion. &lt;/p&gt; &lt;p&gt;I actually skipped my first communion, my mother took me to church the night before and I asked why I had to wait a day - I didn&#39;t see the need to wait a day, and there was no way I was going to church 2 days in a row.  She agreed and sent me up there, only she forgot to tell me what to say when I actually got the thing in my hands.  So when the priest actually put the wafer in my hands, I didn&#39;t know what to say.  He whispered what I thought was &quot;Say uhumm&quot;, to which I returned a confused look.  He kept on repeating this strange utterance until I figured it out.  It only took about 30 seconds to get it through to me, but that&#39;s a long time to hold up a line. My mother was so embarrassed, but she laughed it off and I got a lot of ribbing over it over the next few years. &lt;/p&gt; &lt;p&gt;So back to Christmas.  I&#39;m in line, thinking of this story.  I actually start to smile and think about how far I have come in life.  I&#39;m in college, have a job, survived many a setback, etc.  I&#39;m feeling pretty good knowing that I can now do this communion thing so easily.  Well, I start to get a little nervous, and my hands started to sweat a bit.  I&#39;m not worrying, but I want this to go perfectly because I know my parents are behind me a few rows back watching my sister and I make our way in the line. &lt;/p&gt; &lt;p&gt;I get up to the Priest, he says his words, to which I reply &quot;Amen!&quot;.  He gives me the wafer and I go to put it in my mouth when... &lt;/p&gt; &lt;p&gt;Well, I guess my hands were a little moist, and the wafer stuck to my finger a bit and then fell off of it.  I could see it flip end over end in the air as it made its way to the floor.  I tried to grab it in mid air, but missed.  The wafer hit the floor. &lt;/p&gt; &lt;p&gt;It would have been bad enough that all of this happened, but no, it gets worse.  The wafer lands on its side, and starts rolling like a quarter.  It rolls back towards the line and hits my sisters foot.  Meanwhile I have been crawling on the floor chasing after it.  I pick it up off the floor next to my sisters shoe, and hold it up so that the Priest can see that I have regained control of the situation.  He chooses not to look at me.  I turn around and look at my sister, who is bright red.  She pushes me off to the side and tells me to sit down.  I put the wafer in my mouth, do the cross thingy, look back and see my father holding his face in his hands.  He is shaking his head as if he was saying &quot;Where did we go wrong...&quot; &lt;/p&gt; &lt;p&gt;I sat down next to my sister who won&#39;t look at me, my parents walk by and my mother can barely get back to her seat because she is laughing so hard. She is being helped by my father, who is just shaking his head. &lt;/p&gt; &lt;p&gt;My parents told me later that I have never supplied them with a dull moment ever since I was born, and this incident was no different.  It also turns out that its a huge deal to the church if you drop one of those things.  A long time ago they would have stopped the service, and had to go through a long procedure to bless the spot where it dropped and so forth. Luckily for me nothing was mentioned. &lt;/p&gt; &lt;p&gt;...Well, not until the next year.  When they announced that parents please look after their children and be careful not to drop any wafers on the ground. &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/2849761699267926212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2015/02/growing-up-as-clueless-goofy-catholic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/2849761699267926212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/2849761699267926212'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2015/02/growing-up-as-clueless-goofy-catholic.html' title='Growing up as a clueless goofy Catholic kid'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-6946609720305415540</id><published>2015-02-16T13:50:00.000-08:00</published><updated>2015-02-16T13:50:49.815-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gadgets"/><category scheme="http://www.blogger.com/atom/ns#" term="hack"/><category scheme="http://www.blogger.com/atom/ns#" term="hardware"/><title type='text'>Disable the beep on your Mr Coffee</title><content type='html'>&lt;h1&gt;Silencing your Mr Coffee FTX21 (or FTX25) for good&lt;/h1&gt; &lt;p&gt;After 9 years, I finally had enough of the loud beeping coming from my Mr Coffee.  Like most things, it started out small and built up until I couldn&#39;t take it anymore.  I often wish these things like this had an option for a mute button, but it’s not the case.   &lt;/p&gt; &lt;p&gt;All my research just turned up others complaining about the same problem for their unit, which was comforting but didn’t solve the problem.  The following link got me started on the solution I came up with:&lt;br /&gt;&lt;a href=&quot;http://mongolianquill.net/2011/10/disable-the-obnoxious-beeping-on-a-mr-coffee-model-jwx27/&quot; target=&quot;_blank&quot;&gt;Disable the obnoxious beeping on a Mr. Coffee, Model JWX27&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I thought it might be a clever idea to just find the speaker and disable it.  The coffee maker could continue going about its business and never make a noise again.  I had tried taking the coffee maker apart a few times.  The only success that I’ve had is that I got it back together (and working) each time.  I discovered that the electronic components (circuit board) are sealed inside the machine.  That’s probably a good idea considering how much moisture it deals with on a daily basis. &lt;/p&gt;&lt;p&gt;However, I didn’t give up, and this last time proved to be the charm.  I brewed a few test-cups and listened to determine the location of the speaker inside the unit.  My wife walked into the kitchen and saw me with my ear against the coffee maker, and didn’t even flinch.  On our wedding day I told her that the only thing I could promise is that I&#39;d make her laugh.  Every time she catches me in a situation like this she just says &quot;I see you are keeping your promise alive and well&quot;.   &lt;/p&gt;&lt;p&gt;After I determined the spot, I carefully drilled a pencil-width hole into that spot.  To my luck I discovered there was some space between the outer wall and the circuit board.  This allowed me to drill a couple more holes (3 total) to get a better look.  I was considering using a dremel, but I wanted to keep my holes as small as possible to make it easier to fix when I was finished. &lt;/p&gt;&lt;p&gt;I discovered a circular disc directly below where I drilled the holes - this was the speaker!  While it was beeping, I poked it with a screwdriver and the sound fluctuated with my prodding.  To finish the job, I brewed another test pot and while it was beeping I carefully pried the disc away from the circuit board until the machine fell silent.   &lt;/p&gt;&lt;p&gt;No more beeping!  I feel both ecstatic and lame at the same time! &lt;/p&gt;&lt;p&gt;My only hope is that this inspires more people to take ownership of their electronics.  Also, keep in mind that there are plenty of good coffee machines for sale at your local Goodwill.  Good Luck! &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-tuMY7NyAooM/VOJkz8hb0HI/AAAAAAAAwu0/Q-Ikhc2GW_8/s1600/20150214_172716.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-tuMY7NyAooM/VOJkz8hb0HI/AAAAAAAAwu0/Q-Ikhc2GW_8/s320/20150214_172716.jpg&quot; /&gt;&lt;/a&gt;&lt;br/ &gt;&lt;b&gt;So it&#39;s come to this, MR Bond.&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-0P8dkyRo4i0/VOJk5tJz7tI/AAAAAAAAwu8/LjWRlHptGZQ/s1600/20150214_174124.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-0P8dkyRo4i0/VOJk5tJz7tI/AAAAAAAAwu8/LjWRlHptGZQ/s320/20150214_174124.jpg&quot; /&gt;&lt;/a&gt;&lt;br/ &gt;&lt;b&gt;You can sort-of make out the plastic disc speaker below the surface&lt;/b&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/6946609720305415540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2015/02/disable-beep-on-your-mr-coffee.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/6946609720305415540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/6946609720305415540'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2015/02/disable-beep-on-your-mr-coffee.html' title='Disable the beep on your Mr Coffee'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-tuMY7NyAooM/VOJkz8hb0HI/AAAAAAAAwu0/Q-Ikhc2GW_8/s72-c/20150214_172716.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-8652763962957888003</id><published>2015-01-27T11:09:00.000-08:00</published><updated>2015-01-27T11:18:19.087-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Remote Work"/><title type='text'>Relating to Solving Problems Remotely</title><content type='html'>&lt;h1&gt;Solving Problems as a Remote Worker&lt;/h1&gt; &lt;p&gt;I&#39;ve been following &lt;a href=&quot;http://www.hanselman.com/&quot; target=&quot;_blank&quot;&gt;Scott Hanselman&#39;s blog&lt;/a&gt; for a few years now.  He writes some interesting and insightful posts, and is a more naturally gifted developer than I&#39;ll ever be.  I feel I have enough in common with him to relate, and use everything else as inspiration to better myself.  Anyway, enough of that. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.hanselman.com/blog/TheBasicsOf3DPrintingIn2014FromSomeoneWith16WHOLEHOURSExperience.aspx&quot; target=&quot;_blank&quot;&gt;He wrote a post today about the trials and tribulations of getting started with 3D printing&lt;/a&gt;.  In particular, I related to a comment he made about how to find solutions to problems.  It reminded me so much of how I feel when I have to handle issues when working remotely. &lt;/p&gt; &lt;p&gt;I decided to paraphrase this part of his post here.  Keep in mind that I have altered this a bit, but the core thoughts are his.  He is also a remote worker, so I have to think that his thoughts are rooted from that perspective.  This is why I think I relate so well.&lt;/p&gt; &lt;div style=&quot; border: #008000 1px solid; padding-left: 10px; border-radius: 10px; background-color: #F0EAD6;&quot;&gt;&lt;p&gt;When you work on your own, you inevitably have to search for solutions on you own too.  However, when you search for your problem there are one of two things that will happen: &lt;/p&gt; &lt;p&gt;&lt;ul&gt;&lt;li&gt;You find someone like you with the same problem and they SOLVED IT AND THEY HAVE THE SOLUTION THERE FOR YOU TO USE!&lt;/li&gt;&lt;/ul&gt;or &lt;ul&gt;&lt;li&gt;You find someone like you with the same problem and they NEVER FOUND THE ANSWER AND THIS QUESTION WAS ASKED IN 2009 AND YOU WILL ALWAYS BE ALONE.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;The part &quot;&lt;i&gt;AND YOU WILL ALWAYS BE ALONE&lt;/i&gt;&quot; just makes me smile, because that&#39;s how it feels when you are stuck on a problem and there is no one around to help you get back on track. &lt;/p&gt; &lt;p&gt;Coincidentally my usual MO is to: &lt;ol&gt;&lt;li&gt;Iterate through the problem in more and more detail with the hope that I&#39;ll bring something to the surface&lt;/li&gt;&lt;li&gt;Get really frustrated, give up and sleep on it&lt;/li&gt;&lt;li&gt;The next morning*, look at the problem again, find solution right away&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt; &lt;p&gt;(* sometimes it&#39;s more than one morning)&lt;/p&gt; &lt;p&gt;In case you missed the link I provided above, here is a link to the original post:&lt;br /&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.hanselman.com/blog/TheBasicsOf3DPrintingIn2014FromSomeoneWith16WHOLEHOURSExperience.aspx&quot;&gt;http://www.hanselman.com/blog/TheBasicsOf3DPrintingIn2014FromSomeoneWith16WHOLEHOURSExperience.aspx&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/8652763962957888003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2015/01/relating-to-solving-problems-remotely.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/8652763962957888003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/8652763962957888003'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2015/01/relating-to-solving-problems-remotely.html' title='Relating to Solving Problems Remotely'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-957143451626853689</id><published>2015-01-26T11:34:00.000-08:00</published><updated>2015-01-27T11:18:42.769-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="astronomy"/><title type='text'>Backyard Astronomy</title><content type='html'>&lt;h1&gt;Beginning a backyard astronomy adventure&lt;/h1&gt; &lt;p&gt;A couple months ago my wife casually asked if I would start looking into telescopes for our kids.  I paused, then asked her to take a day to seriously consider the consequences of what she was asking.  After our kids inevitably lost interest, was she prepared for a husband that might not?  If we were going to do this I didn’t want a toy store telescope like I had when I was a kid - I wanted to see stuff! &lt;p&gt; &lt;p&gt;To my surprise, she agreed to it.&lt;/p&gt;&lt;br/&gt; &lt;p&gt;After a lot of research, I had dizzying array of new glossary terms and good idea of what they looked like.  I could at least explain the pros and cons of the different types to a normal person. &lt;/p&gt; &lt;p&gt;Fortunately for me, I got lucky when one of my scopes showed up on Craigslist.  It was listed as a SkyQuest XT4.5, a dobsonian reflector which has a lot of praise beginners.  Unfortunately when I went to see it, it was immediately obvious it had been listed wrong.  Whereas a 4.5 could arguably fit on an end table, this one took up their entire living room!  It was actually a XT6 (the numbers refer to the diameter of the tube, or aperture).  I was glad I did my research! &lt;/p&gt; &lt;p&gt;It was a lot more scope than I planned for, but still an excellent scope for the money.  My wife had reluctantly approved the 4.5 (she’s more of a refractor girl), so I had to make a Louisiana Purchase kind of decision.  I figured I had already warned her - about getting a scope (and also our marriage), so I had some leeway. &lt;/p&gt; &lt;p&gt;&lt;b&gt;The scope itself&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-hjhY-iHPstQ/VK1Vse5TVBI/AAAAAAAAvDc/dl2UmPSrX_c/s1600/IMG_3310.JPG&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-hjhY-iHPstQ/VK1Vse5TVBI/AAAAAAAAvDc/dl2UmPSrX_c/s320/IMG_3310.JPG&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-XdN2VK3FtUE/VK1VsTpKh7I/AAAAAAAAvDc/DCwIXV8eYzA/s1600/IMG_3308.JPG&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-XdN2VK3FtUE/VK1VsTpKh7I/AAAAAAAAvDc/DCwIXV8eYzA/s320/IMG_3308.JPG&quot; /&gt;&lt;/a&gt;&lt;br/&gt;(banana for scale) &lt;/p&gt; &lt;br/&gt;&lt;p&gt;&lt;b&gt;Pictures!&lt;/b&gt;&lt;/p&gt;&lt;p&gt;My first target was the moon.  I took these shots with a cell phone.  Have you ever tried to take a picture with a camera through one of those viewfinders at popular points of interest?  Or through a set of binoculars?  Yeah, this is very similar.  It was hard to balance the cellphone just right to get a good picture.  I’ve since learned that many amateurs will take a video and then capture stills from it.  That seems like much better approach. &lt;/p&gt; &lt;p&gt;I later decided that I should make better use of our DSLR.  Since it would obviously take better pictures.  These turned out better still - you can actually see the stripes in Jupiter!  I can only imagine that I’m going to get better the more I get used to the equipment. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-T5bir20prhE/VL8sS_JSdXI/AAAAAAAAvyg/iCm9owC80OQ/s1600/20150120_203324.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-T5bir20prhE/VL8sS_JSdXI/AAAAAAAAvyg/iCm9owC80OQ/s320/20150120_203324.jpg&quot; /&gt;&lt;/a&gt;&lt;br/&gt;&lt;b&gt;Signs that your new hobby might be catching on&lt;/b&gt;&lt;/p&gt; &lt;p&gt;None of these pictures have been posted processed yet, which is why they appear like a mirrored image.  I&#39;m still working on the post-production potential of this hobby.&lt;/p&gt;&lt;br /&gt; &lt;h1&gt;The Moon&lt;/h1&gt;&lt;p&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-ryGf-D_qIfA/VLadMP_I-PI/AAAAAAAAvho/3SvbjErQIfk/s1600/20150114_070514.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-ryGf-D_qIfA/VLadMP_I-PI/AAAAAAAAvho/3SvbjErQIfk/s320/20150114_070514.jpg&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://3.bp.blogspot.com/-_wVEN3_ZOIg/VLadMBRJlhI/AAAAAAAAvho/lQaYkYan55A/s1600/20150114_071023.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-_wVEN3_ZOIg/VLadMBRJlhI/AAAAAAAAvho/lQaYkYan55A/s320/20150114_071023.jpg&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://4.bp.blogspot.com/-yvbk97PjfRU/VLadMCi-mkI/AAAAAAAAvho/-i6IXZixJVY/s1600/20150114_072857.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-yvbk97PjfRU/VLadMCi-mkI/AAAAAAAAvho/-i6IXZixJVY/s320/20150114_072857.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;h1&gt;Jupiter (1)&lt;/h1&gt;&lt;p&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-tX6sJCPAUa4/VLfjCcY1ZuI/AAAAAAAAvlU/Werpzkmu0xo/s1600/20150114_222636.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-tX6sJCPAUa4/VLfjCcY1ZuI/AAAAAAAAvlU/Werpzkmu0xo/s320/20150114_222636.jpg&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://4.bp.blogspot.com/-blBX7zD-3jA/VLfjCZenM4I/AAAAAAAAvlU/RUs6Sip8D1Y/s1600/20150114_221432.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-blBX7zD-3jA/VLfjCZenM4I/AAAAAAAAvlU/RUs6Sip8D1Y/s320/20150114_221432.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;h1&gt;Jupiter (2)&lt;/h1&gt;&lt;p&gt;That looks like Jupiter!&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-XQ9ORH7cB_A/VMaQi7PDTMI/AAAAAAAAv8E/lehPE1cxMgk/s1600/jupiter%2B-%2Bcropped.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-XQ9ORH7cB_A/VMaQi7PDTMI/AAAAAAAAv8E/lehPE1cxMgk/s320/jupiter%2B-%2Bcropped.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I’ve discovered my laziness in learning all the functions on my DSLR has now hobbled my amateur astrophotography desires.  I understand there is an almost endless ceiling for this stuff, but at the moment it seems my setup alone has almost an endless ceiling! &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/957143451626853689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2015/01/backyard-astronomy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/957143451626853689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/957143451626853689'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2015/01/backyard-astronomy.html' title='Backyard Astronomy'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-hjhY-iHPstQ/VK1Vse5TVBI/AAAAAAAAvDc/dl2UmPSrX_c/s72-c/IMG_3310.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-192293799660622159</id><published>2014-12-03T16:38:00.000-08:00</published><updated>2015-01-27T11:19:13.832-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="notepad++"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Notepad++ Language Selector</title><content type='html'>&lt;br/&gt;&lt;h1&gt;Notepad++ Language Selector&lt;/h1&gt; &lt;p&gt;I keep code samples that I find useful as small  text files. I store them as vanilla txt files as opposed to the language in which they are written so that they will open in Notepad++ (NPP) instead of the editor. In other words, I don&#39;t want my c++ examples to open in an IDE, just notepad. &lt;/p&gt; &lt;p&gt;Notepad++ has syntax highlighting for various languages, but it is based on the file type.  Therefore, all my SQL examples show up as normal text.  I thought it would be nice if I could have NPP select the language format based on a simple keyword in the text file. &lt;/p&gt; &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://stackoverflow.com/questions/1877646/notepad-custom-syntax-highlighting-for-txt-files&quot;&gt;I asked this question 4 years ago on stackoverflow&lt;/a&gt; (the answer was that it couldn’t be done), and then I realized I could achieve this goal using the python plugin!  I’m going to assume you already know how to use the python plugin for NPP and how to setup your environment.  If not, &lt;a target=&quot;_blank&quot; href=&quot;http://blog.jjerome.com/2013/03/notepad-time-stamp.html&quot;&gt;refer to my post about custom timestamps in NPP&lt;/a&gt;. &lt;/p&gt; &lt;br/&gt;&lt;h1&gt;Walkthrough&lt;/h1&gt; &lt;p&gt;The first line of the file will start with &quot;##&quot;, followed by the menucommand code for that language &lt;ul&gt;&lt;li&gt;The menucommand codes are listed on the npppythonscript project website:&lt;br/&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://npppythonscript.sourceforge.net/docs/latest/enums.html#MENUCOMMAND&quot;&gt;http://npppythonscript.sourceforge.net/docs/latest/enums.html#MENUCOMMAND&lt;/a&gt;&lt;/li&gt;&lt;li&gt;They are formatted like: &lt;b&gt;MENUCOMMAND.LANG_?????&lt;/b&gt;&lt;/li&gt;&lt;li&gt;examples: LANG_C, LANG_CPP, LANG_SQL, LANG_PYTHON etc&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt; &lt;p&gt;The 3 step process: &lt;ol&gt;&lt;li&gt;Define a function that will switch the language after the file is opened&lt;/li&gt;&lt;li&gt;Write a command that links your function to the “File Opened” notification in NPP&lt;/li&gt;&lt;li&gt;Put it all together&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt; &lt;br/&gt;&lt;h1&gt;Step 1 and 2: Define your function and link to notification&lt;/h1&gt; &lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&lt;br /&gt;#if found determine the menu command and switch language in NPP&lt;br /&gt;def switch_language_view(args):&lt;br /&gt;    notepad.activateBufferID(args[&quot;bufferID&quot;])&lt;br /&gt;    lineone = editor.getLine(0)&lt;br /&gt;    if &#39;##&#39; in lineone:&lt;br /&gt;     lineone = lineone[lineone.rfind(&#39;##&#39;):].replace(&#39;##&#39;, &#39;&#39;)&lt;br /&gt;     lineone = &quot;MENUCOMMAND.&quot; + lineone.upper()&lt;br /&gt;     try:&lt;br /&gt;      notepad.menuCommand( eval(lineone) )&lt;br /&gt;     except:&lt;br /&gt;      pass&lt;br /&gt;&lt;br /&gt;#command to link notification&lt;br /&gt;notepad.callback(switch_language_view, [NOTIFICATION.FILEOPENED])&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;&lt;ul&gt;&lt;li&gt;This script grabs the first line of the file and looks for the command.  After it finds the ## tag, it tries to send the menu command to notepad&lt;/li&gt;&lt;li&gt;Quick note about args: you need the args so that the script gets access to the current file being opened.  Otherwise (as I discovered) it will read the first line of your code instead!&lt;/li&gt;&lt;li&gt;The last line is a separate call that links your function with the NPP event NOTIFICATION.FILEOPENED&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt; &lt;br/&gt;&lt;h1&gt;Step 3: Put it all together &lt;/h1&gt; &lt;p&gt;You have to place the code (both parts) in a special python script that will run when NPP starts.  It’s called startup.py, and I pasted the above code at the end of that file, one after the other. &lt;/p&gt; &lt;p&gt;Some things to note about startup.py:&lt;br/&gt;By default, this script is only run before you run your first python script.  You want to change this behavior, so you need to change a configuration setting in the plugin. &lt;ol&gt;&lt;li&gt;Menu:  Plugins &gt; Python Script &gt; Configuration&lt;/li&gt;&lt;li&gt;Switch Initialisation from “LAZY” to “ATSTARTUP” (there’s an explanation in the dialog)&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt; &lt;p&gt;On my PC, the startup.py script is located in the Program Files folder:&lt;br/&gt;C:\Program Files (x86)\Notepad++\plugins\PythonScript\scripts\startup.py &lt;/p&gt; &lt;p&gt;This unfortunately means it might have some protective permissions.  There are two things you could do to make your life somewhat easier: &lt;ol&gt;&lt;li&gt;Open Notepad.exe (yes notepad) as an Administrator, which will allow you to save any changes&lt;/li&gt;&lt;li&gt;Change the permissions on startup.py to allow Full Control for all users on your computer&lt;/li&gt;&lt;/ol&gt;I started out with option 1, but after some initial issues I switched to option 2 which made things much easier to debug using the Python Console in NPP. &lt;/p&gt; &lt;br/&gt;&lt;h1&gt;Test Script&lt;/h1&gt; &lt;p&gt;Setup the test script:  &lt;ol&gt;&lt;li&gt;Menu:  Plugins &gt; Python Script &gt; New Python Script&lt;/li&gt;&lt;li&gt;It will ask you for a new file name, I choose: switch_language.py&lt;/li&gt;&lt;li&gt;A new tab will appear in NP++ for you to enter the script&lt;/li&gt;&lt;li&gt;After saving, you should be able to run this code from the menu: Plugins &gt; Python Script &gt; Scripts &gt; switch_language.py&lt;/li&gt;&lt;li&gt;Make sure you have a test file active when you test the script!&lt;/li&gt;&lt;li&gt;This script writes the result to the python console in NPP (make sure you have it displayed)&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt; &lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&lt;br /&gt;#This is the script I used (for testing):&lt;br /&gt;#script to test switching language syntax of active file    &lt;br /&gt;lineone = editor.getLine(0)&lt;br /&gt;if &#39;##&#39; in lineone:&lt;br /&gt;    lineone = lineone[lineone.rfind(&#39;##&#39;):].replace(&#39;##&#39;, &#39;&#39;)&lt;br /&gt;    lineone = &quot;MENUCOMMAND.&quot; + lineone.upper()&lt;br /&gt;    try:&lt;br /&gt;notepad.menuCommand( eval(lineone) )&lt;br /&gt;   except:&lt;br /&gt;     pass&lt;br /&gt;&lt;br /&gt;console.write(lineone)&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;br/&gt;&lt;p&gt;&lt;b&gt;Example&lt;/b&gt; using the test script  &lt;/p&gt; &lt;a href=&quot;http://1.bp.blogspot.com/-WSlGlol_T8Y/VH-rBewZjzI/AAAAAAAAtho/C4gxN8dYfYs/s1600/NPP%2Bpython%2Blanguage%2Bscript%2Brunning%2Bexample.png&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-WSlGlol_T8Y/VH-rBewZjzI/AAAAAAAAtho/C4gxN8dYfYs/s320/NPP%2Bpython%2Blanguage%2Bscript%2Brunning%2Bexample.png&quot; /&gt;&lt;/a&gt;  </content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/192293799660622159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2014/12/notepad-language-selector.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/192293799660622159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/192293799660622159'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2014/12/notepad-language-selector.html' title='Notepad++ Language Selector'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-WSlGlol_T8Y/VH-rBewZjzI/AAAAAAAAtho/C4gxN8dYfYs/s72-c/NPP%2Bpython%2Blanguage%2Bscript%2Brunning%2Bexample.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-4020184283349470314</id><published>2014-11-19T21:13:00.000-08:00</published><updated>2015-01-27T11:20:36.739-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="launchy"/><category scheme="http://www.blogger.com/atom/ns#" term="powershell"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Clipboard Timestamp</title><content type='html'>&lt;h2&gt;Clipboard Timestamp&lt;/h2&gt;&lt;i&gt;Launchy that timestamp into your clipboard&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;.background&lt;/h3&gt;Looking back through my blog, one of my most popular posts was &lt;a href=&quot;http://blog.jjerome.com/2013/03/notepad-time-stamp.html&quot; target=&quot;_blank&quot;&gt;how to write a timestamp script for Notepad++ in Python&lt;/a&gt;.  I&#39;ve been finding myself wishing I had that feature in more and more place, including web apps.&lt;br /&gt;&lt;br /&gt;I had the idea to write a script that would generate the timestamp I wanted, and then place it in the Windows clipboard.  This would allow me to generate and paste a timestamp anywhere I wanted.  I ended up writing 2 scripts, the first was in Python and later I wrote a second in Powershell.  Each as their advantages and disadvantages detailed below.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;.launch&lt;/h3&gt;I tried a few techniques for calling the script, but in the end I settled on a tool I already use, called Launchy.  Launchy is a super-simple (cross platform) application launcher with some powerful extra features.  One of these features is that it can call scripts, and it even gives focus back to the application I was using after it is done!&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.launchy.net/&quot; target=&quot;_blank&quot;&gt;http://www.launchy.net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;.python&lt;/h3&gt;It&#39;s extremely safe to say that I don&#39;t know Python, but I&#39;ve been programming since I was very little so I know how to hack around a language.  It took me longer to figure out the little intricacies of the language than to write the actual script.  I found an example on stackoverflow and then incorporated it with my existing code from Notepad++.&lt;br /&gt;&lt;br /&gt;The Python community has a couple different ways of accessing the clipboard, but the one I liked best was to use a built-in GUI library called Tkinter.  I don&#39;t like having to install a separate library when a built-in method is available.&lt;br /&gt;&lt;br /&gt;When you run the script, a command window flashes temporarily, which was annoying.  In Windows just rename your script to “.pyw” to avoid this.  There are similar solutions for other platforms, just in case you are interested.&lt;br /&gt;&lt;br /&gt;You have to have Python installed for this script to work, which could be a big downside if you don&#39;t already have it installed.  I don&#39;t have a problem with this, but I have a hard time recommending a script that requires that you install a toolset you may never use for anything else. &lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&lt;br /&gt;# cdate.pyw&lt;br /&gt;# add date/time to clipboard&lt;br /&gt;# output example: 10/14/2014 JMJ&lt;br /&gt;import time, sys&lt;br /&gt;s_time = &quot;%s JMJ&quot; % (time.strftime(&#39;%m-%d-%Y&#39;))&lt;br /&gt;&lt;br /&gt;#s_time contains the timestamp text, now add it to the clipboard&lt;br /&gt;from Tkinter import Tk&lt;br /&gt;r = Tk()&lt;br /&gt;r.withdraw()&lt;br /&gt;r.clipboard_clear()&lt;br /&gt;r.clipboard_append(s_time)&lt;br /&gt;r.destroy()&lt;br /&gt;&lt;br /&gt;sys.exit(0)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;references:&lt;br /&gt;&lt;a href=&quot;http://stackoverflow.com/questions/579687/how-do-i-copy-a-string-to-the-clipboard-on-windows-using-python/4203897#4203897&quot; target=&quot;_blank&quot;&gt;http://stackoverflow.com/questions/579687/how-do-i-copy-a-string-to-the-clipboard-on-windows-using-python/4203897#4203897&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://stackoverflow.com/questions/1689015/run-python-script-without-dos-shell-appearing&quot; target=&quot;_blank&quot;&gt;http://stackoverflow.com/questions/1689015/run-python-script-without-dos-shell-appearing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;.powershell&lt;/h3&gt;While researching how to link my python script into Launchy, I ran into an article explaining how to launch powershell commands.  It made a lot of sense to write the same script in Powershell, since no additional software would be required.&lt;br /&gt;&lt;br /&gt;Powershell has a command called “clip” that allows you to pipe text directly into the Windows clipboard.  Very nice.  I had the command written in just a few minutes.&lt;br /&gt;&lt;br /&gt;However, powershell scripts do not like to run without opening a command window.  It is very annoying.  I ended up using a technique where you create a VBS script (!!!) to call the powershell command.  I feel weird about using VBS in this way, but it works.  Unfortunately it requires you add a bunch of quotes to escape out all the layers of script calls (VBS &amp;gt; CMD &amp;gt; PowerShell).  If you don&#39;t care about initials you can remove that part entirely.  If your initials are “JMJ” perhaps you have it best of all.&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&lt;br /&gt;‘pclip.vbs&lt;br /&gt;&#39;add date/time to clipboard via powershell (yes, there are a lot of escaped quotes in this code)&lt;br /&gt;‘output example: 10/14/2014 JMJ&lt;br /&gt;command = &quot;powershell.exe -nologo -command (get-date -format d).ToString() + &quot;&quot;&quot;&quot;&quot;&quot; JMJ&quot;&quot;&quot;&quot;&quot;&quot; | clip &quot;&lt;br /&gt;set shell = CreateObject(&quot;WScript.Shell&quot;)&lt;br /&gt;shell.Run command,0&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;references:&lt;br /&gt;&lt;a href=&quot;http://technet.microsoft.com/en-us/library/ee692801.aspx&quot; target=&quot;_blank&quot;&gt;http://technet.microsoft.com/en-us/library/ee692801.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.faqforge.com/windows/how-to-execute-powershell-scripts-without-pop-up-window&quot; target=&quot;_blank&quot;&gt;http://www.faqforge.com/windows/how-to-execute-powershell-scripts-without-pop-up-window&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;.set up Launchy&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Under the Launchy options, switch to the Catalog tab.&lt;/li&gt;&lt;li&gt;Add a new Directory (+), and include the folder where your scripts are located.&lt;/li&gt;&lt;li&gt;Under File Types, enter either *.pyw or *.vbs (depending on which solution you went with)&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-qYqe9WX4bLk/VG13hpjGKAI/AAAAAAAAtDs/MhfyVAiWWls/s1600/Launchy%2Boptions.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-qYqe9WX4bLk/VG13hpjGKAI/AAAAAAAAtDs/MhfyVAiWWls/s1600/Launchy%2Boptions.png&quot; height=&quot;245&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The great thing about Launchy is that it will return focus to the application I was using after I run the script.  This makes the script very easy to call from other programs and online apps.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;.wrap-up&lt;/h3&gt;I can&#39;t decide which is going to be more useful, having a simple timestamp available inside any program or website I&#39;m using, or the fact that I can build more scripts and run them very easily through Launchy.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-w-rMHDOp5e8/VG13uO8hg3I/AAAAAAAAtD0/qtqe9PHxYKE/s1600/example%2Btimestamp.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-w-rMHDOp5e8/VG13uO8hg3I/AAAAAAAAtD0/qtqe9PHxYKE/s1600/example%2Btimestamp.gif&quot; height=&quot;355&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/4020184283349470314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2014/11/clipboard-timestamp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/4020184283349470314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/4020184283349470314'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2014/11/clipboard-timestamp.html' title='Clipboard Timestamp'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-qYqe9WX4bLk/VG13hpjGKAI/AAAAAAAAtDs/MhfyVAiWWls/s72-c/Launchy%2Boptions.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-8802242406317118495</id><published>2014-09-17T16:19:00.002-07:00</published><updated>2015-01-27T11:21:20.463-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SSRS"/><title type='text'>SSRS Color Wheel</title><content type='html'>&lt;h2&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SSRS (2005) Color Wheel&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif; font-size: xx-small;&quot;&gt;...more like a color list, but who&#39;s keeping score&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;I don&#39;t think there is anything in the development world more looked down upon than writing a report.  It&#39;s kind of got a little shame attached to it.  While your friends are (seemingly) out there creating the next Twitter you are stuck building a list of sales grouped by region.  However, I have always been a little fond of it.  I have an interest in design and layout, problem solving, and organizing data: reporting can touch on all of them.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Recently I had a request to change the color scheme of a report I was working with.  This wasn&#39;t out of the ordinary except they weren&#39;t too sure what they wanted.  It got to the point where I started to wonder if their significant other had similar thoughts when they shopped for paint.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;However, our team had an idea - why not provide a report that listed all the default colors available in the system, along with all their official names.  This had some immediate advantages:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;The user could refer to a color they wanted by name&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SSRS 2005 has a &quot;bug&quot; where colors on the report don&#39;t look the same when that report is exported to Excel&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;/ul&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-ML6BtmUGi60/VBoTHJ2eM1I/AAAAAAAAqco/7Ot6cet0W0s/s1600/color%2Blist.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-ML6BtmUGi60/VBoTHJ2eM1I/AAAAAAAAqco/7Ot6cet0W0s/s1600/color%2Blist.png&quot; height=&quot;320&quot; width=&quot;262&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Now that&#39;s what I call a sexy report!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;[The Plan]&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;/span&gt;&lt;/h2&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;I looked into different ways of building this report and came up with the plan below.  Unfortunately I was not able to generate the color list completely in code.  It got to the point where I thought I would have to build an external library to provide the list from System.Drawing, and I&#39;m not a fan of maintaining a code library for a simple color list.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Instead, I built the list of available colors using a simple query.  While this may seem a little rudimentary, it has the additional benefit of encouraging management to implement a standard color scheme. This could be the first step towards using the database to provide a standardized color palette for reporting.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;I&#39;m not big on providing downloads for examples. I feel that involves a level of trust that I cannot provide. So I explain how to do it below.  I use SQL Server SSRS 2005 terms, because that&#39;s what the client is using.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;[The Dataset]&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h3&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;/span&gt;&lt;/h3&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;MainDS:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;-- manual list of colors in VS2005 system&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Black&#39; as [color_name] union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;White&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DimGray&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Gray&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkGray&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Silver&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightGray&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Gainsboro&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;WhiteSmoke&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Maroon&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkRed&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Red&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Brown&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Firebrick&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;IndianRed&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Snow&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightCoral&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;RosyBrown&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MistyRose&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Salmon&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Tomato&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkSalmon&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Coral&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;OrangeRed&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightSalmon&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Sienna&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;SeaShell&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Chocolate&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;SaddleBrown&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;SandyBrown&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;PeachPuff&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Peru&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Linen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Bisque&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkOrange&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;BurlyWood&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Tan&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;AntiqueWhite&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;NavajoWhite&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;BlanchedAlmond&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;PapayaWhip&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Moccasin&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Orange&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Wheat&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;OldLace&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;FloralWhite&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkGoldenrod&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Goldenrod&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Cornsilk&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Gold&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Khaki&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LemonChiffon&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;PaleGoldenrod&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkKhaki&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Beige&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightGoldenrodYellow&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Olive&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Yellow&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightYellow&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Ivory&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;OliveDrab&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;YellowGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkOliveGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;GreenYellow&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Chartreuse&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LawnGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkSeaGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;ForestGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LimeGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;PaleGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Green&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Lime&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Honeydew&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;SeaGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MediumSeaGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;SpringGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MintCream&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MediumSpringGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MediumAquamarine&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Aquamarine&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Turquoise&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightSeaGreen&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MediumTurquoise&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkSlateGray&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;PaleTurquoise&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Teal&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkCyan&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Cyan&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Aqua&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightCyan&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Azure&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkTurquoise&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;CadetBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;PowderBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DeepSkyBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;SkyBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightSkyBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;SteelBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;AliceBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DodgerBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;SlateGray&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightSlateGray&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightSteelBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;CornflowerBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;RoyalBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MidnightBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Lavender&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Navy&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MediumBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Blue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;GhostWhite&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;SlateBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkSlateBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MediumSlateBlue&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MediumPurple&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;BlueViolet&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Indigo&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkOrchid&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkViolet&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MediumOrchid&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Thistle&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Plum&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Violet&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Purple&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DarkMagenta&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Fuchsia&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Magenta&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Orchid&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;MediumVioletRed&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;DeepPink&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;HotPink&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LavenderBlush&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;PaleVioletRed&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Crimson&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;Pink&#39; union all &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Select &#39;LightPink&#39;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;h2&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;[Extra Credit: Show each color&#39;s HTML Code color]&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Report &amp;gt; Report Properties&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;References:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Added System.Drawing&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Code:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Public Function HTMLColor(my_color as String) as String&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Dim colorObj As System.Drawing.Color = System.Drawing.Color.FromName(my_color)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;return String.Format(&quot;#{0:X2}{1:X2}{2:X2}&quot;, colorObj.R, colorObj.G, colorObj.B)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;End Function&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;I got the meat of this function from a StackOverflow post:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://stackoverflow.com/a/5207560/103131&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;http://stackoverflow.com/a/5207560/103131&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;[Layout]&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Having everything in a query allowed me to get the most out of the layout options in SSRS. This made it really easy to setup a Table in the Layout to show what I wanted. I also added a column of White as a control.  It really helped see the subtle differences in some of the lighter shades.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;I put together a mock-up below:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;[Column Name]&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Property &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;[Color Name]: (value)=Fields!color_name.value&lt;br /&gt;[Color]: (BackgroundColor)=Fields!color_name.value&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;[White]: (BackgroundColor)=White&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;[HTML Code]: &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;(value)&lt;/span&gt;&lt;/span&gt;=Code.HTMLColor(Fields!color_name.Value)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;I think this qualifies as a boring report, but it can be very useful when communicating which colors users want on their reports.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/8802242406317118495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2014/09/ssrs-color-wheel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/8802242406317118495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/8802242406317118495'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2014/09/ssrs-color-wheel.html' title='SSRS Color Wheel'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-ML6BtmUGi60/VBoTHJ2eM1I/AAAAAAAAqco/7Ot6cet0W0s/s72-c/color%2Blist.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-4436985757795804524</id><published>2014-04-01T10:53:00.000-07:00</published><updated>2015-01-27T11:26:51.601-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="dev"/><title type='text'>One Book Away, for Android</title><content type='html'>After nearly seven months (7 months!) since my final project for my Android program was completed, I have released it onto the app store.  Introducing (formally)... &lt;b&gt;One Book Away&lt;/b&gt;!&lt;br /&gt;&lt;br /&gt;Go install it now at the Google Play store:&lt;br /&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.mabon.onebook&quot; target=&quot;_blank&quot;&gt;https://play.google.com/store/apps/details?id=com.mabon.onebook&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you like it, please leave a glowing review!&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Now for some questions that no one is asking...&lt;/h4&gt;&lt;br /&gt;&lt;b&gt;Where did this idea come from?&lt;/b&gt;&lt;br /&gt;The idea for this app came to me a few years ago when I was trying to organize things I was waiting for at the library. &amp;nbsp;After placing holds on a few popular books or movies, I found they seemed to come all at the same time! &amp;nbsp;So I came up with a way to estimate how long I would have to wait for books and movies.&lt;br /&gt;&lt;br /&gt;Originally, I thought it would be a greasemonkey script. &amp;nbsp;The only reason I decided to use Android was that I needed a project for my Android class and I couldn&#39;t think of anything else. &amp;nbsp;The first app was just a manual-entry calculator, but as I learned about the platform it grew into a full-blown useful app. &lt;br /&gt;&lt;br /&gt;Some past iterations of the app:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://blog.jjerome.com/2013/03/entry-level-android-application.html&quot; target=&quot;_blank&quot;&gt;Android Project: Library Hold Wait&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://blog.jjerome.com/2013/08/android-project-one-book-away.html&quot; target=&quot;_blank&quot;&gt;Android Project: One Book Away&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Why did it take 7 months?&lt;/b&gt;&lt;br /&gt;One of my instructors gave the advice to build something that you would find useful, then after building it decide if it would be useful to others. &amp;nbsp;At the very least you get something you find useful for the work you put in. &amp;nbsp;However, I ran into the problem of the app working well enough for me, so I wasn&#39;t as motivated to finish polishing it. &amp;nbsp;On top of that, I was only putting in about 1 day a week, and if a major issue arose it might take me 2 weeks to find a good solution.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What&#39;s your status?&lt;/b&gt;&lt;br /&gt;I&#39;m a full-time contractor, so I was looking for something to do on the side for fun. &amp;nbsp;I don&#39;t do any advertising for my apps, and I feel if I was ever going to look to do this more seriously it would be beneficial to me to keep publishing apps.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What got you into Android development?&lt;/b&gt;&lt;br /&gt;I did some robotics development a few years ago that I very much liked. &amp;nbsp;The same bug that might render a web page incorrectly might cause your robot to turn left and run off the table. &amp;nbsp;Android development reminded me of that past, so I wanted to explore it further.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What do you think of Android development?&lt;/b&gt;&lt;br /&gt;I&#39;ve been on a c++ project for a few years, so getting back into Java was a little strange. &amp;nbsp;I don&#39;t like development that gets in my way, and I want it to be straight forward and just work. &amp;nbsp;Some parts are very nice, especially the xml files for the layout and strings. &amp;nbsp;Other parts I&#39;m not so hot on, like the amount of code it takes to do what appears to be a simple task.&lt;br /&gt;&lt;br /&gt;It took a while to get used to Eclipse coming from the easy debugging style of Visual Studio. &amp;nbsp;I switched to Android Studio as soon as I could, but in hindsight I think I should have waited until it was more stable. &amp;nbsp;In a lot of ways Android Studio held me up the most.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What&#39;s next?&lt;/b&gt;&lt;br /&gt;Believe it or not, I have 2-3 more ideas I&#39;m eager to start on. &amp;nbsp;I&#39;d also like to work with someone fun to help keep the project moving, and keep it from being such a lonely process.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/4436985757795804524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2014/04/one-book-away-for-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/4436985757795804524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/4436985757795804524'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2014/04/one-book-away-for-android.html' title='One Book Away, for Android'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-3021628733851727788</id><published>2013-12-11T09:01:00.000-08:00</published><updated>2015-01-27T11:22:10.053-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="chromecast"/><category scheme="http://www.blogger.com/atom/ns#" term="gadgets"/><title type='text'>Chromecast Stereo System</title><content type='html'>&lt;b&gt;Build a stereo system using Chromecast for less than $100&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;I was one of the first people to buy a Chromecast.  Despite having a few different devices that provide the same services (Tivo, Roku, etc), the low entry point and potential for expandability made it an interesting toy.  &lt;br /&gt;&lt;br /&gt;However, I quickly noticed we only use it to play music. I have kids running around, and if I’m playing music through the TV they just stare at the TV - which is just an artist’s album displayed using the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ken_Burns_effect&quot; target=&quot;_blank&quot;&gt;Ken Burns effect&lt;/a&gt;.  I decided to hook my Chromecast to my stereo, which is what this article is all about.&lt;br /&gt;&lt;br /&gt;A quick search online revealed that a few others had thought of doing this, but the issue was with the HDMI interface.  Since HDMI is audio and video combined in one physical connection, I had to buy a special device to split the audio and video.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The Setup&lt;/h3&gt;&lt;h4&gt;Stereo&lt;/h4&gt;I had already been looking for a new stereo receiver.  The one I had worked perfectly, but was very large and very heavy.  I replaced it with a Lepai mini amp, which was a huge downgrade feature-wise, but I really only need a couple of inputs these days.&lt;br /&gt;&lt;a href=&quot;http://www.amazon.com/dp/B00721Z1AE/?tag=maboserv-20&quot; target=&quot;_blank&quot;&gt;Lepai LP-A68 on Amazon.com&lt;/a&gt;&lt;br /&gt;Cost: around $25&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;HDMI Audio/Video Splicer&lt;/h4&gt;I looked over a couple on Amazon, and settled on one that got some decent reviews.&lt;br /&gt;&lt;a href=&quot;http://www.amazon.com/dp/B00AHS8LD8/?tag=maboserv-20&quot; target=&quot;_blank&quot;&gt;HDMI Converter: HDMI to HDMI+Audio on Amazon.com&lt;/a&gt;&lt;br /&gt;Cost: around $40&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Chromecast&lt;/h4&gt;The Chromecast itself. &lt;br /&gt;&lt;a href=&quot;http://www.amazon.com/dp/B00DR0PDNE/?tag=maboserv-20&quot; target=&quot;_blank&quot;&gt;Google Chromecast on Amazon.com&lt;/a&gt;&lt;br /&gt;Cost: around $35&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;A picture of my rat&#39;s nest setup&lt;/h3&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-0QW0ZpPjmC0/UqiWG1udbdI/AAAAAAAAfVU/5dRztooQ7j0/s1600/chromecast_stereo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 0em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;266&quot; src=&quot;http://3.bp.blogspot.com/-0QW0ZpPjmC0/UqiWG1udbdI/AAAAAAAAfVU/5dRztooQ7j0/s400/chromecast_stereo.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Currently my setup is a nest of wires on a table, and I noticed my cheap stereo gets some feedback if the Chromecast gets too close (due to the wifi signal, I think). I just push them apart whenever it happens. At some point I might organize everything into a box.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Usage&lt;/h3&gt;&lt;b&gt;The good: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It&#39;s easy to play some music from my phone, tablet, etc, and to be able to control what&#39;s playing remotely&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;The not-so-good: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There is no true browser support for Google Music like there is for YouTube. &amp;nbsp;Therefore, you can only stream music on your laptop if you stream the full browser tab.&lt;/li&gt;&lt;li&gt;It&#39;s not as easy to switch between devices involves taking control in this weird paradigm-shift-hiccup way that isn&#39;t as easy as you expect it to be&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Both of these downsides don&#39;t quite fit with Google&#39;s advertised &quot;it just plays everywhere&quot; motto. They don&#39;t seem like that big of a problem, which makes it depressing that they haven&#39;t addressed these issues yet.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Summary&lt;/h3&gt;This seems like a good base for Google to make other cheap single-use devices that do one thing well. &amp;nbsp;If they would create a music-only Chromecast with a dedicated audio-out instead of HDMI, I would buy it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/3021628733851727788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/12/chromecast-stereo-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/3021628733851727788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/3021628733851727788'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/12/chromecast-stereo-system.html' title='Chromecast Stereo System'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-0QW0ZpPjmC0/UqiWG1udbdI/AAAAAAAAfVU/5dRztooQ7j0/s72-c/chromecast_stereo.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-6688973928927269299</id><published>2013-12-03T08:22:00.000-08:00</published><updated>2015-01-27T11:22:34.277-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="visual studio"/><title type='text'>Visual Studio Time-Stamp</title><content type='html'>&lt;span style=&quot;font-family: inherit;&quot;&gt;Earlier this year I wrote a post about how to insert a time stamp in Notepad++ (&lt;a href=&quot;http://blog.jjerome.com/2013/03/notepad-time-stamp.html&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;).&amp;nbsp; I thought it might be helpful to share how I did the same thing in Visual Studio using a Macro.&amp;nbsp; I recently upgraded my hard drive, and had to stumble through setting everything up again, so I figured this was as good of place as any for a reminder.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;It is a fairly simple process, the most annoying part is knowing where to look.&amp;nbsp; I don&#39;t have too much interest in knowing everything there is to know about Visual Studio, so I was thankful when I found it relatively straight-forward.&amp;nbsp; You may want to use this process in your research to build other macros.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;A FEW NOTES:&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;You edit a Macro in an IDE for Macros, kind of like a sub-IDE inside Visual Studio&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;You can test Macros on a file that is open in the main Visual Studio window, so you may want to have a file open for testing&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Visual Studio comes with a bunch of sample macros, if you have them  installed you should see them in the Macro Explorer. They may help you  achieve what you are trying to achieve&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;I tested this in VS 2005, but the process should be similar in newer versions&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;ul&gt;&lt;/ul&gt;&lt;h2&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;THE PROCESS:&lt;/span&gt;&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Open &quot;Macro Explorer&quot;&amp;nbsp; Menu: View &amp;gt; Other Windows &amp;gt; Macro Explorer &lt;/li&gt;&lt;li&gt;A small window (or side-bar) opens for Macro Explorer, expand the &quot;MyMacros&quot; and right-click and choose Edit&lt;/li&gt;&lt;li&gt;This opens a the Visual Studio Macros IDE&lt;/li&gt;&lt;li&gt;The default code to get you going is already there, so you should just need to create a Subroutine, here is the code I used:&lt;br /&gt;   &lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;Imports System&lt;br /&gt;Imports EnvDTE&lt;br /&gt;Imports EnvDTE80&lt;br /&gt;Imports System.Diagnostics&lt;br /&gt;&lt;br /&gt;Public Module jmjMacros&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub InsertMod()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Dim textSelection As EnvDTE.TextSelection&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; textSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; textSelection.Text = System.DateTime.Now.ToShortDateString() &amp;amp; &quot; JMJ:&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br /&gt;End Module&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;(note that I have already renamed the &quot;MyMacros&quot; Module to &quot;jmjMacros&quot; in this example)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  &lt;/li&gt;&lt;li&gt;Notice I used &quot;jmjMacros&quot; and appended a &quot;JMJ:&quot; at the end of the line,  unless those are your initials you may want to change them&lt;/li&gt;&lt;li&gt;You should be able to test your code. Make sure a file is open in the  main Visual Studio window, and run the Macro to see if it inserts text.&amp;nbsp;  If you don&#39;t have a file open, you may get an error message.&amp;nbsp; I had to  switch back and forth between windows a couple times to confirm this was  working&lt;/li&gt;&lt;li&gt;That&#39;s it for the code!&lt;/li&gt;&lt;/ol&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-tWLtRYjpWcE/Up4CzKeTlHI/AAAAAAAAfGo/YZIzgBEkLsA/s1600/03+saving+macro+and+renaming.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-tWLtRYjpWcE/Up4CzKeTlHI/AAAAAAAAfGo/YZIzgBEkLsA/s1600/03+saving+macro+and+renaming.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The Renamed the Macro in Macro Explorer&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-bpDVf9tXazg/Up4DF3RJjQI/AAAAAAAAfGs/Z78CjScSDUI/s1600/04+debug+result.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-bpDVf9tXazg/Up4DF3RJjQI/AAAAAAAAfGs/Z78CjScSDUI/s1600/04+debug+result.png&quot; height=&quot;261&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Testing the Macro&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;KEYBOARD SHORTCUT:&lt;/h2&gt;If you want, you can map the macro to a keyboard shortcut:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Under Visual Studio options (Tools &amp;gt; Options), choose Environment-&amp;gt;Keyboard&lt;/li&gt;&lt;li&gt;This just maps a keyboard shortcut to a chosen command:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I typed Ctrl+; into the &quot;Press shortcut keys&quot; field&lt;/li&gt;&lt;li&gt;Then I selected my Macro from the (ridiculously small) list of commands (see screenshot)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Once I you have everything selected, click on the Assign button.&amp;nbsp; The  command you set up should show under the &quot;Shortcut currently used by&quot;  field&lt;/li&gt;&lt;/ol&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-9eLswuXLvek/Up4Dq-RxppI/AAAAAAAAfG0/oK4eSx9AgwY/s1600/05+mapping+to+keyboard.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-9eLswuXLvek/Up4Dq-RxppI/AAAAAAAAfG0/oK4eSx9AgwY/s1600/05+mapping+to+keyboard.png&quot; height=&quot;230&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Setting the keyboard shortcut&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;If you are wondering why I use ctrl + ; (control key + semicolon key), that is the keyboard shortcut to insert the date in Google Docs.&amp;nbsp; I wanted to make sure I remembered it, so I made it the same for notepad++ and Visual Studio.&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/6688973928927269299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/12/visual-studio-time-stamp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/6688973928927269299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/6688973928927269299'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/12/visual-studio-time-stamp.html' title='Visual Studio Time-Stamp'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-tWLtRYjpWcE/Up4CzKeTlHI/AAAAAAAAfGo/YZIzgBEkLsA/s72-c/03+saving+macro+and+renaming.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-1220477807178931238</id><published>2013-10-24T09:11:00.002-07:00</published><updated>2015-01-27T11:24:20.246-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bookmarklet"/><category scheme="http://www.blogger.com/atom/ns#" term="dev"/><category scheme="http://www.blogger.com/atom/ns#" term="dotproject"/><title type='text'>Bookmarklet Reporting with dotProject</title><content type='html'>&lt;span style=&quot;font-family: inherit;&quot;&gt;I’ve been using &lt;a href=&quot;http://dotproject.net/&quot;&gt;dotProject &lt;/a&gt;for keeping track of my hours on certain projects. It’s a bit of overkill for my needs, but it was easy to get started without worrying about trying to find the perfect tool. Over time I’ve found that going my own route has given me some perspective of what I want. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://dotproject.net/&quot;&gt;dotProject&#39;s&lt;/a&gt; interface is rather ancient by web standards, and it’s feature-set is a bit daunting. Some features seem overly complicated and others seem rather sparse. However, the simple html design lends itself to being very flexible to get what I need out of the system.&lt;br /&gt;&lt;br /&gt;One particular report that is my bread and butter is the “Task Log”. All my projects have tasks, and I log hours to those tasks. At the end of the month I just want a list of all the logged hours for the month in a nice list. &lt;br /&gt;&lt;br /&gt;However, the big issue I have is the default begin/end dates are useless to me. They load on a 2 week cycle, so the default end-date will be the current date, with the begin date set to 2 weeks ago. Changing them should be simple, but the date textboxes are read-only, and the only way to change them is with a popup widget that is cumbersome to deal with. &lt;br /&gt;&lt;br /&gt;One day I had some inspiration and thought, if the dates are being sent as query parameters, why not just formulate those parameters myself? After a little bit of experimentation I ended up building 2 JavaScript bookmarklets: One runs the report for the current month, and the other opens a dialog asking for the month before running the report. &lt;br /&gt;&lt;br /&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Bookmarklet&quot;&gt;bookmarklet &lt;/a&gt;is just a bookmark, but instead of a URL to a webpage, it contains JavaScript that instructs the browser to do something. In this case I&#39;m instructing it to open the URL of the report using the dates that I want. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt; I’m going to show the main logic I used, followed by compacted versions. I&#39;m not a huge fan of compacted code, but I was afraid that there might be a size limit for bookmark&#39;s URL. At the end I’ll show some examples in screenshots.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Full disclosure:&lt;/b&gt; this is my test code, some or all of it may not work correctly, you may need to make some tweaks.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Main code logic&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;docs-internal-guid-5c098e60-eb16-6479-45d6-6647f4de0f0c&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span id=&quot;docs-internal-guid-5c098e60-eb16-15ea-c569-53b591922d5e&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Don’t forget to use your URL instead of the fake one used in this example&lt;/span&gt;&lt;/span&gt;&lt;span id=&quot;docs-internal-guid-5c098e60-eb16-15ea-c569-53b591922d5e&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt; &lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&lt;br /&gt;//This is the URL before you add the date parameters&lt;br /&gt;var BASE_URL = &quot;http://dotproject.example.com/index.php?m=projects&amp;amp;a=reports&amp;amp;project_id=0&amp;amp;report_type=tasklogs&amp;amp;log_userfilter=0&amp;amp;do_report=submit&quot;;&lt;br /&gt;&lt;br /&gt;//first day of current month&lt;br /&gt;var begin_date = new Date();&lt;br /&gt;begin_date.setDate(1);    &lt;br /&gt;&lt;br /&gt;//last day of current month&lt;br /&gt;var end_date = new Date(begin_date.getFullYear(), begin_date.getMonth() + 1, 0);&lt;br /&gt;&lt;br /&gt;//open the URL, with the formatted dates&lt;br /&gt;open( buildURL( formatDate(begin_date), formatDate(end_date)));&lt;br /&gt;&lt;br /&gt;//format YYYYMMDD&lt;br /&gt;function formatDate(dtDate) &lt;br /&gt;{&lt;br /&gt;    var sDate = &quot;&quot;;&lt;br /&gt;    sDate += dtDate.getFullYear();&lt;br /&gt;    sDate += pad2(dtDate.getMonth()+1);&lt;br /&gt;    sDate += pad2(dtDate.getDate());    &lt;br /&gt;    return sDate;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//pad 0 (zero) to single-digit date parts (i.e. 3/9/2013 = 03/09/2013)&lt;br /&gt;function pad2(n) &lt;br /&gt;{&lt;br /&gt; var str = String(n);&lt;br /&gt; if(str.length &amp;lt; 2) { &lt;br /&gt;  str = &quot;0&quot; + str; &lt;br /&gt; }&lt;br /&gt; return str;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//return the full URL (BASE_URL + THE date parameters)&lt;br /&gt;function buildURL(sBegin, sEnd) {&lt;br /&gt;    var str = &quot;&quot;;&lt;br /&gt;    str = BASE_URL+&quot;&amp;amp;log_start_date=&quot;+sBegin+&quot;&amp;amp;log_end_date=&quot;+sEnd;&lt;br /&gt;    return str;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span id=&quot;docs-internal-guid-5c098e60-eb16-6479-45d6-6647f4de0f0c&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: large; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Task Log: Current Month (compacted)&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;docs-internal-guid-5c098e60-eb16-15ea-c569-53b591922d5e&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;Don’t forget to use your URL instead of the fake one used in this example&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;//open report for the current month:&lt;br /&gt;javascript:(function(){&lt;br /&gt; var BASE_URL = &quot;http://dotproject.example.com/index.php?m=projects&amp;amp;a=reports&amp;amp;project_id=0&amp;amp;report_type=tasklogs&amp;amp;log_userfilter=0&amp;amp;do_report=submit&quot;;&lt;br /&gt; function fd(d) {var s=&quot;&quot;;s=d.getFullYear();s+=pd(d.getMonth()+1);s+=pd(d.getDate());return s;}&lt;br /&gt; function pd(a){a=String(a);a.length&lt;2 a=&quot;&quot; amp=&quot;&quot; br=&quot;&quot; return=&quot;&quot;&gt; var m1 = new Date();m1.setDate(1);&lt;br /&gt; var m2 = new Date(m1.getFullYear(),m1.getMonth()+1,0);&lt;br /&gt; location.href=BASE_URL+&quot;&amp;amp;log_start_date=&quot;+fd(m1)+&quot;&amp;amp;log_end_date=&quot;+fd(m2);&lt;br /&gt; })(); &lt;!--2--&gt;&lt;/2&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span id=&quot;docs-internal-guid-5c098e60-eb16-6479-45d6-6647f4de0f0c&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: large; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Task Log: Ask for Month&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;docs-internal-guid-5c098e60-eb16-15ea-c569-53b591922d5e&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;Don’t forget to use your URL instead of the fake one used in this example&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;//ask for month (number), then open the report:&lt;br /&gt;javascript:(function(){&lt;br /&gt; var BASE_URL = &quot;http://dotproject.example.com/index.php?m=projects&amp;amp;a=reports&amp;amp;project_id=0&amp;amp;report_type=tasklogs&amp;amp;log_userfilter=0&amp;amp;do_report=submit&quot;;&lt;br /&gt; function fd(d) {var s=&quot;&quot;;s=d.getFullYear();s+=pd(d.getMonth()+1);s+=pd(d.getDate());return s;}&lt;br /&gt; function pd(a){a=String(a);a.length&lt;2 a=&quot;&quot; amp=&quot;&quot; br=&quot;&quot; return=&quot;&quot;&gt; var m1 = new Date();m1.setDate(1);&lt;br /&gt; var m = prompt(&quot;Enter Month: &quot;, m1.getMonth()+1);&lt;br /&gt; m1.setMonth(m-1);&lt;br /&gt; var m2 = new Date(m1.getFullYear(),m1.getMonth()+1,0);&lt;br /&gt; location.href=BASE_URL+&quot;&amp;amp;log_start_date=&quot;+fd(m1)+&quot;&amp;amp;log_end_date=&quot;+fd(m2); &lt;br /&gt; })();&lt;br /&gt;&lt;!--2--&gt;&lt;!--2--&gt;&lt;!--2--&gt;&lt;!--2--&gt;&lt;!--2--&gt;&lt;!--2--&gt;&lt;!--2--&gt;&lt;/2&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id=&quot;docs-internal-guid-5c098e60-eb16-6479-45d6-6647f4de0f0c&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: large; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Adding bookmarklets in pictures&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Default report parameters, those dates won&#39;t help me&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-LiaBYAkyuz8/UmlAT_ZqvxI/AAAAAAAAdGQ/wS10AM2tSCs/s1600/01+Task+Log+-+wrong+dates.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;102&quot; src=&quot;http://2.bp.blogspot.com/-LiaBYAkyuz8/UmlAT_ZqvxI/AAAAAAAAdGQ/wS10AM2tSCs/s320/01+Task+Log+-+wrong+dates.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Start with a new bookmark, and paste the JavaScript into the Location field&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-EtV1i97mCl8/UmlAUAOPceI/AAAAAAAAdGU/Ld56VveKSO0/s1600/02+Task+Log+-+New+Bookmark.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;239&quot; src=&quot;http://1.bp.blogspot.com/-EtV1i97mCl8/UmlAUAOPceI/AAAAAAAAdGU/Ld56VveKSO0/s320/02+Task+Log+-+New+Bookmark.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Here&#39;s the result, the dates load correctly!&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-sU2cxQObaMQ/UmlAUgvFyfI/AAAAAAAAdGk/ljYGhbguUIw/s1600/04+Task+Log+-+correct+dates.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;64&quot; src=&quot;http://1.bp.blogspot.com/-sU2cxQObaMQ/UmlAUgvFyfI/AAAAAAAAdGk/ljYGhbguUIw/s320/04+Task+Log+-+correct+dates.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Creating a separate bookmark to ask for the month&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-dueZ-u3_KTM/UmlAU2k3lWI/AAAAAAAAdGs/g2tVfFTsJDk/s1600/05+Task+Log+-+New+Bookmark+(month).png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;231&quot; src=&quot;http://1.bp.blogspot.com/-dueZ-u3_KTM/UmlAU2k3lWI/AAAAAAAAdGs/g2tVfFTsJDk/s320/05+Task+Log+-+New+Bookmark+(month).png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Here is the bookmarklet asking for the month&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-B4AQ0FrcX38/UmlAVedk72I/AAAAAAAAdG0/Shu6YFk8Xr8/s1600/06+Task+Log+-+Ask+for+month.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-B4AQ0FrcX38/UmlAVedk72I/AAAAAAAAdG0/Shu6YFk8Xr8/s1600/06+Task+Log+-+Ask+for+month.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;The report showing the correct dates!&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-7lxTfFUcQPA/UmlAV4eKXpI/AAAAAAAAdG8/pa46vx5CHGw/s1600/07+Task+Log+Month+-+showing+correct+dates.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;68&quot; src=&quot;http://2.bp.blogspot.com/-7lxTfFUcQPA/UmlAV4eKXpI/AAAAAAAAdG8/pa46vx5CHGw/s320/07+Task+Log+Month+-+showing+correct+dates.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/1220477807178931238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/10/bookmarklet-reporting-with-dotproject.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/1220477807178931238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/1220477807178931238'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/10/bookmarklet-reporting-with-dotproject.html' title='Bookmarklet Reporting with dotProject'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-LiaBYAkyuz8/UmlAT_ZqvxI/AAAAAAAAdGQ/wS10AM2tSCs/s72-c/01+Task+Log+-+wrong+dates.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-4043887358513479157</id><published>2013-10-16T15:00:00.001-07:00</published><updated>2015-01-27T11:26:14.267-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adobe"/><category scheme="http://www.blogger.com/atom/ns#" term="dev"/><category scheme="http://www.blogger.com/atom/ns#" term="scripting"/><title type='text'>Download Adobe Connect Presentations</title><content type='html'>&lt;h2&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Download your own copy of an Adobe Connect 8 Presentation&lt;/span&gt;&lt;/h2&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; id=&quot;docs-internal-guid-48889a53-c31d-febd-49fe-c832651c0bfc&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-F3H-xBDklv8/Ul8JYW-KDRI/AAAAAAAAc6Q/G_K2hm4lUGM/s1600/adobe+connect.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-F3H-xBDklv8/Ul8JYW-KDRI/AAAAAAAAc6Q/G_K2hm4lUGM/s1600/adobe+connect.png&quot; height=&quot;161&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;The following are some methods I used to download offline copies of presentations given at a class I took at the University of Washington.&amp;nbsp; Adobe Connect 8 was the web meeting software used, and it should be noted that Adobe provides documentation on how to provide offline copies, but for various reasons our instructors weren&#39;t able to figure it out.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;If you search the Adobe Connect user forums, you’ll notice it’s filled with people posting questions on how to export their presentation. I found some good information in the forums and other places, and this post simply lists the methods I used to achieve the goal.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span id=&quot;docs-internal-guid-235f3eca-be22-e5dd-48d6-83064c022898&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;The Easy Way Out: Throw money at the problem&lt;/span&gt;&lt;/span&gt;&lt;/u&gt; &lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; id=&quot;docs-internal-guid-48889a53-c31d-ab52-d4a0-114c729d428e&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Without a doubt, the easiest solution is to use a screen recording utility. &amp;nbsp;You may already have a favorite tool, but I payed for one called Screencast-O-Matic. &amp;nbsp;For what it’s worth, it did a great job for the price.&amp;nbsp; In hindsight, I would have just recorded the presentations as they became available.&lt;/span&gt;&lt;/div&gt;&lt;a href=&quot;http://www.screencast-o-matic.com/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;&quot;&gt;http://www.screencast-o-matic.com&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt; &lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt; &lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;The Do It Yourself Method&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Disclaimers: &lt;/span&gt;&lt;/div&gt;&lt;ul style=&quot;margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;You must be comfortable with the basics of editing and and video (I do you no favors)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span id=&quot;docs-internal-guid-48889a53-c31d-3e17-5f18-e49887cd4f87&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;b&gt;&lt;u&gt;Fail Early&lt;/u&gt;!&lt;/b&gt;&lt;/span&gt; If it’s not working out, don’t blame yourself and go the easy route &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Software: FLV Editor Lite&lt;/span&gt;&lt;/h4&gt;&lt;div dir=&quot;ltr&quot; id=&quot;docs-internal-guid-48889a53-c31e-3dc1-9ec7-2f58e2c235f6&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;a href=&quot;http://www.exp-flv.com/flv-editor/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;&quot;&gt;http://www.exp-flv.com/flv-editor&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;I found a good free Flash editor called FLV Editor. &amp;nbsp;It’s free lite version will work fine if you stay under 4 input files, and honestly if you need more you shouldn’t use this method. &amp;nbsp;If you find the software useful, I’d encourage you to support the developer and buy the software.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;The publisher also has a player called FLV Player, which is a pretty robust player despite its ugly interface. &amp;nbsp;It plays FLV files better than the VLC Player.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Download the presentation&lt;/span&gt;&lt;/h4&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;You will have to download the presentation directly from the web software using these steps: &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;1. View the Adobe Connect video on your browser like you normally would&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;2. Remove the extra parameters from the URL, and add this on the end: /output/filename.zip?download=zip&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;3. Reload page, wait for a download dialog to display and save the file&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;What is in that Zip file anyway?&lt;/span&gt;&lt;/h4&gt;&lt;div dir=&quot;ltr&quot; id=&quot;docs-internal-guid-48889a53-c31f-7a14-4495-39644c889bff&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;The zip file you receive consists of several Flash (FLV) files that make up different parts of the presentation (audio/video/chat/etc); together they form the entire presentation. &amp;nbsp;The way I understand it, there is one file that controls all the others, called mainstream.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span id=&quot;docs-internal-guid-48889a53-c33f-9707-d82e-3c2a59ecd658&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;In the best case scenario, the presenter gives the presentation without stopping the recording. However, if they paused any part of the presentation at any time, a new file is created. &amp;nbsp;This is where the mainstream file steps in, it keeps track of which files should be “played” when, like a music conductor in an orchestra. &amp;nbsp;This file will not help us, but it’s important to understand how it works.&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Extract Audio/Video&lt;/span&gt;&lt;/h4&gt;&lt;div dir=&quot;ltr&quot; id=&quot;docs-internal-guid-48889a53-c320-df88-c51e-7343a04684da&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;I only wanted the audio and the screen share. &amp;nbsp;Unfortunately the audio and screen shares are stored in separate files. &amp;nbsp;In the best case scenario:&lt;/span&gt;&lt;/div&gt;&lt;ul style=&quot;margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;The audio is stored in a file similar to: cameraVoip_****.flv&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;The screen share video is stored in a file similar to: screenshare_****.flv&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Video can also be stored on the voip file (usually a web cam of the instructor), so we will need to separate the audio from the video in that file. &amp;nbsp;Then we will merge the audio to the video from the screenshare file.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Here are the steps to follow this best-case scenario:&lt;/span&gt;&lt;/div&gt;&lt;ol style=&quot;margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Open the FLV Editor &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Add the cameraVoip file &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;ol style=&quot;margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: lower-alpha; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Drag the file into the editor section&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: lower-alpha; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Choose the option to un-link the audio &amp;amp; video&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: lower-alpha; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Delete just the video part, leaving the audio behind (this can be tricky)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Add the screenshare file&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;ol style=&quot;margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: lower-alpha; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Drag the file into the editor section&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: lower-alpha; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;It should only have a video part, no sound&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Make sure the audio and video line up,and export to Flash&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;ol style=&quot;margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: lower-alpha; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;There is an option to export to other formats with the pay version&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;If you have more than one of either the audio or video&lt;/span&gt;&lt;/h4&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span id=&quot;docs-internal-guid-48889a53-c320-3e6a-6e4f-8b204ce91c7b&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;The instructions are similar to the best-case scenario, except you have to get a little creative. &amp;nbsp;If you can watch the original presentation on the website, you may be able to figure out where the presenter paused. &amp;nbsp;You can then try to match up all the files in the editor appropriately.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt; &lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt; &lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Are there other options?&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; id=&quot;docs-internal-guid-48889a53-c321-dda1-66c2-d1e9b1224b0a&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;I originally tried an awesome command-line utility called &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;ffmpeg&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;: &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;ul style=&quot;margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;It can work with flv files, but isn’t so good with converting them, so stick to flv&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;If you have more than one of either the audio or video files, prepare for a difficult time&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Sometimes the audio/video would be out of sync, usually because one of the files was ~5 seconds longer than the other. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;There are plenty of examples on the web on how to use this tool.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;http://www.ffmpeg.org/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;&quot;&gt;http://www.ffmpeg.org&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;My method was to extract the audio, then combine it with the video using a script. &lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Here are the 2 commands that were the heart of my script:&lt;/span&gt;&lt;/div&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&lt;br /&gt;ffmpeg -i cameraVoip*.flv -vn -acodec mp3 output_audio.mp3&lt;br /&gt;ffmpeg -i output_audio.mp3 -i screenshare*.flv -acodec copy -vcodec copy output_video.flv&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span id=&quot;docs-internal-guid-48889a53-c321-14c0-3f30-8959ded5983b&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;If you can follow what’s going on in those 2 commands, you can try ffmpeg. &amp;nbsp;I found it a fun exercise to remind myself that I still have some command-line skills, and that was good enough to move on to something else that would get the task finished faster.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; id=&quot;docs-internal-guid-48889a53-c32f-daa8-32e7-1f5de8fe01e1&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Conclusion&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;This are the methods I used to download copies of the presentations: I tried to piece the presentation together by myself, but if I ran into any issues I immedately went to the screen recorder.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Your presentation can vary wildly, so you might have to do some investigation with the various files in the zip archive to determine the best course of action. &amp;nbsp;Hopefully I have at least given you some inspiration.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/4043887358513479157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/10/download-adobe-connect-presentations.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/4043887358513479157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/4043887358513479157'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/10/download-adobe-connect-presentations.html' title='Download Adobe Connect Presentations'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-F3H-xBDklv8/Ul8JYW-KDRI/AAAAAAAAc6Q/G_K2hm4lUGM/s72-c/adobe+connect.png" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-5056990590682832513</id><published>2013-08-27T15:34:00.001-07:00</published><updated>2015-01-27T11:26:37.684-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="dev"/><title type='text'>Android Project: One Book Away</title><content type='html'>&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;b&gt;One Book Away&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;The Library App revisited&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;I have officially come to the end of my Android classes at the University of Washington!&amp;nbsp; The program consisted of 3 classes, each with their own project.&amp;nbsp; If you look back in my blog you’ll find the other 2 projects, which were:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;1st class: &quot;Library Hold Wait&quot;, a sort of calculator for items waiting at the library&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;2nd class: &quot;One Step Further&quot;, a child developmental milestone quiz&amp;nbsp; &lt;br /&gt;&lt;br /&gt;I’ll take a moment to mention that &quot;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.mabon.onestep&quot; target=&quot;_blank&quot;&gt;One Step Further&lt;/a&gt;&quot; is in the &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.mabon.onestep&quot; target=&quot;_blank&quot;&gt;Google Play store&lt;/a&gt;.&amp;nbsp; It’s much more streamlined and polished than the one I presented in class.&amp;nbsp; You should check it out, and if you like it please give it a good rating!&lt;br /&gt;&lt;br /&gt;My 3rd app took the same idea of the library hold calculator and extended it to make it much more useful.&amp;nbsp; Instead of manually entering your hold information in a calculator-style format, the app reads data directly from the Seattle Library and does all the calculations for you. &lt;br /&gt;&lt;br /&gt;I am happy with the results, and I think it leaves the door open to add more features to eventually get the app into the Play store in the coming months.&amp;nbsp; I could even port this app to work with other libraries that use the Horizon system.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;I&#39;ve been working so hard over the past few months, that I let loose a little bit for the presentation.&amp;nbsp; You&#39;ll have to excuse the weird color combinations, HUGE cheesy images, and lots of in-page transitions.&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;//www.youtube.com/embed/1XH1lgoYW5o&quot; width=&quot;420&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;screenshots&lt;/h3&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-g9mOAXkLOJI/Uh0nnqQal4I/AAAAAAAAbDg/aNJM3KDaw0M/s1600/01+home+screen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://1.bp.blogspot.com/-g9mOAXkLOJI/Uh0nnqQal4I/AAAAAAAAbDg/aNJM3KDaw0M/s200/01+home+screen.png&quot; width=&quot;112&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Main Page&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-vy9awehDlSo/Uh0nniYOZrI/AAAAAAAAbDo/NhizYHEjEKg/s1600/02+update+holds.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://2.bp.blogspot.com/-vy9awehDlSo/Uh0nniYOZrI/AAAAAAAAbDo/NhizYHEjEKg/s200/02+update+holds.png&quot; width=&quot;112&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Loading Hold Data&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-V40I8Q3n9HM/Uh0nn09RWII/AAAAAAAAbDk/Gh-MPoyGkMQ/s1600/03+detail+screen.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://4.bp.blogspot.com/-V40I8Q3n9HM/Uh0nn09RWII/AAAAAAAAbDk/Gh-MPoyGkMQ/s200/03+detail+screen.png&quot; width=&quot;112&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Detail Page&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-KTeZZDgl_lk/Uh0noIoJ_3I/AAAAAAAAbDs/rudZsUtGGcY/s1600/04+settings.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://3.bp.blogspot.com/-KTeZZDgl_lk/Uh0noIoJ_3I/AAAAAAAAbDs/rudZsUtGGcY/s200/04+settings.png&quot; width=&quot;112&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Preferences&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-upe5zt16lGs/Uh0noQc2SoI/AAAAAAAAbEA/guYaXv_K54s/s1600/05+refresh+checkout+periods.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://1.bp.blogspot.com/-upe5zt16lGs/Uh0noQc2SoI/AAAAAAAAbEA/guYaXv_K54s/s200/05+refresh+checkout+periods.png&quot; width=&quot;112&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Update Checkout Periods&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/5056990590682832513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/08/android-project-one-book-away.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/5056990590682832513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/5056990590682832513'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/08/android-project-one-book-away.html' title='Android Project: One Book Away'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-g9mOAXkLOJI/Uh0nnqQal4I/AAAAAAAAbDg/aNJM3KDaw0M/s72-c/01+home+screen.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-2003514837498825997</id><published>2013-06-11T14:05:00.000-07:00</published><updated>2015-01-27T11:27:09.610-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="dev"/><title type='text'>One Step Further, for Android</title><content type='html'>&lt;br /&gt;I&#39;ve been taking a series of classes on Android development at the University of Washington.&amp;nbsp; You may have seen a previous post from my first project (Library Hold-Wait).&lt;br /&gt;&lt;br /&gt;Compared to the last project, I spend much more time developing this project than the last.&amp;nbsp; It&#39;s a day after my presentation, and I&#39;m completely exhausted.&amp;nbsp; Luckily I have a couple weeks before I start taking the 3rd and final course of the series.&lt;br /&gt;&lt;br /&gt;I&#39;ve included the video of the presentation, and some additional screenshots and slides below.&amp;nbsp; The app was developed for class, but I hope to get a variant of it up on the Google Play store at some point.&amp;nbsp; At the very least it can be a good resume-builder.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;object class=&quot;BLOGGER-youtube-video&quot; classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot; data-thumbnail-src=&quot;http://i.ytimg.com/vi/JNsVch35MdE/0.jpg&quot; height=&quot;315&quot; width=&quot;560&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/JNsVch35MdE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;embed width=&quot;560&quot; height=&quot;315&quot;  src=&quot;http://www.youtube.com/v/JNsVch35MdE?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;Notes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The app has some features that were required for class: an RSS reader, links to other services, both a Map in a webview and a Map using Google Maps APIv2&lt;/li&gt;&lt;li&gt;I have had a version of this idea for a few years now; so it wasn&#39;t too much of a stretch to adjust it further to fit with the requirements of the class&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Screenshots:&lt;/b&gt;&lt;br /&gt;&lt;!-- YES, I used a table for image layout. --&gt; &lt;br /&gt;&lt;table style=&quot;width: 100%px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;50%&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-m3KXDcJKHG8/UbeLrtn5jcI/AAAAAAAAZso/cAjMXmdcJpA/s1600/home_screen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://2.bp.blogspot.com/-m3KXDcJKHG8/UbeLrtn5jcI/AAAAAAAAZso/cAjMXmdcJpA/s320/home_screen.png&quot; width=&quot;192&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Landing Activity&lt;/b&gt;&lt;br /&gt;Fairly standard screen &lt;/td&gt;&lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;50%&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-4o0SY_kIuiM/UbeLrliA9fI/AAAAAAAAZsw/Rj1XKzNk5ck/s1600/assessment.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://3.bp.blogspot.com/-4o0SY_kIuiM/UbeLrliA9fI/AAAAAAAAZsw/Rj1XKzNk5ck/s320/assessment.png&quot; width=&quot;192&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Assessment section&lt;/b&gt;&lt;br /&gt;Choose which behaviors your child is displaying &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;50%&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-ec9aF-ZmaZI/UbeLr6UktKI/AAAAAAAAZs0/lEN_vkVaMxk/s1600/result_screen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://4.bp.blogspot.com/-ec9aF-ZmaZI/UbeLr6UktKI/AAAAAAAAZs0/lEN_vkVaMxk/s320/result_screen.png&quot; width=&quot;192&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Results of the Assessment&lt;/b&gt;&lt;br /&gt;Always consider talking to a doctor &lt;/td&gt;&lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;50%&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-IY2CYY4fT80/UbeLrj7i9DI/AAAAAAAAZss/E2ieh4TncH4/s1600/more_information.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://3.bp.blogspot.com/-IY2CYY4fT80/UbeLrj7i9DI/AAAAAAAAZss/E2ieh4TncH4/s320/more_information.png&quot; width=&quot;192&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;More Information Section&lt;/b&gt;&lt;br /&gt;Extra information &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Slides:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-VSze1CFr9WM/UbeQjD9dB3I/AAAAAAAAZtQ/qo6BG9iBFRE/s1600/s01+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://4.bp.blogspot.com/-VSze1CFr9WM/UbeQjD9dB3I/AAAAAAAAZtQ/qo6BG9iBFRE/s320/s01+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-XFrMlQLbNgk/UbeQjsVjGnI/AAAAAAAAZtc/C0lNF1H_8Lg/s1600/s02+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://4.bp.blogspot.com/-XFrMlQLbNgk/UbeQjsVjGnI/AAAAAAAAZtc/C0lNF1H_8Lg/s320/s02+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-uE1Dzln83uc/UbeQjXwYpoI/AAAAAAAAZtU/tmatbj3mlpo/s1600/s03+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://3.bp.blogspot.com/-uE1Dzln83uc/UbeQjXwYpoI/AAAAAAAAZtU/tmatbj3mlpo/s320/s03+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-tlL0Q1zVf78/UbeQjqHVAbI/AAAAAAAAZtg/-BqaJHAvisw/s1600/s04+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://2.bp.blogspot.com/-tlL0Q1zVf78/UbeQjqHVAbI/AAAAAAAAZtg/-BqaJHAvisw/s320/s04+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-n3rlqAl-6y8/UbeQj8R3gAI/AAAAAAAAZtw/nNgHnPAHcG0/s1600/s05+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://4.bp.blogspot.com/-n3rlqAl-6y8/UbeQj8R3gAI/AAAAAAAAZtw/nNgHnPAHcG0/s320/s05+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-wrzPnE6z7M4/UbeQkb-QrkI/AAAAAAAAZt0/i7UEGTeY2bQ/s1600/s06+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://1.bp.blogspot.com/-wrzPnE6z7M4/UbeQkb-QrkI/AAAAAAAAZt0/i7UEGTeY2bQ/s320/s06+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-zlvr0RqoAMM/UbeQknpcvQI/AAAAAAAAZt4/ORgY1gWp38g/s1600/s07+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://1.bp.blogspot.com/-zlvr0RqoAMM/UbeQknpcvQI/AAAAAAAAZt4/ORgY1gWp38g/s320/s07+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-Z56gVXAxfCY/UbeQkprdXAI/AAAAAAAAZt8/gFrTIS8n98I/s1600/s08+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://1.bp.blogspot.com/-Z56gVXAxfCY/UbeQkprdXAI/AAAAAAAAZt8/gFrTIS8n98I/s320/s08+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-8IOzEdcxn3k/UbeQleg9v4I/AAAAAAAAZuo/upJM3tg4-RM/s1600/s09+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://2.bp.blogspot.com/-8IOzEdcxn3k/UbeQleg9v4I/AAAAAAAAZuo/upJM3tg4-RM/s320/s09+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-XLYL1MJyo30/UbeQlAZewOI/AAAAAAAAZuM/XwO-Eb1HKwI/s1600/s10+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://3.bp.blogspot.com/-XLYL1MJyo30/UbeQlAZewOI/AAAAAAAAZuM/XwO-Eb1HKwI/s320/s10+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-U1mrc8Yp1TQ/UbeQlcwfxeI/AAAAAAAAZuU/Wfutp25W5to/s1600/s11+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://4.bp.blogspot.com/-U1mrc8Yp1TQ/UbeQlcwfxeI/AAAAAAAAZuU/Wfutp25W5to/s320/s11+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-POrbifXNdwE/UbeQlvyeLmI/AAAAAAAAZuY/7BcdQ-hWbU4/s1600/s12+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://4.bp.blogspot.com/-POrbifXNdwE/UbeQlvyeLmI/AAAAAAAAZuY/7BcdQ-hWbU4/s320/s12+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-xatnRTdTT1c/UbeQmH_iUpI/AAAAAAAAZus/xRrpQgjce8o/s1600/s13+android+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://4.bp.blogspot.com/-xatnRTdTT1c/UbeQmH_iUpI/AAAAAAAAZus/xRrpQgjce8o/s320/s13+android+2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span id=&quot;goog_1135197938&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1135197939&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/2003514837498825997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/06/one-step-further-for-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/2003514837498825997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/2003514837498825997'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/06/one-step-further-for-android.html' title='One Step Further, for Android'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-m3KXDcJKHG8/UbeLrtn5jcI/AAAAAAAAZso/cAjMXmdcJpA/s72-c/home_screen.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-9101687649449527137</id><published>2013-05-10T09:21:00.001-07:00</published><updated>2015-01-27T11:29:18.339-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="musings"/><title type='text'>20130508</title><content type='html'>This is meant as a list of things that have interested me lately.&amp;nbsp; Some of it is from best-of lists from other blogs (best of, best of?), and a lot of it I found in my Evernote trashcan.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Personal Status &lt;/h3&gt;I&#39;m waist deep in my second Android class (of three).&amp;nbsp; I&#39;m really enjoying the platform, but I am getting a little frustrated with not being as well-acquainted with Eclipse and Java as I&#39;d like to be.&amp;nbsp; At some point the best way I&#39;m going to learn is to apprentice with a more experienced Android developer.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Headliners&lt;/h3&gt;&lt;b&gt;Stop reading the news&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://www.guardian.co.uk/media/2013/apr/12/news-is-bad-rolf-dobelli&quot; target=&quot;_blank&quot;&gt;http://www.guardian.co.uk/media/2013/apr/12/news-is-bad-rolf-dobelli&lt;/a&gt;&lt;br /&gt;I found it ironic that a story about not following the news looks a lot like a news article.&amp;nbsp; I also found it funny that I got the lesson out of this article by only reading the title and all the bold subtitles. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;You should blog even if you have no readers&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://nathanmarz.com/blog/you-should-blog-even-if-you-have-no-readers.html&quot;&gt;nathanmarz.com/blog/you-should-blog-even-if-you-have-no-readers.html&lt;/a&gt;&lt;br /&gt;It&#39;s like they were talking directly to me!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Android: Handling configuration changes with Fragments&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html&quot; target=&quot;_blank&quot;&gt;http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html&lt;/a&gt;&lt;br /&gt;(i.e. using AsyncTask when the user changes the phone&#39;s orientation) &lt;br /&gt;I&#39;m to the point where I feel comfortable researching Android topics on my own, I still feel like I can&#39;t really give advice to others as to the best way of doing something.&amp;nbsp; Even so, I found this post especially useful for handling AsyncTask threads.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;The battle between flat design and skeuomorphism&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://sachagreif.com/flat-pixels/&quot; target=&quot;_blank&quot;&gt;http://sachagreif.com/flat-pixels/&lt;/a&gt; &lt;br /&gt;Skeuomorphism is the word you use these days to signal to others that you are smart, hip, and with it.&amp;nbsp; It&#39;s one of those words that reminds you what it feels like to be a Freshman - everyone around you hates being made fun of, but then the next year you make fun of everyone the new Freshman class.&amp;nbsp; I never understood the lack of empathy in these situations.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Exceptional Beauty of Doom 3&#39;s Source Code&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;http://kotaku.com/5975610/the-exceptional-beauty-of-doom-3s-source-code&quot;&gt;http://kotaku.com/5975610/the-exceptional-beauty-of-doom-3s-source-code&lt;/a&gt;&lt;br /&gt;A nice little analysis of Doom&#39;s source code.&amp;nbsp; This is a summary of another article, but there is a link to the  original analysis that I also enjoyed.&amp;nbsp; I&#39;m not hot on debating the position of a curly bracket, but some of the other stuff was useful to keep in mind.&amp;nbsp; I especially like the section on Const and Rigid Parameters.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Tools that might be useful&lt;/h3&gt;BitTorrent Sync&lt;br /&gt;&lt;a href=&quot;http://torrentfreak.com/bittorrents-secure-dropbox-alternative-goes-public-130423/&quot; target=&quot;_blank&quot;&gt;http://torrentfreak.com/bittorrents-secure-dropbox-alternative-goes-public-130423/&lt;/a&gt; &lt;br /&gt;BTW, don&#39;t &quot;dropbox&quot; me: there&#39;s nothing wrong with looking at alternatives&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Interesting Stories&amp;nbsp;&lt;/h3&gt;&lt;a href=&quot;http://arstechnica.com/business/2013/04/the-rise-and-fall-of-amd-how-an-underdog-stuck-it-to-intel&quot; target=&quot;_blank&quot;&gt;The rise and fall of AMD&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;http://www.vanityfair.com/hollywood/2013/03/making-of-pulp-fiction-oral-history?mobify=0?intcid=full-site-mobile&quot; target=&quot;_blank&quot;&gt;The Making of Pulp Fiction &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://arstechnica.com/tech-policy/2013/03/rat-breeders-meet-the-men-who-spy-on-women-through-their-webcams/&quot; target=&quot;_blank&quot;&gt;Meet the men who spy on women through their webcams&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;http://www.nknews.org/2013/03/04/slam-dunk-diplomacy/&quot; target=&quot;_blank&quot;&gt;Interesting story involving Dennis Rodman and North Korea&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.npr.org/blogs/thetwo-way/2013/02/22/172714009/in-document-left-behind-by-al-qaida-22-tips-to-avoid-drones-strikes&quot; target=&quot;_blank&quot;&gt;How to avoid Drones&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://gizmodo.com/5981823/beat-by-dre-the-inside-story-of-how-monster-lost-the-world&quot; target=&quot;_blank&quot;&gt;Beat by Dre&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Entertainment&lt;/h3&gt;&lt;a href=&quot;http://www.thumbsandammo.blogspot.co.uk/&quot; target=&quot;_blank&quot;&gt;Guns in movies being replaced by thumbs-up&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.articulateventures.com/articulate-blog/thoughts-on-being-an-employer/salary-negotatiations-whats-possible-when-there-is-no-more-mone&quot; target=&quot;_blank&quot;&gt;Salary Negotiations: Whats possible when there is no more money?&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.buzzfeed.com/julianbrand/40-gifs-of-stupid-infomercial-people-6eof&quot; target=&quot;_blank&quot;&gt;Funny animated gifs of infomercials&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.thisiswhyimbroke.com/&quot; target=&quot;_blank&quot;&gt;It&#39;s like sky-mall for your computer!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/9101687649449527137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/05/20130508.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/9101687649449527137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/9101687649449527137'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/05/20130508.html' title='20130508'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-6020092607366291497</id><published>2013-04-24T15:41:00.000-07:00</published><updated>2015-01-27T11:29:40.106-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="musings"/><title type='text'>Slightly OFF Communication </title><content type='html'>&lt;br /&gt;&amp;nbsp;(otherwise known as real-life Seinfeld situations)&lt;br /&gt;&lt;br /&gt;I was walking to an office in Fremont when I noticed a man trying to simultaneously steer and push his car at the same time.  Despite the pouring rain, I decided to lend him a hand.  I quickly learned he wasn&#39;t trying to push his car, was was trying to push START his car.  I eyed him smartly and asked &quot;have you ever successfully push-started a car before?&quot;, he assured me he had.  I was already committed (the dog was tied to a street sign), so I proceeded to help him push his car up and down the street.  Eventually we gave up and pushed the car into a parking spot, which is what I wanted to do in the first place.&lt;br /&gt;&lt;br /&gt;If you know my dog, you know he howls like the dickens when he&#39;s not within 2 feet of me in public.  So throughout this entire ordeal there was the background noise of a howling labrador echoing throughout Fremont.  While we were pushing the car into its final parking space, a woman approached me to ask if the dog was mine, because she thought someone might have abandoned him.  Imagine a howling dog attached to a no parking sign in Fremont - yeah it wasn&#39;t pretty.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;I got to the office and the door was locked.  Was anyone there?  I knocked, no answer, but a desklight was on far inside.  I pulled out my cell phone and sent a text to the person asking if they were in the office, and he replied &quot;Yes!&quot;.  He apparently did not get the hint that I was at the front door, which makes sense because I only occasionally work at this office.  So I was about to text him a more obvious message when the (fall-off) hallway door opened, and someone familiar stepped in.  It looked like someone who worked in the office, so I calmly waited for him to walk down the long hallway.  As he approached, he acknowledged my dog and came up to pet him, so I just said &quot;I&#39;m in luck, you just saved me 25 cents&quot;.  He gave me an odd look, which is when I noticed it wasn&#39;t who I thought it was, but some person from another office in the building.  There was nothing I could do, so he oddly passed me by and I stood at the (still locked) front door looking like a tool.</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/6020092607366291497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/04/slightly-off-communication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/6020092607366291497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/6020092607366291497'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/04/slightly-off-communication.html' title='Slightly OFF Communication '/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-8665912313372980807</id><published>2013-04-10T10:38:00.001-07:00</published><updated>2015-01-27T11:30:09.399-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="musings"/><title type='text'>Cord Cutter</title><content type='html'>&lt;style&gt; {  background-color: #EFEFEF;  font-family: &#39;proxima-nova&#39;, sans-serif;  font-weight: normal;  font-size: normal; }    #list ul {  margin-left: 2px ;  padding-left: 2px ;  list-style: none ;  margin-top: 10px;  padding-top: 0px; }  #list ul li {   list-style: none; }  #list li {  background: url(&#39;http://3.bp.blogspot.com/-wNtRaWbNoFI/UWWjLZIJ6HI/AAAAAAAAYIM/lOr8_-sdPAI/s320/clip-art-tv-bullet.png&#39;) left center no-repeat;  padding-top: 20px;  padding-bottom: 20px;  padding-left: 35px;  border-top: #c6c6c6 1px solid; }  #custom_css_text {  border-radius: 10px;  background-color: #323232;  color: #FCFFFF;  padding: 10px; }  &lt;/style&gt;  &lt;div id=&quot;custom_css_text&quot;&gt;I&#39;m a cord cutter - which is just a person who got rid of their pay TV service (cable or satellite) in favor of another method.  This post is just about the method I use, yours may differ.  My hope is that it might give you some ideas on how you can also be a better cord cutter. &lt;/div&gt; &lt;div id=&quot;list&quot;&gt;&lt;ul&gt;&lt;li&gt;Everyone watches TV differently, so it&#39;s important to figure out what&#39;s important to YOU.&lt;/li&gt; &lt;li&gt;We enjoy having access to live broadcast tv, so we hooked an antenna to a DVR (Tivo Premiere) to record all the shows from the major networks.  We supplement with Netflix, and for anything else we use Amazon Video-On-Demand (VOD), which costs about $2/episode.&lt;/li&gt; &lt;li&gt;It might sound confusing, but remember the Tivo does 95% of the work.  We setup which shows we want it to record and it does the rest.  Everything else is available on Netflix, and if you find yourself still wanting more you can then turn to Amazon VOD.  What makes it even easier is that Netflix and Amazon are hooked directly into the Tivo.&lt;/li&gt; &lt;li&gt;Our goal was to shoot for a equivalent price per month lower than cable, which was around $70/month.  I&#39;m happy to report we usually pay about $20/month these days, depending on how you measure it.&lt;/li&gt; &lt;li&gt;If you don&#39;t care about broadcast tv, or don&#39;t care to have a DVR, I&#39;d recommend a Roku.  It opens the doors to more online services, such as Amazon Prime Streaming for instance (a Netflix competitor that doesn&#39;t work with Tivo).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/8665912313372980807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/04/cord-cutter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/8665912313372980807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/8665912313372980807'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/04/cord-cutter.html' title='Cord Cutter'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-1070170590824489678</id><published>2013-04-08T08:45:00.000-07:00</published><updated>2015-01-27T11:30:40.175-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="notepad++"/><title type='text'>Notepad++: Launch Firefox, Chrome, IE to your heart&#39;s content</title><content type='html'>Somehow I lost my ability in Notepad++ to open a file in a web browser.  I couldn&#39;t figure out how to get it back, so I turned to the internet and ran across a solution for people having difficultly setting it up with Google Chrome.  I ended up just modifying their solution:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-grpeuw6sMeI/UWLm2_vzzJI/AAAAAAAAYGs/UwTjA1vJ12E/s1600/launch+in+ff.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-grpeuw6sMeI/UWLm2_vzzJI/AAAAAAAAYGs/UwTjA1vJ12E/s1600/launch+in+ff.png&quot; height=&quot;361&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This post on &lt;b&gt;super user&lt;/b&gt; (stack exchange) got me started, then I put together how to add Firefox, Chrome, and IE.  &lt;br /&gt;&lt;a href=&quot;http://superuser.com/questions/306736/notepadis-there-a-way-to-fix-the-fact-that-i-cant-run-chrome-from-the-run-me&quot;&gt;http://superuser.com/questions/306736/notepadis-there-a-way-to-fix-the-fact-that-i-cant-run-chrome-from-the-run-me&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Shortcuts.xml&lt;/h3&gt;Notepad++ uses a &quot;shortcuts.xml&quot; file to store shortcut information.  You&#39;ll have to poke around, but it&#39;s located in your AppData folder, here is where I found mine:&lt;br /&gt;Win7: C:\Users\jmj\AppData\Roaming\Notepad++\ &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It&#39;s important to note that this file acts like a registry setting.  When Notepad++ is started, it loads those settings into memory, then when it&#39;s closed it saves them back to the settings.xml file.  This makes it so that you can&#39;t edit the shortcuts.xml file in Notepad++ itself because when you close the application it will over-write your changes to the file!&lt;/li&gt;&lt;li&gt;Unfortunately the best way to avoid this is to keep NPP closed and edit the file in (gasp!) notepad.exe&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;You place the commands in the &amp;lt; UserDefinedCommands &amp;gt; section, I&#39;ve provided that section from my shortcuts.xml file below: &lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&amp;lt;UserDefinedCommands&amp;gt;&lt;br /&gt;&amp;lt;Command name=&quot;Launch in Chrome&quot;  Ctrl=&quot;yes&quot; Alt=&quot;yes&quot; Shift=&quot;yes&quot; Key=&quot;82&quot;&amp;gt;%LocalAppData%\Google\Chrome\Application\Chrome.exe                       &amp;amp;quot;$(FULL_CURRENT_PATH)&amp;amp;quot;&amp;lt;/Command&amp;gt;&lt;br /&gt;&amp;lt;Command name=&quot;Launch in FireFox&quot; Ctrl=&quot;yes&quot; Alt=&quot;yes&quot; Shift=&quot;yes&quot; Key=&quot;83&quot;&amp;gt;&amp;amp;quot;C:\Program Files (x86)\Mozilla Firefox\firefox.exe&amp;amp;quot;    &amp;amp;quot;$(FULL_CURRENT_PATH)&amp;amp;quot;&amp;lt;/Command&amp;gt;&lt;br /&gt;&amp;lt;Command name=&quot;Launch in IE&quot;      Ctrl=&quot;yes&quot; Alt=&quot;yes&quot; Shift=&quot;yes&quot; Key=&quot;84&quot;&amp;gt;&amp;amp;quot;C:\Program Files (x86)\Internet Explorer\iexplore.exe&amp;amp;quot; &amp;amp;quot;$(FULL_CURRENT_PATH)&amp;amp;quot;&amp;lt;/Command&amp;gt;&lt;br /&gt;&amp;lt;/UserDefinedCommands&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I copied the &quot;Launch in Chrome&quot; directly from the superuser.com website, then modified it for the remaining calls.&amp;nbsp;&lt;/li&gt;&lt;li&gt;I tried to line up the attributes above so that you can easily read them&amp;nbsp;&lt;/li&gt;&lt;li&gt;You can use the Shortcut Mapper to change the shortcut calls after you have these loading correctly (I haven&#39;t bothered yet)&amp;nbsp;&lt;/li&gt;&lt;li&gt;I had to use &lt;b&gt;&amp;amp;quot;&lt;/b&gt; to handle spaces in the path (i.e. &quot;C:\Program Files (x86)\Mozilla..&quot;)&amp;nbsp;&lt;/li&gt;&lt;li&gt;$(FULL_CURRENT_PATH) refers to the html file you are editting in NPP (ex: jasonjeromeresume.html from the screenshot)&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;There are other commands available, read about them in the npp docs:&lt;br /&gt;&lt;a href=&quot;http://npp-community.tuxfamily.org/documentation/notepad-user-manual/commands&quot;&gt;http://npp-community.tuxfamily.org/documentation/notepad-user-manual/commands&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That&#39;s it!  </content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/1070170590824489678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/04/launch-firefox-chrome-ie-from-notepad.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/1070170590824489678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/1070170590824489678'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/04/launch-firefox-chrome-ie-from-notepad.html' title='Notepad++: Launch Firefox, Chrome, IE to your heart&#39;s content'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-grpeuw6sMeI/UWLm2_vzzJI/AAAAAAAAYGs/UwTjA1vJ12E/s72-c/launch+in+ff.png" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-7174787772196683065</id><published>2013-03-25T14:13:00.001-07:00</published><updated>2015-01-27T11:31:18.223-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dev"/><category scheme="http://www.blogger.com/atom/ns#" term="notepad++"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="scripting"/><title type='text'>Notepad++ Time-Stamp</title><content type='html'>&lt;h3&gt;Kudos&lt;/h3&gt;I’ve been keeping some form of a work journal for years; I’d highly recommend it.&amp;nbsp; I recently got annoyed with creating timestamps in Notepad++, and ran across a helpful post in a forum.&amp;nbsp; It was so helpful that I thought I’d do my best to try to give it some additional street cred. &lt;br /&gt;&lt;br /&gt;Here is the original link:&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/p/notepad-plus/discussion/331753/thread/3458d1da#62f2&quot;&gt;http://sourceforge.net/p/notepad-plus/discussion/331753/thread/3458d1da#62f2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What day of the week was 4/22/2006 anyway?&lt;/h3&gt;Before I start, if you have the TextFX plugin already setup in Notepad++, it provides 2 static methods of inserting a datetime stamp: &lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;Menu: TextFX &amp;gt; TextFX Insert &amp;gt; I:Date &amp;amp; Time: short format: 3:56 PM 3/22/2013&lt;br /&gt;Menu: TextFX &amp;gt; TextFX Insert &amp;gt; I:Date &amp;amp; Time: long format:  3:56 PM Friday, March 22, 2013&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;If these look good enough to you, you can skip to the section on how to map a keyboard shortcut to these.&amp;nbsp; However, in addition to the time and date, I also wanted the day of the week, like this: &lt;br /&gt;&lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;03:36 PM 03/22/2013 (Friday)&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Steps&lt;/h3&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-PozKTJHntSg/UVC-f3ehK1I/AAAAAAAAXic/BRTnhERRFf0/s1600/now+with+python.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-PozKTJHntSg/UVC-f3ehK1I/AAAAAAAAXic/BRTnhERRFf0/s1600/now+with+python.png&quot; height=&quot;187&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;It turns out this can easily be done with a simple Python script.&amp;nbsp; I don’t even know Python that well and I was able to do it.&lt;br /&gt;&lt;br /&gt;1. Install the python plugin:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The plugin’s name is: Python Script&lt;/li&gt;&lt;li&gt;It’s recommend you do this via the NP++ Plugin Manger (Menu: Plugins &amp;gt; Plugin Manger)&lt;/li&gt;&lt;li&gt;Here’s a link to the project page:&amp;nbsp; &lt;a href=&quot;http://npppythonscript.sourceforge.net/&quot;&gt;http://npppythonscript.sourceforge.net/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The script includes some basic Python libraries, so you shouldn’t need to install Python or other 3rd party libraries&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;2. Setup script in Notepad++:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Menu:&amp;nbsp; Plugins &amp;gt; Python Script &amp;gt; New Python Script&lt;/li&gt;&lt;li&gt;It will ask you for a new file name, I choose: npp_timedate_stamp.py&lt;/li&gt;&lt;li&gt;A new tab will appear in NP++ for you to enter the script.&lt;/li&gt;&lt;li&gt;This is the script I used:  &lt;pre style=&quot;background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;&quot;&gt;&lt;code&gt;&lt;br /&gt;# Add date/time stamp in Notepad++ 03:28 PM 03-22-2013 (Friday)&lt;br /&gt;import time&lt;br /&gt;editor.addText( time.strftime( &#39;%I:%M %p %m/%d/%Y (%A) &#39; ) )&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Here is a link to the Python documentation which shows what all the format string characters: &lt;a href=&quot;http://docs.python.org/2/library/time.html&quot;&gt;http://docs.python.org/2/library/time.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Save your script&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;3. Configure Notepad++ to use the script:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Menu: Plugins &amp;gt; Python Script &amp;gt; Configuration&lt;/li&gt;&lt;li&gt;You should see your script under the User Scripts section&lt;/li&gt;&lt;li&gt;Add it to Toolbar and/or Menu&lt;/li&gt;&lt;li&gt;I put it in both, but I only managed to find it under menu&lt;/li&gt;&lt;li&gt;It shows up as its own entry under Menu: Plugins &amp;gt; Python Script &amp;gt; npp_timedate_stamp&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;4. Create a keyboard shortcut (my preferred method):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Menu: Settings &amp;gt; Shortcut Mapper&lt;/li&gt;&lt;li&gt;Switch to Plugin&lt;/li&gt;&lt;li&gt;Scroll down until you see your script name (i.e. npp_timedate_stamp)&lt;/li&gt;&lt;li&gt;Click on it, choose Modify, and choose a key.&amp;nbsp; I used: CTRL + ; &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Furthermore&lt;/h3&gt;This was exciting to me in more ways than one, because in the past I’ve looked for ways of modifying Notepad++, and plugins can be a daunting undertaking.&amp;nbsp; Apparently the Python plugin is mapped to all the Notepad++ features, so I might utilize it more in the future.</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/7174787772196683065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/03/notepad-time-stamp.html#comment-form' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/7174787772196683065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/7174787772196683065'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/03/notepad-time-stamp.html' title='Notepad++ Time-Stamp'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-PozKTJHntSg/UVC-f3ehK1I/AAAAAAAAXic/BRTnhERRFf0/s72-c/now+with+python.png" height="72" width="72"/><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6907975643453137972.post-34920277590751822</id><published>2013-03-22T10:22:00.000-07:00</published><updated>2015-01-27T11:32:04.864-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="musings"/><title type='text'>Future Phone, 7 plus or minus 2</title><content type='html'>I had this thought swirling around my head this morning that wouldn&#39;t go away.&amp;nbsp; What I usually do in such cases is write down enough to be satisfied and then continue on with whatever I was doing.&amp;nbsp; However, today involved building an image, so after quickly sketching it up in gimp I figured I might as well post it somewhere.&lt;br /&gt;&lt;br /&gt;I was thinking about how we make phone calls.&amp;nbsp;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Originally we called an operator and asked to be connected to a house address (i.e. using words)&lt;/li&gt;&lt;li&gt;We switched to a 7 digit number&lt;/li&gt;&lt;li&gt;There were so many phone numbers we had to add the area code every time you dialed, so it became a 10 digit number&lt;/li&gt;&lt;li&gt;(I&#39;m ignoring countries outside the US, sorry but you guys have a ton of numbers to dial)&lt;/li&gt;&lt;li&gt;With the phone Address book it seems we&#39;re almost back to the original model of connecting using words&lt;/li&gt;&lt;/ol&gt;&amp;nbsp;* There shall be no implications what-so-ever that I know &lt;i&gt;anything&lt;/i&gt; about the history of telecommunications from this list, although I did take a very interesting telecom class in college.&lt;br /&gt;&lt;br /&gt;This got me to thinking: how else could we make calls other than using the number method?&lt;br /&gt;&lt;br /&gt;The address book has pretty much eliminated the need for memorizing a phone number, although you could think of that number as being a good unique key into the world &quot;database&quot; of phones. &lt;br /&gt;&lt;br /&gt;That&#39;s it.&amp;nbsp; Thanks for the ear internet.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-h_XNR7RuWxI/UUyQcSTp6_I/AAAAAAAAXUM/0mAbvzG-2NM/s1600/phone_keyboard.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-h_XNR7RuWxI/UUyQcSTp6_I/AAAAAAAAXUM/0mAbvzG-2NM/s1600/phone_keyboard.png&quot; height=&quot;353&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Built this fairly quickly in gimp, I&#39;m not sure why everyone complains about it being too confusing to use.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.jjerome.com/feeds/34920277590751822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.jjerome.com/2013/03/future-phone-7-plus-or-minus-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/34920277590751822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6907975643453137972/posts/default/34920277590751822'/><link rel='alternate' type='text/html' href='http://blog.jjerome.com/2013/03/future-phone-7-plus-or-minus-2.html' title='Future Phone, 7 plus or minus 2'/><author><name>Jason Jerome</name><uri>https://plus.google.com/109333768170366302845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-_rd80JolgzU/AAAAAAAAAAI/AAAAAAAAxSI/1_ZLmY2zjBs/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-h_XNR7RuWxI/UUyQcSTp6_I/AAAAAAAAXUM/0mAbvzG-2NM/s72-c/phone_keyboard.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>