From a2f077cf13d307c4d9d862028f459b783ede53cc Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Mon, 10 Dec 2012 02:22:18 +0100 Subject: Add some blog posts Also an index page that automatically generates a list of all the posts available. --- site/blog/98_perfect_rss_solution.org | 101 +++++++++++++++++++++ site/blog/A_new_org-blog.org | 22 +++++ site/blog/Another_way_to_get_a_selection.org | 26 ++++++ site/blog/Ask_for_selection_in_emacs.org | 42 +++++++++ site/blog/Ask_for_selection_in_emacs_addendum.org | 18 ++++ site/blog/a_simple_gnome-blog_test.org | 21 +++++ ...minated_with_signal_255_0_minutes_0_seconds.org | 39 ++++++++ site/blog/gnome-shell_in_ubuntu_9.10.org | 40 ++++++++ ...n_fedora_11_with_proprietary_nvidia_drivers.org | 48 ++++++++++ site/blog/index.org | 21 +++++ ..._with_fedora_10_and_ispconfig_for_wordpress.org | 48 ++++++++++ site/blog/not-as-perfect.org | 30 ++++++ ...g_a_service_manually_in_windows_server_2008.org | 22 +++++ 13 files changed, 478 insertions(+) create mode 100644 site/blog/98_perfect_rss_solution.org create mode 100644 site/blog/A_new_org-blog.org create mode 100644 site/blog/Another_way_to_get_a_selection.org create mode 100644 site/blog/Ask_for_selection_in_emacs.org create mode 100644 site/blog/Ask_for_selection_in_emacs_addendum.org create mode 100644 site/blog/a_simple_gnome-blog_test.org create mode 100644 site/blog/code-blocks_process_terminated_with_signal_255_0_minutes_0_seconds.org create mode 100644 site/blog/gnome-shell_in_ubuntu_9.10.org create mode 100644 site/blog/higher_resolution_in_fedora_11_with_proprietary_nvidia_drivers.org create mode 100644 site/blog/index.org create mode 100644 site/blog/mod_rewrite_with_fedora_10_and_ispconfig_for_wordpress.org create mode 100644 site/blog/not-as-perfect.org create mode 100644 site/blog/removing_a_service_manually_in_windows_server_2008.org (limited to 'site') 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 ~~ key, this turned it into, for example = ryu= +and = 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 = r= or = 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 + + + Options +FollowSymLinks + RewriteEngine On + RewriteBase / + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule . /index.php [L] + + +#+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... -- cgit v1.2.3-54-g00ecf