summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-12-10 02:22:18 +0100
committerGravatar Tom Willemsen2012-12-10 02:22:18 +0100
commita2f077cf13d307c4d9d862028f459b783ede53cc (patch)
tree48d67b2e218cc5f97b52e412f5b45d3bff545c16
parent210460d177a9a4bdd5f2e8cfe08abe3277681aec (diff)
downloadorgweb-a2f077cf13d307c4d9d862028f459b783ede53cc.tar.gz
orgweb-a2f077cf13d307c4d9d862028f459b783ede53cc.zip
Add some blog posts
Also an index page that automatically generates a list of all the posts available.
-rw-r--r--site/blog/98_perfect_rss_solution.org101
-rw-r--r--site/blog/A_new_org-blog.org22
-rw-r--r--site/blog/Another_way_to_get_a_selection.org26
-rw-r--r--site/blog/Ask_for_selection_in_emacs.org42
-rw-r--r--site/blog/Ask_for_selection_in_emacs_addendum.org18
-rw-r--r--site/blog/a_simple_gnome-blog_test.org21
-rw-r--r--site/blog/code-blocks_process_terminated_with_signal_255_0_minutes_0_seconds.org39
-rw-r--r--site/blog/gnome-shell_in_ubuntu_9.10.org40
-rw-r--r--site/blog/higher_resolution_in_fedora_11_with_proprietary_nvidia_drivers.org48
-rw-r--r--site/blog/index.org21
-rw-r--r--site/blog/mod_rewrite_with_fedora_10_and_ispconfig_for_wordpress.org48
-rw-r--r--site/blog/not-as-perfect.org30
-rw-r--r--site/blog/removing_a_service_manually_in_windows_server_2008.org22
13 files changed, 478 insertions, 0 deletions
diff --git a/site/blog/98_perfect_rss_solution.org b/site/blog/98_perfect_rss_solution.org
new file mode 100644
index 0000000..d9d58da
--- /dev/null
+++ b/site/blog/98_perfect_rss_solution.org
@@ -0,0 +1,101 @@
+#+TITLE: The 98% perfect RSS solution
+#+DATE: 2012-11-30 10:00
+#+TAGS: rss emacs gnus gwene tt-rss avandu
+
+* Test
+
+ I've been looking for the "perfect" RSS reading solution for a while
+ and I just got this idea for a setup that has to be about 98% of all
+ I'm looking for.
+
+ The things I'm looking for are:
+
+ - Emacs interface. This isn't that big a problem since anything
+ with an API can be made to have such an interface, and I feel
+ comfortable enough with Emacs Lisp to write it myself if I have
+ to, like I was doing with [[http://code.ryuslash.org/cgit.cgi/emacs/avandu/][avandu]], but then it /does/ need a(n/ good)
+ API.
+
+ - Unbound to a single computer. It's a hassle to have to remember
+ what you have and haven't read. If it was easy your RSS reader
+ wouldn't care about (un)read items, everything would just be
+ "items". So sharing that state between computers is pretty
+ important.
+
+ - A server. Something that keeps running 24/7. Or at least the
+ closest possible approximation of that. It's no good to miss
+ everything that happens between 11pm and 9am just because you
+ don't have your feed reader running. Of course this is only a
+ problem if you're following some high-traffic feeds, but they
+ exist too.
+
+ - Runs locally. The nice thing about having shell access to a
+ server somewhere that someone else keeps online for you is the
+ possibility to run something like [[http://newsbeuter.org/][newsbeuter]] and just
+ (de/reat)tach from whichever computer you're working on. The
+ downside is, though, that this breaks pretty much all integration
+ with your desktop. Opening URLs becomes a reliance on your
+ terminal emulator's ability to parse and open them. Viewing media
+ such as images, or audio files from a podcast, turns into ~Save,
+ Transfer, Open~ instead of just the ~Open~.
+
+ - Handles big feed lists. Even if you only read five feeds, the day
+ may come you'll be reading fifty, or even much more. A piece of
+ software that handles this well is a must. This is the problem I
+ had with [[http://codezen.org/canto/][canto]] and Emacs' [[http://www.emacswiki.org/emacs/NewsTicker][newsticker]]. *canto* looked awesome, the
+ most interesting interface to RSS feeds I have come across so far,
+ but back when I tried it trying to read my collection of feeds
+ would lock-up my computer. *newsticker* would lock-up my emacs
+ session for 10-20 minutes.
+
+ Now though I have found something that does it all. It is actually
+ a twist on something I used some time ago.
+
+ *Emacs* + [[http://gnus.org/][Gnus]] + [[http://gwene.org/][Gwene]] + [[http://www.cis.upenn.edu/~bcpierce/unison/][unison]]. Not the easiest thing to set-up
+ perhaps, but once *Emacs* + *Gnus* is in place the rest is a piece of
+ cake.
+
+ *Gwene* is an awesome service that turns RSS feeds into
+ newsgroups. *unison* is an awesome piece of software for
+ synchronising files between different computers. *Gnus* is a real
+ newsreader. *Emacs* is what *Gnus* runs on.
+
+ So it's kind-of like cheating. *Gnus* is not unbound to a single
+ computer and *Gwene* doesn't offer server-side state tracking either.
+ But because *Gnus* uses a single file to store state about all of its
+ subscribed groups, this makes it a good candidate for sharing that
+ one file. This is not something unique to *Gnus*, at least [[http://www.slrn.org/][slrn]] uses
+ the same kind of file, the ~.newsrc~ file (or in *Gnus*' case
+ ~.newsrc.eld~).
+
+ So I register the feeds I want to follow with *Gwene*, if they aren't
+ already registered. I subscribe to the resulting newsgroups on
+ ~news.gwene.org~ with *Gnus* and when I switch over to another computer
+ I use *unison* to synchronise the ~.newsrc.eld~ file.
+
+ An example configuration of *Gnus* could just be as simple as:
+
+ #+BEGIN_SRC emacs-lisp
+ (setq gnus-select-method '(nntp "news.gwene.org"))
+ #+END_SRC
+
+ *unison* just needs:
+
+ #+BEGIN_EXAMPLE
+ root=/your/home/dir/
+ root=/your/server/root/
+ path=.newsrc.eld
+ #+END_EXAMPLE
+
+ And that's about it.
+
+ Now it's still not 100% perfect. I've seen that *Gwene* can't handle
+ 100% of the feeds I throw at it, but these can be fixed either by
+ contacting the people publishing them or by improving *Gwene*'s
+ parser. It also doesn't automatically check periodicaly, though I
+ think *Gnus* can be set-up to do that, but since I also use it to read
+ my mail (again) that's not really an issue. It also isn't
+ accessible without *Emacs*, *Gnus* and *Unison*, but I hate web-interfaces
+ anyway.
+
+ So that's it. My 98% perfect RSS reading solution.
diff --git a/site/blog/A_new_org-blog.org b/site/blog/A_new_org-blog.org
new file mode 100644
index 0000000..a488729
--- /dev/null
+++ b/site/blog/A_new_org-blog.org
@@ -0,0 +1,22 @@
+#+TITLE: A new org-blog
+#+DATE: 2012-04-24 00:52:00
+#+TAGS: org-blog project
+
+I've taken it upon myself to update the ~org-blog.el~ that was written a
+long time ago. I want something other than an extra layer over some
+other system, ~org-mode~ has everything a blog needs, but it doesn't
+generate an RSS feed or a special index page.
+
+There was the ~org-blog.el~, but that uses some old functions that don't
+exist anymore, so I thought I'd try to update it.
+
+I just barely got it working, as you can see from this post. It
+generates an RSS feed, but the links don't work. It generates an index
+page, but no links to the individual pages (not that it needs it,
+really). It doesn't listen to some of the settings (toc, sections) the
+rest of the publishing projects do.
+
+I'd also like to have all posts in a single file and use things like a
+post's category and tags and such.
+
+It'll be interesting to see what else I can fix.
diff --git a/site/blog/Another_way_to_get_a_selection.org b/site/blog/Another_way_to_get_a_selection.org
new file mode 100644
index 0000000..29df13b
--- /dev/null
+++ b/site/blog/Another_way_to_get_a_selection.org
@@ -0,0 +1,26 @@
+#+TITLE: Another way to get a selection
+#+DATE: 2012-05-03 10:04:00
+#+TAGS: emacs elisp org-mode coding
+
+When I was first looking into improving my mailbox selection function
+I was looking at how to just ask the user for input with completions.
+Though now that I came across ~tmm-prompt~ I really prefer this way of
+working, at least in this case.
+
+However, today another function was mentioned, in response to someone
+pointing out ~org-completing-read~: ~completing-read~. Wow that's a far
+leap.
+
+Anyway:
+
+#+BEGIN_SRC emacs-lisp
+ (completing-read "Your favorite color: "
+ '("red" "green" "blue" "yellow"))
+#+END_SRC
+
+This will ask for user input and provide these options as completions,
+but it won't show a list of options, of provide shortcuts, like
+~tmm-prompt~ does.
+
+It's good to know these things, and I really should read both the
+emacs manual and the emacs lisp reference manual at some point.
diff --git a/site/blog/Ask_for_selection_in_emacs.org b/site/blog/Ask_for_selection_in_emacs.org
new file mode 100644
index 0000000..e2bff35
--- /dev/null
+++ b/site/blog/Ask_for_selection_in_emacs.org
@@ -0,0 +1,42 @@
+#+TITLE: Ask for selection in Emacs
+#+DATE: 2012-05-02 21:09:00
+#+TAGS: emacs elisp coding
+
+I came across an email on one of the emacs mailing lists today, where
+someone asked how to ask a user for input whilst providing
+completions. The first answer he got was to try =tmm-prompt=, so I
+looked into it a little.
+
+I use =mu4e= as my primary email program, but since it isn't designed
+(seemingly) for use with multiple accounts I've got some wrapper
+functions that set some variables according to my liking and then
+start =mu4e=. This works very well, but it's a pain to have to use =M-x
+view-ryu-mail= or =M-x view-ninthfloor-mail= and such, so I wrote a
+function to read a string from the minibuffer, which I then bound to
+the ~<XF86Mail>~ key, this turned it into, for example =<XF86Mail> ryu=
+and =<XF86Mail> ninthfloor= and so on, but this doesn't have any
+completion or notification of my options.
+
+So after looking at ~tmm-prompt~ I came up with the following:
+
+#+BEGIN_SRC elisp
+ (defvar oni:mailbox-map
+ '(("ryulash.org" . "ryu")
+ ("ninthfloor" . "ninthfloor"))
+ "A mailbox map for use with `tmm-prompt'.")
+
+ (defun view-ryu-mail ()...)
+ (defun view-ninthfloor-mail ()...)
+
+ (defun view-mu ()
+ (interactive)
+ (let* ((tmm-completion-prompt "Choose a mailbox\n")
+ (inbox (tmm-prompt oni:mailbox-map)))
+ (funcall (intern (concat "view-" inbox "-mail")))))
+#+END_SRC
+
+I've left out the definitions and some mail accounts for brevity.
+
+~tmm-prompt~ is usually used when using the text-mode menu with =M-` `=,
+but it works very well here too. This changes mailbox selection to,
+for example =<XF86Mail> r= or =<XF86Mail> n=.
diff --git a/site/blog/Ask_for_selection_in_emacs_addendum.org b/site/blog/Ask_for_selection_in_emacs_addendum.org
new file mode 100644
index 0000000..101f32a
--- /dev/null
+++ b/site/blog/Ask_for_selection_in_emacs_addendum.org
@@ -0,0 +1,18 @@
+#+TITLE: Ask for selection in Emacs, addendum
+#+DATE: 2012-05-02 21:52:00
+#+TAGS: emacs elisp coding
+
+I erroneously assumed (and thought I tested) that using ~tmm-prompt~
+could be done the way I described before. The ~oni:mailbox-map~ variable
+needs to be a little different from what I'd shown before, namely:
+
+#+BEGIN_SRC elisp
+ (defvar oni:mailbox-map
+ '("top" ("menu" ("ryulash.org" . "ryu")
+ ("ninthfloor" . "ninthfloor")
+ ("gmail" . "gmail")
+ ("aethon" . "aethon")))
+ "A mailbox map for use with `tmm-prompt'.")
+#+END_SRC
+
+Without the ~top~ and ~menu~ items it will complain about wrong arguments.
diff --git a/site/blog/a_simple_gnome-blog_test.org b/site/blog/a_simple_gnome-blog_test.org
new file mode 100644
index 0000000..44d40dd
--- /dev/null
+++ b/site/blog/a_simple_gnome-blog_test.org
@@ -0,0 +1,21 @@
+#+TITLE: A simple gnome-blog test
+#+DATE: 2009-11-09 15:23
+
+I've been looking for some way to post blog entries from my desktop
+for a while now, I've come across Drivel (which crashes when I try to
+log in to blogger with it), can't find a Bleezer package at work (just
+checked it, first time I heard of it today) and no other gtk/gnome
+client seems appealing.
+
+Let's see what this gnome-blog app does.
+
+Not much so far, bold or italic seems the be the only options
+available to me at the moment, let's see about HTML:
+
+to install gnome-blog in Ubuntu 9.04 use
+
+#+BEGIN_SRC sh
+ sudo apt-get install gnome-blog
+#+END_SRC
+
+and the rest should then be self-evident.
diff --git a/site/blog/code-blocks_process_terminated_with_signal_255_0_minutes_0_seconds.org b/site/blog/code-blocks_process_terminated_with_signal_255_0_minutes_0_seconds.org
new file mode 100644
index 0000000..163e24e
--- /dev/null
+++ b/site/blog/code-blocks_process_terminated_with_signal_255_0_minutes_0_seconds.org
@@ -0,0 +1,39 @@
+#+TITLE: Code::Blocks "process terminted with signal 255 (0 minutes, 0 seconds)"
+#+DATE: 2009-08-25 10:40
+#+TAGS: codeblocks fedora coding
+
+Yesterday after I came home from work I thought I'd try working on a
+project I've been working on this past weekend.
+
+I was away from home this weekend, so all the work I'd done had been
+on another computer, in a virtual Ubuntu installation, so I hadn't yet
+tried it at home.
+
+Trying to build it went fine. Running it from a terminal went
+fine. Even compiling and running on another Ubuntu installation (my
+work laptop, non-virtual) went fine, but Code::Blocks reported to me
+that whenever I tried running my application on my Fedora 11 home
+installation that it terminated with signal 255.
+
+I couldn't find what was wrong, I knew the application worked since I
+tested it in another terminal window and if I debugged it it'd go
+great up to the point where it met with a ~cin~ or ~cout~.
+
+Being tired from a really long day (getting up at 5:00am, get on train
+at 6:25am, get off train at 8:30am and at work 8:50am), I gave up
+fairly quickly.
+
+This morning though the itch got worse and I just had to investigate
+further.
+
+After about a minute of looking around I found someone at the Ubuntu
+Forums asking about the exact same thing and it turns out that the
+problem was that xterm wasn't installed. So a simple
+
+#+BEGIN_SRC sh
+ su -c "yum install xterm"
+#+END_SRC
+
+was enough to fix the problem.
+
+Now I can start developing my application again!
diff --git a/site/blog/gnome-shell_in_ubuntu_9.10.org b/site/blog/gnome-shell_in_ubuntu_9.10.org
new file mode 100644
index 0000000..cbfe6e4
--- /dev/null
+++ b/site/blog/gnome-shell_in_ubuntu_9.10.org
@@ -0,0 +1,40 @@
+#+TITLE: Gnome-shell in Ubuntu 9.10
+#+DATE: 2009-12-11 10:35
+#+TAGS: gconf gnome gnome-panel gnome-shell linux ubuntu
+
+Even though ~gnome-shell~ is really only a preview of what is to come
+for gnome 3.0 and it's still buggy and sometimes not completely stable
+perhaps, I really like it.
+
+When I first saw the screenshots I was less then impressed, I thought
+it didn't at all look like anything new or innovative, but rather
+messy and confusing. But me being ever interested in new things and
+all I just had to give it a try (the ~gnome-panel~ look was starting to
+bore me).
+
+Installing was easy
+
+#+BEGIN_SRC sh
+ sudo apt-get install gnome-shell
+#+END_SRC
+
+and starting it afterwards was easy too
+
+#+BEGIN_SRC sh
+ gnome-shell -r
+#+END_SRC
+
+Though first I had to disable compiz, which I don't really use anyway.
+I was also using ~avant-window-navigator~, which disappeared on me but
+still kept part of my notification area to itself. So the time after
+that I first closed AWN and all was as it should be.
+
+I didn't feel like having to manually start ~gnome-shell~ every time I
+logged in so I started looking into a way to replace ~metacity~ and
+~gnome-panel~ with ~gnome-shell~ and found that this could be done by
+editing your ~gconf~ (with, for example, ~gconf-editor~) and setting the
+~/desktop/gnome/session/required_components/windowmanager~ key from
+~metacity~ to ~gnome-shell~.
+
+Of course, since it is a composited window manager you need a video
+card and driver that can handle screen compositing.
diff --git a/site/blog/higher_resolution_in_fedora_11_with_proprietary_nvidia_drivers.org b/site/blog/higher_resolution_in_fedora_11_with_proprietary_nvidia_drivers.org
new file mode 100644
index 0000000..eafeaee
--- /dev/null
+++ b/site/blog/higher_resolution_in_fedora_11_with_proprietary_nvidia_drivers.org
@@ -0,0 +1,48 @@
+#+TITLE: Higher Resolution in Fedora 11 with proprietary NVidia Drivers
+#+DATE: 2009-09-22 23:51
+#+TAGS: fedora nvidia xorg
+
+Ugh... I have been screwing around with this since the beginning of
+time... Or at least since I installed Fedora for the so-manieth
+time. Finally though I found out what I had to do.
+
+Following [[http://forums.fedoraforum.org/showthread.php?t=204752][this guide]], I was able to easily and correctly install the
+drivers. I used to build them myself, but that got me worse results
+then anything.
+
+To sum up, though:
+
+#+BEGIN_SRC sh
+ # switch to super user (root)
+ su
+
+ # install rpmfusion repository
+ rpm -Uvh \
+ http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm \
+ http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
+
+ # install the driver (I have an i686 pc, you might need a different architecture, like 64_32 or something similar)
+ yum install kmod-nvidia xorg-x11-drv-nvidia-libs.i586
+
+ # reboot to make changed take effect
+ reboot
+#+END_SRC
+
+This only got me a 1024x768 resolution, though... Which pissed me off...
+
+I started looking around the internet for a way to fix it in the
+~xorg.conf~ itself, which I'd done on Fedora 9 before, but didn't
+remember how (the reason I'm writing this right now), but didn't
+actually find what I was looking for.
+
+In the end I found 2 supposed fixes, one added a Modes option to the
+=Display= section of the =Screen= section, and another was to add a
+=DisplaySize= option to the =Monitor= section.
+
+Well, I found out I needed both, so I added =DisplaySize 1280 1024= to
+the =Monitor= section and =Modes "1280x1024"= to the ~Display~ subsection
+of the ~Screen~ section.
+
+Now it's working again, running at 1280x1024 with screen compositing
+(so I can run ~gnome-do~ with docky theme, which I'm trying out for a
+while).
diff --git a/site/blog/index.org b/site/blog/index.org
new file mode 100644
index 0000000..5630590
--- /dev/null
+++ b/site/blog/index.org
@@ -0,0 +1,21 @@
+#+TITLE: Blog
+
+* Posts
+ #+begin_src emacs-lisp :exports results :results list
+ (defun file-to-data (file)
+ (unless (or (string= file ".") (string= file "..") (string= file "index.org"))
+ (let (title date)
+ (with-temp-buffer
+ (insert-file (concat "/home/slash/var/src/orgweb/site/blog/" file))
+ (goto-char (point-min))
+ (re-search-forward "^#\\+TITLE: \\(.*\\)$")
+ (setq title (buffer-substring-no-properties
+ (match-beginning 1) (match-end 1)))
+ (goto-char (point-min))
+ (re-search-forward "^#\\+DATE: \\(.*\\)$")
+ (setq date (buffer-substring-no-properties
+ (match-beginning 1) (match-end 1))))
+ (list date (concat "[[file:" file "][" title "]]")))))
+
+ (mapcar #'cadr (sort (delete nil (mapcar #'file-to-data (directory-files "/home/slash/var/src/orgweb/site/blog"))) (lambda (el1 el2) (not (string-lessp (car el1) (car el2))))))
+ #+end_src
diff --git a/site/blog/mod_rewrite_with_fedora_10_and_ispconfig_for_wordpress.org b/site/blog/mod_rewrite_with_fedora_10_and_ispconfig_for_wordpress.org
new file mode 100644
index 0000000..5a25379
--- /dev/null
+++ b/site/blog/mod_rewrite_with_fedora_10_and_ispconfig_for_wordpress.org
@@ -0,0 +1,48 @@
+#+TITLE: mod\_rewrite with Fedora 10 and ISPConfig for WordPress
+#+DATE: 2009-12-09 10:33
+#+TAGS: apache2 fedora ispconfig mod_rewrite
+
+This relates to Fedora 10 and ISPConfig 3.0.1 set up as described in
+[[http://www.howtoforge.org/perfect-server-fedora-10-ispconfig-3][this HowtoForge post]].
+
+One of my colleagues recently got interested in offering our clients
+Wordpress as a content management system, so he's been trying it out.
+
+Yesterday he found out that if he wanted to change the permalink style
+in Wordpress he needed write access to =.htaccess=, which he didn't have
+because the user rights haven't been set up very well there.
+
+So I gave him write access by using
+
+#+BEGIN_SRC sh
+ chown apache:apache .htaccess
+#+END_SRC
+
+Unfortunately this resulted in a 500 Interal Server Error.
+
+Looking at the error log for the website I tried this for it let me
+know that =RewriteEngine= directives were not allowed in the =.htaccess=.
+
+Since I didn't want to mess with the base configurations of ISPConfig
+I started looking around for other options. Eventually I found that I
+had to add something similar to this to the Apache directives field
+under options under the website's settings
+
+#+BEGIN_SRC text
+ <IfModule mod_rewrite.c>
+ <Directory /var/www/[sitename]/web/>
+ Options +FollowSymLinks
+ RewriteEngine On
+ RewriteBase /
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteRule . /index.php [L]
+ </Directory>
+ </IfModule>
+#+END_SRC
+
+Of course ~[sitename]~ should be replaced with the name of your website.
+
+It all works after I restarted the apache server myself, but I do not
+know if that is completely necessary. Also it might take a few seconds
+before ISPConfig finishes editing the configuration file.
diff --git a/site/blog/not-as-perfect.org b/site/blog/not-as-perfect.org
new file mode 100644
index 0000000..3d87f07
--- /dev/null
+++ b/site/blog/not-as-perfect.org
@@ -0,0 +1,30 @@
+#+TITLE: Not as perfect
+#+DATE: 2012-12-01 16:01
+#+LINK: emacs http://gnu.org/software/emacs/
+#+LINK: gnus http://gnus.org
+#+LINK: gwene http://gwene.org
+#+LINK: unison http://www.cis.upenn.edu/~bcpierce/unison/
+
+* Unexpected
+
+ I thought that the [[emacs][GNU Emacs]] + [[gnus][Gnus]] + [[gwene][Gwene]] + [[unison]] solution would
+ be near perfect, but it seems that it is, unfortunately, not
+ entirely the case.
+
+* A problem
+
+ It seems that there is either something wrong with [[gwene]], or with
+ my connection to the [[gwene]] and [[gnus]] server.
+
+ The problem is that I'll add some RSS feed to [[gwene]] and it *will*
+ get registered and tell me it will be filled in a few minutes, but
+ then even days later they'll still not be available in the group
+ list.
+
+ I haven't found any reason why, they're not crazy feeds, I do get
+ other new groups (so it's not all of them), but it's annoying.
+
+* Next
+
+ I think I'll start looking at other solutions again. Too bad,
+ because the feeds that are working are working really well for me.
diff --git a/site/blog/removing_a_service_manually_in_windows_server_2008.org b/site/blog/removing_a_service_manually_in_windows_server_2008.org
new file mode 100644
index 0000000..02447b5
--- /dev/null
+++ b/site/blog/removing_a_service_manually_in_windows_server_2008.org
@@ -0,0 +1,22 @@
+#+TITLE: Removing a service manually in Windows Server 2008
+#+DATE: 2009-11-09 12:24
+#+TAGS: services windows
+
+I was writing a test Windows Service and accidentally removed it
+through the Programs and Features dialog, which removes the files, but
+doesn't actually remove the service from the service list. So when I
+tried to install the 2nd version of this test service it was
+complaining that it already existed.
+
+I looked around a little and found that I could delete the Service
+from the registry in
+~HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[YourService]~. I
+deleted the key (the little folder thingy) and it did show some
+change, but my service was still there and the newer version still
+wouldn't install.
+
+After a little more looking around I found out that to fix it I could
+use ~sc delete [YourService]~ to fix it. And it did!
+
+Next time, though, I really should use the installer I used to install
+it to remove it...