<?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: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-9023674308530407565</id><updated>2012-02-17T19:04:57.694-06:00</updated><title type='text'>Ben's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default?start-index=101&amp;max-results=100'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1286</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6175552264898369463</id><published>2012-02-17T19:04:00.000-06:00</published><updated>2012-02-17T19:04:57.703-06:00</updated><title type='text'>On the News</title><content type='html'>On Tuesday, a reporter from the QC Times came for an "Inside the Classroom" series.&amp;nbsp; They were reporting on our Living Biography projects.&amp;nbsp; For some reason, the only pictures on the website are those of me.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-WE8BT11GQFE/Tz74DsYHYqI/AAAAAAAABlM/H_izrtltwec/s1600/4f3ae7acc0517.image%5B1%5D.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="213" src="http://3.bp.blogspot.com/-WE8BT11GQFE/Tz74DsYHYqI/AAAAAAAABlM/H_izrtltwec/s320/4f3ae7acc0517.image%5B1%5D.jpg" width="320" yda="true" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;div style="background-color: white; border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; color: black; overflow: hidden; text-align: left; text-decoration: none;"&gt;Ben Nordick, 7th grade, watches classmates rehearse Tuesday February 14, 2012 during rehearsal for the seventh grade's Living Biographies for the upcoming academic fair at Rivermont Collegiate in Bettendorf, Iowa. Nordick picked Albert Einstein to emulate. (Rashah McChesney/QUAD-CITY TIMES)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-BGKjFjJkIeA/Tz74RSbOc8I/AAAAAAAABlU/BD7jpsGSVdE/s1600/4f3ae7b1ab500.image%5B1%5D.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="213" src="http://2.bp.blogspot.com/-BGKjFjJkIeA/Tz74RSbOc8I/AAAAAAAABlU/BD7jpsGSVdE/s320/4f3ae7b1ab500.image%5B1%5D.jpg" width="320" yda="true" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;div style="background-color: white; border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; color: black; overflow: hidden; text-align: left; text-decoration: none;"&gt;Ben Nordick, 7th grader at Rivermont Collegiate speaks as Albert Einstein Tuesday February 14, 2012 during rehearsal for the seventh grade's Living Biographies for the upcoming academic fair at Rivermont Collegiate in Bettendorf, Iowa. (Rashah McChesney/QUAD-CITY TIMES)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6175552264898369463?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6175552264898369463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/on-news.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6175552264898369463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6175552264898369463'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/on-news.html' title='On the News'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-WE8BT11GQFE/Tz74DsYHYqI/AAAAAAAABlM/H_izrtltwec/s72-c/4f3ae7acc0517.image%5B1%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-5502155342014991323</id><published>2012-02-16T20:02:00.003-06:00</published><updated>2012-02-16T20:02:46.599-06:00</updated><title type='text'>Einstein Living Biography</title><content type='html'>Tonight was the Academic Fair, my final assignment for the Living Biography.&amp;nbsp; I was fourth to deliver the speech.&amp;nbsp; My speech/performance consisted of Einstein trying to teach a class while being continuously interrupted by nosy news reporters (Einstein never liked news media).&amp;nbsp; I set up my display board at the beginning of the day, even though the Fair wasn't until after school.&amp;nbsp; There were other grades' exhibits in the lower part of the building.&amp;nbsp; One second grader had done a report on Einstein which was curiously missing any mention of his second wife.&lt;br /&gt;&lt;br /&gt;I was wearing a suit and tie as well as an Einstein wig and moustache.&amp;nbsp; The first thing my teacher said about it was, "That's hilarious."&amp;nbsp; As I had practiced the speech many times, it was pretty easy to remember it.&amp;nbsp; The audience loved the part about his wife/wives, laughing at "As if my marriage was any of your business!", "She became more of a nuisance and I eventually had to issue a set of rules.", and when I shrugged while talking about the divorce from his first wife.&amp;nbsp; After the speech, a lot of people said that they liked it.&lt;br /&gt;&lt;br /&gt;﻿ &lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-HlzYJcheOnw/Tz207NLY0AI/AAAAAAAABk8/wd2RmI59_xY/s1600/P1010205.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="239" src="http://2.bp.blogspot.com/-HlzYJcheOnw/Tz207NLY0AI/AAAAAAAABk8/wd2RmI59_xY/s320/P1010205.JPG" width="320" yda="true" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Truly hilarious.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;﻿ &lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-SrmZvQDU-NA/Tz21AnF8s_I/AAAAAAAABlE/RoFthnnphes/s1600/P1010208.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="239" src="http://1.bp.blogspot.com/-SrmZvQDU-NA/Tz21AnF8s_I/AAAAAAAABlE/RoFthnnphes/s320/P1010208.JPG" width="320" yda="true" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Hilariousness, with display board.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-5502155342014991323?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/5502155342014991323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/einstein-living-biography.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5502155342014991323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5502155342014991323'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/einstein-living-biography.html' title='Einstein Living Biography'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-HlzYJcheOnw/Tz207NLY0AI/AAAAAAAABk8/wd2RmI59_xY/s72-c/P1010205.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3495145401024709702</id><published>2012-02-15T20:58:00.000-06:00</published><updated>2012-02-15T20:58:27.480-06:00</updated><title type='text'>February Multisession Chess Tournament Part 2/4 Cont.</title><content type='html'>Since my opponent couldn't make it to the club last night, I played him tonight at my dad's office.&amp;nbsp; Before he got there, I was asked to fix some problem on one of the office computers.&amp;nbsp; It turned out that they wanted the data from one computer to be copied to another.&amp;nbsp; This data was read by a very old, unstable program.&amp;nbsp; One of the computers (the one with the data) ran Windows 95 (!) and the other one ran Windows XP.&amp;nbsp; Thinking this would be a simple task, I found the folder that stored the data, inserted my flash drive, and selected the folder for copying.&amp;nbsp; Unfortunately, the flash drive didn't show up in the list of devices.&amp;nbsp; It turns out that Win95 doesn't come with USB drivers.&amp;nbsp; I fired up IE to search for one, but the latest version compatible with Win95 was horribly outdated and wouldn't render anything past HTML2 and the original CSS correctly.&amp;nbsp; Any search engine was almost unusable, but Bing worked (though it&amp;nbsp;looked horrible).&amp;nbsp; I found a site that rendered well, and downloaded drivers.&amp;nbsp; Unfortunately, I couldn't figure out which version of Win95 it was and therefore couldn't get the right driver.&amp;nbsp; Windows wasn't able to guess which driver, so I asked one of the people for a floppy disk.&amp;nbsp; The floppy worked, but the new computer didn't have a floppy drive.&amp;nbsp; Both computers were on a network, so I hoped that might work.&amp;nbsp; The Win95 could successfully communicate with some network servers, and I successfully transferred the file to a shared location.&amp;nbsp; Unfortunately, it turned out that the WinXP wasn't correctly attached to the network.&amp;nbsp; I&amp;nbsp;then had a brilliant idea.&amp;nbsp; I could walk to the other end of the building, use another WinXP (networked) machine there, get the file from the network onto my flash drive, and copy from the flash drive to the hard drive.&amp;nbsp; That worked, and I was able to get the data transferred.&amp;nbsp; I tried to run the program, but it had some kind of file integrity error and wouldn't read.&lt;br /&gt;&lt;br /&gt;By now, my opponent was there, and the game started.&amp;nbsp; He brought pop and some candy for both of us.&amp;nbsp; The game started out with a normal opening, and soon got to a fairly equal, developed position.&amp;nbsp; I made a tricky move to win a pawn, but he messed up the recovery and lost another pawn.&amp;nbsp; Next, he made a puzzling move that allowed me to fork his queen and rook.&amp;nbsp; He could have taken my rook, but instead moved his queen.&amp;nbsp; I took the rook with no compensation.&amp;nbsp; Suprisingly, he did not take my rook, but instead manuevered his queen into an attack position.&amp;nbsp; The attack then didn't have any power, so I developed another piece.&amp;nbsp; He started the attack anyway, losing a lot of material.&amp;nbsp; Eventually, he lost so much material due to traps that I could get so much material in his back rank that it was easy to mate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3495145401024709702?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3495145401024709702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/february-multisession-chess-tournament_15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3495145401024709702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3495145401024709702'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/february-multisession-chess-tournament_15.html' title='February Multisession Chess Tournament Part 2/4 Cont.'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3536153143048375455</id><published>2012-02-14T22:16:00.001-06:00</published><updated>2012-02-14T22:16:38.774-06:00</updated><title type='text'>February Multisession Chess Tournament Part 2/4</title><content type='html'>Today was the second week of the local chess club's tournament.&amp;nbsp; My opponent was not there (we are going to play the game tomorrow), but we came because my dad had a game and because the awards ceremony was tonight.&amp;nbsp; The awards were for last year's club championship, most games won, and most improved player.&amp;nbsp; Extremely high-rated players won the most games and club championship.&amp;nbsp; The most improved player was determined by rating increase in the past year.&amp;nbsp; It had to be provisional at the start of last year, had to increase at least 200 points, and must have been the player's highest rating ever.&amp;nbsp; The president outlined all these rules, and presented the award to me!&amp;nbsp; When the &lt;a href="http://quadcitychess.com/" target="_blank"&gt;club website&lt;/a&gt; is updated (&lt;a href="http://www.quadcitychess.com/pairings.htm" target="_blank"&gt;pairings page&lt;/a&gt;, left column), I will be added to the list of MIPs.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-RbgHtMHmwKU/Tzsxkiy-dbI/AAAAAAAABk0/D3mn4twGRiw/s1600/P1010194.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="478" src="http://3.bp.blogspot.com/-RbgHtMHmwKU/Tzsxkiy-dbI/AAAAAAAABk0/D3mn4twGRiw/s640/P1010194.JPG" width="640" yda="true" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3536153143048375455?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3536153143048375455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/february-multisession-chess-tournament_14.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3536153143048375455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3536153143048375455'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/february-multisession-chess-tournament_14.html' title='February Multisession Chess Tournament Part 2/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-RbgHtMHmwKU/Tzsxkiy-dbI/AAAAAAAABk0/D3mn4twGRiw/s72-c/P1010194.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3024045269954852652</id><published>2012-02-13T20:18:00.000-06:00</published><updated>2012-02-13T20:18:03.468-06:00</updated><title type='text'>Skybrid</title><content type='html'>I have been trying to create a program that can connect to Skype as me and listen for messages.&amp;nbsp; I was able to make it connect and listen to a conversation, but it wouldn't see new messages.&amp;nbsp; Today, I tried making the whole Skype object reload every few seconds.&amp;nbsp; That did the trick, and now I can create a program to automate Skype for me.&amp;nbsp; I've called it Skybrid.&amp;nbsp; Eventually, I hope to make it auto-moderate some groups which I own and perhaps give a little entertainment.&amp;nbsp; So far, the only thing it listens for is, "Skybrid: areyouthere" and responds with its version and the fact it is online.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3024045269954852652?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3024045269954852652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/skybrid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3024045269954852652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3024045269954852652'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/skybrid.html' title='Skybrid'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-7402305276223920615</id><published>2012-02-12T19:54:00.000-06:00</published><updated>2012-02-12T19:54:33.716-06:00</updated><title type='text'>Living Biography Board</title><content type='html'>For my Living Biography presentation (look back a few months), I have to have a display/trifold board.&amp;nbsp; I just finished it tonight.&amp;nbsp; There are five major things on it: the big "ALBERT EINSTEIN" title, "Various Images", the references/bibliography, a&amp;nbsp;very basic&amp;nbsp;timeline of Einstein's life, and "What Is Relativity?"&amp;nbsp; The timeline takes up the most space, as each of nine entries has a picture&amp;nbsp;and large text.&amp;nbsp; In the "What Is Relativity?" column, I explain the basic result of relativity and its model of the universe.&amp;nbsp; I even put one of his famous quotes about quantum mechanics on it: "I refuse to believe that the good Lord plays dice with the universe."&amp;nbsp; I probably should have finished this project a little earlier (it's due tomorrow!), but the glue has plenty of time to dry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-7402305276223920615?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/7402305276223920615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/living-biography-board.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7402305276223920615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7402305276223920615'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/living-biography-board.html' title='Living Biography Board'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-505350116512500354</id><published>2012-02-11T19:40:00.000-06:00</published><updated>2012-02-11T19:40:02.209-06:00</updated><title type='text'>Doing the ACT</title><content type='html'>Today, I took the ACT (American College Test).&amp;nbsp; I am nowhere near looking for colleges, but I wanted to start taking important tests early to get plenty of time to improve my score.&amp;nbsp; Unfortunately, I had forgotten my superpowerful calculator at school, so I called one of the people in my carpool and went to pick up a less powerful calculator there.&amp;nbsp; It worked fine, and I only missed my graphing calculator's power for two problems.&amp;nbsp; (That was slightly unchonological and would do poorly on the Reading test.)&amp;nbsp; When I got there, I found the check-in spot and showed them all the stuff I planned to bring into the test room.&amp;nbsp; Suprisingly, they didn't check to see if I had anything in my left pocket after I displayed the pencils and Hall's drops in my right pocket.&amp;nbsp; It was empty, but still.&amp;nbsp; The first test was the English test.&amp;nbsp; I think I have very good English and felt confident on this one, finishing about seven minutes early.&amp;nbsp; Next was the Mathematics test.&amp;nbsp; This one was a little more difficult, and I ran out of time (yes, I did quickly fill in all remaining circles with guesses).&amp;nbsp; Mostly, the calculator I had worked perfectly.&amp;nbsp; I think there were only three places in which it might have made a large difference in speed or accuracy.&amp;nbsp; Third was the Reading test.&amp;nbsp; As my reading comprehension has always been poor compared to my skill in the other areas, I did not feel very confident on this one.&amp;nbsp; A few answers sounded a little weird to me, but no other choices made any sense.&amp;nbsp; I hope that was just how the test is.&amp;nbsp; Finally, I got to the Science test.&amp;nbsp; I felt really good about this even though some of the passages discussed concepts of which I had never heard.&amp;nbsp; I chose not to take the optional Writing test.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://fearlessflying.files.wordpress.com/2009/12/images_act_test2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" sda="true" src="http://fearlessflying.files.wordpress.com/2009/12/images_act_test2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-505350116512500354?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/505350116512500354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/doing-act.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/505350116512500354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/505350116512500354'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/doing-act.html' title='Doing the ACT'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-7751091278374348062</id><published>2012-02-10T18:59:00.001-06:00</published><updated>2012-02-10T18:59:07.094-06:00</updated><title type='text'>SupaChat Server Update 2/10/2012</title><content type='html'>I finally solved that irritating problem outlined in my previous post (&lt;strong&gt;@VB: Huh?&lt;/strong&gt;)!&amp;nbsp; My "take and return" approach didn't work, returning the same null object.&amp;nbsp; Finally, I had an idea: maybe the fact that it is on a different thread changes what it sees when accessing data.&amp;nbsp; This speculation turned out to be correct.&amp;nbsp; I solved the problem by passing the &lt;em&gt;LobbyInfo&lt;/em&gt; object through a few methods until it reaches the async'd method, which makes use of it.&amp;nbsp; It now works perfectly and will never freeze while attempting to connect.&amp;nbsp; It resolves the domain name to an IP address and displays it while connecting, which looks kind of cool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-7751091278374348062?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/7751091278374348062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/supachat-server-update-2102012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7751091278374348062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7751091278374348062'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/supachat-server-update-2102012.html' title='SupaChat Server Update 2/10/2012'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6718355353108627103</id><published>2012-02-09T20:28:00.000-06:00</published><updated>2012-02-09T20:28:06.704-06:00</updated><title type='text'>@VB: Huh?</title><content type='html'>There are just two more things I'd like to do with SupaChat.&amp;nbsp; First, I have been trying to make it connect to the SCLobby on a separate thread than the UI.&amp;nbsp; If they execute on the same thread, the UI could freeze while connecting (that doesn't look very good).&amp;nbsp; Second, I was going to implement a client-to-server encryption that is different for every client connection.&amp;nbsp; This detail will add great power and public interest due to the security/privacy it offers.&amp;nbsp; I have been working on the first goal for a while and having headaches due to a most strange phenomenon.&amp;nbsp; When I reference the LobbyInfo object from the other thread, it turns up empty.&amp;nbsp; The object is totally null!&amp;nbsp; I have thoroughly tested the other code that uses the LobbyInfo object and it read/writes perfectly, so it must not be an issue with the data input form.&amp;nbsp; I am using the &lt;em&gt;exact&lt;/em&gt; same code that I used when it executed on the same thread and it still doesn't work.&amp;nbsp; Next, I created a shared method that returns the main LobbyInfo object, but VB complains that "RefLobby() may not expose object of type 'LobbyInfo' outside the project."&amp;nbsp; As a last attempt, I made the lobby connection code part of the main form and allowed it to be called from the "connecting" form.&amp;nbsp; It successfully entered the method, but also retrieved a totally empty LobbyInfo.&amp;nbsp; Argh.&lt;br /&gt;&lt;br /&gt;I've tried a few more weird things like adjusting the LobbyInfo.Clone() method to take an external LobbyInfo object instead of cloning itself, but that has done nothing so far.&amp;nbsp; I've pounded out a few lines using my "take and replace" method of object referecing.&amp;nbsp; This works by copying the main object, doing some stuff with it, then copying it back over to the main object.&amp;nbsp; This has not yet been tested.&lt;br /&gt;&lt;br /&gt;If you know anything about what causes this, please leave a comment.&amp;nbsp; This is a real headache.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6718355353108627103?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6718355353108627103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/vb-huh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6718355353108627103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6718355353108627103'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/vb-huh.html' title='@VB: Huh?'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1419346452724718611</id><published>2012-02-08T19:55:00.001-06:00</published><updated>2012-02-08T19:55:19.363-06:00</updated><title type='text'>Memory Upgrades</title><content type='html'>I just got an extra 512MB stick of memory for my Windows 8 computer.&amp;nbsp; Since my sister's computer has 1.5GB and doesn't run any hefty applications, I took a 1GB from that computer.&amp;nbsp; The Win8 computer got the extra GB, while I plan to use the extra 2 512MB sticks in my computer.&amp;nbsp; I might replace the 256MB sticks in my computer with the 512MBs and put one or two back in my sister's computer.&amp;nbsp; After the memory upgrades, Windows scored my memory a 4.1 out of 8.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://s1.hubimg.com/u/629859_f496.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="283" sda="true" src="http://s1.hubimg.com/u/629859_f496.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1419346452724718611?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1419346452724718611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/memory-upgrades.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1419346452724718611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1419346452724718611'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/memory-upgrades.html' title='Memory Upgrades'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-7174616246656780202</id><published>2012-02-07T21:35:00.000-06:00</published><updated>2012-02-07T21:35:33.833-06:00</updated><title type='text'>February Multisession Chess Tournament Part 1/4</title><content type='html'>Tonight was the start of a new multisession tournament at the local chess club.&amp;nbsp; There were a lot of new people there, mostly from Moline High School.&amp;nbsp; This month was paired by rating adjacency, so I was paired with a player rated very close to me.&amp;nbsp; We started out with a standard opening.&amp;nbsp; I was able to get my bishop and knight up by his king and won a few pawns.&amp;nbsp; He made a move that forced me to drop a knight.&amp;nbsp; I had gained three pawns, so the material points were still even.&amp;nbsp; Unfortunately, he got a large attack on my kingside, having almost all of his pieces coming down on it.&amp;nbsp; I was not able to successfully repel it and was mated after taking a knight.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-7174616246656780202?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/7174616246656780202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/february-multisession-chess-tournament.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7174616246656780202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7174616246656780202'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/february-multisession-chess-tournament.html' title='February Multisession Chess Tournament Part 1/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6096476314791382697</id><published>2012-02-06T20:39:00.001-06:00</published><updated>2012-02-06T20:39:53.737-06:00</updated><title type='text'>Developing for the Windows Phone</title><content type='html'>I have been wanting to create apps for Microsoft's phone for a while now, but the SDK refuses to run under Windows XP (it needs Vista or 7).&amp;nbsp; It accepted being run under Windows 8, and so I began looking at it.&amp;nbsp; It seems this developer kit comes with a stripped down version of Expressions (yay!) and plenty of application types.&amp;nbsp; I haven't yet created any test apps because I can't figure out a good way to test them.&amp;nbsp; The SDK comes with a "Windows Phone Emulator", but the emulation is horribly slow and takes 10 minutes to simply "boot the emulator OS".&amp;nbsp; I did (once) wait for it and checked out the only default app: Internet Explorer.&amp;nbsp; Microsoft needs a better on-screen keyboard if people are going to use the phone.&amp;nbsp; Maybe that will be something I'll make...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6096476314791382697?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6096476314791382697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/developing-for-windows-phone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6096476314791382697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6096476314791382697'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/developing-for-windows-phone.html' title='Developing for the Windows Phone'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6895721596754523684</id><published>2012-02-05T20:38:00.000-06:00</published><updated>2012-02-05T20:38:17.152-06:00</updated><title type='text'>Windows 8 Developer Preview</title><content type='html'>I downloaded Microsoft's Windows 8 preview for developers!&amp;nbsp; Since I only have a 32-bit processor, I don't get the full package, but it is still a 2.8GB download.&amp;nbsp; I put it on a flash drive and put that flash drive in a computer from the porch.&amp;nbsp; It complained that I don't have enough space, so I removed a bunch of Windows XP stuff to make room.&amp;nbsp; It then allowed me to continue the installation.&amp;nbsp; The setup program ran as a normal executable in Windows XP.&amp;nbsp; It then modified the boot file to set itself up.&amp;nbsp; After that, it rebooted and started setting up all the new stuff.&amp;nbsp; After detecting hardware, it walked me through the Internet connection wizard (Microsoft is now blurring the line between local computer data and Internet profile contents) and created my machine account.&amp;nbsp; I then was presented with a very iPhone-looking screen with applications.&amp;nbsp; After figuring out how to switch the computer back to Windows 7-looking mode, I started exploring the hard drive.&amp;nbsp; It seemed to have all the useful features of XP (at least the security controls) and wasn't overly protective like Windows Vista.&amp;nbsp; So far, it seems good.&amp;nbsp; I will be sure to check that my programs run on it.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-RMpCQmWA7P8/Ty88zIe4VPI/AAAAAAAABks/18Lsl-1zNfM/s1600/Windows-8-Logo%5B1%5D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" sda="true" src="http://1.bp.blogspot.com/-RMpCQmWA7P8/Ty88zIe4VPI/AAAAAAAABks/18Lsl-1zNfM/s320/Windows-8-Logo%5B1%5D.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6895721596754523684?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6895721596754523684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/windows-8-developer-preview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6895721596754523684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6895721596754523684'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/windows-8-developer-preview.html' title='Windows 8 Developer Preview'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-RMpCQmWA7P8/Ty88zIe4VPI/AAAAAAAABks/18Lsl-1zNfM/s72-c/Windows-8-Logo%5B1%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6135375640501860937</id><published>2012-02-04T19:13:00.000-06:00</published><updated>2012-02-04T19:17:47.834-06:00</updated><title type='text'>Chess Tournament</title><content type='html'>Today, I went to one of the unrated scholastic tournaments.&amp;nbsp; They moved me up to the high-school section because there were a lot of middle schoolers and not very many high schoolers.&amp;nbsp; There were three other people in my section after the move.&amp;nbsp; Each person would play all the other people twice.&amp;nbsp; I finished the first round perfectly, defeating all three people.&amp;nbsp; After that, I ate lunch and started the next round.&amp;nbsp; Between games, I gave some people in the middle school section tips on playing the opening.&amp;nbsp; I played well in the second round as well, winning all the games.&amp;nbsp; After the awards (I won first place), I played a simul.&amp;nbsp; There were eight participants.&amp;nbsp; In a simul, I play all the participants at once, one player on each board.&amp;nbsp; A lot of them had to leave partway through, but the other ones I won.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-LURA11JtCQM/Ty3Yh3ouqaI/AAAAAAAABkk/TZrMwpHxlM4/s1600/P1010190.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="640" sda="true" src="http://4.bp.blogspot.com/-LURA11JtCQM/Ty3Yh3ouqaI/AAAAAAAABkk/TZrMwpHxlM4/s640/P1010190.JPG" width="478" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Not all boards are shown&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6135375640501860937?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6135375640501860937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/chess-tournament.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6135375640501860937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6135375640501860937'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/chess-tournament.html' title='Chess Tournament'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-LURA11JtCQM/Ty3Yh3ouqaI/AAAAAAAABkk/TZrMwpHxlM4/s72-c/P1010190.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4671580565441519855</id><published>2012-02-03T21:02:00.000-06:00</published><updated>2012-02-03T21:02:09.945-06:00</updated><title type='text'>Grandfather Visiting</title><content type='html'>One of my grandfathers came to visit today!&amp;nbsp; He came with my dad to pick me up from school.&amp;nbsp; We picked up my mom from her university and went to Olive Garden.&amp;nbsp; We were informed that it would be a 40-minute wait, so we decided to go to Ms. Mamie's instead.&amp;nbsp; I had a shrimp sterilli (or something that sounds like that), a salad with Thousand Island dressing, a potato with all kinds of decorations, and some bread.&amp;nbsp; The bread was amazingly soft and the service was very quick.&amp;nbsp; The shrimp was so filling I couldn't eat very much more after finishing it.&amp;nbsp; I had to put basically all of the potato in a carry-out box.&amp;nbsp; When we got home, we showed him the house and some stuff.&amp;nbsp;&amp;nbsp;I demonstrated a few of my computer presentations and programs.&amp;nbsp; It was a really fun night.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4671580565441519855?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4671580565441519855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/grandfather-visiting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4671580565441519855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4671580565441519855'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/grandfather-visiting.html' title='Grandfather Visiting'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4548064114738890168</id><published>2012-02-02T19:59:00.000-06:00</published><updated>2012-02-02T19:59:28.085-06:00</updated><title type='text'>Ashampoo Snap 4</title><content type='html'>&lt;a href="http://www.giveawayoftheday.com/"&gt;http://www.giveawayoftheday.com/&lt;/a&gt; is a great site!&lt;br /&gt;&lt;br /&gt;Today, I downloaded and installed Ashampoo Snap 4.&amp;nbsp; I have been looking for high-quality screen capture video-output software for a while, and this is certainly it.&amp;nbsp; It was a breeze to install and is very lightweight.&amp;nbsp; It puts a nice little bar on the top of my screen which generates a little menu when I hover over it.&amp;nbsp; After a video (or image) capture, it presents me with a rich editing interface for the video or image.&amp;nbsp; I plan to use this software for any chess videos I might make.&amp;nbsp; I'm pretty sure it&amp;nbsp;can record audio from the microphone or speakers, but I'm not sure.&amp;nbsp; I could always superimpose the audio on the completed video if it doesn't have this feature.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4548064114738890168?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4548064114738890168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/ashampoo-snap-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4548064114738890168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4548064114738890168'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/ashampoo-snap-4.html' title='Ashampoo Snap 4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4318693605515964546</id><published>2012-02-01T20:58:00.002-06:00</published><updated>2012-02-01T20:58:13.757-06:00</updated><title type='text'>Microsoft WebPI</title><content type='html'>&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Microsoft has unified their installers into one program - the Web Platform Installer.&amp;nbsp; If you download any 2010 or later application from Microsoft (at least in the Developer section), it will launch.&amp;nbsp; I don't like this system very much because it doesn't tell me exactly how far the install is.&amp;nbsp; It simply says "Install progress: Installing &lt;em&gt;program&lt;/em&gt; [&lt;em&gt;x&lt;/em&gt; out of &lt;em&gt;y&lt;/em&gt;]" with an ever-whirling marquee "progress" bar.&amp;nbsp; There is one other thing that annoys me: when a program's install fails, it simply presents me with the error message "Installation did not complete successfully" or something to that effect.&amp;nbsp; Sometimes it will let me see a log file, which is somewhat better, but still doesn't give me any help on what I should do to fix it.&amp;nbsp; All the while it flashes all kinds of Microsoft advertisements with links to a&amp;nbsp;panorama of Microsoft partners.&amp;nbsp; One thing I &lt;em&gt;do&lt;/em&gt; like is that the person who programmed it used good thinking and had the file I/O execute on&amp;nbsp;a separate thread than the user interface rendering, so the WebPI will never freeze.&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yFWmcqF1FVc/Tyn7rGrwDlI/AAAAAAAABkc/VbLEU8NqqkM/s1600/mswebpi.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="273" sda="true" src="http://3.bp.blogspot.com/-yFWmcqF1FVc/Tyn7rGrwDlI/AAAAAAAABkc/VbLEU8NqqkM/s400/mswebpi.bmp" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4318693605515964546?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4318693605515964546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/microsoft-webpi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4318693605515964546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4318693605515964546'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/02/microsoft-webpi.html' title='Microsoft WebPI'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-yFWmcqF1FVc/Tyn7rGrwDlI/AAAAAAAABkc/VbLEU8NqqkM/s72-c/mswebpi.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8311837695353478531</id><published>2012-01-31T21:07:00.000-06:00</published><updated>2012-01-31T21:07:04.479-06:00</updated><title type='text'>January Multisession Chess Tournament Part 5/5</title><content type='html'>Tonight, I was paired with a player rated 990 (about 300 points below my rating).&amp;nbsp; He had white and opened with the queen pawn.&amp;nbsp; My opening was awful and I dropped four points.&amp;nbsp; It took a while and some dangerous situations for me to regain the points.&amp;nbsp; I got two of the points back easily (he dropped pawns), but he maintained the advantage.&amp;nbsp; It got to the endgame, and I was still down a pawn.&amp;nbsp; He was very close to promoting when he made a mistake and dropped the passed pawn.&amp;nbsp; Since his pieces were closer to the pawn structures than mine were, he removed all of my pawns and still had one.&amp;nbsp; We each had a rook.&amp;nbsp; Finally, he offered a rook trade which left his pawn on the edge of the board.&amp;nbsp; If he hadn't done that, he would have won easily.&amp;nbsp; The trade left my king in the square of the pawn.&amp;nbsp; I finished this month with a 3 out of 5.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8311837695353478531?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8311837695353478531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/january-multisession-chess-tournament_31.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8311837695353478531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8311837695353478531'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/january-multisession-chess-tournament_31.html' title='January Multisession Chess Tournament Part 5/5'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8263475422787245226</id><published>2012-01-30T19:29:00.001-06:00</published><updated>2012-01-30T19:29:21.894-06:00</updated><title type='text'>Microsoft WebMatrix</title><content type='html'>Microsoft offers a tool called WebMatrix for free.&amp;nbsp; It is an all-in-one SQL server, web server, and site creator.&amp;nbsp; It's certainly not meant for visual people, as there is no WYSIWIG view, but it is immensly powerful, being able to understand the two major .NET languages and 25 different forms of textual web files.&amp;nbsp; It allows for Razor in-line coding, which I have no idea how to do, but the examples look great.&amp;nbsp; There are loads of web hosting servers which provide hosting, storage, DNS, and email for a really low per-month price.&amp;nbsp; I highly recommend this software.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-O856GCTBkFw/TydDvXjb_oI/AAAAAAAABkU/nV0QAc-RZPQ/s1600/mswm.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" gda="true" height="238" src="http://3.bp.blogspot.com/-O856GCTBkFw/TydDvXjb_oI/AAAAAAAABkU/nV0QAc-RZPQ/s320/mswm.bmp" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;(Click for larger image)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8263475422787245226?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8263475422787245226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/microsoft-webmatrix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8263475422787245226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8263475422787245226'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/microsoft-webmatrix.html' title='Microsoft WebMatrix'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-O856GCTBkFw/TydDvXjb_oI/AAAAAAAABkU/nV0QAc-RZPQ/s72-c/mswm.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4677195049003390725</id><published>2012-01-29T19:06:00.001-06:00</published><updated>2012-01-29T19:06:07.601-06:00</updated><title type='text'>The ImageCombo</title><content type='html'>Here are the files promised in yesterday's post.&amp;nbsp; The DLL works with any Visual Studio 2008 (.NET 3.5) project.&amp;nbsp; If you are using an earlier version of Visual Studio or .NET, use the source code which follows.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dl.dropbox.com/u/3771470/ImageCombo.dll" target="_blank"&gt;Download ImageCombo.dll&lt;/a&gt;&amp;nbsp;(13.5 KB)&lt;br /&gt;&lt;br /&gt;Due to issues during C# to VB translation, some&amp;nbsp;variables had to be renamed in the constructors and properties.&amp;nbsp; The new names simply have a vowel or two removed and should be easily recognizable.&lt;br /&gt;&lt;br /&gt;The original C# code was by a person on The Code Project.&lt;br /&gt;&lt;br /&gt;Visual Basic source:&lt;br /&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Imports&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; System&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Imports&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; System.Drawing&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Imports&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; System.Windows.Forms&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Public&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImageComboItem&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Inherits&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Object&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'forecolor: transparent = inherit&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; forecolor &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Color = Color.FromKnownColor(KnownColor.Transparent)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; mark &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; = &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; imageindex &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; = -1&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; tag &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Object&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; = &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; text &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; = &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'constructors&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;()&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;text = Txt&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Txt &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;text = Txt&lt;br /&gt;imageindex = ImgIndex&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Txt &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImgIndex &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;text = Txt&lt;br /&gt;imageindex = ImgIndex&lt;br /&gt;mark = Mrk&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Txt &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImgIndex &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Mrk &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;text = Txt&lt;br /&gt;imageindex = ImgIndex&lt;br /&gt;mark = Mrk&lt;br /&gt;forecolor = ForeClr&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Txt &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImgIndex &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Mrk &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ForeClr &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Color)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;text = Txt&lt;br /&gt;imageindex = ImgIndex&lt;br /&gt;mark = Mrk&lt;br /&gt;forecolor = ForeClr&lt;br /&gt;tag = Tg&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Txt &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImgIndex &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Mrk &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ForeClr &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Color, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Tg &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Object&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'forecolor&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ForeClr() &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Color&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;ForeClr = forecolor&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;forecolor = value&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; value &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Color)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'image index&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImgIndex() &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;ImgIndex = imageindex&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;imageindex = value&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; value &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'mark (bold)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Mrk() &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;Mrk = mark&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;mark = value&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; value &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'tag&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Tg() &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Object&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;Tg = tag&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;tag = value&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; value &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Object&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'item text&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Txt() &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;Txt = text&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;text = value&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; value &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'ToString() should return item text&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Overrides&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ToString() &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;ToString = text&lt;br /&gt;&lt;br /&gt;End&lt;br /&gt;Public&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImageCombo&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Inherits&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ComboBox&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; imgs &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImageList = &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImageList()&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'constructor&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;()&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'set draw mode to owner draw&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Me&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.DrawMode = DrawMode.OwnerDrawFixed&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'ImageList property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImageList() &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImageList&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;ImageList = imgs&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;imgs = value&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; value &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImageList)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'customized drawing process&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Protected&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Overrides&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; OnDrawItem(&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; e &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; DrawItemEventArgs)&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'draw background &amp;amp; focus rect&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;e.DrawBackground()&lt;br /&gt;e.DrawFocusRectangle()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'check if it is an item from the Items collection&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; (e.Index &amp;lt; 0) &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'not an item, draw the text (indented)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;e.Graphics.DrawString(&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Me&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.Text, e.Font, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; SolidBrush(e.ForeColor), e.Bounds.Left + imgs.ImageSize.Width, e.Bounds.Top)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'check if item is an ImageComboItem&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; (&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;TypeOf&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Me&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.Items(e.Index) &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Is&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImageComboItem) &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'get item to draw&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; item &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ImageComboItem = &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Me&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.Items(e.Index)&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'get forecolor &amp;amp; font&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; forecolor &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Color&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; item.ForeClr &amp;lt;&amp;gt; Color.Transparent &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;forecolor = item.ForeClr&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;forecolor = e.ForeColor&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; item.Mrk &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;font = &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Font(e.Font, FontStyle.Bold)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;font = e.Font&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'-1: no image&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; (item.ImgIndex &amp;lt;&amp;gt; -1) &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'draw image, then draw text next to it&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;e.Graphics.DrawString(item.Txt, font, &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Me&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.ImageList.Draw(e.Graphics, e.Bounds.Left, e.Bounds.Top, item.ImgIndex)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; SolidBrush(forecolor), e.Bounds.Left + imgs.ImageSize.Width, e.Bounds.Top)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'draw text (indented)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;e.Graphics.DrawString(item.Txt, font, &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; SolidBrush(forecolor), e.Bounds.Left + imgs.ImageSize.Width, e.Bounds.Top)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: green; font-size: x-small;"&gt;&lt;span style="color: green; font-size: x-small;"&gt;'it is not an ImageComboItem, draw it as string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;e.Graphics.DrawString(&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Me&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.Items(e.Index).ToString(), e.Font, &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; SolidBrush(e.ForeColor), e.Bounds.Left + imgs.ImageSize.Width, e.Bounds.Top)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;br /&gt;End&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;MyBase&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.OnDrawItem(e)&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; font &lt;/span&gt;&lt;span style="color: blue; font-size: x-small;"&gt;&lt;span style="color: blue; font-size: x-small;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; Font&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4677195049003390725?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4677195049003390725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/imagecombo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4677195049003390725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4677195049003390725'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/imagecombo.html' title='The ImageCombo'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-5464677431237049848</id><published>2012-01-28T19:27:00.001-06:00</published><updated>2012-01-28T19:27:37.569-06:00</updated><title type='text'>The Missing ImageCombo</title><content type='html'>In Visual Basic 6, there was both a&amp;nbsp;ComboBox control (which produces the familiar drop-down boxes) and an ImageCombo control (which produced the same, but with an image for each.&amp;nbsp; VB.NET is missing the ImageCombo control, and there is no &lt;em&gt;ImageList&lt;/em&gt; property in the normal ComboBox.&amp;nbsp; I looked around the Internet for such a thing and found an uncompiled version in C#.&amp;nbsp; I have Microsoft's C# compiler, and so I could compile to a &lt;em&gt;dll.&lt;/em&gt;&amp;nbsp; When I did so, I found that output files generated with VS2010 could not be used in a VS2005 or VS2008 project.&amp;nbsp; This was really annoying, and since there is no externally visible major difference in coding between the versions, I thought I could translate the package from C# to VB.&amp;nbsp; I did so, and now I am able to use the ever-useful ImageCombo in my projects.&amp;nbsp; I will upload the &lt;em&gt;dll&lt;/em&gt; file and the &lt;em&gt;vb&lt;/em&gt; class files tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-5464677431237049848?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/5464677431237049848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/missing-imagecombo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5464677431237049848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5464677431237049848'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/missing-imagecombo.html' title='The Missing ImageCombo'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-955077552910499789</id><published>2012-01-27T18:21:00.000-06:00</published><updated>2012-01-27T18:21:31.790-06:00</updated><title type='text'>SupaChat Server/Lobby Server Update 1/27/2012</title><content type='html'>I have finally fixed the problem that made SupaChat Server's connection to the SCLobby unstable.&amp;nbsp; I had forgotten to set the write/read timeout to a more apropriate level on the same order of magnitude as the WaitRead() function timeout.&amp;nbsp; The SCLobby connection has stayed up for at least an hour after this modification (before, it had only survived 2 checks, each of which is 10 seconds).&amp;nbsp; Most servers will have to communicate with the SCLS for much longer periods than this, but the fact that it survived 80 checks (a "magic number" which indicates a complete 10-read/1-ping cycle) is good.&amp;nbsp; SupaChat could probably be safely distributed now, but I want to do a few more modifications to make sure the user interface never freezes even under stress from the backend connections.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-955077552910499789?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/955077552910499789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-serverlobby-server-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/955077552910499789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/955077552910499789'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-serverlobby-server-update.html' title='SupaChat Server/Lobby Server Update 1/27/2012'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1827317567020920625</id><published>2012-01-26T20:50:00.001-06:00</published><updated>2012-01-26T20:50:28.385-06:00</updated><title type='text'>SMTP</title><content type='html'>SMTP stands for Simple Mail Transfer Protocol.&amp;nbsp; It is the way to send email from a program.&amp;nbsp; Mail servers use various different protocols to talk to each other, but SMTP is the .NET way to send email.&amp;nbsp; I read a little bit online and found out that you need to modify the &lt;em&gt;app.config&lt;/em&gt; file in a .NET project to be able to sign into a mail server and send mail.&amp;nbsp; The &lt;em&gt;app.config&lt;/em&gt; file is totally absent unless some important setting has been changed (I always change it's ClickOnce security settings, which generated an &lt;em&gt;app.config&lt;/em&gt; file).&amp;nbsp; Add the correct tag structure (I'm pretty sure it is &lt;em&gt;system.net&lt;/em&gt; or &lt;em&gt;system.mail&lt;/em&gt; or something like that), create a &lt;em&gt;System.Net.Mail.StmpClient&lt;/em&gt;, a &lt;em&gt;System.Net.Mail.MailMessage&lt;/em&gt;, edit the properties of the MailMessage, and use the Send(MailMessage) function of the StmpClient.&amp;nbsp; I was able to sign into one of my email accounts and send a message to another of my accounts.&amp;nbsp; Make sure to set the port to &lt;em&gt;25&lt;/em&gt; for most normal mail servers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1827317567020920625?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1827317567020920625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/smtp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1827317567020920625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1827317567020920625'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/smtp.html' title='SMTP'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-7609738821477738061</id><published>2012-01-25T19:35:00.000-06:00</published><updated>2012-01-25T19:35:26.927-06:00</updated><title type='text'>Glary Utilities</title><content type='html'>&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;A company called Glary made a little utility pack called Glary Utilities.&amp;nbsp; I downloaded the Pro version today (&lt;a href="http://www.giveawayoftheday.com/" target="_blank"&gt;great site here&lt;/a&gt;) and installed it.&amp;nbsp; It contains all kinds of things for monitoring processes, RAM, and services.&amp;nbsp; A &lt;em&gt;1-Click Maintenance&lt;/em&gt; center allows the computer to be cleaned of invalid Registry entries and old temporary files in two clicks.&amp;nbsp; The &lt;em&gt;Modules&lt;/em&gt; section houses all kinds of file system managers, quick fixes for common problems, and encryption/decryption.&amp;nbsp; All running applications show a "trustworthiness" rating based on the reports of the Glary developers and various community members.&amp;nbsp; This is a very useful program.&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-9HXTpS5yE_0/TyCt0ZJVM7I/AAAAAAAABkM/khGoz9lP_4E/s1600/glary.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" gda="true" src="http://3.bp.blogspot.com/-9HXTpS5yE_0/TyCt0ZJVM7I/AAAAAAAABkM/khGoz9lP_4E/s1600/glary.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-7609738821477738061?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/7609738821477738061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/glary-utilities.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7609738821477738061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7609738821477738061'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/glary-utilities.html' title='Glary Utilities'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-9HXTpS5yE_0/TyCt0ZJVM7I/AAAAAAAABkM/khGoz9lP_4E/s72-c/glary.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-907616469310499287</id><published>2012-01-24T22:03:00.000-06:00</published><updated>2012-01-24T22:03:46.516-06:00</updated><title type='text'>January Multisession Chess Tournament Part 4/5</title><content type='html'>Tonight, I was paired with a player rated 1115 (I am rated 1335).&amp;nbsp; This is a large difference, so I was expected to win.&amp;nbsp; We started with&amp;nbsp;the Sicilian opening, &lt;em&gt;1. e4 c5&lt;/em&gt;.&amp;nbsp; I got a lot of control over the center and got a huge lead in development.&amp;nbsp; I won a pawn in a bishop exchange, capturing his &lt;em&gt;c&lt;/em&gt; pawn.&amp;nbsp; My knights controlled a lot of the edge squares, making it difficult for him to mount an attack.&amp;nbsp; On the eighth move, he made a blunder and gave me his queen.&amp;nbsp; He resigned after I took it.&amp;nbsp; After I recorded the official result, we rewound the blunder and proceeded with the game.&amp;nbsp; I won anyway, probably because of my pawn advantage.&lt;br /&gt;&lt;br /&gt;After finishing that, I went to teach a smaller child who had come to the club tonight.&amp;nbsp; I played a game with him and helped in a bit of tactics.&amp;nbsp; Afterwards, I showed him how to write moves down in algebraic notation.&amp;nbsp; He seemed to understand and we left after my dad finished his game.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-907616469310499287?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/907616469310499287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/january-multisession-chess-tournament_24.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/907616469310499287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/907616469310499287'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/january-multisession-chess-tournament_24.html' title='January Multisession Chess Tournament Part 4/5'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6508794638162876179</id><published>2012-01-23T20:30:00.000-06:00</published><updated>2012-01-23T20:30:54.744-06:00</updated><title type='text'>More Memory</title><content type='html'>I got some more memory for my computer today.&amp;nbsp; I had been planning to add 1GB to it for a long time.&amp;nbsp; It previously had only two 256MB memory sticks in it.&amp;nbsp; When I put in the new stick, it registered 256MB.&amp;nbsp; I had installed it incorrectly (not pushing it in all the way).&amp;nbsp; After it was corrected, the computer showed 1GB.&amp;nbsp; Since I had left the two old sticks in, this was puzzling.&amp;nbsp; It should have totaled 1GB 512MB.&amp;nbsp; My dad tried different orders of the sticks, as that makes a difference is some older computers.&amp;nbsp; No matter what we did, it always showed 1GB.&amp;nbsp; I figured that it might be incompatible with the other sticks, and suggested removing one 256MB.&amp;nbsp; When we did that, it showed .75GB.&amp;nbsp; That was really puzzling!&amp;nbsp; We tried a few orders of these, but always showed 256MB less than a GB.&amp;nbsp; I recommended removing the other stick, leaving only the new stick.&amp;nbsp; The computer showed 512MB!&amp;nbsp; Finally, we realized that the package in which we got the stick was not the original packaging of the stick.&amp;nbsp; It was actually a 512MB stick and the order of sticks didn't matter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6508794638162876179?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6508794638162876179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/more-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6508794638162876179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6508794638162876179'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/more-memory.html' title='More Memory'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-7061177891269272461</id><published>2012-01-22T19:31:00.000-06:00</published><updated>2012-01-22T19:31:12.804-06:00</updated><title type='text'>South Carolina Voted!</title><content type='html'>The South Carolina primary happened last night!&amp;nbsp; Newt Gingrich won it by a huge margin (&amp;gt;10%).&amp;nbsp; I looked at CNN's breakdown of the votes.&amp;nbsp; People who had huge incomes generally voted for Romney, with the lower and middle class people going for Gingrich.&amp;nbsp; A thing I found funny was the people who said that "character isn't a factor" voted for Romney, with others generally going for Gingrich.&amp;nbsp; Paul got almost all of the people who thought that national security was important.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-7061177891269272461?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/7061177891269272461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/south-carolina-voted.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7061177891269272461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7061177891269272461'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/south-carolina-voted.html' title='South Carolina Voted!'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1389940164873305386</id><published>2012-01-21T19:57:00.001-06:00</published><updated>2012-01-21T19:57:33.467-06:00</updated><title type='text'>SupaChat Server Update 1/21/2012</title><content type='html'>I have selected some fun sound effects from &lt;a href="http://www.soundbible.com/"&gt;http://www.soundbible.com/&lt;/a&gt; to use in SupaChat Server.&amp;nbsp; They are played upon certain server events, but can be muted with the &lt;em&gt;Mute&lt;/em&gt; check.&amp;nbsp; Here is a list of the events that play sounds:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SCLobby connection succeded&lt;/li&gt;&lt;li&gt;SCLobby connection failed or was lost&lt;/li&gt;&lt;li&gt;Server crashed&lt;/li&gt;&lt;li&gt;Lockdown mode enabled&lt;/li&gt;&lt;li&gt;Started listening&lt;/li&gt;&lt;li&gt;Shut down server&lt;/li&gt;&lt;li&gt;User connected&lt;/li&gt;&lt;li&gt;&lt;em&gt;DropUser()&lt;/em&gt; was called&lt;/li&gt;&lt;/ul&gt;I also corrected a small mistake in the logical flow of the lobby reconnection check.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1389940164873305386?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1389940164873305386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-1212012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1389940164873305386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1389940164873305386'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-1212012.html' title='SupaChat Server Update 1/21/2012'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-2977572932857627609</id><published>2012-01-20T20:30:00.002-06:00</published><updated>2012-01-20T20:30:40.938-06:00</updated><title type='text'>The Light Limitation</title><content type='html'>I've been wondering why things can't go faster than light, and while practicing my Living Biography speech, I figured out the answer.&amp;nbsp; Here is Einstein's equation for velocity-corrected mass:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;W = m * (1 / sqr(1 - (v ^ 2 / c ^ 2)) - 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;where W is the velocity-corrected relative mass,&lt;/span&gt;&lt;br /&gt;m is the original mass,&lt;br /&gt;v is the velocity at which the object is moving (in miles per second),&lt;br /&gt;c is the constant&amp;nbsp;speed of light (186282.4 miles per second),&lt;br /&gt;and sqr is a function that returns the square root of its input.&lt;br /&gt;&lt;br /&gt;If an object with a mass of 274 is moving at 186292.4 miles per second, just a little faster than light...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;W = 274 * (1 / sqr(1 - (186292.4 ^ 2 / 186282.4 ^ 2)) - 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;W = 274 * (1 / sqr(1 - (34704858297.76 / 34701132549.76)) - 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;W = 274 * (1 / sqr(1 - 1.0001073667550953108019300907397) - 1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;W = 274 * (1 / sqr(-0.000107366755095310801930090739)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;"ERR: NONREAL ANS" is generated upon attempting to simplify the last line.&amp;nbsp; It is impossible to get a real answer for the square root of a negative number, hence an object moving at this speed cannot be sustained in this universe.&amp;nbsp; If you attempted to move at exactly the speed of light, you would end up dividing by zero (creating a theoretically infinite mass).&lt;br /&gt;&lt;br /&gt;And there you have it!&amp;nbsp; The equation at the top of this post is a great thing to know and share with others at opportune moments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-2977572932857627609?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/2977572932857627609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/light-limitation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2977572932857627609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2977572932857627609'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/light-limitation.html' title='The Light Limitation'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4543016116950242632</id><published>2012-01-19T20:31:00.000-06:00</published><updated>2012-01-19T20:31:23.025-06:00</updated><title type='text'>OpBase X Update 1/19/2012</title><content type='html'>If anyone remembers my old program OpBase X, it was designed to make creating command-line applications easy.&amp;nbsp; I decided to open it up again today and look at some code.&amp;nbsp; I found some really poor coding that depended on a state of a user interface control.&amp;nbsp; I started moving most of the processing code (which had been copied/pasted into many locations) to use an Items() array and checking to see if it has an entry in the ItemEnabled() array instead of checking if it Is Nothing.&amp;nbsp; Momentarily, I broke the user interface, but I'm pretty sure it's working on the inside.&amp;nbsp; All I have to do before I can start making real progress is finish coding the UpdateList method which will refresh the user&amp;nbsp;interface.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4543016116950242632?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4543016116950242632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/opbase-x-update-1192012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4543016116950242632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4543016116950242632'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/opbase-x-update-1192012.html' title='OpBase X Update 1/19/2012'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1932098707576661637</id><published>2012-01-18T20:03:00.001-06:00</published><updated>2012-01-18T20:03:44.381-06:00</updated><title type='text'>Living Biography Speech</title><content type='html'>For&amp;nbsp;my Living Biography project (a research project which all 7th graders have to do), we are now working on the speech component.&amp;nbsp; Since I am doing Albert Einstein, I plan on getting a wig and fake moustache for the performance.&amp;nbsp; I read in a book that Einstein had an abrasive personality, so I have put some clever things into my text.&amp;nbsp; I think that my teacher will like the speech.&amp;nbsp; I plan on writing some of the equations from relativity theory onto a blackboard behind myself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1932098707576661637?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1932098707576661637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/living-biography-speech.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1932098707576661637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1932098707576661637'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/living-biography-speech.html' title='Living Biography Speech'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-254676641979493267</id><published>2012-01-17T21:36:00.001-06:00</published><updated>2012-01-17T21:36:03.443-06:00</updated><title type='text'>January Mutlisession Chess Tournament Part 3/4</title><content type='html'>This week, the local chess club gave awards for the previous month's tournament.&amp;nbsp; I received a total of $20 for the upset prize (beating an opponent rated higher than I) and for winning the reserve section.&amp;nbsp; I was paired with a player rated 1553 (about 200 over my rating).&amp;nbsp; He started the game with an eccentric opening, &lt;em&gt;1. f4&lt;/em&gt;.&amp;nbsp; I wasn't able to exploit any positional weaknesses, and the game continued normally.&amp;nbsp; There were some trades in the middlegame, wrecking my pawn structure and leaving each of us with two rooks each.&amp;nbsp; I made him decide from losing a pawn or trading a set of rooks.&amp;nbsp; He traded, and I got my rook into the center.&amp;nbsp; I couldn't really do anything useful because of my doubled pawns.&amp;nbsp; We repeated the same position three times, making the result a draw.&amp;nbsp; After the game, we looked at the end, made a few moves, and determined the result to be a draw anyway due to a locked position.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-u0NeC4c82lY/TxY-EQRK1FI/AAAAAAAABkE/KcJJ8wsLQZE/s1600/P1010152.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="298" kba="true" src="http://4.bp.blogspot.com/-u0NeC4c82lY/TxY-EQRK1FI/AAAAAAAABkE/KcJJ8wsLQZE/s400/P1010152.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-254676641979493267?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/254676641979493267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/january-mutlisession-chess-tournament.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/254676641979493267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/254676641979493267'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/january-mutlisession-chess-tournament.html' title='January Mutlisession Chess Tournament Part 3/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-u0NeC4c82lY/TxY-EQRK1FI/AAAAAAAABkE/KcJJ8wsLQZE/s72-c/P1010152.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-7734634741743918803</id><published>2012-01-16T19:56:00.001-06:00</published><updated>2012-01-16T19:56:56.198-06:00</updated><title type='text'>Learning C#</title><content type='html'>I found a site that seems great for learning C#.&amp;nbsp; C# is&amp;nbsp;the most widely-used&amp;nbsp;.NET language.&amp;nbsp; I have been using VB.NET for a long time.&amp;nbsp; Since I don't know any other languages well (except some arcane dialects of QBasic, which only generate 16-bit apps), I started researching.&amp;nbsp; This great site is located &lt;a href="http://www.homeandlearn.co.uk/csharp" target="_blank"&gt;here&lt;/a&gt;.&amp;nbsp; So far, it seems to give an excellent introduction to the language.&amp;nbsp; I recommend you first learn a language with fewer weird characters (like the brackets and semicolons) first, just to get a good grasp of how the .NET framework works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-7734634741743918803?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/7734634741743918803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/learning-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7734634741743918803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7734634741743918803'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/learning-c.html' title='Learning C#'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1166306459001699598</id><published>2012-01-15T20:33:00.000-06:00</published><updated>2012-01-15T20:33:01.243-06:00</updated><title type='text'>Setting up a chess client</title><content type='html'>Today, I went to a person's house to help them set up BabasChes and teach some tactics.&amp;nbsp; I set up the chess client in about a half-hour and spend another half-hour showing them how to use it.&amp;nbsp; They preferred the default BabasChess options and formula.&amp;nbsp; After showing them how to use BabasChess, I introduced them to Jin, an online interface that works with Mac.&amp;nbsp; It worked well, and we completed the setting-up of the interfaces.&amp;nbsp; After that, I had my dad play a game with them.&amp;nbsp; I helped them with tactics and position.&amp;nbsp; They seemed to learn a lot.&amp;nbsp; After two hours had elapsed from my arrival, I left after collecting $45 ($25 for the first hour plus $20 per additional hour).&amp;nbsp; I paid the driver (my dad) for the ride home and came out with a profit of $40.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1166306459001699598?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1166306459001699598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/setting-up-chess-client.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1166306459001699598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1166306459001699598'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/setting-up-chess-client.html' title='Setting up a chess client'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8030492945450595681</id><published>2012-01-14T20:37:00.001-06:00</published><updated>2012-01-14T20:37:24.519-06:00</updated><title type='text'>SupaChat Server Update 1/14/2012</title><content type='html'>I have continued to work on the SupaChat Server help file.&amp;nbsp; I have finished writing the setup instructions, the basic concepts, the user interface documentation, and started working on the documentation of the More Commands list.&amp;nbsp; I realized that an invitation could get messed up if an invited user changed his/her name.&amp;nbsp; I wrote a quick block of code that iterates through all groups and checks whether the user is invited.&amp;nbsp; If so, it changes the invitation to the user's new name.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8030492945450595681?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8030492945450595681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-1142012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8030492945450595681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8030492945450595681'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-1142012.html' title='SupaChat Server Update 1/14/2012'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3922580925005900372</id><published>2012-01-13T20:50:00.000-06:00</published><updated>2012-01-13T20:50:11.926-06:00</updated><title type='text'>A New TV!</title><content type='html'>My family got a new TV!&amp;nbsp; It's really huge, measuring 40" across the diagonal.&amp;nbsp; It has a resolution of 1920x1020 and a refresh rate of 60 hz.&amp;nbsp; When we started the computer that was attached to it, the TV complained that the resolution was "not support."&amp;nbsp; It took a while to go into Safe Mode and get a supported resolution (800x600) on so we could boot normally and set the resolution to something more visible.&amp;nbsp; When we got it fixed,&amp;nbsp;it worked perfectly and now is set at a huge resolution/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3922580925005900372?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3922580925005900372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/new-tv.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3922580925005900372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3922580925005900372'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/new-tv.html' title='A New TV!'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-367306917632627624</id><published>2012-01-12T19:32:00.001-06:00</published><updated>2012-01-12T19:32:13.447-06:00</updated><title type='text'>Snow!</title><content type='html'>For the first time this winter, we got a mesurable amount of snow!&amp;nbsp; It's blowing around in drifts and swirls everywhere.&amp;nbsp; In front of the house we have this:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-SCfFZAyiNDY/Tw-JdyplMgI/AAAAAAAABj8/Q6iPW7cSM1k/s1600/P1010136.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="298" kba="true" src="http://1.bp.blogspot.com/-SCfFZAyiNDY/Tw-JdyplMgI/AAAAAAAABj8/Q6iPW7cSM1k/s400/P1010136.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-367306917632627624?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/367306917632627624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/snow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/367306917632627624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/367306917632627624'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/snow.html' title='Snow!'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-SCfFZAyiNDY/Tw-JdyplMgI/AAAAAAAABj8/Q6iPW7cSM1k/s72-c/P1010136.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4321231446865395539</id><published>2012-01-11T21:02:00.000-06:00</published><updated>2012-01-11T21:02:03.853-06:00</updated><title type='text'>MS Expression</title><content type='html'>Microsoft created a program called Expressions that can easily create WPF applications.&amp;nbsp; I've been experimenting with XAML and all it can do.&amp;nbsp; I've found that the shape of basically everything can be changed.&amp;nbsp; Buttons can be circular, text boxes can be arced, and check boxes can be inside of buttons!&amp;nbsp; WPF's big idea is that containers hold any type of content, even WindowsFormsHost instances which can encompass other windows.&amp;nbsp; I've made a silly "Create a Button" program that lets a user type text into a text box encompassed by a button.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4321231446865395539?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4321231446865395539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/ms-expression.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4321231446865395539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4321231446865395539'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/ms-expression.html' title='MS Expression'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-730675656555931685</id><published>2012-01-10T21:21:00.000-06:00</published><updated>2012-01-10T21:21:00.891-06:00</updated><title type='text'>January Multisession Chess Tournament Part 2/4</title><content type='html'>Tonight, I was paired with a player rated about 1000 (I am rated 1335).&amp;nbsp; In the opening, I gained a pawn.&amp;nbsp; The game continued evenly until the middlegame.&amp;nbsp; He got his queen, bishop, and rook attacking my castled position.&amp;nbsp; I repelled the attack by trading the queens.&amp;nbsp; This left us with a rook and pawn ending (plus bishops).&amp;nbsp; I don't like these kind of endings, but I was up a pawn and looked good.&amp;nbsp; He exchanged his bishop for two of my pawns, but I got one of his pawns.&amp;nbsp; He used his king to attack both my rook and bishop.&amp;nbsp; I made a mistake and exchanged my bishop for his pawn, also trading the rooks.&amp;nbsp; This left me with a choice: run my king to take his isolated pawn and promote, or stay by the more complex structures and (hopefully) break through.&amp;nbsp; I ran my king across the board while he took all the pawns in my complex structure.&amp;nbsp; I promoted before he did, but he still had two pawns.&amp;nbsp; It was very difficult to find the right combination of moves to separate the pawns from each other and the king, but I did it and mated him.&amp;nbsp; It was much tougher than I had expected.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-730675656555931685?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/730675656555931685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/january-multisession-chess-tournament_10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/730675656555931685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/730675656555931685'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/january-multisession-chess-tournament_10.html' title='January Multisession Chess Tournament Part 2/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-9155366514956550475</id><published>2012-01-09T21:18:00.001-06:00</published><updated>2012-01-09T21:18:55.852-06:00</updated><title type='text'>Geography Project</title><content type='html'>In geography, we created imaginary nations.&amp;nbsp; We sometimes run little simulations of them in class.&amp;nbsp; The simulation tomorrow is on the government and decision-making processes of the nations.&amp;nbsp; My group's country has a dictatorship for the government type.&amp;nbsp; I wrote all the papers about it and one other person in my group is making a PowerPoint on our country.&amp;nbsp; Since she wanted pictures of us to make it more realistic, I set up some shots.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-DG5ESYH_EBw/TwutjMFE9kI/AAAAAAAABjc/qrJABPHeC9Y/s1600/executioner.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" rea="true" src="http://1.bp.blogspot.com/-DG5ESYH_EBw/TwutjMFE9kI/AAAAAAAABjc/qrJABPHeC9Y/s320/executioner.JPG" width="239" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-EtWDa-hP5ao/TwutmhfyhQI/AAAAAAAABjk/F2LYT9oCbCc/s1600/servant+now.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" rea="true" src="http://2.bp.blogspot.com/-EtWDa-hP5ao/TwutmhfyhQI/AAAAAAAABjk/F2LYT9oCbCc/s320/servant+now.JPG" width="239" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-tbrVsXi_0G4/TwutsRPobqI/AAAAAAAABjs/WQJQGlimFag/s1600/hmph.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" rea="true" src="http://3.bp.blogspot.com/-tbrVsXi_0G4/TwutsRPobqI/AAAAAAAABjs/WQJQGlimFag/s320/hmph.JPG" width="239" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-kX1UKVtdau8/TwutxwPxwZI/AAAAAAAABj0/mp2uQ0GpT9Q/s1600/ponder+1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" rea="true" src="http://1.bp.blogspot.com/-kX1UKVtdau8/TwutxwPxwZI/AAAAAAAABj0/mp2uQ0GpT9Q/s320/ponder+1.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-9155366514956550475?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/9155366514956550475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/geography-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/9155366514956550475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/9155366514956550475'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/geography-project.html' title='Geography Project'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-DG5ESYH_EBw/TwutjMFE9kI/AAAAAAAABjc/qrJABPHeC9Y/s72-c/executioner.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8586031158241031322</id><published>2012-01-08T19:22:00.001-06:00</published><updated>2012-01-08T19:22:05.128-06:00</updated><title type='text'>SupaChat Server Update 1/8/2012</title><content type='html'>I found a misspelling in the user interface of SupaChat.&amp;nbsp; On the More Commands list, one choice was &lt;em&gt;Reinitialise SCLobby Connection&lt;/em&gt;.&amp;nbsp; It should be spelled &lt;em&gt;Reinitiali&lt;strong&gt;z&lt;/strong&gt;e SCLobby Connection&lt;/em&gt;.&amp;nbsp; I fixed it.&amp;nbsp; I also completed the setup help file.&amp;nbsp; It is a six-step process, though it is also a crash course in the operation of the Internet and networking concepts.&amp;nbsp; It shows how to find both your IP on the network and public IP.&amp;nbsp; I have started the section on the user interface.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8586031158241031322?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8586031158241031322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-182012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8586031158241031322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8586031158241031322'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-182012.html' title='SupaChat Server Update 1/8/2012'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1582588693440472526</id><published>2012-01-07T19:16:00.000-06:00</published><updated>2012-01-07T19:16:01.922-06:00</updated><title type='text'>SupaChat Server Update 1/7/2012</title><content type='html'>I have finished commenting the main module of SupaChat Server's code.&amp;nbsp; I am commenting the code in case of anyone requesting to see it or create split-off versions of it.&amp;nbsp; The last major sections that need commenting are the lobby configuration class and the miscellaneous-functions module.&amp;nbsp; There are a few small forms (Mask Builder, Text Editor, SCLobby Settings) that still need commenting.&amp;nbsp; I have also began writing the help file for the Server.&amp;nbsp; I plan on having three help files: one for operation of the Server, a general SupaChat help file containing commands, and one help file for the Client.&amp;nbsp; I might create a SupaChat SupaClient (S2C2) that is a lot more graphical and easy-to-use.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1582588693440472526?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1582588693440472526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-172012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1582588693440472526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1582588693440472526'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-172012.html' title='SupaChat Server Update 1/7/2012'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-5607715695793901596</id><published>2012-01-06T20:47:00.000-06:00</published><updated>2012-01-06T20:47:01.991-06:00</updated><title type='text'>SupaChat Server Update 1/6/2012</title><content type='html'>While demonstrating SupaChat Server to a few people at school, I discovered a small problem in the function of the &lt;em&gt;setgmode&lt;/em&gt; command.&amp;nbsp; It would say that a clearly-online user was not online unless his name was typed in ALL CAPS.&amp;nbsp; This was caused by case-insensitivity in the username dictionary.&amp;nbsp; I added a UCase() wrapper around the UserData reference and it worked perfectly.&amp;nbsp; I have also continued adding comments to the code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-5607715695793901596?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/5607715695793901596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-162012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5607715695793901596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5607715695793901596'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-162012.html' title='SupaChat Server Update 1/6/2012'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4787986264403370941</id><published>2012-01-05T20:06:00.002-06:00</published><updated>2012-01-05T20:06:49.114-06:00</updated><title type='text'>SupaChat Server Update 1/5/2011</title><content type='html'>While testing SupaChat Server, I found a pretty obvious mistake in the &lt;em&gt;leaveall&lt;/em&gt; command.&amp;nbsp; It used something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;For x = 1 To s.Length / 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;/span&gt;...and later, in the same sub...&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;l = l &amp;amp; s(x - 1, 0)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The "1 to" part was meant to skip the first index (0), which always contained 98765 (a placeholder put into effect while I was trying to fix the mysterious array problems of a few months ago).&amp;nbsp; Dividing a Length by 2 (it was a multidimensional array) to find the upper bound was a kludge and doing &lt;em&gt;x - 1&lt;/em&gt; didn't simplify matters.&amp;nbsp; I still don't know exactly which array index it was accessing.&amp;nbsp; I replaced it with:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;For x = 1 to s.GetUpperBound(0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;l = l &amp;amp; s(x, 0)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This worked perfectly.&amp;nbsp; I have started adding comments to the whole code.&amp;nbsp; In case the code is ever distributed, it would be very good for other people to be able to understand it.&amp;nbsp; I have gotten to the command processing algorithms in the commenting process.&amp;nbsp; There are about seven modules, only two of which are large.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4787986264403370941?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4787986264403370941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-152011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4787986264403370941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4787986264403370941'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-server-update-152011.html' title='SupaChat Server Update 1/5/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6925847993882551469</id><published>2012-01-04T21:17:00.000-06:00</published><updated>2012-01-04T21:17:09.769-06:00</updated><title type='text'>WPF?</title><content type='html'>WPF stands for Windows Presentation Foundation.&amp;nbsp; It's Microsoft's relatively new approach to the user interface.&amp;nbsp; It allows mixing of content, such as placing video files in the content of a button.&amp;nbsp; Every user interface control is made up of more basic controls.&amp;nbsp; It's SDK uses XAML, a format somewhat similar to XML/HTML, using things like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;lt;Grid&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;nbsp;&amp;lt;StackPanel&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;nbsp; &amp;lt;Button Name="btnSplosion"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock&amp;gt;Splosions.&amp;lt;/TextBlock&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Image Source=".\boom.jpg"&amp;gt;&amp;lt;/Image&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp; &amp;lt;/Button&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp; &amp;lt;TextBlock FontSize="9000"&amp;gt;MEGAFONT&amp;lt;/TextBlock&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&amp;lt;/StackPanel&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;/Grid&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It is meant to separate the roles of designer and developer.&amp;nbsp; Control events are programmed in whatever .NET language the developer uses.&amp;nbsp; I think this sounds like an interesting foundation and will begin testing some "visually stunning applications."&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6925847993882551469?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6925847993882551469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/wpf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6925847993882551469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6925847993882551469'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/wpf.html' title='WPF?'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6502456807033583047</id><published>2012-01-03T21:02:00.001-06:00</published><updated>2012-01-03T21:02:40.032-06:00</updated><title type='text'>January Multisession Chess Tournament Part 1/4</title><content type='html'>Tonight started a new multisession tournament at the local chess club.&amp;nbsp; I was paired with a player rated about 400 over me.&amp;nbsp; He also happened to be the chess teacher at my school.&amp;nbsp; I did really well at the beginning, staying even after I traded two minor pieces for a rook and pawn.&amp;nbsp; The pawns were really locked up, especially in the middle of the board.&amp;nbsp; He played a tricky move that sacrificed a bishop for a pawn and checked me.&amp;nbsp; When I moved away, he checked me with a rook and mated me next move.&amp;nbsp; Except for having been mated, I was even in material.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6502456807033583047?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6502456807033583047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/january-multisession-chess-tournament.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6502456807033583047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6502456807033583047'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/january-multisession-chess-tournament.html' title='January Multisession Chess Tournament Part 1/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8920174649854505915</id><published>2012-01-02T18:07:00.000-06:00</published><updated>2012-01-03T21:03:04.881-06:00</updated><title type='text'>Wind Storm</title><content type='html'>There was a big wind storm yesterday that made one of our pine trees almost tip over.&amp;nbsp; The ground by its roots bulged to hold it in.&amp;nbsp; I went out and stood on the heaving ground to see what it would feel like.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-V7r6I1_aCYw/TwJGjp0cjcI/AAAAAAAABjU/Sdy9LF6-Vco/s1600/P1010073.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" rea="true" src="http://1.bp.blogspot.com/-V7r6I1_aCYw/TwJGjp0cjcI/AAAAAAAABjU/Sdy9LF6-Vco/s320/P1010073.JPG" width="239" /&gt;&lt;/a&gt;&lt;/div&gt;It was very strange to feel the ground moving under me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8920174649854505915?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8920174649854505915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/wind-storm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8920174649854505915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8920174649854505915'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/wind-storm.html' title='Wind Storm'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-V7r6I1_aCYw/TwJGjp0cjcI/AAAAAAAABjU/Sdy9LF6-Vco/s72-c/P1010073.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1168386474680047993</id><published>2012-01-01T19:25:00.000-06:00</published><updated>2012-01-01T19:25:09.739-06:00</updated><title type='text'>SupaChat Lobby Client Update 1/1/2012</title><content type='html'>I have completed filling out the Connect() function for SupaChat Lobby Client.&amp;nbsp; I have also implemented its reading of the private array.&amp;nbsp; There is also&amp;nbsp;a function that converts a string into my custom enumeration of server statuses (ON, STOP, LOCK).&amp;nbsp; It successfully compiles to a DLL extension.&amp;nbsp; I have tried plugging this into another application.&amp;nbsp; It's namespace integrates perfectly (SupaChat.Lobby.Client) and it's classes are accessible.&amp;nbsp; I haven't found a good way to test its data array yet, but I'm pretty sure it works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1168386474680047993?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1168386474680047993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-lobby-client-update-112012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1168386474680047993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1168386474680047993'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2012/01/supachat-lobby-client-update-112012.html' title='SupaChat Lobby Client Update 1/1/2012'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4964176380730433893</id><published>2011-12-31T19:53:00.000-06:00</published><updated>2011-12-31T19:53:03.820-06:00</updated><title type='text'>SupaChat Lobby Server/Lobby Client Update 12/31/2011</title><content type='html'>I have fixed the strange problem in the Lobby Server that caused nothing to be written to a Client program.&amp;nbsp; It was caused by the asynchronous method returning too quickly.&amp;nbsp; It returned before the other thread had time to finish writing and flushingt the stream.&amp;nbsp; I added some &lt;em&gt;Threading.Sleep(10)&lt;/em&gt; calls to take a little longer.&amp;nbsp; The wasted time only totals 0.03 seconds for each Client connection.&amp;nbsp; I have started working on a small class library to enable any application to download and use the output from the Lobby Server.&amp;nbsp; I have started defining the &lt;em&gt;Refresh(LobbyIP)&lt;/em&gt; function, which returns the welcome message from the Lobby Server.&amp;nbsp; I've set up all the arrays and enumerations necessary for the connection and storage of data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4964176380730433893?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4964176380730433893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-lobby-serverlobby-client.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4964176380730433893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4964176380730433893'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-lobby-serverlobby-client.html' title='SupaChat Lobby Server/Lobby Client Update 12/31/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1471030012366985251</id><published>2011-12-30T18:54:00.000-06:00</published><updated>2011-12-30T18:54:38.129-06:00</updated><title type='text'>SupaChat Server/Lobby Server Update 12/30/2011</title><content type='html'>I have begun doing Server-Lobby Server connection tests.&amp;nbsp; I found that I needed to clone the LobbyInfo instance after disposing the Net and Client controls.&amp;nbsp; This gives me a new set of network controls with the same connection information.&amp;nbsp; It can successfully request and maintain a connection to the SupaChat Lobby Server.&amp;nbsp; The only problems occur when it tries to hold the connection for more than a few seconds (a good thing to do).&amp;nbsp; It invariably caused a ping timeout, resulting in the Lobby Server forcibly closing the link.&amp;nbsp; I had to fine-tune the read and ping timeout timer values, settling on a decision of the Server sending "PONG" every 10 seconds, the Lobby Server sending "PING" every 10 seconds, the Lobby Server reading from the stream every 1.5 seconds, and the Server checking for messages every 2 seconds.&amp;nbsp; This setup works well, almost never dropping the connection.&amp;nbsp; There is a weird problem with the Lobby Server: it accepts Client connections but then totally ignores them if there are any Server clients.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-R601a1dZJMc/Tv5cwtLs8WI/AAAAAAAABjI/lyGfHYaSIJ0/s1600/scls.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" rea="true" src="http://4.bp.blogspot.com/-R601a1dZJMc/Tv5cwtLs8WI/AAAAAAAABjI/lyGfHYaSIJ0/s1600/scls.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1471030012366985251?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1471030012366985251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-serverlobby-server-update_30.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1471030012366985251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1471030012366985251'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-serverlobby-server-update_30.html' title='SupaChat Server/Lobby Server Update 12/30/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-R601a1dZJMc/Tv5cwtLs8WI/AAAAAAAABjI/lyGfHYaSIJ0/s72-c/scls.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-5105048792708646818</id><published>2011-12-29T20:10:00.001-06:00</published><updated>2011-12-29T20:10:33.818-06:00</updated><title type='text'>SupaChat Server/Lobby Server Update 12/29/2011</title><content type='html'>I have been working on the &lt;em&gt;LobbyInfo&lt;/em&gt; class in SupaChat Server.&amp;nbsp; It can (usually) create a connection to the Lobby Server and upload its data.&amp;nbsp; I have made the Lobby Server successfully implement the SData(,) array and put Server data into it.&amp;nbsp; There is one problem with this setup: the Net component in the LobbyInfo class must dispose when it closes the socket.&amp;nbsp; This causes a problem when reopening the link.&amp;nbsp; It is impossible to access or modify a disposed object, and disposing it is the only way to close the socket.&amp;nbsp; I don't yet know how to resolve this.&amp;nbsp; Fortunately, the Lobby Server is basically done.&amp;nbsp; It is a console application with an output that looks like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;Got Server connection: #0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;Field update from 0: Name: NUL → Splosionfree SC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;Field update from 0: Description: NUL → The original SC server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;Field update from 0: IP: main.supanet-bwacg&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family: Courier New;"&gt;etc&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;0 is now broadcasting info&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;0 added info line: We are the official SupaChat network&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;0 added info line: If there are updates to the Server or to the services, we'll be the first to know!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;0 added info line: Have a great time!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;0 finished updating info&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-5105048792708646818?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/5105048792708646818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-serverlobby-server-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5105048792708646818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5105048792708646818'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-serverlobby-server-update.html' title='SupaChat Server/Lobby Server Update 12/29/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-7049673563672061042</id><published>2011-12-28T20:05:00.001-06:00</published><updated>2011-12-28T20:05:54.259-06:00</updated><title type='text'>SupaChat Server/Lobby Update 12/28/2011</title><content type='html'>I have created many new subroutines for the SupaChat Lobby Server.&amp;nbsp; It can accept an incoming Client connection successfully.&amp;nbsp; When it does, it sets up the TCP/IP components, spews a ream of data to the Writer(x) control, sends a &lt;em&gt;CLOSINGLINK&lt;/em&gt; message, and promptly severs the connection.&amp;nbsp; This is done to make possible only supporting one client at a time.&amp;nbsp; (I will probably change this to make the components local instead of global, making any number of connections possible without a pesky array.)&amp;nbsp; It probably can accept Server connections, but I haven't tested it yet.&amp;nbsp; There are seven fields which a Server instance must provide.&amp;nbsp; I have already programmed the Server to send these upon a &lt;em&gt;Reinitialise Lobby Connection.&lt;/em&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Status: can be ON, STOP, or LOCK.&amp;nbsp; Sets the current status of the Server, showing whether it accepts new Clients.&lt;/li&gt;&lt;li&gt;Users: a positive integer.&amp;nbsp; Shows how many users are currently connected to the Server.&lt;/li&gt;&lt;li&gt;Description: a string.&amp;nbsp; Gives a short description of the Server.&lt;/li&gt;&lt;li&gt;Name: a string.&amp;nbsp; Gives the name of the Server.&lt;/li&gt;&lt;li&gt;Info: a long string.&amp;nbsp; Gives a large piece of information about the Server.&lt;/li&gt;&lt;li&gt;IP: a quad-dot IP adress.&amp;nbsp; Shows the connection string of the Server.&lt;/li&gt;&lt;li&gt;Port: an integer from 0 to 65535.&amp;nbsp; Shows the port on which the Server is listening.&lt;/li&gt;&lt;li&gt;Version: a version number.&amp;nbsp; Gives the version of the Server's software.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-7049673563672061042?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/7049673563672061042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-serverlobby-update-12282011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7049673563672061042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7049673563672061042'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-serverlobby-update-12282011.html' title='SupaChat Server/Lobby Update 12/28/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3160500791155062865</id><published>2011-12-27T21:20:00.000-06:00</published><updated>2011-12-27T21:20:26.195-06:00</updated><title type='text'>December Multisession Chess Tournament Part 4/4</title><content type='html'>This week, I was paired with a player rated a little over 1600.&amp;nbsp; Since I am only rated 1300, this pairing makes it very difficult for me to win.&amp;nbsp; The opening started well, and we were even until about move 20.&amp;nbsp; He made a move which forced me to move my knight to the edge of the board.&amp;nbsp; We did an elaborate trade, and I ended up with a doubled pawn set on the edge.&amp;nbsp; He used his remaining knight to attack my pawn in a way which guaranteed that I would lose it.&amp;nbsp; His knight continued to take up useful squares, restricting the movement of my rooks.&amp;nbsp; He gained more pawns.&amp;nbsp; One of these was a passed pawn, which soon began advancing toward the back rank.&amp;nbsp; He promoted and shortly mated me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3160500791155062865?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3160500791155062865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/december-multisession-chess-tournament_27.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3160500791155062865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3160500791155062865'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/december-multisession-chess-tournament_27.html' title='December Multisession Chess Tournament Part 4/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3640192704129778426</id><published>2011-12-26T19:55:00.002-06:00</published><updated>2011-12-26T19:55:45.999-06:00</updated><title type='text'>SupaChat Server Update 12/26/2011</title><content type='html'>Today, I began writing a new class declaration for SupaChat Server.&amp;nbsp; It defines the &lt;em&gt;LobbyInfo&lt;/em&gt; class, which defines methods for interacting with a yet-to-exist SupaChat Lobby server.&amp;nbsp; This server will only exist in one instance.&amp;nbsp; Instances of SupaChat Client will connect to it to find existing Servers and the Lobby will give then the apropriate connection details.&amp;nbsp; I have programmed the &lt;em&gt;Connect()&lt;/em&gt; method, which sets up all the &lt;em&gt;Net&lt;/em&gt;, &lt;em&gt;Client&lt;/em&gt;, &lt;em&gt;Writer&lt;/em&gt;, and &lt;em&gt;Reader&lt;/em&gt; objects and establishes a connection to the Lobby.&amp;nbsp; I have finished designing the SCLobby settings window, which defines the description of Servers in the Lobby.&amp;nbsp; When I finish, the SupaChat suite will have four components: SupaChat Server, SupaChat Client (and a possible new version known so far as QuantumLeap), SupaChat Lobby, and SupaChat Services.&amp;nbsp; The Services program will connect three robots to a Server, each of which perform extra functions.&amp;nbsp; &lt;em&gt;GroupKit&lt;/em&gt; will have options and commands for group registration, which eliminates the extinction of administrative GModes.&amp;nbsp; &lt;em&gt;NameKit&lt;/em&gt; allows registration of usernames protected by a password.&amp;nbsp; Finally, &lt;em&gt;MessageKit&lt;/em&gt; will allow users to send messages to other users who are offline when the message is sent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3640192704129778426?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3640192704129778426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12262011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3640192704129778426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3640192704129778426'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12262011.html' title='SupaChat Server Update 12/26/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4517296416653124951</id><published>2011-12-25T19:36:00.001-06:00</published><updated>2011-12-25T19:36:09.253-06:00</updated><title type='text'>Christmas Day</title><content type='html'>Today, I went up to Wisconsin to visit my [maternal] grandparents.&amp;nbsp; A lot of my relatives were there.&amp;nbsp; Everyone brought some sort of food and ate a lot.&amp;nbsp; We heard all about what everybody had been doing, then began to eat.&amp;nbsp; There was a plate containing all kinds of chocolates.&amp;nbsp; There was a bowl of shrimp and lemon.&amp;nbsp; There was also a bowl of fruit salad, which we brought.&amp;nbsp; I played a game of chess with one of my uncles.&amp;nbsp; We both made a lot of bad moves, but I won.&amp;nbsp; More people came in and brought food for dinner.&amp;nbsp; There was ham, potato casserole, cruncy green bean stuff, and more.&amp;nbsp; Everybody ate way too much because all the food was so good.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-p9KPdm6Jd1g/TvfPfmojwpI/AAAAAAAABi8/3YavSvEl2CE/s1600/P1010022.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" rea="true" src="http://2.bp.blogspot.com/-p9KPdm6Jd1g/TvfPfmojwpI/AAAAAAAABi8/3YavSvEl2CE/s320/P1010022.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4517296416653124951?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4517296416653124951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/christmas-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4517296416653124951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4517296416653124951'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/christmas-day.html' title='Christmas Day'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-p9KPdm6Jd1g/TvfPfmojwpI/AAAAAAAABi8/3YavSvEl2CE/s72-c/P1010022.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6113610893842380582</id><published>2011-12-24T21:30:00.000-06:00</published><updated>2011-12-24T21:30:36.172-06:00</updated><title type='text'>SupaChat Server Update 12/24/2011</title><content type='html'>I have plans for SupaChat Server to play sounds upon server events.&amp;nbsp; For example, it might play a fanfare upon launching it's TCPIP searcher.&amp;nbsp; I have added a few more commands to the &lt;em&gt;More Commands&lt;/em&gt; list.&amp;nbsp; I finished the Mask Builder, which supports insertion of ranges (like A-E, translating into [!A-E] if XRange is specified).&amp;nbsp; I have added a Freeze Configuration button, which outputs a .SCS file that contains the Server's current configuration.&amp;nbsp; The Thaw Configuration button restores configuration from such a file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6113610893842380582?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6113610893842380582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12242011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6113610893842380582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6113610893842380582'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12242011.html' title='SupaChat Server Update 12/24/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1403073780481737225</id><published>2011-12-23T21:09:00.000-06:00</published><updated>2011-12-23T21:09:50.483-06:00</updated><title type='text'>New Computer Setup!</title><content type='html'>For my birthday, I got a new computer!&amp;nbsp; My old computer is going to become an unattended server for IRC or some other network.&amp;nbsp; The new tower has support for two monitors, so I can use two screens.&amp;nbsp; For example, I could be typing a report on one monitor while watching a live chess match on the other.&amp;nbsp; I have established a full protected network share between my old computer and the new one to easily transfer files.&amp;nbsp; I have installed and migrated Visual Basic, Game Maker, Skype, avast!,&amp;nbsp;and Dropbox.&amp;nbsp; I now have three monitors operating on my desk!&amp;nbsp; Currently, I have only used 11.5 GB of my new hard drive.&amp;nbsp; This move will free up space on the old computer as well.&amp;nbsp; I will uninstall "fun" programs from the server so it can be fully dedicated to serving.&amp;nbsp; Another excellent feature of the new computer is its dual core processor.&amp;nbsp; The processors can be both working on one thread or I could have one split off and concentrate on one task.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1403073780481737225?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1403073780481737225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/new-computer-setup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1403073780481737225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1403073780481737225'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/new-computer-setup.html' title='New Computer Setup!'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6237387681760084916</id><published>2011-12-22T20:27:00.000-06:00</published><updated>2011-12-22T20:44:24.371-06:00</updated><title type='text'>Friend Visiting</title><content type='html'>One person in my class visited my house today.&amp;nbsp; When he arrived in the morning, I showed him the house and where all important areas are.&amp;nbsp; Then, I did something very funny which I had been plotting for a long time.&amp;nbsp; I pulled out a bottle of sparkling grape juice and, much to his appall, asked him "Care for a drink?"&amp;nbsp; He was slightly shocked that I had such stuff in my house.&amp;nbsp; I said, "We can't drink all day if we don't start in the morning", a funny saying I heard at the local chess club (the&amp;nbsp;USCF description of which is "A club featuring occasional heavy drinking and frequent brawls.")&amp;nbsp; As I poured myself a drink, my mom revealed that it was nonalchoholic.&amp;nbsp; After that, I showed him some stuff on my computer and in the woods.&amp;nbsp; He seemed to really enjoy his visit.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ecC7xnhjwT8/TvPm04b5nXI/AAAAAAAABiw/4i88fVIqfps/s1600/P1010465.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="298" rea="true" src="http://3.bp.blogspot.com/-ecC7xnhjwT8/TvPm04b5nXI/AAAAAAAABiw/4i88fVIqfps/s400/P1010465.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6237387681760084916?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6237387681760084916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/friend-visiting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6237387681760084916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6237387681760084916'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/friend-visiting.html' title='Friend Visiting'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ecC7xnhjwT8/TvPm04b5nXI/AAAAAAAABiw/4i88fVIqfps/s72-c/P1010465.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3493016431419882496</id><published>2011-12-21T20:11:00.001-06:00</published><updated>2011-12-21T20:11:31.817-06:00</updated><title type='text'>SupaChat Server Update 12/22/2011</title><content type='html'>I have added lots of new commands to SupaChat Server!&amp;nbsp; I added the &lt;em&gt;rules&lt;/em&gt;, &lt;em&gt;disband&lt;/em&gt;, &lt;em&gt;setginfo&lt;/em&gt;, &lt;em&gt;ginfo&lt;/em&gt;, &lt;em&gt;setinvite&lt;/em&gt;, &lt;em&gt;clearinvite&lt;/em&gt;, and &lt;em&gt;as&lt;/em&gt; commands.&amp;nbsp; I also modified a lot of the net-writing code to use "letter responses".&amp;nbsp; Every server message (previously ***) now is identified by a letter enclosed in *s.&amp;nbsp; An acknowledgement line may look like &lt;em&gt;*K* AutoSever added with ASID 2&lt;/em&gt;.&amp;nbsp; I also added the SERV group/protocol.&amp;nbsp; Whenever a server event occurs, it notifies all service-class clients with a message beginning in &lt;em&gt;[SERV]&lt;/em&gt;.&amp;nbsp; Also new are the invention of &lt;em&gt;More Commands&lt;/em&gt;.&amp;nbsp; These are all contained in a menu in the GUI of the Server program.&amp;nbsp; I have added so far the ability to edit the major text files (IntroMOTD, ExitMOTD, and Rules) and enable Lockdown Mode.&amp;nbsp; Lockdown Mode is intended to stop DDos attacks by maintaining standard function for users already connected, but blocking any new connections.&amp;nbsp; I have started work on a mask builder, but it needs a little help.&amp;nbsp; SupaChat Server is certainly the most professional&amp;nbsp;but&amp;nbsp;easy-to-use server program in existence.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3493016431419882496?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3493016431419882496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12222011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3493016431419882496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3493016431419882496'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12222011.html' title='SupaChat Server Update 12/22/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-2033857752191682327</id><published>2011-12-20T21:58:00.000-06:00</published><updated>2011-12-20T21:58:42.633-06:00</updated><title type='text'>December Multisession Chess Tournament Part 3/4</title><content type='html'>This week, I was paired with a player rated about 900 (about 350 points lower than I).&amp;nbsp; Today is also my 13th birthday.&amp;nbsp; I brought along a chocolate cake and some ice cream to the chess club.&amp;nbsp; Before the games started, everybody enjoyed some cake.&amp;nbsp; In my game, I started with a strong center.&amp;nbsp; He dropped a pawn in the middlegame, allowing me to mount a large attack in his back area.&amp;nbsp; He eventually repelled it, sacrificing a knight for two of the strong pawns.&amp;nbsp; We traded both sets of rooks, leaving me a bishop up and a pawn down.&amp;nbsp; It was a very locked position.&amp;nbsp; I mounted a plan to crash through a seemingly perfect structure.&amp;nbsp; This structure contained the only pawns which could move ahead.&amp;nbsp; I got through, and took some pawns with my king.&amp;nbsp; He got my bishop, but I promoted to a queen.&amp;nbsp; I was a few moves from mate when he ran out of time.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-CVYhdmsCahI/TvFZao2x_9I/AAAAAAAABik/qRPWWdCX3sY/s1600/P1010463.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="298" oda="true" src="http://1.bp.blogspot.com/-CVYhdmsCahI/TvFZao2x_9I/AAAAAAAABik/qRPWWdCX3sY/s400/P1010463.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-2033857752191682327?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/2033857752191682327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/december-multisession-chess-tournament_20.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2033857752191682327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2033857752191682327'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/december-multisession-chess-tournament_20.html' title='December Multisession Chess Tournament Part 3/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-CVYhdmsCahI/TvFZao2x_9I/AAAAAAAABik/qRPWWdCX3sY/s72-c/P1010463.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3847873765833777888</id><published>2011-12-19T21:34:00.000-06:00</published><updated>2011-12-19T21:34:04.174-06:00</updated><title type='text'>SupaChat Server Update 12/19/2011</title><content type='html'>I have added a lot of new commands to SupaChat Server.&amp;nbsp; Many of them deal with server-wide bans (the AutoSever list).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;sever &lt;u&gt;name&lt;/u&gt; &lt;u&gt;[reason]&lt;/u&gt;&lt;/em&gt;Closes &lt;em&gt;name&lt;/em&gt;'s connection to the Server.&amp;nbsp; If &lt;em&gt;reason&lt;/em&gt; is specified, it will be used as the quitting message in all the user's groups.&amp;nbsp; Only server admins, owners, and services may use this command.&lt;/li&gt;&lt;li&gt;&lt;em&gt;chname &lt;u&gt;newname&lt;/u&gt;&lt;/em&gt;Changes the user's name.&amp;nbsp; If &lt;em&gt;newname&lt;/em&gt; is in use, it will be modified according to various rules.&lt;/li&gt;&lt;li&gt;&lt;em&gt;he&lt;/em&gt; &lt;em&gt;&lt;u&gt;groupid&lt;/u&gt; &lt;u&gt;message&lt;/u&gt;&lt;/em&gt;Does the equivalent of an IRC /me command.&amp;nbsp; It makes the user appear to do an action as a third party.&amp;nbsp; For example, if SPL0S1VE typed &lt;em&gt;he 0 splodes&lt;/em&gt;, it would look like &lt;em&gt;[00000] ~ SPL0S1VE(x) splodes&lt;/em&gt;.&amp;nbsp; This command follows the same rules as the &lt;em&gt;gtalk&lt;/em&gt; command.&lt;/li&gt;&lt;li&gt;&lt;em&gt;yell &lt;u&gt;message&lt;/u&gt;&lt;/em&gt;Broadcasts &lt;em&gt;message&lt;/em&gt; to all connected users.&amp;nbsp; Only server admins, owners, and services may use this command.&lt;/li&gt;&lt;li&gt;&lt;em&gt;ban+ &lt;u&gt;mask&lt;/u&gt; &lt;u&gt;[reason]&lt;/u&gt;&lt;/em&gt;Adds an AutoSever entry for the given mask.&amp;nbsp; If &lt;em&gt;reason&lt;/em&gt; is specified, it will be displayed to a banned user upon his faliure to connect.&amp;nbsp; If it is not given, the banner's name will be used as a message.&amp;nbsp; Restricted to server admins, owners, and services.&lt;/li&gt;&lt;li&gt;&lt;em&gt;ban- &lt;u&gt;asid&lt;/u&gt;&lt;/em&gt;Removes the AutoSever entry with the given ASID.&amp;nbsp; Only server admins, owners, and services may use this command.&lt;/li&gt;&lt;li&gt;&lt;em&gt;bans&lt;/em&gt;&lt;br /&gt;Lists all AutoSever entries.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;*** BEGIN BAN LIST&lt;br /&gt;*** [0] MLAB02\*:* (Flood/spam [BlockServ])&lt;br /&gt;*** [1] *\*:*fun* (No fun allowed here. [Scr00ge])&lt;br /&gt;*** END BAN LIST&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3847873765833777888?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3847873765833777888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12192011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3847873765833777888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3847873765833777888'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12192011.html' title='SupaChat Server Update 12/19/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3418132001083151989</id><published>2011-12-18T19:53:00.000-06:00</published><updated>2011-12-18T19:53:17.969-06:00</updated><title type='text'>SupaChat Server Update 12/18/2011</title><content type='html'>I have only added two new SupaChat Server commands today.&amp;nbsp; I also made the &lt;em&gt;Delete&lt;/em&gt; and &lt;em&gt;Clear&lt;/em&gt; buttons in the AutoMode interface work.&amp;nbsp; One new command is the &lt;em&gt;leaveall&lt;/em&gt; command.&amp;nbsp; When executed, the sending user will leave all groups he is in the the message &lt;em&gt;Left: Left all groups&lt;/em&gt;.&amp;nbsp; The other command is the &lt;em&gt;sever&lt;/em&gt; command.&amp;nbsp; It is restricted to server admins, owners, and services.&amp;nbsp; It's syntax is &lt;em&gt;sever &lt;u&gt;name&lt;/u&gt; &lt;u&gt;message&lt;/u&gt;&lt;/em&gt;.&amp;nbsp; &lt;em&gt;Name&lt;/em&gt; is the name of the user whose connection will be forcibly closed.&amp;nbsp; The &lt;em&gt;message&lt;/em&gt; is optional.&amp;nbsp; If supplied, it will be used as the departing message for the user.&amp;nbsp; If&amp;nbsp;a user called&amp;nbsp;NoAbuse severed FloodSplosion, it would look something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[00000] FloodSplosion quit (Severed by NoAbuse: WARNING 1/3 -&amp;nbsp;Please do not flood the server with rapidfire messages.)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3418132001083151989?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3418132001083151989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12182011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3418132001083151989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3418132001083151989'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12182011.html' title='SupaChat Server Update 12/18/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-2192246814735750131</id><published>2011-12-17T20:29:00.001-06:00</published><updated>2011-12-17T20:29:23.934-06:00</updated><title type='text'>SupaChat Server Update 12/17/2011</title><content type='html'>I have added a TON of commands to SupaChat Server today.&amp;nbsp; They mostly deal with eligibility for new modes, claiming said modes, and server uptime operations.&amp;nbsp; Here is a list of all the new commands:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;CLAIM &lt;u&gt;id&lt;/u&gt;&lt;/em&gt; &lt;em&gt;&lt;u&gt;password&lt;/u&gt;&lt;/em&gt;&lt;br /&gt;If there is an AutoMode entry matching the user's mask, the user can use this command to gain it's privileges.&amp;nbsp; For example, if the user was eligible for and knew the password to AutoMode 3, he could type &lt;em&gt;claim 3 lePassword &lt;/em&gt;(assuming the password is &lt;em&gt;lePassword&lt;/em&gt;).&amp;nbsp; AutoMode R entries (restricted) are automatically set.&lt;/li&gt;&lt;li&gt;&lt;em&gt;REBOOT&lt;/em&gt;Stops and then starts the Server's Listen object.&amp;nbsp; This command also closes all client connections (making them quit with the message &lt;em&gt;Error: Server closing all connections&lt;/em&gt;) and clears all high-level data.&amp;nbsp; After doing so, it immediately brings the&amp;nbsp;Server back online.&amp;nbsp; Clients can reconnect and continue talking as if nothing&amp;nbsp;happened.&amp;nbsp; This command is restricted to the server owner.&lt;/li&gt;&lt;li&gt;&lt;em&gt;STOP&lt;/em&gt;Stops the Server's Listen object and closes all client connections.&amp;nbsp; Will not bring the Server back online, so the physical owner of the server computer must press the &lt;em&gt;Start&lt;/em&gt; button on the user interface to begin operation again.&lt;/li&gt;&lt;li&gt;&lt;em&gt;REVERT&lt;/em&gt;&lt;br /&gt;Removes any extra privileges gained from a &lt;em&gt;claim&lt;/em&gt; command.&amp;nbsp; Only users with an &lt;em&gt;a&lt;/em&gt;, &lt;em&gt;o&lt;/em&gt;, or &lt;em&gt;s&lt;/em&gt; server mode may use this command.&lt;/li&gt;&lt;li&gt;&lt;em&gt;MYELIG&lt;/em&gt;&lt;br /&gt;Lists the user's eligibility array.&amp;nbsp; Each entry shows what mask made them eligible, the mode they could get if properly identified, and the ID to be used in the &lt;em&gt;claim&lt;/em&gt; command.&lt;/li&gt;&lt;li&gt;&lt;em&gt;ELIG+ &lt;u&gt;computer&lt;/u&gt;\&lt;u&gt;username&lt;/u&gt;:&lt;u&gt;name&lt;/u&gt; &lt;u&gt;mode&lt;/u&gt; &lt;u&gt;password&lt;/u&gt;&lt;/em&gt;Adds an eligibility (AutoMode) entry for the specified c\u:n mask.&amp;nbsp; The &lt;em&gt;mode&lt;/em&gt; property sets which mode will be bestowed upon authentication.&amp;nbsp; If &lt;em&gt;mode&lt;/em&gt; is &lt;em&gt;r&lt;/em&gt;, &lt;em&gt;password&lt;/em&gt; must be omitted.&amp;nbsp; Otherwise, &lt;em&gt;password&lt;/em&gt; sets the password which must be entered to activate the entry.&amp;nbsp; Only server admins, owners, and services may use this command.&lt;/li&gt;&lt;li&gt;&lt;em&gt;ELIG- &lt;u&gt;id&lt;/u&gt;&lt;/em&gt;Deletes an AutoMode entry with the id of &lt;em&gt;id&lt;/em&gt;.&amp;nbsp; This is only available to admins, owners, and services.&amp;nbsp; Admins may not remove an eligibility entry of an owner or a service.&lt;/li&gt;&lt;li&gt;&lt;em&gt;ELIG&lt;/em&gt;&lt;br /&gt;This command simply lists all AutoMode entries for the server.&amp;nbsp; It displays them in a format similar to this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;*** +---+----+----&amp;gt;&lt;br /&gt;*** | ID|Mode|Mask&lt;br /&gt;*** +---+----+----&amp;gt;&lt;br /&gt;*** |000| a&amp;nbsp; |epic1\epulchur_*:*&lt;br /&gt;*** |001| r&amp;nbsp; |*\irritate*:*&lt;br /&gt;*** +---+----+----&amp;gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: inherit;"&gt;The &lt;em&gt;stop&lt;/em&gt; and &lt;em&gt;reboot&lt;/em&gt; commands both send a yell when used.&amp;nbsp; This message is broadcast to all users upon a user by the name of &lt;em&gt;sploder&lt;/em&gt; using the &lt;em&gt;reboot&lt;/em&gt; command:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[YELL] &amp;lt;SCS&amp;gt; sploder is rebooting the server.&amp;nbsp; Closing all connections.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After this message, a flood of messages like these arrive:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[00000] unsuspectingCivilian quit (Error: Server closing all connections)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[00000] NextVICTIM quit (Error: Server closing all connections)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-2192246814735750131?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/2192246814735750131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12172011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2192246814735750131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2192246814735750131'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12172011.html' title='SupaChat Server Update 12/17/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8881666766628002968</id><published>2011-12-16T19:58:00.001-06:00</published><updated>2011-12-16T19:58:51.423-06:00</updated><title type='text'>SupaChat Server Update 12/16/2011</title><content type='html'>I have started programming the &lt;em&gt;claim&lt;/em&gt; command for SupaChat Server.&amp;nbsp; For it to be of any use, the Server needs to be able to create an AutoMode eligibility entry.&amp;nbsp; I made the Add Mode dialog box.&amp;nbsp; It can successfully add a new AutoMode entry.&amp;nbsp; I also corrected a few mistakes in dealing with restricted users.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4NE70yhMsXU/Tuv2xvEyaDI/AAAAAAAABic/iGLY92DC1Lc/s1600/scad.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" oda="true" src="http://4.bp.blogspot.com/-4NE70yhMsXU/Tuv2xvEyaDI/AAAAAAAABic/iGLY92DC1Lc/s1600/scad.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If a user has a usermask matching an AutoMode entry, they will be given the opportunity to use the &lt;em&gt;claim&lt;/em&gt; command.&amp;nbsp; In the example above, a person connecting from a computer named &lt;em&gt;niceppl&lt;/em&gt; with a local username of &lt;em&gt;smize&lt;/em&gt; and a Windows 32-bit OS, they could use the command &lt;em&gt;claim 0 SUPA_5|&amp;gt;1051\/3&lt;/em&gt; to become a server admin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8881666766628002968?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8881666766628002968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12162011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8881666766628002968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8881666766628002968'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12162011.html' title='SupaChat Server Update 12/16/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4NE70yhMsXU/Tuv2xvEyaDI/AAAAAAAABic/iGLY92DC1Lc/s72-c/scad.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1120416110179405861</id><published>2011-12-15T19:42:00.001-06:00</published><updated>2011-12-15T19:42:39.368-06:00</updated><title type='text'>SupaChat Server Update 12/15/2011</title><content type='html'>I have added to SupaChat Server the code for notifying users of modes they could recieve.&amp;nbsp; Before a user becomes a server-wide admin or owner, they must connect with an acceptable matching an eligibility mask and supply a password for the server mode entry.&amp;nbsp; When a user with&amp;nbsp;a matching ID connects, they will be displayed something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;*** NAME = Splosive&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** USER = plode_Win32NT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** HOST = Splode_5C&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** You are eligible to become ADMIN (Splode_5C\*_Win32NT:*) [0]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** To claim your mode, use the CLAIM &amp;lt;id&amp;gt; &amp;lt;pass&amp;gt; command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Welcome, Splosive!&amp;nbsp; Authentication complete.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To get the server mode &lt;em&gt;a&lt;/em&gt;, Splosive might type &lt;em&gt;claim 0 splspl293&lt;/em&gt;.&amp;nbsp; The ID of the mode eligibility is the number in brackets.&amp;nbsp; The mask in parentheses shows what mask allowed the user to see the message.&amp;nbsp; The password is set in the graphical interface of the Server or in a command to add an eligibility entry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1120416110179405861?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1120416110179405861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12152011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1120416110179405861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1120416110179405861'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12152011.html' title='SupaChat Server Update 12/15/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-7563183759271986530</id><published>2011-12-14T20:29:00.000-06:00</published><updated>2011-12-14T20:29:39.548-06:00</updated><title type='text'>Math Final Exams Tomorrow</title><content type='html'>Since I am taking a high-school-level math class, I have to take the semester exam tomorrow.&amp;nbsp; We have covered all sorts of subjects from reviewing basic arithmetic to absolute-value inequalities.&amp;nbsp; The teacher gave us an opportunity for a large amount of extra credit.&amp;nbsp; If we complete, check, and turn in a packet consisting of 500 problems from various chapter reviews, 5% will be added on to our final exam score.&amp;nbsp; If, for example, I scored a 92% on the exam and turned in my FERP (final exam review packet), my score would be recorded as 97%.&amp;nbsp; I have done the packet, and I hope to do better than a 92%.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-7563183759271986530?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/7563183759271986530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/math-final-exams-tomorrow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7563183759271986530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7563183759271986530'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/math-final-exams-tomorrow.html' title='Math Final Exams Tomorrow'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-2502390919182511125</id><published>2011-12-13T21:08:00.001-06:00</published><updated>2011-12-13T21:08:33.074-06:00</updated><title type='text'>December Multisession Chess Tournament Part 2/4</title><content type='html'>Tonight, I was paired with the highest-rated player in the club.&amp;nbsp; He had been known to work on crossword puzzles while playing, so (just for fun) I&amp;nbsp;brought a crossword.&amp;nbsp; When he took a while to think, I pulled out the crossword and began filling it out.&amp;nbsp; I got into a tough position and dropped a bit of material.&amp;nbsp; As the game progessed, he lined up a rook and queen to take out my castle position.&amp;nbsp; I was two moves away from mate when I executed my plan.&amp;nbsp; I whispered to him, "What's a four-letter word that means &lt;em&gt;to depict&lt;/em&gt;?"&amp;nbsp; He said, "Draw!"&amp;nbsp; I immidiately said, "I accept!"&amp;nbsp; The people on the table next to me both laughed.&amp;nbsp; I resigned after we finished laughing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-2502390919182511125?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/2502390919182511125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/december-multisession-chess-tournament_13.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2502390919182511125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2502390919182511125'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/december-multisession-chess-tournament_13.html' title='December Multisession Chess Tournament Part 2/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8296991414061597481</id><published>2011-12-12T21:21:00.000-06:00</published><updated>2011-12-12T21:21:04.625-06:00</updated><title type='text'>SupaChat Server Update 12/12/2011</title><content type='html'>Today, I added the check in SupaChat Server that makes sure a user is not banned from a group before entering.&amp;nbsp; I also created the &lt;em&gt;gbans&lt;/em&gt; command to list all the bans set in a group.&amp;nbsp; If a user performed &lt;em&gt;gbans 9001&lt;/em&gt;, it might look something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;*** BEGIN BANLIST FOR 09001&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Ban set on trollSpawn\*_Win32NT:*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Ban set on *\*:IrritationBot&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Ban set on *\jaxb_*:*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** END BANLIST&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When setting bans, the Server won't automatically remove users matching the ban mask, but if the users are ejected and then try to rejoin, they will not be permitted reentry.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[09001] IrritationBot joined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;panoRAMic(a)&amp;gt; oh noes i see irritation bot&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;[09001] IrritationBot left (Ejected by panoRAMic: is annoying)&lt;br /&gt;[09001] IrritationBot joined&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;[09001] panoRAMic set ban on *\*:IrritationBot&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;IrritationBot(x)&amp;gt; OLOLOLOL&lt;/span&gt;&lt;br /&gt;[09001] IrritationBot left (Ejected by panoRAMic: BANNED (yay!))&lt;br /&gt;[09001] &amp;lt;Normality(v)&amp;gt; Thanks pan!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8296991414061597481?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8296991414061597481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12122011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8296991414061597481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8296991414061597481'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12122011.html' title='SupaChat Server Update 12/12/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3150801385412220937</id><published>2011-12-11T21:31:00.001-06:00</published><updated>2011-12-11T21:38:08.571-06:00</updated><title type='text'>SupaChat Server Update 12/11/2011</title><content type='html'>I have added capabilities to keep a group banlist to SupaChat Server.&amp;nbsp; A group admin or owner can use the &lt;em&gt;gban+&lt;/em&gt; or &lt;em&gt;gban-&lt;/em&gt; commands to add or remove bans.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[09001] jklol set ban on abuserSpawn\*_Win32NT:*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] ep1cn3ss unset ban on abuserSpawn\*_Win32NT:*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;jklol(a)&amp;gt; sorry&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have also adjusted the group joining code to minimize annoyance to allowed users if a disallowed user tries to enter.&amp;nbsp; Instead of&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[09001] troll joined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;09001&amp;gt; Current info: Blah [Set by ep1cn3ss]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;09001&amp;gt; Present users: ep1cn3ss(o) splode(a) jklol(a) prsonz(x)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] troll left (Ejected by SCS: No restricted users allowed.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The user will just not be allowed to enter:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;*** Can't join 09001 - no restricted users allowed&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It will not send all the join/leave messages in case of a constant rejoin flood.&amp;nbsp; Only the entering user will see the message and the allowed group users will see nothing unusual happen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3150801385412220937?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3150801385412220937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12112011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3150801385412220937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3150801385412220937'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-12112011.html' title='SupaChat Server Update 12/11/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8687170156924122431</id><published>2011-12-10T20:50:00.001-06:00</published><updated>2011-12-10T20:58:33.544-06:00</updated><title type='text'>Chess Tournament Today</title><content type='html'>Today, I went with three people from the local chess club to a day-long tournament.&amp;nbsp; We talked about random subjects on the long car ride.&amp;nbsp; When we got there, we were all put into an over-1000 open section.&amp;nbsp; In the first round, I was paired with a player rated about 1500.&amp;nbsp; It was a very tough game.&amp;nbsp; Both of us offered numerous draws, but for various reasons declined.&amp;nbsp; Eventually, it got into an explosive position where one small mistake could bring everything crashing down.&amp;nbsp; We agreed to a draw.&amp;nbsp; In the second game, I played an 1800-rated player.&amp;nbsp; Unsuprisingly, I lost.&amp;nbsp; In the third round, I played a player rated about 1300 (a little over my rating).&amp;nbsp; I made a few positional mistakes and lost.&amp;nbsp; The fourth-round pairings had some problems&amp;nbsp;due to the TDs not having computers, but eventually they got done.&amp;nbsp; I played one of the people from the local chess club.&amp;nbsp; I won, even after dropping my queen.&amp;nbsp; On the ride home, we had lemon drops.&amp;nbsp; I really enjoyed the tournament and rides to and from it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8687170156924122431?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8687170156924122431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/chess-tournament-today_10.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8687170156924122431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8687170156924122431'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/chess-tournament-today_10.html' title='Chess Tournament Today'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-931218951253721058</id><published>2011-12-09T21:18:00.001-06:00</published><updated>2011-12-09T21:26:59.290-06:00</updated><title type='text'>December Multisession Chess Tournament Part 1/4</title><content type='html'>Since my opponent was not present last week, I was scheduled to play him tonight at my dad's office.&amp;nbsp; He was rated 1692 (I am rated 1266).&amp;nbsp; He took a while to move, but had plenty of time.&amp;nbsp; The game was very even until about the 20th move.&amp;nbsp; My queen was in an unfavorable position (against the wall and having to keep defending a weak pawn).&amp;nbsp; I offered a draw, but he didn't accept.&amp;nbsp; The attack was eventually driven away, and the game continued on evenly.&amp;nbsp; He got down to 20 minutes (we started with 95 minutes) and got a little nervous.&amp;nbsp; I was eventually able to gain a pawn.&amp;nbsp; When he got down to 10 minutes, he was down three pawns.&amp;nbsp; It took a long time, but eventually I promoted and mated in the middle of the board.&amp;nbsp; He certainly had not been&amp;nbsp;expecting to lose the game.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+-+-+-+-+-+-+-+-+&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;| | | | | | | | |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+-+-+-+-+-+-+-+-+&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;| | | | | | | | |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+-+-+-+-+-+-+-+-+&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;| | | | | | | |Q|&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+-+-+-+-+-+-+-+-+&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;| | |&lt;span style="background-color: black; color: white;"&gt;R&lt;/span&gt;|&lt;span style="background-color: black; color: white;"&gt;K&lt;/span&gt;| | |R| |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+-+-+-+-+-+-+-+-+&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;| | | | | | | | |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+-+-+-+-+-+-+-+-+&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;| | | |K| | | | |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+-+-+-+-+-+-+-+-+&lt;/span&gt;&lt;span style="font-family: Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;| | | | | | | | |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+-+-+-+-+-+-+-+-+&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;| | | | | | | | |&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;+-+-+-+-+-+-+-+-+&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-931218951253721058?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/931218951253721058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/december-multisession-chess-tournament_09.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/931218951253721058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/931218951253721058'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/december-multisession-chess-tournament_09.html' title='December Multisession Chess Tournament Part 1/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6816119634194390988</id><published>2011-12-08T21:07:00.001-06:00</published><updated>2011-12-08T21:09:06.923-06:00</updated><title type='text'>Christmas Concert</title><content type='html'>My school put on a Christmas concert in which all music classes perform.&amp;nbsp; I am in the vocal section and sang &lt;em&gt;White Christmas&lt;/em&gt; and then a medley of &lt;em&gt;Let It Snow!&lt;/em&gt;, &lt;em&gt;Rudolph the Red-Nosed Reindeer&lt;/em&gt;, &lt;em&gt;Jingle Bell Rock&lt;/em&gt;, &lt;em&gt;Silver Bells&lt;/em&gt;, and &lt;em&gt;Frosty the Snowman&lt;/em&gt;.&amp;nbsp; The shoes I had to wear hurt my feet, but I think all the performers did well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6816119634194390988?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6816119634194390988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/christmas-concert.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6816119634194390988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6816119634194390988'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/christmas-concert.html' title='Christmas Concert'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-2555923384926446709</id><published>2011-12-07T20:28:00.001-06:00</published><updated>2011-12-07T21:06:15.216-06:00</updated><title type='text'>SupaChat Server Update 12/7/2011</title><content type='html'>I have added two more lists to the user interface of SupaChat Server.&amp;nbsp; It now has five main areas: Listening, Users, Groups, AutoSever, and AutoMode.&amp;nbsp; Here is an explanation of all the areas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Listening&lt;/strong&gt; contains three items for controlling the Server's &lt;em&gt;Listen&lt;/em&gt; object which monitors for new client connections and takes the apropriate actions.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Port&lt;/strong&gt; selects the port on which the &lt;em&gt;Listen&lt;/em&gt; object is active.&amp;nbsp; The deafault is 1337.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Start&lt;/strong&gt; activates the &lt;em&gt;Listen&lt;/em&gt; object.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Stop&lt;/strong&gt; deactivates the &lt;em&gt;Listen&lt;/em&gt; object and clears all client connections.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Users&lt;/strong&gt; shows all the users currently connected to the Server at the current time.&amp;nbsp; It displays various information fields about each one.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;ID#&lt;/strong&gt; shows the internal handling ID for that user.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt; shows the name the user is currently using.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Username&lt;/strong&gt; shows the static name of the user, including end account name and OS.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Hostname&lt;/strong&gt; shows the user's IP address or originating host.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Groups&lt;/strong&gt; shows the group membership string for the user.&amp;nbsp; It is shown as group IDs and the user's GMode separated by spaces e.g. &lt;em&gt;00000v 34169a 65535x&lt;/em&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Groups&lt;/strong&gt; shows all the active groups on the server, along with some information about them.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;ID#&lt;/strong&gt; displays the five-digit group ID.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Info&lt;/strong&gt; displays the current group topic and who set it.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;GOptions&lt;/strong&gt; shows the current GOptions active in the group.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Bans&lt;/strong&gt; shows the group banlist in host\user:name format separated by spaces e.g. &lt;em&gt;TrollVille\Epic_*:* *\*:*l?l*&lt;/em&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;AutoSever&lt;/strong&gt; shows the list of masks whose connecting users will automatically be severed by SCS.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;ID#&lt;/strong&gt; shows the entry ID of the mask.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Mask&lt;/strong&gt; shows the mask in host\user:name format e.g. &lt;em&gt;splode\*_Win32NT:*&lt;/em&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Message&lt;/strong&gt; shows the message a connecting user will see when severed.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;AutoMode&lt;/strong&gt; manages the list of server modes that will be assigned to users.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Mask&lt;/strong&gt; shows the mask in host\user:name format which is eligible for the mode change.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Mode&lt;/strong&gt; shows the server mode character that will be assigned upon authentication (&lt;em&gt;r&lt;/em&gt;,&amp;nbsp;&lt;em&gt;a&lt;/em&gt;, &lt;em&gt;o&lt;/em&gt;, or &lt;em&gt;s&lt;/em&gt;)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Password &lt;/strong&gt;shows the password the user must enter before the new mode is assigned.&amp;nbsp; If the mode to be set is &lt;em&gt;r&lt;/em&gt; (restricted), it will be set automatically without password.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-2555923384926446709?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/2555923384926446709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-1272011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2555923384926446709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2555923384926446709'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-1272011.html' title='SupaChat Server Update 12/7/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4752715433638063046</id><published>2011-12-06T21:11:00.001-06:00</published><updated>2011-12-06T21:18:41.708-06:00</updated><title type='text'>December Multisession Chess Tournament Part 1/4</title><content type='html'>A new multisession chess tournament is starting along with the new month!&amp;nbsp; Tonight, I was paired with a very strong player who was absent.&amp;nbsp; I will play the game sometime during the week.&amp;nbsp; A new person with two&amp;nbsp;very young children showed up.&amp;nbsp; He wanted his kids to learn chess, so I showed them how the pieces moved and their relative values.&amp;nbsp; One played exceptionally well for her age.&amp;nbsp; The other was very young and shy, and therefore didn't talk much.&amp;nbsp; I played a practice game, showing the concepts of relative values, attacking, capturing, defence, check, and checkmate.&amp;nbsp; She seemed to grasp the concepts very well.&amp;nbsp; My dad taught them some mating patters while I went to play an unofficial game with a high-rated player.&amp;nbsp; I beat him the first time (he blundered multiple times), but lost the second time.&amp;nbsp; It was a very interesting session.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4752715433638063046?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4752715433638063046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/december-multisession-chess-tournament.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4752715433638063046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4752715433638063046'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/december-multisession-chess-tournament.html' title='December Multisession Chess Tournament Part 1/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8349571310822493813</id><published>2011-12-05T19:24:00.001-06:00</published><updated>2011-12-05T19:31:52.883-06:00</updated><title type='text'>SupaChat Server Update 12/5/2011</title><content type='html'>I have started adding some more event triggers to SCS (SupaChat Service).&amp;nbsp; SCS is the robot that monitors for events (like a user creating a group) and does stuff (like making said user the group owner).&amp;nbsp; A new event I added is recognizing when a user loses his high server mode.&amp;nbsp; If that user is in a group that has GOption &lt;em&gt;a&lt;/em&gt; (restricted to admins) and loses his server admin status, SCS will recognize this and kick the user.&amp;nbsp; It might look something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[01010] &amp;lt;supadmin(x)&amp;gt; woooo adminonly group&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;headAddy(o)&amp;gt; wat you aren't supposed to be a server admin - when did that happen?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;supadmin(x)&amp;gt; haxx0rz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** You are now&amp;nbsp;server user (demoted from admin)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;supadmin(x)&amp;gt; oh noes - don't get me SCS!!! noooo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] supadmin left (Ejected by SCS: No longer allowed (Lost admin mode)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;headAddy(o)&amp;gt; much better =D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A similar thing will happen if a user becomes restricted.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[01010] abusertroll left (Ejected by SCS: No longer allowed (Became restricted)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8349571310822493813?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8349571310822493813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-1252011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8349571310822493813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8349571310822493813'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-1252011.html' title='SupaChat Server Update 12/5/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1952863948168627485</id><published>2011-12-04T17:48:00.001-06:00</published><updated>2011-12-04T18:14:51.878-06:00</updated><title type='text'>SupaChat Server Update 12/4/2011</title><content type='html'>I have added a &lt;em&gt;goptions&lt;/em&gt; command to SupaChat Server.&amp;nbsp; It takes a group id as a parameter.&amp;nbsp; A user could type &lt;em&gt;goptions 34169&lt;/em&gt; into the console and get a message something like &lt;em&gt;*** Group 34169 has GOptions: ra&lt;/em&gt;.&amp;nbsp; I have implemented the &lt;em&gt;r&lt;/em&gt;&amp;nbsp;(open to restricted users)&amp;nbsp;and &lt;em&gt;a&lt;/em&gt;&amp;nbsp;(restricted to server&amp;nbsp;admins)&amp;nbsp;GOptions to do what they are supposed to.&amp;nbsp; If a GOption change suddenly invalidates the membership of a user, they will see something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[09001] Intruder joined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;09001&amp;gt; Current info: The secret admin group [Set by SADmin]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;09001&amp;gt; Present users: SADmin(o) helpme(a) splode(a) Intruder(x)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;Intruder(x)&amp;gt; oman secret group&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;helpme(a)&amp;gt; You're not supposed to be here!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] helpme set option a&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] Intruder left (Ejected by SCS: Server admins only.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If Intruder tries to rejoin, he will just be auto-ejected.&amp;nbsp; If a user who is marked as restricted tries to enter a channel that does not have GOption &lt;em&gt;r&lt;/em&gt; set, he will be ejected.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[01010] allpwr joined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;01010&amp;gt; Current info: normal people &amp;gt; all [Set by 63n3r1c]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;01010&amp;gt; Present users: allpwr(x) othEr(a) l0l0l(v) avgUsr(x)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;l0l0l(v)&amp;gt; hey, aren't you abuser/restricted?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;allpwr(x)&amp;gt; ja so...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;othEr(a)&amp;gt; What's going on?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;othEr(a)&amp;gt; Ah, OK (scrollbars&amp;nbsp;are useful)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;avgUsr(x)&amp;gt; indiddly :P&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Group 01010 has GOptions: r&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;allpwr(x)&amp;gt;&amp;nbsp;i &amp;lt;3 +r&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] othEr unset option r&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] &amp;lt;allpwr(x)&amp;gt; noooooo!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[01010] allpwr left (Ejected by SCS: No restricted users allowed)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have made some modification to the graphical user interface of the Server.&amp;nbsp; I completed the Groups list, which keeps a list of all active groups.&amp;nbsp; It has columns for group ID, group info, GOptions, and bans.&amp;nbsp; The banlist contains entries separated by spaces in the form &lt;em&gt;Computer\UserID:Name&lt;/em&gt;.&amp;nbsp; The mask &lt;em&gt;BWACG-MAIN\*:*&lt;/em&gt; would ban all users using my computer.&amp;nbsp; Setting a ban on &lt;em&gt;*\*:*&lt;/em&gt; is a very bad idea, as it bans everyone, including the sending user.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9VA1IzS_27U/TtwM7MGPTQI/AAAAAAAABiU/Ux35-ua6uSA/s1600/sc2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" dda="true" height="273" src="http://1.bp.blogspot.com/-9VA1IzS_27U/TtwM7MGPTQI/AAAAAAAABiU/Ux35-ua6uSA/s400/sc2.gif" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1952863948168627485?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1952863948168627485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-1242011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1952863948168627485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1952863948168627485'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/supachat-server-update-1242011.html' title='SupaChat Server Update 12/4/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-9VA1IzS_27U/TtwM7MGPTQI/AAAAAAAABiU/Ux35-ua6uSA/s72-c/sc2.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-2336303038769667493</id><published>2011-12-03T20:18:00.001-06:00</published><updated>2011-12-03T20:28:08.788-06:00</updated><title type='text'>Chess Tournament Today!</title><content type='html'>I played in an unrated chess tournament today at a school in Clinton.&amp;nbsp; One of the chess coaches from the local chess club brought a few of his students.&amp;nbsp; There were so many people that it had to be split into three sections.&amp;nbsp; I was in the middle/high school section.&amp;nbsp; Many of the games I played were pretty easy for me, but in one or two I dropped a pawn in the opening.&amp;nbsp; I was able to recover and won all of my tournament games.&amp;nbsp; After those, some of the top players from other sections challenged me.&amp;nbsp; I played and beat two of them.&amp;nbsp; One forked my queen and rook, but later blundered.&amp;nbsp; Just for fun, I opened a simultaneous exhibition (simul) in which I move around tables to play many opponents at the same time.&amp;nbsp; Four people accepted.&amp;nbsp; On one board, the player had to go play a tournament game.&amp;nbsp; He was replaced, but the new player had to leave.&amp;nbsp; Finally, the father of one of the players came in.&amp;nbsp; One game I won pretty easily.&amp;nbsp; On the board where a player's father played, he dropped the queen.&amp;nbsp; I won that game as well.&amp;nbsp; The other two games took longer, but most of the time was spent trying to maneuver into a mating position.&amp;nbsp; After the simul, trophies were distributed.&amp;nbsp; Some of the students of the other chess coach wanted to see me play him.&amp;nbsp; We both made horrible blunders, but I won with a back-rank mate.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hfQ4ppufbhU/TtrabS6J80I/AAAAAAAABiM/Qg-wtXHIwdA/s1600/P1010407.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" dda="true" height="298" src="http://3.bp.blogspot.com/-hfQ4ppufbhU/TtrabS6J80I/AAAAAAAABiM/Qg-wtXHIwdA/s400/P1010407.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-2336303038769667493?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/2336303038769667493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/chess-tournament-today.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2336303038769667493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2336303038769667493'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/chess-tournament-today.html' title='Chess Tournament Today!'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-hfQ4ppufbhU/TtrabS6J80I/AAAAAAAABiM/Qg-wtXHIwdA/s72-c/P1010407.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-296036469522938602</id><published>2011-12-02T21:31:00.001-06:00</published><updated>2011-12-02T21:32:38.868-06:00</updated><title type='text'>Chess Tournament Tomorrow</title><content type='html'>There is an unrated chess tournament tomorrow.&amp;nbsp; Usually at this place, I win the whole tournament with only one or two game losses.&amp;nbsp; I haven't ever gone undefeated (except once in which only one other person showed up) and I hope to do that this time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-296036469522938602?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/296036469522938602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/chess-tournament-tomorrow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/296036469522938602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/296036469522938602'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/chess-tournament-tomorrow.html' title='Chess Tournament Tomorrow'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-5432080316011724180</id><published>2011-12-01T21:27:00.001-06:00</published><updated>2011-12-01T21:31:38.010-06:00</updated><title type='text'>Geography Presentation Tomorrow</title><content type='html'>I have been assigned to present a slideshow on Belgium tomorrow.&amp;nbsp; It uses the same country presentation template as all my other geography slideshows, but it has one different element.&amp;nbsp; Scattered throughout the presentation are edited images of all eight&amp;nbsp;republican presidential candidates.&amp;nbsp; I have edited the images to make them fit more with the surrounding color.&amp;nbsp; For example, Rick Santorum was made light blue to be hidden in a pie chart.&amp;nbsp; Each slide uses some of my VBA coding to display a message box informing the user that &lt;em&gt;You found HERMAN CAIN&lt;/em&gt;.&amp;nbsp; At&amp;nbsp;the end, a large command button displays a list of how many candidates were found.&amp;nbsp; I think the teacher will find it funny.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-5432080316011724180?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/5432080316011724180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/geography-presentation-tomorrow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5432080316011724180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5432080316011724180'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/12/geography-presentation-tomorrow.html' title='Geography Presentation Tomorrow'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8122373050237380947</id><published>2011-11-30T21:29:00.001-06:00</published><updated>2011-11-30T21:41:01.553-06:00</updated><title type='text'>SupaChat Server Update 11/30/2011</title><content type='html'>Today, I changed the code of SupaChat Server to save usernames in all-uppercase instead of mixed-case.&amp;nbsp; This makes for easier access when dealing with things like&amp;nbsp;users typing another user's name with different capitalization when executing a &lt;em&gt;setgmode&lt;/em&gt; command.&amp;nbsp; If the capitalization differed, strange permissions could be assigned.&amp;nbsp; When everything is stored as capitals (and accessed as capitals), everything works perfectly.&amp;nbsp; I have slightly changed the authentication conditionals for the &lt;em&gt;setgmode&lt;/em&gt; command to ensure that an admin can't demote an owner.&amp;nbsp; Admins can set gmodes &lt;em&gt;x&lt;/em&gt; and &lt;em&gt;v&lt;/em&gt;, but not gmodes &lt;em&gt;a&lt;/em&gt; and &lt;em&gt;o&lt;/em&gt;.&amp;nbsp; Owners can modify all gmodes.&amp;nbsp; A chat console could look something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[09001] panorama joined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] SCS has promoted panorama from user to owner&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;panorama(o)&amp;gt; thanks scs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] Spl0der joined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;Spl0der(x)&amp;gt; sup panorama&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;panorama(o)&amp;gt; hi! :)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] panorama has promoted Spl0der from user to admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;Spl0der(a)&amp;gt; thank you&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;panorama(o)&amp;gt; no problem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] DANGERBAY joined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] Spl0der has promoted DANGERBAY from user to speaker&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;DANGERBAY(v)&amp;gt; OLOLOLOLOL.....!!!!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;panorama(o)&amp;gt; sploder, he's kinda irritating :P&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] panorama has demoted DANGERBAY from speaker to user&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;DANGERBAY attempts to do &lt;em&gt;setgmode 9001 DANGERBAY o&lt;/em&gt; and receives the message &lt;em&gt;*** Can't change GMode - access denied!&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;DANGERBAY(x)&amp;gt; awwww&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;Spl0der(a)&amp;gt; sorry&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] DANGERBAY quit (Quit: *boom*)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] &amp;lt;panorama(o)&amp;gt; its ok sploder&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[09001] panorama left (Left: gtg... keep it&amp;nbsp;clean while i'm gone)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8122373050237380947?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8122373050237380947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11302011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8122373050237380947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8122373050237380947'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11302011.html' title='SupaChat Server Update 11/30/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1264245984625732386</id><published>2011-11-29T22:07:00.001-06:00</published><updated>2011-11-29T22:12:51.026-06:00</updated><title type='text'>Fifth Tuesday Chess Tournament</title><content type='html'>When there are five Tuesdays in a month, the local chess club sometimes runs a small, quick tournament of three or four rounds.&amp;nbsp; This tournament tonight was four rounds.&amp;nbsp; Each game was played with 20 minutes on each player's clock to use during the whole game.&amp;nbsp; In the first round, I played a player rated about 400 points below me and won.&amp;nbsp; Next, I was paired with a player rated over 500 points above me and (unsuprisingly) lost.&amp;nbsp; In the third round, I played a player rated 300 points below me and won.&amp;nbsp; The end was difficult because we were even in material until he abandoned a pawn and allowed me to promote.&amp;nbsp; In the final round, I played the highest-rated player in the club and lost.&amp;nbsp; My rating will probably stay about the same after this, probably going up 5-10 points.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1264245984625732386?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1264245984625732386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/fifth-tuesday-chess-tournament.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1264245984625732386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1264245984625732386'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/fifth-tuesday-chess-tournament.html' title='Fifth Tuesday Chess Tournament'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-7552379991882633502</id><published>2011-11-28T19:43:00.001-06:00</published><updated>2011-11-28T19:47:30.524-06:00</updated><title type='text'>SupaChat Client Update 11/28/2011</title><content type='html'>I have converted the SupaChat Client interface from a standard TextBox control to a special RichTextBox control.&amp;nbsp; It will use this new control to colorize special events coming in via the network stream.&amp;nbsp; For example, I had it turn the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;.LOCAL&amp;gt;&lt;/span&gt;&lt;span style="font-family: inherit;"&gt; messages bold in the console and turn internet chess seeks green.&amp;nbsp; (This chess highlight will be removed and was only put in for testing purposes.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-e55lVaoAMMk/TtQ5oWSA7MI/AAAAAAAABiE/f3F-C30iv8w/s1600/sccc.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" dda="true" height="480" src="http://3.bp.blogspot.com/-e55lVaoAMMk/TtQ5oWSA7MI/AAAAAAAABiE/f3F-C30iv8w/s640/sccc.gif" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-7552379991882633502?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/7552379991882633502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-client-update-11282011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7552379991882633502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7552379991882633502'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-client-update-11282011.html' title='SupaChat Client Update 11/28/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-e55lVaoAMMk/TtQ5oWSA7MI/AAAAAAAABiE/f3F-C30iv8w/s72-c/sccc.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8886447915754643419</id><published>2011-11-27T20:09:00.001-06:00</published><updated>2011-11-27T20:16:09.972-06:00</updated><title type='text'>SupaChat Server Update 11/27/2011</title><content type='html'>I have started writing a response to a user's &lt;em&gt;setgmode&lt;/em&gt; command.&amp;nbsp; It's syntax is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;strong&gt;setgmode&lt;/strong&gt; &lt;em&gt;groupid name newmode&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;The &lt;em&gt;groupid&lt;/em&gt; specifies which group in which the gmode change will take place.&amp;nbsp; &lt;em&gt;name&lt;/em&gt; specifies the username of the person whose gmode will be modified.&amp;nbsp; &lt;em&gt;newmode&lt;/em&gt; is one character long and specifies the new gmode that will be set.&amp;nbsp; It can be only one of four options: &lt;em&gt;x&lt;/em&gt; (normal user/listener if group has goption &lt;em&gt;l&lt;/em&gt;), &lt;em&gt;v&lt;/em&gt; (normal user/speaker even if group has goption &lt;em&gt;l&lt;/em&gt;), &lt;em&gt;a&lt;/em&gt; (administrator), or &lt;em&gt;o&lt;/em&gt; (group owner).&amp;nbsp; It checks all the various conditions to make sure people can't do insane things (like a normal using making himself owner).&amp;nbsp; There is one problem: it has problems identifying the user if the name is spelled with alternate capitalization.&amp;nbsp; It tends to give wild permissions, usually duplicating the access of the sending user.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8886447915754643419?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8886447915754643419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11272011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8886447915754643419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8886447915754643419'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11272011.html' title='SupaChat Server Update 11/27/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4133386196083448293</id><published>2011-11-26T22:02:00.001-06:00</published><updated>2011-11-26T22:06:05.218-06:00</updated><title type='text'>SupaChat Server Update 11/26/2011</title><content type='html'>While testing SupaChat Server with people online, I discovered two errors.&amp;nbsp; When the server operator told the Server to begin listening on a specified port, it used the hardcoded value of 1337 instead of the operator's choice.&amp;nbsp; I also found that I had reversed the recipient and sender names in a &lt;em&gt;ptalk&lt;/em&gt; command.&amp;nbsp; I fixed these, and made another command: &lt;em&gt;userinfo&lt;/em&gt;.&amp;nbsp; It takes a name as an option, and displays the information about that user.&amp;nbsp; If a user did a userinfo command on me, it might look something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;*** USERINFO FOR Fleexy&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Fleexy is BWACG-MAIN\BEN_Win32NT:Fleexy&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Fleexy's global status is user&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Fleexy is in 00000(o) 34169(x)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** END USERINFO&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4133386196083448293?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4133386196083448293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11262011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4133386196083448293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4133386196083448293'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11262011.html' title='SupaChat Server Update 11/26/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1728250272429642698</id><published>2011-11-25T19:44:00.001-06:00</published><updated>2011-11-25T19:47:46.468-06:00</updated><title type='text'>SupaChat Server Update 11/23/2011</title><content type='html'>I have finally added the feature that makes SupaChat actually useful: talking.&amp;nbsp; There are (so far) two commands for communication.&amp;nbsp; One command, &lt;em&gt;gtalk&lt;/em&gt;, sends a string of text to a group.&amp;nbsp; The users specifies the group and message.&amp;nbsp; Another command, &lt;em&gt;ptalk&lt;/em&gt;, sends a string of text to one specific user.&amp;nbsp; It would be useful for private conversations.&amp;nbsp; I fixed some errors that caused the Server to not properly disconnect a user who voluntarily drops the connection.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1728250272429642698?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1728250272429642698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11232011_25.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1728250272429642698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1728250272429642698'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11232011_25.html' title='SupaChat Server Update 11/23/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-525715655727368837</id><published>2011-11-24T20:35:00.001-06:00</published><updated>2011-11-24T20:50:32.228-06:00</updated><title type='text'>Thanksgiving!</title><content type='html'>And Thanksgiving has arrived!&amp;nbsp; We ate roast beef, sweet potatoes, and fruit salad.&amp;nbsp; Our Christmas tree will probably be set up some time this weekend.&amp;nbsp; Our new hoophouse to grow plants and vegetables will arrive sometime next week and we can set it up.&amp;nbsp; We've seen the hoophouse and it looks really cool!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-525715655727368837?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/525715655727368837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/thanksgiving.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/525715655727368837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/525715655727368837'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/thanksgiving.html' title='Thanksgiving!'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4537264778022583482</id><published>2011-11-23T21:15:00.001-06:00</published><updated>2011-11-23T21:22:25.238-06:00</updated><title type='text'>SupaChat Server Update 11/23/2011</title><content type='html'>I have finally found the error that was causing all kinds of errors in SupaChat Server.&amp;nbsp; It had been accessing array index &lt;em&gt;x&lt;/em&gt;, where &lt;em&gt;x&lt;/em&gt; is a number from 0 to 65535.&amp;nbsp; There was&amp;nbsp;another variable, &lt;em&gt;w&lt;/em&gt;, that keeps track of how many array indices are taken.&amp;nbsp; I should have been accessing index &lt;em&gt;w&lt;/em&gt; instead of &lt;em&gt;x&lt;/em&gt;.&amp;nbsp; After replacing that, it works perfectly.&amp;nbsp; I have started some other features like giving a "User lost connection to server" message as the quit message if that's what happened.&amp;nbsp; I have completed making the server private-message a joining user with information about the group's information string and present members.&amp;nbsp; When a user connects, it looks like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;*** SUPACHAT SERVER V1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;*** You have 15 seconds to reply with NAME, USER, and HOST&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** NAME = PersonA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** USER = GenericBob_GenericOS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** HOST = GenericTech&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Welcome, PersonA!&amp;nbsp; Authentication complete.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Joining default group (00000)...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[00000] PersonA joined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[00000] SCS has promoted PersonA from user to owner&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;&amp;lt;00000&amp;gt; Present users: PersonA(o)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And when PersonA leaves...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[00000] PersonA quit (Quit: doing generic tasks)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** SUPACHAT SERVER V1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Link closed&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4537264778022583482?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4537264778022583482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11232011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4537264778022583482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4537264778022583482'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11232011.html' title='SupaChat Server Update 11/23/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8467340203930251644</id><published>2011-11-22T20:25:00.000-06:00</published><updated>2011-11-23T20:41:24.045-06:00</updated><title type='text'>November Multisession Chess Tournament Part 4/4</title><content type='html'>This week, I was paired against a player rated a LOT lower than I.&amp;nbsp; I should have been able to win fairly easily, but I dropped a piece in the opening.&amp;nbsp; I was able to get a few pawns, making material equal.&amp;nbsp; He had a knight for three of my pawns.&amp;nbsp; It was difficult getting his knight away from my pawns, but I eventually traded by bishop for one.&amp;nbsp; When I analyzed the game, I saw he could have mated me with a knight sacrifice.&amp;nbsp; He didn't see it, and exchanged a knight for a passed pawn.&amp;nbsp; I was able to trade off the rooks and promote.&amp;nbsp; It was tough, but I won.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8467340203930251644?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8467340203930251644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/november-multisession-chess-tournament_22.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8467340203930251644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8467340203930251644'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/november-multisession-chess-tournament_22.html' title='November Multisession Chess Tournament Part 4/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1214797537904133344</id><published>2011-11-21T21:09:00.001-06:00</published><updated>2011-11-21T21:10:36.319-06:00</updated><title type='text'>Festival of Trees</title><content type='html'>My school had its four performance groups go to the Festival of Trees today.&amp;nbsp; The chorus group (of which I am a member) sang first, followed by the show choir.&amp;nbsp; Then the band and string groups&amp;nbsp;played.&amp;nbsp; The band played six very long songs, so the other students were free to look at all the decorated trees or go upstairs to the art exhibit.&amp;nbsp; I browsed the art exhibit for a while, then wandered aimlessly until it was time for the groups to combine for the song "White Christmas".&amp;nbsp; Due to the band being many times louder than anything else nearby, I don't think anyone heard either of the singing groups.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1214797537904133344?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1214797537904133344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/festival-of-trees.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1214797537904133344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1214797537904133344'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/festival-of-trees.html' title='Festival of Trees'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8863654471507975046</id><published>2011-11-20T19:09:00.001-06:00</published><updated>2011-11-20T19:13:50.238-06:00</updated><title type='text'>SupaChat Server Update 11/20/2011</title><content type='html'>The SupaChat Server is still having problems managing groups.&amp;nbsp; The first user to connect to the server can join and leave as he pleases, but any subsequent users may have issues joining or leaving groups.&amp;nbsp; The Server never auto-promotes these users if they are the first user in the group.&amp;nbsp; Sometimes the Server won't relay the entry message for these users.&amp;nbsp; The Server application sometimes fails to update the userlist properly.&amp;nbsp; Hopefully I can fix all these problems.&amp;nbsp; I have already fixed a small problem that makes the Server hang when a secondary user leaves a group.&amp;nbsp; Occasionally a secondary user will find himself disconnected with a "Ping timeout" message.&amp;nbsp; I'm pretty sure all these problems have some root in the function that gets all the users in one particular group.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8863654471507975046?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8863654471507975046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11202011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8863654471507975046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8863654471507975046'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11202011.html' title='SupaChat Server Update 11/20/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6102128285176179816</id><published>2011-11-19T19:50:00.001-06:00</published><updated>2011-11-19T19:52:13.672-06:00</updated><title type='text'>Access Project</title><content type='html'>The school's computer class is now teaching Access databases.&amp;nbsp; We are supposed to make&amp;nbsp;a list of something with a few attributes that we can use for fields.&amp;nbsp; I plan to use linked fields to have data have a relationship to other types of entries in other tables.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6102128285176179816?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6102128285176179816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/access-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6102128285176179816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6102128285176179816'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/access-project.html' title='Access Project'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-2724499772567141151</id><published>2011-11-18T22:36:00.001-06:00</published><updated>2011-11-18T22:37:42.706-06:00</updated><title type='text'>Computer Club Planning</title><content type='html'>My school's computer club has planned an optimization night where people can bring in slow computers and we fix them, removing junk and upgrading old programs.&amp;nbsp; The week after next, we are going to test our optimization abilities on some of the older school computers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-2724499772567141151?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/2724499772567141151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/computer-club-planning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2724499772567141151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2724499772567141151'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/computer-club-planning.html' title='Computer Club Planning'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-2666592233861761966</id><published>2011-11-17T22:17:00.001-06:00</published><updated>2011-11-17T22:20:42.243-06:00</updated><title type='text'>SupaChat Server Update 11/17/2011</title><content type='html'>I really was not able to find what caused the SupaChat Server to act strangely after receiving a LEAVE command, but I figured out a sort-of-solution.&amp;nbsp; The Server would ignore any incoming messages from a user that had tried to leave all groups.&amp;nbsp; It worked fine if every user was part of at least one group, but if they leave the default group (and all the others), it will act strangely.&amp;nbsp; I made the Server append a false "98765x" group to every user's data entry to avoid Nothing being assigned to&amp;nbsp;the user's group variable.&amp;nbsp; Having fixed that problem,&amp;nbsp;I discovered another.&amp;nbsp; With this solution, the Server sometimes stops sending correctly to groups.&amp;nbsp; Hopefully I can repair this as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-2666592233861761966?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/2666592233861761966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11172011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2666592233861761966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/2666592233861761966'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11172011.html' title='SupaChat Server Update 11/17/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-8350280193153899098</id><published>2011-11-16T21:15:00.001-06:00</published><updated>2011-11-16T21:21:13.129-06:00</updated><title type='text'>SupaChat Server Update 11/16/2011</title><content type='html'>I have written some extra code modules for SupaChat Server.&amp;nbsp; It now has functions to convert a special group option to a user-readable character, make a user leave a group, and check a user's status in a group.&amp;nbsp; Unfortunately, I have done something that causes the Server to bounce every user message after an incorrectly formed LEAVE command is received.&amp;nbsp; It usually goes&amp;nbsp;something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;*** SUPACHAT SERVER V1.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** You have 15 seconds to reply with NAME, USER, and HOST&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** NAME = x7378&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** USER = BEN_Win32NT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** HOST = BWACG-MAIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Welcome, x7378!&amp;nbsp; Authentication complete.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Joining default group (00000)...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[00000] x7378 joined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[00000] SCS has promoted x7378 from user to owner&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[00000] x7378 left (Left)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Syntax error!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;*** Ping timeout!&amp;nbsp; Closing link.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;It simply doesn't read properly after the user sends a suboptimally-formed LEAVE command.&amp;nbsp; I have traced this to an error in the many interlocked user/group functions.&amp;nbsp; It seems to pass&amp;nbsp;a variable of type Nothing instead of the string "".&amp;nbsp; Hopefully it will work properly after I fix this.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-8350280193153899098?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/8350280193153899098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11162011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8350280193153899098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/8350280193153899098'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11162011.html' title='SupaChat Server Update 11/16/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-7576340906895571408</id><published>2011-11-15T21:30:00.001-06:00</published><updated>2011-11-15T21:30:38.625-06:00</updated><title type='text'>November Multisession Chess Tournament Part 3/4</title><content type='html'>This week,&amp;nbsp;I was paired with a player rated about 1800 (about 500 points over me).&amp;nbsp; I did well in the opening, but he doubled two sets of my pawns and gained a strong center.&amp;nbsp; I was able to repel a queenside attack, but lost a pawn in doing so.&amp;nbsp; I had no pawns in the center files, so he was able to bring his two pawns down for an attack on my back rank.&amp;nbsp; I lost a bishop for a pawn in that exchange.&amp;nbsp; He had a knight and a few pawns, and I had a few pawns.&amp;nbsp; He was able to promote, and I was checkmated on move 50.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-7576340906895571408?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/7576340906895571408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/november-multisession-chess-tournament_15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7576340906895571408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/7576340906895571408'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/november-multisession-chess-tournament_15.html' title='November Multisession Chess Tournament Part 3/4'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-1331424638345052653</id><published>2011-11-14T21:15:00.001-06:00</published><updated>2011-11-14T21:17:10.951-06:00</updated><title type='text'>Making Krumkakes</title><content type='html'>My geography teacher said I could bring in some Scandinavian food because we are studying Central Europe.&amp;nbsp; I went to the store to get some herring and sardines.&amp;nbsp; When I got home, I assisted my mom in making some krumkakes on her very new krumkake iron.&amp;nbsp; We made a few burnt, small, uncooked, torn, or otherwise deformed ones, but we got at least 20 good krumkakes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-1331424638345052653?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/1331424638345052653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/making-krumkakes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1331424638345052653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/1331424638345052653'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/making-krumkakes.html' title='Making Krumkakes'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-6674536459759175771</id><published>2011-11-13T20:06:00.001-06:00</published><updated>2011-11-13T20:10:36.478-06:00</updated><title type='text'>SupaChat Server Update 11/13/2011</title><content type='html'>I have made considerable progress on SupaChat's Server component.&amp;nbsp; It now allows users to join any group, provided it is a valid group ID.&amp;nbsp; If a group is empty, the Server's false user will join the group, promote the joiner, and promptly leave.&amp;nbsp; It will appear as:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[00000] Person joined&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New;"&gt;[00000] SCS has promoted Person from user to owner&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;In writing the code for the group joining, I have managed to write the most cryptic piece of code ever:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;I have written some functions to convert a mode character into a role string ("user") or into a special data type that the server can use to determine permissions.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: small;"&gt;c = c + g(z, 0) + g(z, 1)&amp;nbsp;+ " "&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-6674536459759175771?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/6674536459759175771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11132011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6674536459759175771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/6674536459759175771'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11132011.html' title='SupaChat Server Update 11/13/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-3993062623410945353</id><published>2011-11-12T18:26:00.001-06:00</published><updated>2011-11-12T18:33:27.383-06:00</updated><title type='text'>SupaChat Server Update 11/12/2011</title><content type='html'>I have now figured out why the SupaChat Server drops client connections as soon as they connect.&amp;nbsp; It had been continually checking an unsupported propery (TcpClient.Connected).&amp;nbsp; It always returned False, and so it assumed the connection had been aborted.&amp;nbsp; I have fixed another problem in my NextCon function.&amp;nbsp; It went up by 2 instead of 1 to find the next connection.&amp;nbsp; This resulted in nonexistant array indices being referenced.&amp;nbsp; I removed the extra incrementer.&amp;nbsp; I have implemented a ping/pong system to duplicate the functionality of the Connected property.&amp;nbsp; The Server generates a&amp;nbsp;10-digit PING code and calculates the correct PONG response.&amp;nbsp; The Client also calculates the PONG response and sends it back.&amp;nbsp; If the Client's response does not match the Server's calculation (or if the Server finds no&amp;nbsp;or a malformed&amp;nbsp;reply), it severs the connection, erasing the user's index in memory and freeing a connection ID for a new user.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-3993062623410945353?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/3993062623410945353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11122011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3993062623410945353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/3993062623410945353'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-update-11122011.html' title='SupaChat Server Update 11/12/2011'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-5762658723333078765</id><published>2011-11-11T20:03:00.001-06:00</published><updated>2011-11-11T20:04:37.832-06:00</updated><title type='text'>SupaChat Server 11/11/11</title><content type='html'>I have run into a problem in SupaChat Server.&amp;nbsp; It seems to drop the connection after only a few seconds of being connected.&amp;nbsp; I have fixed the problems in the group functions that return arrays.&amp;nbsp; They now actually return a String() array instead of Nothing.&amp;nbsp; It does automatically join a new user to the default group (group 00000) upon connection.&amp;nbsp; Hopefully I can resolve the dropping issue and proceed with other functions,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-5762658723333078765?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/5762658723333078765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-111111.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5762658723333078765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/5762658723333078765'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/supachat-server-111111.html' title='SupaChat Server 11/11/11'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9023674308530407565.post-4534315045681892155</id><published>2011-11-10T20:28:00.001-06:00</published><updated>2011-11-10T20:28:43.660-06:00</updated><title type='text'>Republican Debate (Again!)</title><content type='html'>Since CNBC was having trouble streaming the Republican debate last night, we are going to watch it recorded tonight.&amp;nbsp; I am looking forward to seeing what Cain says about his 9-9-9 plan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9023674308530407565-4534315045681892155?l=lilbeesblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lilbeesblog.blogspot.com/feeds/4534315045681892155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/republican-debate-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4534315045681892155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9023674308530407565/posts/default/4534315045681892155'/><link rel='alternate' type='text/html' href='http://lilbeesblog.blogspot.com/2011/11/republican-debate-again.html' title='Republican Debate (Again!)'/><author><name>ben</name><uri>http://www.blogger.com/profile/09270726244425383103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_L6Kzz4n1LFk/SK13-6gEbxI/AAAAAAAAAC4/A7khVMenzwM/S220/2006+pictures+116.jpg'/></author><thr:total>0</thr:total></entry></feed>
