home| About me| 2008 | March| Feb| Jan| 2007|
wisdom teeth
So, I got my wisdom teeth out on Monday,
being non-dairy, I had some trouble thinking of ways to keep my blood sugar up...
Whole wheat bread softened with key lime juice and covered with guacamole...
So I tried making a blender meal today...
I found out that one should NEVER put sticky rice in the blender...
I made a comic about it,
this was my first attempt at using svg. That is hand coded in emacs, using lots of msf-abrevs to make things bar able.
One little project I did for my xo is window-stack.el
Window-stack was based on the premise that the xo's screen is really small, and thus you don't want to look at windows side by side. One still wants to see multiple windows for reference/context. For instance, if you google "RMS" while writing an email, you want to still be able to see the email while you are browsing the web. If you go over to use the shell, or IRC, you most definitely want to keep what you are working on visible to remind of what you are actually doing.
Window-stack integrates with ibuffer to accomplish this goal. When ibuffer is brought up, it is immediately put into full screen mode. When you select a buffer, that buffer is put into the top window out of a stack, window-stack-count high, with the lower windows displaying the farther up windows from the stack you are replacing. IE if the stack looked like
a
b
c
and you went into ibuffer and selected 'd'. It would look like
d
a
b
I use jamendo a french, free(creative commons), music sharing service. Well I shouldn't say sharing, I share nothing, I'm about as musical as your average commercial pop singer's lawyer. But non-the-less. I do end up running into lots of files which cannot be manipulated in batch using mv because they have accented characters in them. I'm also learning Czech, and had to move audio files from my text book around. So I wrote a little bit of elisp to help me out. The function unaccent-dir which goes through each file and does a singular mv to rename the file to a sanitized name.
Installation
Download Drew Adams' unaccent.el and my unaccent-dir.el:
$cd ~/elisp #or some other place in your load path $wget http://www.emacswiki.org/cgi-bin/wiki/unaccent.el $wget http://www.timthelion.com/unaccent-dir.elAnd install them in your .emacs file:
(require 'unaccent-dir)
Usage notes:
My main use of this script is to sanitize files that are currently on my usb key. To use this script on the key, one has to mount the key in a mode writable by the user. For me, this means:
sudo mount -o uid=500 /dev/disk/by-id/usb-_Memorex_TD_2B_0752190107A5-0:0-part1 usbkey/I get the uid= bit from calling the id command.
So, today I started a new project, TRFS (Tims relational file system) which isn't a file system at all, it is a system for organising files. It currently consists of 3, 4 line, shell scripts and an emacs front end.
concept
Here is what I set out to do: make it so that folders and files where one, just like in a mind map. Make it seamless to create lots of little well organised text file, just like a mind map...
I have a folder hierarchy,
~/.trfs/ ;the very base root of the trfs structure
~/.trfs/trash/ ;nodes(folder/file's) deleted with rmnode go here.
~/.trfs/home/ ;this is the root node
~/.trfs/home/dir ;this is the directory part of the root node
~/.trfs/home/home ;this is the file part of the root node.
There are three commands installed by install.sh:
mknode
which takes some text, and a name, and makes a directory with a file in it, and an empty directory named dir.
mkln
which takes the path of a file and a name for an node, and creates a node who's file part is a soft symlink to the specified file.
rmnode
moves the specified node to ~/.trfs/trash/
installation
wget http://www.timthelion.com/trfs.tar wget http://dto.freeshell.org/e/linkd.el tar -xf cd trfs sudo sh install.shadd (load-file "/path/of/trfs/front-end.el") and (load-file "/path/of/linkd.el") to your .emacs USEAGE start emacs and do M-x trfs Press, n and type 'hi' , the name of your new node.
Press enter, type some text, and then enter again.
Press u to go back up to the home level.
Press l then type 'emacs' and RET.
Press u to go back up.
Arrow up so the point is over the first node you created.
Press RET
You can now see the text you initially entered.
Press e to edit that text.
Press C-x o to go back to the TRFS listing.
Press n to make a subnode
The classic stumpwm rules screenshot:
click to enlarge
So when I'm taking notes in psychology, I have trouble keeping up when I'm reaching for the * key all the time when using org. bpalmer of #emacs had the great suggestion of pressing 'r' instead of *, and then using search and replace. But I'm an emacser, so I couldn't be satisfied with such an easy fix. With the help of bpalmer and consolers, I soon had something much more pretty.
;org-mode r key hack (require 'org) (define-key org-mode-map (kbd "r") 'insert-star-or-r) (defun insert-star-or-r ( ) "Insert star if at beginning of line or within org heading, or r if elsewhere." (interactive) (if (string-match (rx bol (zero-or-more ?*) eol) (buffer-substring (point) (line-beginning-position))) (insert "*") (insert "r")))Now when I'm pressing r at the beginning of the line, it shows up as a stars immediately. Enjoy!
I have recently started using planner-mode for emacs. I am very happy with planner as a personal calendar, though there are some more things I would like to get set up, namely getting it to work with google calendar, at least enough so that I can see the families shared calendar. There is one thing I have built myself, and that is planner-cycle. planner-cycle is a function which I call with a global hotkey. First, it pops up planner's today page. Then, it full screens that day page and puts an insinuated calendar on top. Then it gives me a task overview for the next 7 days, then it extends that overview to the beginning of the next month. Finally, pressing again, starts the cycle over again.
1 press: Planner today page.
2 press: Planner today page+insinuated calendar.
3 press: planner-tasks-overview between today and 7 days from today.
4 press: planner-tasks-overview between today and the same day next month.
You can download planner-cycle here.
And install, by putting that file in your load path and adding(with the hotkey of your choice):
(require 'planner-cycle) (global-set-key (kbd "C-to your .emacs.") 'planner-cycle)
Notes: I'm not yet sure what happens when you are at the last month of the year, or within 7 days of the end of the month, I haven't written special cases for these yet, I hope it's not fatal.
So I use 3 different keyboards, and 4 layouts. For all of them, I want to have different keys bound to each command. So I set up this little function to allow me to create a hierarchical alist of all of the key bindings I wanted for each keyboard. Then I can switch between different key setups with a simple function call.
Lojread is a program designed to help you read lojban. It works by loading up a text file written in lojban, and quickly providing you with definitions for words you don't know. Here is how it works,
You see in the screen shot above that there is the definition for the word that the point is over at the top, and a jbofihe parsing of the sentence that the point is over at the bottom. To go to the next word I press space. If I get so I know a word enough I don't want to see the definition anymore I press s while over that word. This will make it so that pressing space will skip that word letting you read faster and making it so you don't have to press space as many times. Lojread is a program that I have spent not very much time writing, for a rather long time. It has finally gotten to the point of a beta release, so Emacsers who wish to learn, ROLL UP YOUR SLEAVES. If you're using debian installation is easy (if you have emacs).
#at the command line... sudo apt-get install jbofihe dict wget http://www.timthelion.com/lojread.tar.gz tar -xvvzf lojread.tar.gz cd lojread nano lojread-init.el #change that first path to wherever you extracted lojread and save the file emacs -load lojread-init.el #and type in little things.jbo to read that story.Todo
I need to make a port for windows, if possible.
make it so that each sentence is read aloud by a lojban tts engine.
Dto has done it again. He has made a customizable, professional, program that does a common emacs hack. He has made lifesnap!
I have it configured so when I press C-x h these windows appear, sanely arranged, at the top of the screen. And the current buffer gets pushed to the bottom...
Hello, this is my first blog post. It is kind of a test, so hi.
I have been trying to use haskell for some time. I have finally written what I believe to be an emacsic enough haskell environment for my tastes. I have set up ghci so that some lines, function definitions(well currently I'm lazy and just check to see if the line has an = in it), get sent to a file which is loaded. All other lines are evaluated normally. I then use a bit of elisp I wrote to send the line on to my code file. Here is how to set up my environment if you want to check it out, in emacs.
M-x shell mkdir elisp cd elisp wget http://www.timthelion.com/haskell-interactive.el M-x load-file ~/elisp/haskell-interactive.el wget http://www.timthelion.com/send-to-buffer.el M-x load-file ~/elisp/send-to-buffer.el ghci M-x haskell-interactive-mode C-x C-f some-haskell-source-file.hs C-> (point-at-bol) (point-at-eol) buffer-of-your-haskell-source-file.hs (beginning-of-buffer) C-x 2 C-x b buffer-of-your-haskell-source-file.hs C-x o x="foo" x M-p M-p C-.
So what you have done, is downloaded and loaded my emacs extension to ghci that allows you to define functions in ghci. Then you have set up some text sending functions, created a haskell source file. You have then created a function, tested it, and sent it to the source file.
You can create new functions, by defining them at the command line. You can test them like you would normally. Then you can M-p back to the function you just created, and send it to your source. You can redefine functions multiple times. Life is good.
Yay, I've made it into google!
I moved from freebsd to ubuntu yesterday, there was just too much I could not do. I could not even compile emacs-unicode! So, I installed ubuntu, THE NEW INSTALLER IS AMAZING, it's partition setup thing let me point and click to set my home partition up. And I was off, I had to chown -R /home/timothy timothy , and I'll have to chmod even more, me thinks the chmoding need is bsd's fault. I've never had files suddenly be read only before. Then I set up the sources to the repositories correctly, had some fun in gnome, played secondlife for the first time(had to install nvidia-glx and sudo dpkg-reconfigure xserver-xorg to do this), and finally disabled gdm and typed startx to get back to my, not so trusty but highly keyboard accessible stumpwm. After installing clx garbage I was up. Now was the hard part. Gnus stopped on the first email message. Luckily after googling for ages, I read the *messages* and found I needed gnutls-cli. After some apt-cache searching I found my fix: /home/timothy$sudo apt-get install gnutls-bin
So my idiot dad...
Upgraded my website to mini-geek plus (so that he could host a website on one of the two domains I gained from the upgrade from mini-geek). He did this while I was at school. And managed to get rid of my redirect from http://timthelion.com/index.html to http://www.timthelion.com/cgi-bin/blosxom.cgi. I know, I'm probably doing this all wrong so PLEASE spam me with links to whatever fuckin manual I'm supposed to have read. But anyway, for about 12 hours today one could not access my site through www.timthelion.com (though all the links to blog posts still worked). So when I got home, I set up the redirect again, and noticed that http://www.wenisaudubon.org no longer worked(it re-directed to http://www.timthelion.com/cgi-bin/blosxom.cgi). So we looked into it, and found a works-for-now. The Wenis Audubon website has an index.htm page, not a redirect. And something was favoring the index.html over the index.htm. So we simply made it so that wenisaudubon.org had an index.html page. and the redirect was from http://www.timthelion.com/index.htm to http://timthelion.com/cgi-bin/blosxom.cgi.
Oh dads, they're all alike,
getting into their kids stuff like it was their own...
always getting into trouble...
I have previously mentioned that I use emacs with reverse polarity for the focused line.
Well I had always had the issue that when I advised next-line and previous-line to keep the cursor centered the screen flashed. I solved this problem for a while by using scroll-up and scroll-down, because those don't flash the screen. There was a problem though, I had to recenter the screen once the cursor had gotten down to a place where there was enough buffer above the cursor for the screen to be centered. Now, I have a real solution, I have written a recentering algorithm based on scroll-up and the calculation of window height.
Here is an elisp file which implements my amazing Reverse polarity setup.
Reverse polarity for current line, and scroll with cursor advises
Installing and Running EMACS There are two ways to install emacs on the olpc, cvs(which can be used as an X application) and through yum which cannot due to a font problem with emacs 22. yum sudo yum install emacs w3m
Then
emacs -nw
You can't run emacs in the windowed mode because bitmap fonts are too small for the XO's screen.
cvs
You need like 400 MB free for this, or an SD/USB memory card/stick, in which case you only need about 60MB free. NOTE: USB key must be ext NOT fat because fat doesn't support long filenames used in emacs cvs source dir.
sudo yum install texinfo gcc make cvs gtk2-devel libXpm-devel libjpeg-devel libpng-devel libungif-devel libtiff-devel #cd to SD or USB key and do su if you are using external storage. sudo cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs cd emacs ./configure --with-x-toolkit --with-xft make bootstrap make sudo make installI think that's it you can run emacs with.
emacsUsing EMACS There are some issues with emacs on the olpc, for instance C-s and C-r are bound over in sugar. I'm not sure if there's a good fix for this, my solution was to install dwm, another window manager that is lighter than sugar and more configurable ;).Ebook mode
The XO has this great ebook mode, where only the keypad is accessible. Unfortunately emacs is not configured very well to deal with this pad by default. Here is a package that helps.
This package contains a new version of y-or-n-p which actually works with the keypad. It also has keybindings for w3m, dired, ibuffer, and help mode. More should be on their way!
dspspySo, I wanted to be able to read my history, math, or chemistry text books and take notes. Being dysgraphic I couldn't do this the traditional way so I had to turn to open source technology. Armed with little more than the latest version of ubuntu, some knowledge of c++ and an IRC channel I was able to install and use dspspy. A program that when you leave it running it will record any noise it hears to a file. Installation wasn't trivial however, and I had to update the code for compliance with the new version of ubuntu. So I decided to include some instruction for anyone else who might be interested.
instalation
#in a terminal wget http://www.timthelion.com/dspspy.tar.gz #my version that is fixed for ubuntu tar -xvvzf dspspy.tar.gz cd dspspy ./compile.sh sudo cp dspspy /usr/local/bin/runningcd mkdir chem-notes #or wherever you want to store the recordings, (this should not be a directory where other files are stored. NOTE. RUNNING DSPSPY TWICE OVERWRITES THE ORIGINAL FILES SO USE A DIFFERENT DIRECTORY EACH TIME. cd chem-notes dspspy #say whatever you need to say. then press q when you have said each thing you need to saynote: if this does not work, try opening up the sound mixer app(the microphone in the gnome panel by the little door and try to unmute your microphone) playing the files make sure no other programs are playing sound right now.cd cd chem-notes #or whichever folder you made cat *.rec >> /dev/dspHope that all made sense.
disciplineThanks to the awesome power of emacs. I can make it really hard not to do my homework.
;discipline timer (defun discipline-shout ( ) "shouts 'discipline', well right now it just beeps a couple of times" (interactive) (save-excursion (goto-char (point-min)) (if (not (or hw-mode (search-forward-regexp "^The answers are marked with '!'." nil t) (not (goto-char (point-min))) (search-forward-regexp "^To: XXXX@chrysalis-school.com" nil t) (not (goto-char (point-min))) (search-forward-regexp "^--- Emacs Calculator Mode ---" nil t) (not (goto-char (point-min))) (search-forward-regexp "^Emacs Calculator v2.1 by Dave Gillespie" nil t) (not (goto-char (point-min))) (search-forward-regexp "^calc" nil t) (not (goto-char (point-min))) (search-forward-regexp "^M-x" nil t) (not (goto-char (point-min))) (search-forward-regexp "^iswitch" nil t) ) ) (and (beep t)) ) ) ) (define-minor-mode hw-mode "a mode for doing homework without the beeps." :version "0" :lighter " HW " ) (add-hook 'linkd-mode-hook 'hw-mode) ;add hooks for allowed modes. (setq discipline-timer (run-at-time 4 2 'discipline-shout)) (defun discipline-cancel ( ) "for debugging and weekend purposes only :)" (interactive) (cancel-timer discipline-timer))
datahandsA while back I was suffering from some sickness induced RSI, I purchased a keyboard datahands that has allowed me to continue my little geeking career. This wasn't enough for my geekyness, I had to do better than just blow cash. I also wanted to spend more time at my craft. So I made a setup in-which I can spend all my time on the computer without back or hand troubles.
I removed most of my desk from it's frame, then screwed my lcd to the bottom of the keyboard tray using 4 rather longer than standard visa mount screws, most monitors have. 4 holes in the back for these so that you can wall mount them(sorry, I don't remember the screw size). Once I had the monitor hanging down, I just mounted the datahands on a piece of cardboard and put a bit of eggshell foam under it. The pillows where the hard part. I ended up using a ergonomic memory foam one for the head. and then cutting a foam one so that there was a square with a long tongue sticking out, this way there isn't pressure on my sides but my back bone is supported. Then of coarse I put a pillow under my legs to keep my knees from locking. Overall, I think that this is a very ergo setup.
bloging with blosxom windowsSo, my dad set up a blog on one of his sites with blosxom, Marymoor park bird blog. We kept getting
[Thu Feb 1 20:03:59 2007] [error] [client 71.112.106.163] Premature end of script headers: /home/marymoor/public_html/cgi-bin/blosxom.cgi]Finlay I figured out that perl can't read blosxom.cgi if blosxom.cgi has windows carriage returns.
blogging within EMACSI found that lftp can actually synchronise with a local folder and now I can blog from within EMACS by finding a file in ~/html and then publishing with M-x publish-html!
;blogging (defun publish-html (username password) "Publish ~/html directory to ftp.timthelion.com" (interactive "susername: \nspassword: ") (shell-command (concat "lftp -c \"open -u "username","password" ftp.timthelion.com ; lcd /home/olpc/html ; mirror -R\"&")))
The Patch from HELL!So... I have a DELL Axim PDA on which I plan out every moment of my day, I have apointments for 'have snack' 'brush teeth' 'do kitty litter' 'take shower' 'go to bed' 'get up' ect. So...
This whole timezone thing came along and Microsoft released a patch to update for the changes. I installed it.
First, it restarted my axim without asking.
Then, when it came to spring forward it used THE BROKEN CHANGE TIMEZONE FUNCTION IN WINDOWS MOBIL 5 WHICH SOMEONE OUGHT TO DIE SLOWLY AND PAINFULLY FOR HAVING TRIED TO MAKE INTELLIGENT. It sprung everything forward an hour, not only the clock, but the appointments too. 'get up' which was a 7:15 is now at 8:15. And worse, 'brush teeth' is at 11:00 instead of 10:00 and now I'm up way past my bedtime especially for actually going somewhere in the morning(I'm getting my wisdom teeth removed tomorrow).
So anyway, now that I'm done ranting, I'll tell you about what I've been up to.
I have reorganised my life into appointments. Each day goes like this:
7:15 get up 7:15 take a shower 7:30 brush teeth 7:33 have breakfast 8:00 either go to school(Wednesday and Friday) or do dishes 9:00 if not at school read comics 10:00 if not at school do homework 14:00 Play oboe 15:00 Go to track 17:00 have dinner 18:00 Go to track with other team(I'm on two teams) 20:00 Check e-mail 21:00 Brush teeth 21:03 Do kitty litter 21:17 Take shower 21:40 Go to bedThat gives me almost 9 and a half hours of sleep. I find this kind of organisation really helps, now all I need to do is make a bi or tri weekly lunch schedule, I am allergic to dairy, and can't have overly fatty foods(they cause me stomach troubles), so often I spend more time than I ought deciding what to have for lunch.I have been configuring emacs extensively lately (at the expense of homework) and have come up with a new way of doing things. Started off with someone telling me about what font they used and how even though it was ugly somehow it could be read at high speeds, I jumped, and am happy with my decision. The font: emacs*font: -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso10646-1
click to enlarge
Along with this font, I have set the w3m width to
(setq w3m-fill-column 56) and configured follow-mode as follows:
;follow-mode (require 'follow) (global-set-key (kbd "C-x J") 'split-with-follow) (global-set-key (kbd "C-x j") 'split-3-with-follow) (defun next-line-follow ( ) "goes to the next line, but keeps the point in the center" (interactive) (call-interactively 'next-line) (call-interactively 'follow-recenter)) (defun previos-line-follow ( ) "goes to the next line, but keeps the point in the center" (interactive) (call-interactively 'previous-line) (call-interactively 'follow-recenter)) (global-set-key (kbd "C-n") 'next-line-follow) (global-set-key (kbd "C-p") 'previos-line-follow) (global-set-key (kbd "C-l") 'follow-recenter)
TODOOn my list of things TODO is:
| due | Task | Est. Time |
| None | Do chapter in Czech text book | 2 hours |
| None | Set up XO for use with datahands | 0.5 hours |
| None | Figure out filling system for all the papers on the floor | 3 hours |
| None | Do jobs project | 20 hours |
| None | Reading List | ~ |
| Done: | ||
| None | Write up EMACS on XO tutorial | 1.5 hours |
| None | Write up proposal for line based accessibility in sugar | 4 hours |
15 of January 2008 A.D.
So my alarm went off, I turned on the light, rolled over. Lay there for a while, got up. Paused, I was tired! It was 12:06 when I had gone to bed. I rolled my head back in a STIM of thought, and came upon inspiration. I grabbed a piece of chocolate from the bar I had gotten on St. Nicolas day. Chewed it up, stopped chewing, thinking that maybe I should savor it. Then I got up, remembered that there was snow, and sat back down to look up whether or not BCC was open. It was, so I continued, choosing to wear the big ugly green winter coat that I got for X-mass and taking off early to make sure I had time to get to the bus stop even when slowed by the ice.
I am sure that if I had been riding in a car instead of walking, I would have gotten no more than the 4 feet before our drive way meets with the road, which is a somewhat steep hill, but I had no difficulty as it was walking through the thick snow covered ice.
The bus came on time, or close to it, but was traveling at no more than 10MPH, I was sure we'd arrive late. When we where going past the Overlake TC, we saw a bus parked in the middle of the intersection. There is a grade as the road goes up to overpass the freeway there and the bus was evidently worried that if it stopped on that hill it would get stuck. When the light turned green and the bus went on over the freeway, an SUV tailgated with only a few feet to spare. Luckily, that bus did not slide. We continued going slowly all the way through cross roads which should have been clear. Then went down the hill which was solid ice, our driver began being concerned here, because she was having trouble controlling the bus on the ice and there where several cars slid out on the hill.
The street flattens out for a ways and then goes upwards again just before an intersection where we where supposed to turn. The intersection is on a hill with two streets going diagonally up it, and two going diagonally down it, so for us, we where going from going up, to going down. At the top of the intersection, another bus was stuck, so everyone from that bus got onto our own, it was PACKED! Then we went down to a flat bit, and where doing just fine until we got to the next hill. There was a long line of cars, about 4 of which where spun out, and two buses that where not going anywhere(lucky thing to, because they where at the top of the hill above the line of cars!), so we stopped at the bottom of the hill at 8:20(the bus was supposed to have arrived at school at 8, and my English class is at 8:30). J decided to walk, I joined her. J works in the programs division, she does something to do with arranging classes. B joined us from another bus, she's a librarian. Together we walked through the snow and ice the rest of the way to school.
It was 8:45 when I arrived. We where to do peer edit, I had only marked up about half a page of the in-parsable paper, and 2 pages of the obscenely vague one. The other people in my group barely marked mine at all. I was a bit dis-heartend, they did not see mine as clearly the best. I don't think I did THAT badly.
Psychology was a hassle today, we got an exam date, next Tuesday, the 22nd, and she introduced a bunch of new terms about neurons that we need to memorize.
Math was much better.
Me: "So you're not gona make us memorise those?"
Teacher: "The tables?"
Me: "Ya."
Teacher: "God no!"
My swim meet was canceled because of snow. So I get some more time today.
Wow, it is easy to let time slip away, and not even remember how it happened. I was eating lunch at 14:00 when my coach called, but what happened between noon, when I got home and then, I can't have spent it all blogging? Ah yes, I spent some time making writting samples for the OT. I need to get tested for dysgraphia again, so that I can use a keyboard on certain standardized tests, like if they made people in wheel chairs walk laps every 5 years to make sure they couldn't do it....
That took me a while, especially because I originally scanned the sample as root, and didn't realize that I needed to change the permissions to upload it. "Why won't it work!?"
Then I made a schedule for myself, and spent until 17:00 blogging and messing with the layout of my blog. Amazing how much time one can spend messing... I did get my 50 pages of Fahrenheit 451 done, I read it in the cage, even though I don't have proper mappings for all the keys on the datahands programmed into my XO yet.
I'm up at 11:29am, finally, after having gone to bed at 2am. And it's sunny!(I'd give you a picture but my XO's Record activity tells me "Your %(1)s is full." Don't know what my %(1)s IS, I have 200 megs free in internal memory) Though of course, it's too cold to go outside, I can use the xo in it's gray scale mode(HM, Sugar's write doesn't know that grey is an alternative spelling of gray...) which is cool and it is actually nicer to read.
I have two piles of laundry on the floor, one clean, and one dirty, they have grow to the point where I can't open the door without pushing the dirty into the clean, so I'll have to do something about them today. Today, I also have to summarize Postman, and read my calc text book. Not sure how I'll do the latter as I have it in PDF and am unsure of how to convert that to text for reading in emacs, on my XO. I'm also unsure how I'll manage the pictures, maybe I'll scroll along in the PDF as I read, hopefully my conversion mechanism will preserve page numbering.
I was bad, instead of starting out right away on my summary, or my laundry, I went into .emacs to customize dired, which I have come up with my home dir on startup so that I can start emacs and then be able to do everything I need to read my text books in the XO's ebook mode. I want to customize dired so all of the useless (dot) files are at the bottom, while .emacs and my normal files are at the top. Sorting by date seemed obvious, but a lot of those (dot) files seem to be touched with great regularity, and then there are those god forsaken .serverauth's...
I think tomorrow I'll write a post about using emacs on the XO, for today, I'll tell you how to install it:
Installation: #yum install emacs
Usage: emacs -nw(this get's around the very small font problem by using sugars Terminal activity to display emacs, that problem will become clear to you as soon as you try running just 'emacs')
Let me make one thing clear, this does not work perfectly as I have not changed all the faces in emacs out so that they work in grey (I don't wana write gray!) scale mode.
Also, When I set faces to 'white' they come up as gray in emacs -nw, I have no solution for this.
So after writing this post for a while, I went over Postman doing the electronic equivalent of high lighting. I then decided to check my email, and since gmail has the chat thing built into it's web based interface, K jumped in and it turned out we where both procrastinating... I then went over to google reader, I hadn't read any RSS for a week or two. 66 items. I got down to 47, and the XO froze, thank god(software engineers evolutionary response to really pissed off consumers) for autosave, nothing got lost.
16:00 I turn on my big Dell Inspiron laptop, start up pandora, and get to work actually writing my summary, now that I've compiled all the notes I need to do so. I feel so horrible wasting the electricity of a second larger laptop, I really should install proprietary flash on my XO, but that would be proprietary and use RAM, would the XO freeze more running pandora in the background? I've noticed that the TamTams stop playing beets when you switch away, could I even play pandora in the background on sugar? Why do I really need music to work, I never used to listen to music and do all of my coding and creative writting without it? Is music an addiction? Are addictions something that are bad and I need to fight? Postman's phrase "information action ratio" is so powerful here. I have all these questions, plans, guilts, and desires, yet I'm not bothered to think of doing the one thing I can reasonably do right now to conserve that little bit of power: Turn down the brightness on the Dell while I'm using it only to play music. And we're off :D
xscreensaver-demo
File->Blank Screen
:(, no way to make it just turn off...
That screen saver is just so inspiring, the one which streams random debian mailing list entries. And then it makes you want to cry. There seems to be 4 things that are constantly in discussion in the world of linux and open source, they are the gay marriage and global warming, but it's so much more shallow.
1. The broadcom wireless driver issue.
2. Getting your printer working.
3. Using proprietary NVIDIA's proprietary drivers to run so and so new technology.
4. Installing so and so religiously 'the best' distro on some new device. Such as debian on the XO, or gentoo on a calculator.
Can't we move beyond these things? The first two are of real concern. Linux has ndiswrapper, and cups to solve the problems, yet there are still constant problems. Every new user has them, if only we could educate people about the politics(for Broadcom anti corporate, and for printer issues lackings of unity within the open source community(if you could really call it one community)), without making it so that no one ever wanted to enter the wonderful world of open source?
Summary and insight When this summerization was assigned my teacher requested that it be objective. I raised my hand and asked him sardonically if an A was possible, after all, and A paper must be insightful. I was working of the assumption that insight into an expository or conclusive work --such as the one assigned to be summarized-- would upon seeing into the work, see it's flaws and thus lose objectivity. I don't know that my teacher understood that assumption in my question, but he fairly quickly admitted that insight was impossible in such a situation.
In Postman's Peek-a-boo world which I am to summarize he describes this aw-some concept of psedo-context. Like cross word puzzles are a psedo-context which makes trivia relevant. I'm almost surprised he did not go so far as to discuss Novels as being advanced forms of psedo-context. He could not have done so easily as he made reference to Huxlie's famous Brave New World at the end of the chapter, so it would have been impossible to discount novels as being irrelevant. The destinguishment between a reflective novel and one which prompts no action, has a very high information to action ratio is really impossible, which makes it interesting.
Bible scholars often make the attempt to make objective summary of the bible. They often disagree with each other about these summaries. If they where objective, they would never disagree. So these scholars, while some of them are either trying to manipulate the readers of their summary, or are just plain crazy, are being insightful. So why do they not see the flaws in the bible. Under the assumption that expository writing has flaws, and insight sees these flaws, we might be so astounded as to conclude that the bible had no flaws. But I found an objective reason at Christmas for why these scholars did not see flaws in insight. I was speaking with my grandmother about something or other, and I ended up looking up the Creation science museum. On there web sight, they had some information about creation science, one of the things they mentioned, was that scientists where wrong, because they failed to reconcile their findings with the infaliable bible. Is it possible that these people hold reality to be a psedo-context for the true bible and thus science really is irrelevant to them?
Wow, it's 18:00 and I haven't finished my summary, why am I wasting my time looking at the clock?
It's 22:44 and I just finally finished that summary, time to go to bed. I didn't get my laundry done, bad omen. But I have a long weekend between me and my next math test, time not to procrastinate though.
It seems that every time I have a big Write Activity like this, it will refuse to keep in some way or another and I'll have to copy it over to a new one...
Sigh(like right now, no keep as text)
Working, Terkel, Studs
Polarity reader: Some code to set up single line highlighting in emacs. This is helpful for readers with low visual acuity.
modal-key-bindings: Use a hierarchical alist to bind keys so as to allow for fast switching between layouts in emacs. Blogging within EMACS: This is a script to help you maintain a web side locally. It's really just a front end to lftp.
unaccent-dir: When mv fails with invalid argument errors because there are weird ? marks, or accented characters in file names. You can call this elisp function on the directory you where trying to move in order to clean things up.
window-stack: Create and maintain a vertical stack of windows, in collaboration with ibuffer.
Discipline: A little script for emacs that beeps when you get off task. Uses a white-list to tell which buffers are legal.
dspspy: This is a great example of why open source rocks. I have made some small changes to the dspspy surveillance(and here we see that the XO's sugar interface is still buggy, I cannot get suggestions on how to spell that word through it.) program to make it friendly for taking notes.
Lojread: This is an elisp program which I worked on a long time ago. It helps a lojban speaker, even with the most limited vocabulary and understanding of grammar, to read, and learn lojban with ease.
Ical-to-planner converter. IE, google calendar in planner!: This is a strait elisp codec which imports ical feeds into planner. You can essentially subscribe to ical feeds.
Planner cycle:Cycle between day view, week view, and month view with one key
r key hack for org-mode:A tiny script which makes it so that when you press 'r' at the beginning of a line in org-mode, it creates a *. This makes it so you don't have to reach up and press S-8.
Data hands, under desk project: This is my personal claim to fame. I use my computer underneath my desk. Right now, the pictures up there are of my old desktop, I have now retrofitted the enclosure so as to hold a laptop. I am currently working on setting up my XO to work with this so those pictures in the near future will be 3 generations old.
EMACS on the XO-1 OLPC: A guide to running emacs on the XO, and how to set it up to work well in ebook mode.
So I have created an ical-planner codec, this allows you to see your google calendar events in planner mode!! It's easy to install and use!
At the shell.
$cd ~/elisp $wget http://www.timthelion.com/planner-ical-import-0.1.elAnd add:
;; Get calendar info from google calendar into planner.
(require 'planner-ical-import)
(setq planner-ical-external-calendars
'("http://www.google.com/calendar/ical/calendar1/basic.ics"
"http://www.google.com/calendar/ical/calendar3/basic.ics"))
(define-key planner-mode-map (kbd "C-c g") 'planner-ical-retrieve-updates)
You can get those URLs by going to google calendar and going to Settings->Calendars->Calendar-name->Private URLs, and then the ical icon.
Please note that the first time you run this it will take about 15 minutes, it comes down to about a second per new entry on subsiquent runnings. If you have multiple calendars you may have to run it twice the first time. If you have to cancel this, you'll have to go to planner-ical-muse-dir and delete the muse files that where created.
You of course don't have to use google calendar to use this program. You don't even have to use a web based calendar, to convert a local file do.
(planner-ical->planner-muse "~/basic.ics")You can also use the codec strait without importing into planner at all.
(setq planner-ical-dryrun t) (planner-ical->planner-muse "~/basic.ics" "~/output.muse")That's all for now. Please note that this is very much alpha software, here are some things which are iffy. By design it is *impossible* for me to implement event deletion. That is if you delete an event in google calendar it won't go away locally. I have not added timezone support, though this would be quite easy I think. I did not add support for long entries, ones where the content continues on another line with a space before it. You can do this yourself and send me the patch.
So, I wanted to do some matrix manipulation, not for practical purposes but in order to better understand matrices which I am studying in pre-calculus right now. It turns out emacs' M-x calc is useless for this as it deletes both matrices when you add two matrices. That is, I could not figure out how to add two rows of a matrix at all.
[[1, 1, 1, 3] +[1,-1, 1, 1]]And thus found myself resigned to using a method which is just plain wrong.
[1, 1, 1, 3] +[1,-1, 1, 1]which results in
+[2,0, 2, 4]not
[1, 1, 1, 3] +[2, 0, 2, 4]as would be the desired behavior for this work around. So I found myself looking farther. I found: tkmatrix. which did not at first compile and run, as would be hoped, on ubuntu. Here is the fix:
sudo apt-get install tk8.4-dev tcl8.4-dev tclx8.4 libgmp3-devAfter playing with that I found it could do my math homework for me, but I could not do any hands on manipulation. Then I found, the not so optimal, but certainly usable.
sudo apt-get install scilabas you can see, it takes a bit of typing to do simple matrix manipulation, but it is most certainly not impossible. I am however certain that there is a better way, or there will be when I write one.
-->a=[1 1 1 3];b=[1 -1 1 1];c=[1 1 -1 1]
c =
1. 1. - 1. 1.
-->a,b,c
a =
1. 1. 1. 3.
b =
1. - 1. 1. 1.
c =
1. 1. - 1. 1.
-->c=b+c
c =
2. 0. 0. 2.
-->c=-2*b+c ; b=-1*a+b
b =
0. - 2. 0. - 2.
-->a,b,c
a =
1. 1. 1. 3.
b =
0. - 2. 0. - 2.
c =
0. 2. - 2. 0.
-->c=b+c
c =
0. 0. - 2. - 2.
-->a,b,c
a =
1. 1. 1. 3.
b =
0. - 2. 0. - 2.
c =
0. 0. - 2. - 2.
-->
Hello, I have not blogged in a long time, I am starting to do so again as a personal goal, and satisfaction management system, as well as a personal project documentation, management, and publishing system. You don't really need to read this blog, but it might have useful tips, interesting stories, and optimistic tidbits.
Today, I ran an XC race at Magnuson park in Seattle. My dad and I got up early, 7am, to drive up there in the dark, arriving a little under an hour before the race to warm up and sign in. This race was part of the Super Jock and Jill Grand Prix series of races managed by FWTC. I have run these races for the past couple of years, and signed up for the entire series, but this year I have missed the first two races and have decided to pay individually for the last 4. I missed the first two because I finished the high school cross country season with a stress fracture and while I did run the foot locker regional in California, I wasn't actively seeking out ways to stress my injury. I have also been doing swimming for the first time this winter, and Orienteering, for the first time as well. In fact, I first was reminded of the Prix series when C D from my old club track and cross country team Cascade Striders showed up at my first O at UW, and asked me why I hadn't gone to the Prix race which was held an hour before and just a few blocks away from UW O.
California: Near the end of last quarter, I went to California to run in the foot locker regional with the rest of my high school XC team. My main reason for going is that I will be captain of the boys team next year and wanted to do some bonding. After all, I have never gone to LW, having attended private school, and now BCC. I did not get much bonding done, as I was very sick. I did not run so great either, and the whole thing would have been a waste except for one event. G and I where in the hotel room together, and we began discussing philosophy together. I felt almost as though he where taking pity on me in speaking with me, even though I am a terribly annoying conversationalist to him. I should not have felt this way. We started out, I posing questions, and him responding. Naturally, I assumed he was not a nihilist like me, so all my questions where rhetorical in that direction. After just two questions he started showing distress at my tactics, and upon the third one, G admitted to being not only a nihilist, but being one who was actively struggling with the philosophy and was quite depressed. I was quietly ecstatic but allowed him to terminate the conversation in a kind of waffle, as neither of us could think of what to say and another team mate had finished his shower and walked in.
The next day we went to Disney Land. I had never been there before and was quite surprised and content with the joyful retro pedophile feel of the park which was haunted mostly not by children but by teenagers and young adults like, and older than, ourselves. Due to some organizational-groupo-political reasons, G and I ended up spending half the afternoon alone together. For me, it was like finding another scitzaphrenic who saw the same thing as me, and discovering that it was the rest of the word being crazy.
G and I have exchanged several rather depressing e-mails since that time, and in all of them, I have pretended to be the happy as a clam nihilistic existentialist I sometimes wish I could become. G seems to have bought it and is now, or now claims to be, somewhat happier than he was before I started BSing at him.
In times since, I have come to a kind of philosophical peace myself. I spent many years fighting with my belief that I was a robot, slave to emotions. No more than a machine, designed through evolution. Then I asked myself why that machine had become suicidally depressed over philosophy, and I figured that it was because in seeking happiness, I had entered a mode of thinking in which I was trying to optimize things, for instance, why have a cat, having a cat does not improve productivity. Why why why why why. But these questions, where failing to measure productivity correctly, they where valuing an undefined thing in productivity while discarding happiness. I decided that this is an illogical thing to do, and since the reason I was evaluating why I had become depressed as a nihilist was because I didn't want to be depressed, my conclusion from these thoughts was that being depressed by nihilism was inefficient and against the 'purpose', direction is a better word, of the machine, me.
So after I came home from running, I had 3 things that absolutely had to be done this weekend:
1) Summarize a rather good chapter, peek-a-boo world, from the book "Amusing Ourselves To Death" by Neil Postman. This is definitely a good read for anyone who reads, or watches, or listens to any type of news. It is asserting that since we don't have any power to change the world, that there is little point in knowing of it's problems. That's not an adequite summary, great essays can't be summarized. This summarization is also about a 5th of my English 201 grade.
2) Work on my psychology portfolio. This is a project in which I must collect 6 articles from 6 different perspectives of psychology:
Biological: Psychology as the study of the relationship between behavior and the physical qualities of the mind.
Behavioral: Psychology as the study of the relationship between environment and behavior.
Cognitive: Psychology as the study of how people solve problems using their minds.
Psychodynamic: Psychology as the study of the relationship between the uncontious and concious minds.
Humanistic: Psychology as the study of existentialist thinking.
Socio-cultural: Psychology as the study of the relationship between cultural and psychological behaviors.
I am then supposed to summarize what these perspective are, how the chosen articles relate to the perspective I am claiming it was written from. I am also supposed to briefly summarize the article.
Late today, I was working on this project, and was relieved to find it is due the 15th of next month. I had been working under the assumption that it was due this month. Few...
3) Yesterday, my Calc II teacher asked us to get out a piece of paper after the class failed to produce any questions on the assigned chapter. He gave us two questions: Make a PARTITION of [2,5] and Find the MESH of this partition. None of us where able to answer these questions in the 60 seconds provided. He then asked us to turn in the papers, stating they where worth 20 points. When we bawked, he told us he was joking, but it was a 'life lesson' and that we should read our books. So I guess I need to read my book.
There was also one thing which I *wanted* to do today. You see the XO's sugar interface currently has basically no accessibility right now. So I wanted to write up a proposal for what I believe would be a good accessibility plan. My proposal is based on my emacs configuration for the xo, where I use the gamepad x key to raise ibuffer(list of buffers) I use the up down arrow keys to navigate between lines, the left right ones to navigate between anchors, the check key to follow anchors, and the square game pad key to go back. I can then do line based visual accessibility:
I make the current line positive polarity and the rest of everything negative polarity this helps me keep my eyes on the right line of text, but line based interfaces can easily send the current line to a screen reader or TTS engine. With an anchor cycling mechanism they are also trivial to implement good(very good) keyboard accessibility for. I do not believe it would be too much work to make sugar have an api to facilitate line based navigation, as say here in write what do I have? I have at the very top of the screen a line of anchors, "bold", "italic", "underline", "font color" ect. Then, a second line of anchors, "Activity", "Edit", "Text", "Image", "Table","Format","View". Then we have a bunch of lines of text. Get my point? I don't think that it would be too difficult to make this interface navigable by keyboard in a line based fashion.
So that's what I wanted to do today, write up a proposal for API to do just that. But instead, I got home from my XC meet with a head ache. Lay down and played with TamTam for a while, checked my e-mail(no one loves me:( ), got my blog set up in a kind of cludge manner for blogging from the XO(I use cpanel to upload from Write in Browser, yes I'm not using emacs I *CAN* use the computer without accessibility, I just prefer not to and can't read a lot without it, after getting blogging working, I went back to TamTam, had a discussion with my dad about an essay I tried to write last quarter in favor of the views of a black guy who was in the 'gheto' and joined the military and is now a well paid talk show host which ended up being a discussion about the military and the uselessness of the navy. Then I played with Tam Tam, ate dinner, worked on my psych portfolio, and started taking notes for that summary, and now I'm blogging at lets see, here, 1:43am.
OK, good night, I should have gone to sleep a while ago.
HMM. Apparently write activities can only be kept as text if they are not named Magnuson XC... I ended up creating a new one and copy pasting... I wish they would upload to Browser with names in tact...
Oh how I love linkd-mode
click to enlarge
I have it set up so that Front page comes up when I press C-x h. I can press the keys in the brackets ('[]'s) to follow those links(I plan to modify linkd-mode so that it can bind those keys it's self(I'm currently doing it manually when I press C-x h)).
M-x (spanish) starts an email to my teacher with the spanish spell checker, and the spanish-alt-postfix input method(which I currently have to have (set-keyboard-coding-system nil) in my .emacs file to get it to work in emacs-unicode)
M-x (chemistry) and M-x (math) do something cool though. They start up math-mode(a mode I wrote) which uses pprinter to format the equations.
M-x (take-world-history-notes) calls
(defun take-world-history-notes ( ) "starts dspspy recording to ~/history/$(date '+%d-%m-%y')" (shell-command "mkdir ~/history/$(date '+%d-%m-%y')") (shell-command "") (term "/home/timothy/elisp/functions/history-notes-dspspy.sh"))
the contents of history-notes-dspspy.sh being:
#!/bin/bash cd ~/history/$(date '+%d-%m-%y') dspspydspspy being:
This morning, I almost failed to wake up. The alarm rang at 7:45, it was 7:50 when I turned on the light. My nose was completely plugged, but luckily, that went away in the shower. I opened up the freezer to get my favorite apple pizza pop tarts, but they where all gone. The box of waffles was also empty, and there was only one piece of french toast left. I resorted to the toast and a microwave burrito. Running up the hill to the bus stop, I was passed by A's dad's car. Even though I was eating my burrito which had become one with the napkin forming a kind of questionably edible bullet proof cardboard, I had passed the car again, I love it when traffic makes me faster on foot then those gas guzzling vehicles, noting that I do have a very stable stomach and the burrito did not in fact give me gas. The bus ride was as normal, reading my psych text book, I could never have kept up in that class, but for an error by the book store. The first exam has been delayed because not everyone yet has a book. It was supposed to be today, and on the first to chapters, I am 3/4ths of the way through the first now. I don't think my classmates are fairing better though, the ones who have the book, and our professor just today covered what I had read this morning in class.
The book issue has not only affected psychology, just this morning I was able to pick up my English book which I ordered the second day of school. It's such a waste of paper... I get the etext through DSS, but I still have to buy a physical book in order to keep up with copy right law.
I came inot math with three objectives today.
1. I needed to show S the pictures on OLPC wiki of kids with this laptop. He claims it is 'too heavy' for kids to carry.
2. I needed to tell my professor that the volunteer note taker he had selected for me was acceptable. I get a note taker in math because being dysgraphic, I cannot easily write notes, and it being math, notes cannot easily be entered into the computer.
3. I needed to get through the class without him staring me down for not having read the book.
My first objective was interrupted bu S coming over to my table and stealing my newly acquired(boy that's hard to spell) English 201 text. Then it was interrupted again by my inability to connect to the (hidden essid) wireless(don't know that I have done this since I upgraded to joyride, but I HAVE to get this working soon as email is how I will turn in essay quizzes in psychology). So I couldn't get on line to the wiki to show S the photos.
Every now and then in math, I will look at the neighborhood view on my XO and see Alyssa Goulart(now taking advantage of pop up menus not going away to keep her name up in write so that I can copy it in. I really hope to someday chat with this person so that maybe we can have a little XO party. I think a great shakesperian literary work will spawn from the OLPC project, it's title: "The Girl on The Mesh" or however you say that in whatever language 'they' speak in 'the third world'.
In math, we covered a notation which is new for me. The bar. Which takes two numbers, plugs them into a given expression, and then subtracts the result.
5 x | = 5 - 2 = 3 2
I wish that lambda notation instead of the phrase 'plugs into' would be used in school. It seems that even the teachers have trouble thinking about the difference between functions, expressions, equalities, and variables and thus use the idea of a function and a lambda interchangeably.
So it's 12:52 now, and I need to leave for swimming at 14:45. I guess in that time, I'll read my peer edit summaries from English, do the dishes, and my laundry, then see if I have time to prepare that article on using EMACS on the XO.
After swimming, I need to read my math text book, look at the schedule for English print out another two copies , hopefully have time to write about EMACS on the XO, and then finally check my e-mail.
It ended up taking me longer than I expected to do my chores, and I have yet to finish my peer edits. It is now 21:00 and I have spent the evening since I got home from the pool at 18:40
It was snowing.
eating dinner with my father and talking.
The beginning of the conversation was my posing, as an interesting point, the relationship between the 'controlled monopoly' of the St. Paul airport taxi cab drivers denying rides to travelers with alcohol, and the uncontrolled non monopoly issue of pharmacists and pharmacies denying contraception pills.
There where two interesting points in the conversation which I would like to pursue further:
a. In the case of a serious illness which has a treatment or cure which is owned through intellectual property by a corporation, a new market is brought into being. One with one product, the drug, one consumer, the sick person, and one provider, the corporation. In other words, a monopoly situation.
b. Later, we where talking about how terrible the peer edit essays I was given where, and I was expressing complaint at my classmates use of my words or ideas. My dad asked me if I was saying that I felt my intellectual property rights where being violated. At first, I was quite put off by this question, I was surprised that I would find myself in a situation of protecting my intellectual property. I then realized that this was not the case at all. My qualm with the students was not that they where violating my property, but that they where being dishonest to the school whose purpose is to produce the best possible educated society, these students sacrifice that education by finding an easy way out.
Well anyway, now I need to figure out how to convert those math text book pdfs so I can start reading tomorrow, and go to bed.
Ever had a full text ebook that you wanted to read in emacs, but couldn't figure out how to highlight portions of it? This code doesn't high light anything, but it can make note of interesting lines. I use it on my XO(non-xo users will want to replace <select> with RET...). It's from my .emacs...
Here's how it works...
We define a hotkey which you will press to take note of a line in a file.
Then we open up file.notes, and do M-x note-mode, navigate to the line we noted, and pres the check key(if you're not using the xo you'll want to change that to RET in my code and use enter) to jump back to that line in the file.
For example, if I press my hotkey <left> now, and then the check key to confirm noting. Then I do C-x C-f file.notes and M-x note-mode. I will see...
>8: For example, if I press my hotkey <left> now, and then the check key to confirm noting. Then I do C-x C-f file.notes and M-x note-mode. I will see...
If I then press the check key, I'll be back in my blog entry, at line 8.
Note, this is pretty useless for files where the number of lines changes...
;note
(defun note
( )
"Sends current line to notes file."
(interactive)
;(viper-change-state-to-emacs) ; un comment to make it work with viper
(when (equal (read-key-sequence "Would you like to note this
line? [Check,anykey]") (kbd "<select>"))
(let ((line (thing-at-point 'line))
(lnum (line-number-at-pos))
(buffer (current-buffer)))
(find-file (concat (buffer-file-name)".notes"))
(end-of-buffer)
(insert "\n>" (number-to-string lnum)": " line)
(switch-to-buffer buffer)))
;(viper-change-state-to-vi) ; uncomment this to make it work with viper
)
(defvar note-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "<select>") 'note-open-orig)
map)
"Mode map for note mode")
(define-minor-mode note-mode
"A mode for displaying note files."
:keymap note-mode-map
:version "0"
:lighter " Notes ")
(defun note-open-orig
( )
"Open the original file that the current note file is based, on at
the line noted."
(interactive)
(beginning-of-line)
(delete-char 1)
(let ((line-number (number-at-point))
(note-file buffer-file-name))
(let
((orig-file (with-temp-buffer
(insert note-file)
(end-of-line)
(delete-backward-char 6)
(thing-at-point 'line))))
(insert ">")
(find-file orig-file)
(goto-line line-number))))
Wow, look at the source to that thing a mandlebrot implamentation in the brainfuck language.
I have set up my blog with blosxom which seems pretty optimal. I blog with M-x blog,
;blog (defun blog () (interactive) "a function for bloging" (find-file (concat "/ftp:timtheli@ftp.timthelion.com:/blosxom/" (read-string "Blog entry") ".txt")) (html-mode) (flyspell-mode) ;very necessary ;) )Seems pretty easy. I never got writeback_notify to work because geekhost, my webhost, is missing some perl moduals. so I'm going to try wbnotify which appears to be very similar, except it doesn't use Mail::SendMail. Should get that working when I finish this post. Well anyway, this blog is going to contain everything I find mildly interesting and I'm interested in EMACS and accessibility technology, this week at least, so it should be fun.
Using languages you aren't used to can be such a pain in the butt.
So I was trying to make it so that I had a file with the common menu code for all of my blosxom flavors, but.
# Menu a variable with the html for the menu that appears to the left of each page.
open MENUFILE, "</home/timtheli/blosxom/menu.html";
$menu="";
while(<MENUFILE>)
{
$menu .= $_;
}
close MENUFILE;
Gave me an error,
[Thu Feb 1 12:21:06 2007] [error] [client 71.112.106.163] Premature end of script headers: /home/timtheli/public_html/cgi-bin/blosxom.cgi]Not so use full.
It turns out I needed
# Menu a variable with the html for the menu that appears to the left of each page.
open MENUFILE, "</home/timtheli/blosxom/menu.html";
use vars qw($menu);
while(<MENUFILE>)
{
$menu .= $_;
}
close MENUFILE;
Not exactly sure why, but that fixed things.
Apparently for some stupid reason, people don't seem to parse timthelion as 'Tim, the lion'. So I thought I might tell a little about the name. So here I go... Way back when, when I was young and my hands where new, and rsi was something that happened to people's mothers, I was playing a game called Microsoft Age Of Empires against my sister. We where playing 'nomad' which is where each person starts out with one villager and has to build a base from there. 30 seconds into the game I received the message "victory is yours.". I was a little shocked, I mean, I was good, but not THAT good. So scrolling around the map, what did I see? I saw a lion standing over the dead body of my sister's one and only villager. I've been timthelion ever since.
Hello, my name is Timothy Hobbs. I am a junior in high school, doing running start at BCC www.bcc.ctc.edu . I own an XO the laptop produced by the One Laptop Per Child foundation www.laptop.org and am very interested in accessibility software for the XO. I use and love emacs, and wish to bring it's accessibility to the third world without dragging them out of their comfortable sugar interface into EMACs' fully destructible hetroverse. I am a dysgraphic NVLDer, which means that I have trouble hand writing, I have trouble reading, and I have even more trouble doing rote tasks, NVLD however, is not all bad, and I would consider it to be more of a Learning Difference than a disability, NVLD basically makes me better at thinking and worse at doing. My favorite sport is track, I run the 400m(52 sec), 800m(2:01.27), and 1600m (4:46?). I also swim, Orienteer, and run Cross country.