<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0" xml:base="https://etwof.com/">
<channel>
 <title>Computers | End the War on Freedom</title>
 <link>https://etwof.com/categories/computers.html</link>
 <description>Anything to do with computing machines or software.</description>
 <language>en</language>
 <managingEditor>Bill St. Clair</managingEditor>
 <generator>Lisplog</generator>
<item>
 <title>Anatomy of a Gab Post URL</title>
 <link>https://etwof.com/anatomy_of_a_gab_post_url.html</link>
 <description>&lt;p&gt;I&#039;ve taken to reporting each time that number of posts on &lt;a href=&#039;https://gab.ai/&#039;&gt;Gab&lt;/a&gt; crosses a multiple of a million. It recently passed eight million posts. Some have asked how I determined that. This post is the answer.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#039;https://gab.ai/billstclair/posts/8016964&#039;&gt;https://gab.ai/billstclair/posts/8016964&lt;/a&gt; is my post reporting on eight million posts. Here are it&#039;s components:&lt;/p&gt;

&lt;table class=&#039;prettytable&#039;&gt;
&lt;tr&gt;&lt;th&gt;Name&lt;/th&gt;&lt;th&gt;Text&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Protocol&lt;/td&gt;&lt;td&gt;https://&lt;/td&gt;&lt;td&gt;Tells your browser to use the HTTPS protocol, SSL-encrypted Hypertext Transfer Protocol.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Host&lt;/td&gt;&lt;td&gt;gab.ai/&lt;/td&gt;&lt;td&gt;The internet host containing the web page.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Gab User&lt;/td&gt;&lt;td&gt;billstclair&lt;/td&gt;&lt;td&gt;The ID of the user who made the post. Stop here to show that user&#039;s profile page. There are a bunch of special tokens that can go here that may NOT be a userid, e.g. &quot;home&quot;, &quot;tv&quot;, &quot;popular&quot;, &quot;lists&quot;, &quot;chats&quot;, &quot;settings&quot;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content Type&lt;/td&gt;&lt;td&gt;/posts/&lt;/td&gt;&lt;td&gt;Says that the rest of the URL will identify one of the user&#039;s posts.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Post Number&lt;/td&gt;&lt;td&gt;8016964&lt;/td&gt;&lt;td&gt;The number of the post. This is a global counter of all posts ever made. This is what I used to determine that there were over 8 million posts.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Note that you need to know both the user ID AND the post number to address a post, so there&#039;s no way to step through the posts by simply incrementing the post number. This was a smart, security-conscious decision on &lt;a href=&#039;https://gab.ai/e&#039;&gt;@e&lt;/a&gt;&#039;s part.&lt;/p&gt;
</description>
 <pubDate>Wed, 24 May 2017 22:52:54 GMT</pubDate>
</item>
<item>
 <title>kek.gg</title>
 <link>https://etwof.com/kekgg.html</link>
 <description>&lt;p&gt; &lt;a href=&#039;https://kek.gg&#039;&gt;https://kek.gg&lt;/a&gt; is a new (to me) image hosting site. They allow 5 megabyte uploads, and have a dirt-simple interface, with only one page, the home page, apparent. I discovered them via a Gab post that used them for its attached image, as I have done for the image below of the home page.&lt;/p&gt;

&lt;p&gt;They appear to be hosted by Amazon and cached/distributed by Amazon CloudFront.&lt;/p&gt;

&lt;p&gt;Registrant information is &quot;WhoIsGuard Protected&quot;, so I don&#039;t know who owns them.&lt;/p&gt;

&lt;p&gt;The .gg top-level domain is for the Balliwick of Guernsey, which apparently sells domains. Gandi.net, the registrar for kek.gg, charges $75/year for a .gg domain. Simple .com domains go for less than $10/year.&lt;/p&gt;

&lt;p&gt;Cool.&lt;/p&gt;

&lt;p&gt; &lt;a href=&#039;https://infogalactic.com/info/Guernsey&#039;&gt;https://infogalactic.com/info/Guernsey&lt;/a&gt;&lt;br/&gt;
 &lt;a href=&#039;https://www.gandi.net/domain/gg/info&#039;&gt;https://www.gandi.net/domain/gg/info&lt;/a&gt;&lt;br/&gt;
 &lt;a href=&#039;https://www.gandi.net/domain/price/detail/gg/&#039;&gt;https://www.gandi.net/domain/price/detail/gg/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#039;https://kek.gg/i/7mzw8g&#039; alt=&#039;kek.gg&#039; width=&#039;509&#039; height=&#039;459&#039;/&gt;&lt;br/&gt;
 &lt;a href=&#039;https://kek.gg/i/7mzw8g&#039;&gt;https://kek.gg/i/7mzw8g&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 13 Feb 2017 21:44:04 GMT</pubDate>
</item>
<item>
 <title>Elm Digital Ocean Interface</title>
 <link>https://etwof.com/elm_digital_ocean_interface.html</link>
 <description>&lt;p&gt;I have built an Elm interface to a subset of the Digital Ocean HTTP API.&lt;/p&gt;

&lt;p&gt; &lt;a href=&#039;http://package.elm-lang.org/packages/billstclair/elm-digital-ocean/latest&#039;&gt;http://package.elm-lang.org/packages/billstclair/elm-digital-ocean/latest&lt;/a&gt;&lt;br/&gt;
 &lt;a href=&#039;https://www.digitalocean.com&#039;&gt;https://www.digitalocean.com&lt;/a&gt;&lt;br/&gt;
 &lt;a href=&#039;https://lisplog.org/elm-do&#039;&gt;https://lisplog.org/elm-do&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Sat, 11 Feb 2017 01:00:10 GMT</pubDate>
</item>
<item>
 <title>Kakuro Dojo on Android</title>
 <link>https://etwof.com/kakuro_dojo_on_android.html</link>
 <description>&lt;p&gt;My Kakuro puzzle game, &lt;a href=&#039;https://GibGoyGames.com/kakuro/&#039;&gt;Kakuro Dojo&lt;/a&gt;, is now available from the Google Play Store. You may now play on iPhone, iPad, iPad Touch, Android phones and tablets, and a &lt;a href=&#039;https://kakuro-dojo.com/&#039;&gt;web browser&lt;/a&gt; on any device.&lt;/p&gt;

&lt;p style=&#039;text-align: center;&#039;&gt;&lt;a href=&#039;https://itunes.apple.com/us/app/kakuro-dojo/id1191778737?mt=8&#039;&gt;&lt;img src=&#039;&lt;!-- TMPL_VAR home --&gt;/images/Download_on_the_App_Store_Badge_US-UK_135x40.svg&#039; alt=&#039;Download on the App Store&#039; width=&#039;135&#039; height=&#039;40&#039; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href=&#039;https://play.google.com/store/apps/details?id=com.gibgoygames.kakuro&#039;&gt;&lt;img alt=&#039;Get it on Google Play&#039; src=&#039;&lt;!-- TMPL_VAR home --&gt;/images/google-play-badge.png&#039; width=&#039;137&#039; height=&#039;40&#039;/&gt;&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Tue, 17 Jan 2017 16:50:59 GMT</pubDate>
</item>
<item>
 <title>Kakuro Dojo iOS App Ships!</title>
 <link>https://etwof.com/kakuro_dojo_ios_app_ships.html</link>
 <description>&lt;p&gt;My Kakuro puzzle game, &lt;a href=&#039;https://GibGoyGames.com/kakuro/&#039;&gt;Kakuro Dojo&lt;/a&gt;, is available from the iOS App Store.&lt;/p&gt;

&lt;p style=&#039;text-align: center;&#039;&gt;&lt;a href=&#039;https://itunes.apple.com/us/app/kakuro-dojo/id1191778737?mt=8&#039;&gt;&lt;img src=&#039;&lt;!-- TMPL_VAR home --&gt;/images/Download_on_the_App_Store_Badge_US-UK_135x40.svg&#039; alt=&#039;Download on the App Store&#039; width=&#039;135&#039; height=&#039;40&#039; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also play it online at &lt;a href=&#039;https://Kakuro-Dojo.com&#039;&gt;Kakuro-Dojo.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Next: Android version&lt;/p&gt;

&lt;p style=&#039;text-align: center&#039;&gt;&lt;img src=&#039;&lt;!-- TMPL_VAR home --&gt;/images/zen-master-450x635.jpg&#039; alt=&#039;Zen Master&#039; width=&#039;450&#039; height=&#039;635&#039; /&gt;&lt;/p&gt;

</description>
 <pubDate>Fri, 13 Jan 2017 17:02:09 GMT</pubDate>
</item>
<item>
 <title>Qubes OS</title>
 <link>https://etwof.com/qubes_os.html</link>
 <description>&lt;p&gt;&lt;a href=&#039;https://www.qubes-os.org/&#039;&gt;Qubes OS&lt;/a&gt; bills itself as &quot;a reasonably secure operating system.&quot; It uses hypervisors to provide separation between different domains on your computer. You can make as many of them as you want. They share read-only application software, but cannot write to each other&#039;s file storage, unless you explicitly copy between two of them. The windows for each domain are color-coded and identified, in a way that application code can&#039;t forge, so you always know which domain you&#039;re working with.&lt;/p&gt;

&lt;p&gt;Great idea. Haven&#039;t tried it yet.&lt;/p&gt;

&lt;p&gt;On Twitter &lt;a href=&#039;https://twitter.com/QubesOS&#039;&gt;&amp;#64;QubesOS&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#039;https://www.qubes-os.org/downloads/&#039;&gt;Available&lt;/a&gt; as a 4 gig ISO image or a Torrent. Or on a &lt;a href=&#039;https://www.qubes-os.org/doc/live-usb/&#039;&gt;live bootable USB&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Lots of Asus, Apple, Dell, HP, Lenovo, Sony, and Toshiba hardware have been &lt;a href=&#039;https://www.qubes-os.org/hcl/&#039;&gt;reported to be compatible&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There&#039;s a good half hour overview &lt;a href=&#039;https://youtu.be/dD0_gq_ugw8&#039;&gt;here&lt;/a&gt; (embedded below).&lt;/p&gt;

&lt;p&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/dD0_gq_ugw8&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;</description>
 <pubDate>Wed, 02 Nov 2016 14:31:01 GMT</pubDate>
</item>
<item>
 <title>Gab Emojis</title>
 <link>https://etwof.com/gab_emojis.html</link>
 <description>&lt;p&gt;I snarfed from the page source at &lt;a href=&#039;https://gab.ai/&#039;&gt;Gab&lt;/a&gt; all the Emojis that are available there, by typing a colon (&quot;:&quot;) followed by the first characters of its name. I made a big table at:&lt;/p&gt;

&lt;p&gt;&lt;span style=&#039;margin-left: 2em;&#039;&gt;&lt;a href=&#039;https://billstclair.com/gab-emojis.html&#039;&gt;billstclair.com/gab-emojis.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;</description>
 <pubDate>Wed, 26 Oct 2016 01:54:43 GMT</pubDate>
</item>
<item>
 <title>Kakuro-Dojo Is Good Enough to Play</title>
 <link>https://etwof.com/kakuro_dojo_is_good_enough_to_play.html</link>
 <description>&lt;p&gt;&lt;a href=&#039;http://kakuro-dojo.com&#039;&gt;Kakuro-Dojo.com&lt;/a&gt; is now mobile-friendly and remembers your state. If you like Sudoku, you might like Kakuro. Check it out.&lt;/p&gt;

&lt;p&gt;More details at &lt;a href=&#039;https://lisplog.org/kakurodojo_is_good_enough_to_play.html&#039;&gt;lisplog.org/kakurodojo_is_good_enough_to_play.html&lt;/a&gt;.&lt;/p&gt;</description>
 <pubDate>Tue, 25 Oct 2016 17:37:56 GMT</pubDate>
</item>
<item>
 <title>Kakuro Dojo</title>
 <link>https://etwof.com/kakuro_dojo.html</link>
 <description>&lt;p&gt;&lt;a href=&#039;http://kakuro-dojo.com/&#039;&gt;&lt;img src=&#039;&lt;!-- TMPL_VAR home --&gt;/images/kakuro-dojo-478x1077.png&#039; alt=&#039;Kakuro-Dojo.com&#039; width=&#039;478&#039; height=&#039;1077&#039; style=&#039;float: right;&#039;/&gt;&lt;/a&gt; I&#039;ve been working for about ten days on a browser-based puzzle game, &lt;a href=&#039;http://www.kakuro.com&#039;&gt;Kakuro&lt;/a&gt;. I discovered it a few months ago, and have been solving puzzles in an app I got for my iPhone. I had a new idea for the game, so I decided to write my own. I made some progress in plain JavaScript, but got stumped at creating new puzzle layouts. &lt;/p&gt;

&lt;p&gt;I recently happened across a new computer programming language, &lt;a href=&#039;http://elm-lang.org/&#039;&gt;Elm&lt;/a&gt;. It&#039;s a pure functional language that compiles into JavaScript, and has libraries that make web programming very easy. I decided to convert my Kakuro game to Elm and continue development.&lt;/p&gt;

&lt;p&gt;I haven&#039;t had so much fun in years! I still didn&#039;t figure out how to generate puzzle layouts, but I wrote a &lt;a href=&#039;https://www.haskell.org&#039;&gt;Haskell&lt;/a&gt; program to scrape layouts from another game site, so that I could continue on game play development, and worry about layouts later. Haskell is a much older programming language, on which Elm is based.&lt;/p&gt;

&lt;p&gt;Anyway, the game is now playable, though it doesn&#039;t help you any. It&#039;s sort of like filling out a Sudoku puzzle in a newspaper. But I&#039;m working on feedback, and noticing when you&#039;ve successfully completed a puzzle.&lt;/p&gt;

&lt;p&gt;The game is most easily played with the keyboard, but the keypad below the game board makes it playable on touch screens. I have yet done window auto-sizing, so you may have to zoom a bit to get the right size.&lt;/p&gt;

&lt;p&gt;Aim your JavaScript-enabled browser at &lt;a href=&#039;http://kakuro-dojo.com/&#039;&gt;Kakuro-Dojo.com&lt;/a&gt;, and watch that space for new features as I write them.&lt;/p&gt;

&lt;p&gt;I originally called it &quot;Kakuro Master&quot;, but I discovered a couple of days ago that somebody has already used that name for a PC product.&lt;/p&gt;

&lt;p&gt;The source code is at &lt;a href=&#039;https://github.com/billstclair/kakuro-master&#039;&gt;github.com/billstclair/kakuro-master&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I plan to eventually wrap the game for sale on the iPhone and Android app stores.&lt;/p&gt;</description>
 <pubDate>Wed, 19 Oct 2016 19:19:22 GMT</pubDate>
</item>
<item>
 <title>Installing Arch Linux on Wandboard</title>
 <link>https://etwof.com/installing_arch_linux_on_wandboard.html</link>
 <description>&lt;p&gt;I have a dual-core &lt;a href=&#039;http://wandboard.org/&#039;&gt;Wandboard&lt;/a&gt; on which I&#039;ve been running a Debian install a coworker built. I decided to try &lt;a href=&#039;http://archlinuxarm.org/&#039;&gt;Arch Linux&lt;/a&gt; on it, for yuks, and to see if it fixed a multi-core thread switching bug I recently discovered in &lt;a href=&#039;http://ccl.clozure.com/&#039;&gt;Clozure Common Lisp&lt;/a&gt; (CCL).&lt;/p&gt;

&lt;p&gt;I followed the &lt;a href=&#039;http://archlinuxarm.org/platforms/armv7/freescale/wandboard&#039;&gt;installation instructions&lt;/a&gt;, but when I booted up the Wandboard, it printed a few screen-fulls, ending with successfully mounting the file system I created, but then got:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Failed to mount devtmpfs at /dev: no such device&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;and the boot hung. Google was no help. Searching the Wandboard and Arch forums was no help. I finally went to #archlinux-arm on Freenode, where leming asked whether I had used the micro-SD card from which I was booting for another OS or machine. I had. He suggested zeroing the start of the card and reinstalling. So I did:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;dd if=/dev/zero of=/dev/sdb bs=1M count=1000&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This cleared the first gig of the 8 gig card, more than I needed, but after reinstalling the bits, the boot succeeded.&lt;/p&gt;

&lt;p&gt;The new Linux still tickles the CCL bug.&lt;/p&gt;

&lt;p&gt;I&#039;m liking Arch on the Wandboard. Fast, spare, stable. Debian worked well, too, but somehow this new install feels snappier.&lt;/p&gt;</description>
 <pubDate>Thu, 01 Jan 2015 06:22:18 GMT</pubDate>
</item>
</channel>
</rss>
