Older blog entries for andrewsj (starting at number 9)

  • code:

    Today I coded a lot on tuxmenu. I have a very nice prototype done (pretty much). Now I just need to figure out how to make it so it is extensible. So that every time a new game is released, it can be effortlessly added to the menu. Plus I want it to be easy for teachers to change options. example: a teacher can set the word list for tux typing to be the spelling list for the week There are so many things to think about. The least of which is how to actually code it. What a teacher/student/... should be able to do. And how is the best way for them to interface to our software. We don't want the software to get in the way of the teacher teaching or the student learning. We want our software to facilitate.

    I also wrote an MPI program to do a parallel prefix sum on a hypercube. I like my code since I used bitwise operators instead of lots of moding and if statements. Pretty compact. Other than setting up MPI and finalizing, computing prefix sum and reporting it for each processor only takes about 10 lines. Anyways.. MPI is fun.

    released my mac binaries for tuxtype and tuxmath

  • life:

    today I finally got it figured out how to chat with Emily while she is in Scotland. It was nice. UKLUG (University of Kentucky Linux Users Group) meet today, we talked about a few things and I got some people to help me try to get dvds to work on this ibook. It worked, but only about 5-10 frames per sec... dooh.

    I need to study more! I spend too much time coding and reading papers that don't relate to my research topic. Damn this stuff for being so interesting!

hacked some more on the tuxmenu system. It is looking fairly good. Got some help from #SDL last night on the best way to launch a SDL app within another SDL app. Originally I was toggling the menu to being a windowed mode, and then launch the app, and toggle back to full screen mode when I came back, but now I just kill the video subsystem of SDL, so the window goes away, and launch the new app... then re-init it when the app returns.

my seminar in crypto confused me today... i am afraid I am in over my head....

me tired. me sleep now

A very productive day for coding. I got a lot of coding done for a menu system for tux4kids games. It should help with using themes and specifying options for games like tuxtype and tuxmath. Both of which only have command line switches as the only way to specify options. The menu system is in SDL, so it is interesting getting them both to work (both meaning the sdl menu, and sdl game it will launch). I will probably actually recode the entire thing from scratch. It is fairly klunky, but it works!

Found a few problems in tuxtype, but they must not be that critical as they have existed for a long time (and they are with regards to a patch I wrote to allow keyboard movement through menus). It should be easy to patch. I basically move the mouse cursors to specific coords based on keyboard input, but I specifed those coords relative to 0,0 being the upper corner of our SDL_Surface screen, not the actual screen. It works if it is in window mode, but in full screen mode, the 0,0 in the SDL_Surface screen is not the 0,0 coord on the real screen. So I need to figure out the real coord of the corner of the SDL_Surface screen and do some addition and it will be fixed ;) This bug affects all platforms that tuxtype runs on.

Speaking of platforms, I have tuxtype and tuxmath running fairly well on mac. I had no way of checking if the port of tuxmath was working correct until I tested it for the first time under linux, and my port works on everything but it doesn't blit the backgrounds... Not sure yet. I haven't booted into mac to code, since I spent all day in debianppc coding the tuxmenu (or whatever the heck it will become).

Since it is 4:30am (or so), I should hit the sack.

Another day, another dollar (spent).

I have been working on a menuing system for the Tux4Kids project (of which tuxtyping and tux of math command is a part). My goal is to develop a interface for educators (or homeschoolers), students (or users), IT staff... I don't yet know what would be the best for all of these and am working on creating a survey. The main goal of the Tux4kids project (in my opinion, not an official position of the organization) is to create open source software the "facilitates" learning. The word facilitates is key.

Other than starting on that I tried to port SKOBO (I have spent hours playing xkobo) to mac, just for fun. I found out that part of it is in C++, and I only have MPW for mac, and I don't think it does C++. Anyway it wasn't important, just something to try out...

Did a lot of studying of finite fields (math) for my research position. I also read a paper called "A Concurrent Window System"... Pretty nice. Need to study it in more detail just for ideas.

Anyone have any opinions on opensource software in education? Just give me a email!

Had an idea for a game involving optics. A fried recommended that we develop a "science" game. Game means fun. I couldn't think off the top of my head of a non-trival science game. The I thought of a game where you must place mirrors to have a laser move through a room without touching any sensors, which would set off a bomb.... Anyway...


7 Oct 2001 (updated 7 Oct 2001 at 09:23 UTC) »
If you port to Mac (pre-X) please note: (unix path format = mac path format)
  • ./path/filename.txt = :path:filename.txt
  • path/filename.txt = :path:filename.txt
  • /path/filename.txt = path:filename.txt

Ok, I hate mac! (not really, I am just annoyed with MP W... I really miss makefiles, gcc, and vi.)

So I have been porting TuxTyping to Mac Os (not X), which something I have been wanting to do for criswell as one reason for TuxType was for his wife's classroom, which got "upgraded" to Macs. So I found that mac has MPW (Macintosh Program...), which I have basically just used to build. SDL seems to work pretty good, but a lot of file modifiers, etc had to modified... A lot of work...

But if I knew about things like :path:filename.txt is relative, while path:filename.txt is absolute. Since I spend most of my time in the *nix world, I was completely perplexed because I couldn't get fopen() to work... After researching (read this, searching google), I eventually figured this out via someone complaining about porting a MOO server to Mac os 6 or so... I even talked on #macintosh and no one knew off the top of their head...

So I have the port most of the way working. The only thing I must wait for is a serial for the Install Vise (they give out free serials for freeware/shareware installers)... The best thing about the port is that it is really easy to see memory leaks on Mac os (pre-x)... I found 2 more memory leaks, and now it seems like I have them all.

In other news I had a sucessful presentation this week on quantum computation, I came in third in a programming contest at UK (that is, University of Kentucky), and am on Team 1. The cool thing is that if the team places at regional (it has every time since we started 5 years or so ago, from what I have heard), we got to nationals in the spring, which is in HAWAII !!!

That would be so cool. Especially since my fiance and I are thinking about going to graduate school (me) and law school (Emily) in Hawaii. So if you have any info about the PHD or Law programs at a Hawaii university, I would love to hear. I am thinking right now that I want to do my PHD in Quantum Information Theory...

I have debianppc working mostly!!! Sound, Wireless networking working, only DVD to go...

21 Aug 2001 (updated 21 Aug 2001 at 09:20 UTC) »

I just spent the last 5 hours working on porting Tuxtype to Mac OS 9. It is 5:30am and I have slept yet. Let me tell you, it sucks porting to Mac OS 9. I really wanted to port to Os X, but it seems like the libraries aren't ready yet, and I am not ready to work on the libraries. Plus most schools will have OS 9 before they would have OS X.

I hoped that I would have finished this, and who knows, I may not go to bed yet. But considering that classes start back Wednesday morning, I will probably try to get a few hours of sleep.

Side note: If you read this within a few days and know what:

LOADMUSIC: Trying :sounds/funkbrk.it
LOADMUSIC: Trying :/sounds/funkbrk.it
LOADMUSIC: Trying ./sounds/funkbrk.it
LOADMUSIC: Trying ../sounds/funkbrk.it
Couldn't load ../sounds/funkbrk.it: Couldn't read from 
could be caused by, email me! It is when we are using Mix_MusLOAD in SDL_mixer

TuxType will launch and everything, the game even plays nice. I just have to disable the sound! Plus I had to change it so it was windowed mode, just like the windows port. Also in the course of porting it I found a few small bugs and one "feature" that I now classify as a bug. The intro screen requires about 15+ MB, while the rest of the program requires <10mb. It is because of the background image. I will work on that later.

anyway I am going to hit the sack (maybe, I really want to finish that dang port).

Nothing much as far as programming happened today. I have started on my research assistantship for the next semester. This summer I basically learned a lot of the background for cryptography, and now I am going to start my actual job of reading papers, and presenting them to my advisor, and the seminar on occassion. My first paper I have been reading is called "Weaknesses in the Key Scheduling Algorithm of RC4" by Fluhrer, Mantin, and Shamir. It is quite fitting that I am studying this paper, since right now I am typing this entry via an 802.11b network (airport for apple people). 802.11 uses a protocol called WEP, which stands for Wired Equivalent Privacy. The idea was to make the info that is flying through the air as private as wired communication. Well, I don't think wired communication is that secure and it turns out that WEP is not secure at all. These blokes show that recover of the key (which is the secret passphrase that makes the encryption work) can be done in a "negligible amount of time which grows only linearly with its size". Well, I guess I should be careful what I type! A related store was covered @ slashdot, about an intern who implimented this and was about to recover a unknown key in about 2 hours. At that the dickens. I get a wireless network, and now it is up for anyone to use, and snoop.

Well before one loses all sense of dispair, you can impliment a encryption layer over the tranportation layer... Basically you make it so all your wireless stations encrypt via something like SSH all traffic (TCP/IP) going out. Then you have a router (like a linux box) that decrypts and passes it on like a good proxy. I am not doing any of this as I don't think it is an issue as of now, but I know I am not going to be typing account numbers or anything like that on my wireless connection... That is what my roommate's desktop is for ;)

well my airport is working great on the iBook. I took a walk outside to see how good the range was. I got a good 100+ feet. I am sitting outside across the way and listening to some mp3's streaming from mp3.com and typing this. I am heading over to a friends tonight to help them get there wedding pics.

on a tech note I tried hooking my digital camera (Agfa Ephoto cl18) to the iBook, but no go. I am thinking about maybe porting gPhoto to Os X, but I also downloaded debian for ppc, and will install it maybe soon.

School wise, just 4 days until classes. I am taking some neat classes next semester and am looking forward to returning. Well my friend is here, have to head out...

I had written my diary entry already, but unfortunately I have learned that Internet Explorer can crash at the worst times.

I want very much to be programming in SDL again, but haven't got sdl_image and sdl_mixer to work under Mac OS X, so I am spinning my wheels. Anyone with any info, contact me!!!

While cooking dinner (more later on it), I listened forf a while to TechNetCast, and most interesting was a stream about .net. It gave a lot of talk about what exactly CLR is and what it means. The speaker gave a lot of interesting remarks about java, and open source. He said that Sun is doing the same stuff as .net and that both teams (M$ & Sun) have been working off of each others work. Interestingly he gave a very nice compliment to open source, calling us the artists. He compared VB programmers and the sort to liquor salesmen (ok, to really get this listen to the stream).

My last thing of the day has been cooking. I have tried once again to make risotto, and it came out much better this time. Cooking is my third love (after my fiance Emily Janovyak, whom I will marry next summer, and open source programming). I really wish I could attend some cooking classes or lessons. Maybe I can get an internship at a nice eatery, and learn on weekends (although I don't think my resume which is all technical and greenhouse work would really impress them at all). Maybe someday....

17 Aug 2001 (updated 17 Aug 2001 at 18:00 UTC) »

Well, I am posting this on my new iBook. I finally made the decision to simplify my computer life and finalize on one computer. So after much research I decided on getting this. As far as the hardware goes, it can not be beat by any other company out there. The screen rocks, and the detail that apple put into the iBook is amazing. The titanium was interesting, but I ultimately decided on this because it offered almost the same performance at a lower cost and it is more portable. So far I have a few things happen inside of Mac Os X that shouldn't have happened, but they are small. Hopefully the update will help. By the way this is my first mac. I will change it to be dual booting with linuxppc, but I don't want to do anything until I get the update to os x, since I want dvd support in os x before I get rid of os 9. So eventually I will have a day or two of struggle getting linuxppc working ;) Anyway I am impressed with the software since it is the power of unix with the user functionality of apple. Dang, it is 2 am and my neighbors have friends over creating a lot of noise. I hate noise. (Which is another reason for the apple since they are quiet as a mouse, while the sony vio sounds like a jet taking off).

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!