Browser Load of Coolness
Welcome to Browser Load of Coolness. This site is the product of Pizzasgood. Pizzaswho, you ask? Well, the short answer is that I'm a hyperactive 20 year old guy who likes a little bit of everything. I program, draw, snowboard, read, bike, camp, build computers, and make websites. I can even cook chicken cordon bleu in a campfire (yummy). This place is where I put any cool stuff I make, do, or find. It's also kind of a portfolio. If you feel like hiring me to do something, feel free to drop me a line. I could always use a little more dough. :)
Random Blurb
We are all worms, but I do believe I am a glowworm. --Winston Churchill

Updates
These are the last 5 updates.
Wednesday, March 11, 2009
Well, I thought I was about to start being very productive... And for the first two or three weeks of January I was. But then school went nuts and I've been swamped since. I have managed to severely cut the time I spend in the Puppy forum, but all that new "free" time just got sucked up by school.

One thing I've been doing in what little free time I've had is learning Git. I like it much more than SVN. After having used it a bit, I can easily see where Linus Torvalds is coming from when he compares them, though I don't feel anywhere near as strongly about it as he seems to. Very slick though. Next time I work on Project Carrot, I'm going to switch it into a Git repo. Ignoring my preference, Git is still better suited for that particular project, because I intend to do a lot of different things with the code, splintering it off into several independent experiments and then merging parts back into the main line. Retrovol will of course remain in SVN, since I'm doing that through Puppy's semi-official Source Forge repository. And unlike Carrot, it has little to gain from Git.

Spring Break is finally drawing near. If I can survive for three more days, I'll finally have a chance to catch up on my sleep. Then I plan to learn how to use autoconf and gettext with my programs, then start the next phase of development on Retrovol - adding the menus and dialog boxes, and the ability to have "views" or "modes" that change which controls are shown. I would have had this done a month ago, if not for all this danged homework.

Speaking of which, I'd better get back to work. Later.

PS. Since this site isn't living up to it's name lately, here are some others to keep you busy until I have time to be cool again:
http://freefall.purrsia.com/default.htm
http://www.gillcomic.com/
http://www.out-at-home.com/
http://www.sandraandwoo.com/
Tuesday, January 6, 2009
Last year wasn't as productive as I'd have liked. Therefor I'm making some changes. I won't be hanging out in the Puppy forum anywhere near as much from now on. That's something I had begun implementing last summer, but I relapsed in the fall. I'm also giving significantly higher priority to my non-Puppy stuff.

Anyways, over break I did some more work on Carrot, which is the name I gave to the 3d engine I'm working on. I'm still working on the model stuff. Now there is some support for weighted animations, blending, and fadeins/outs for them. I also added support for translations (still need to do scale support sometime). Before I do much more I need to stop and hash out the framework for a more consistent API than the current mishmash. Then I need to do normals and textures and stuff.

When I get it cleaned up and all, I'm going to make a simple demo where you can fly around (on a magic carpet) and watch deformed creatures roam.

Also, one of the things I was working on last fall was learning SVN. So now I've put Carrot into an SVN repository, and for the near future that repo will be available publicly at svn://pizzasgood.no-ip.org/carrot (you of course need to be using an SVN client to use that). That way I don't have to keep copying it back and forth between my laptop and desktop when I'm traveling.

The SVN can also be viewed with a browser at http://pizzasgood.no-ip.org/viewvc/Carrot/. For now anyways.
Monday, December 8, 2008
Get ready, because this may well be the coolest idea I've ever had.

Okay, so if you're anything like me, you keep a bunch of instant ramen nearby. In my case, it's in the set of drawers to the left of my desk. But, we all know instant ramen isn't really instant enough, right? So it isn't abnormal for me to skip cooking it and just eat it raw. The problem is that I wind up with a bunch of those little flavor packages laying around. I'm a packrat, so it's hard to thow perfectly good things like those away. I mean, I don't know how much of my $0.20 went into that pack, but it's something, you know? So they build up.

Well, until now. I just cooked some popcorn and was eating it, and realized it was pretty bland. If I had any butter around I'd melt it and pour it in, but I don't. No cheese either (I'm eat most of my meals at the dining hall to avoid spending half my life shopping and the other half cooking, so don't bother keeping many supplies). Well, then I remembered all those flavor packages. And let me tell you, beef-ramen flavored kettle corn is GOOD. Now I'll never again feel guilty about eating my ramen raw.

....uh, yeah. That was one of my coolest ideas ever. No, I'm not lame. You're lame for not seeing the shear 1337ness of beef-ramen flavored kettle corn! Muahahahahahah...
Saturday, October 25, 2008
What? You thought I was dead? Nah. Just busy. The internship went great and kept me pretty busy all summer. Now lately I've been kept busy by school (taking "Electromagnetics", "Microelectronics", "Applied Combinatorics", "Lab Instrumentation", and "Computer Architecture and Operating Systems"). I've been splitting my free time between working on my model format as mentioned in my last post, and writing a volume mixer for Linux. The model thing is coming along nicely. I started that over summer, but ran into a snag with the order I was doing transforms on the skeletons when they were animated. I finally got that worked out in August or early September and began implementing support for loading animations, which I have about mostly finished now (still needs all the supporting functions, and the ability to blend multiple animations together). Haven't been working on it much for the last month though. Whenever I get around to finishing up the model support, I'll put together a demo (complete with source) and upload it. After that, I plan to start doing some of the more interesting things that I've been meaning to do but couldn't without having this engine up and running first. Like procedural generation. So at that point I might be uploading stuff here more often, finally.

As for the volume thing, that's because I have yet to see a GUI volume mixer in Linux that was worth using. Not that I've looked very hard. But Puppy Linux has gone through three or four now, and I couldn't find any good ones in Gentoo's repos while I was using that either. And I've been putting off learning GTK programming for too long anyways, so I decided to just write my own. It's comming along great. Tonight I finally reached the point where it's on par with all the other mixers I've used - it can adjust the volumes and mute anything that is muteable. And it does it with a butt-kicking retro look in the sliders. But I'm just getting started. I want it to let you pick and choose which sliders are visible, and what order to put them in. I also need to set it up so it has a tray applet that works in both JWM and IceWM, and that supports scrolling the wheel over it to change the volume, if possible. And I need to add support for the "enumerated" controls, that let you specify what is used as the input, how many channels you're using, etc. Plus, it doesn't yet have a numerical display of the volume, which I want to add. If anybody is interested in it, I'm working on it through Puppy Linux's SVN repository on SourceForge. It's called "retrovol", and currently is the only project in that repo, so should be easy to find. No screenshots or anything yet, sorry. No binary either. Gotta download the source and then compile it yourself. In Puppy that means you need to have the devx_xxx.sfs file installed. Dependencies are GTK and Alsa. The current appearance is probably temporary, and I definitely want to add a line in the (currently nonexistent) config file so that the user can change the color scheme and the size of the segments.

By the way, Pizzapup is on hold, since Barry announced he's retiring now. So I plan to focus on Puppy itself rather than Pizzapup, for now anyways. When I get retrovol done, I need to fix the dual screen support, then maybe I'll improve Unleashed or something. Actually, with respect to Unleashed I have some ideas that would make it simpler to do a long-term Puplet using it, by making it easier to upgrade it to a new base-version of Puppy. So then I may start Pizzapup back up again. But for now, sorry.
Tuesday, June 10, 2008
Good news and bad news: I am now an intern. So I get money, but I lose free time. It's a fun job though - I get to program and it's mostly for Unix (though we log in through XP... yuck). So I've been learning to use vim since most of the programming is done through ssh. It's a little different from what I'm used to, but no big deal.

Unfortunately I haven't gotten any more work done on Blocky. I didn't have the time or motivation while I was still at school, and now I'm stuck with just my laptop for the summer and it doesn't have Apache or PHP. It only has a small harddrive too, so I'm not going to bother putting those on it. Before I was hired I was working on a 3d engine I started last summer. I hadn't worked on it since summer other than to improve collision detection slightly in mid-April. The main thing I was working on this time was to add support for Cal3d models, because all it supported before wa 3ds, which don't have animation. Cal3d has skeletal animation and the ability to break a model up into separate meshes and then only display certain ones. It also lets you blend different animations together. Adding the loading and display functions worked out in the end, even with the slightly out of date cal3d documentation (They used to have explicit functions for creating objects but now use new/delete, but never bothered updating the docs. Grrr.) The problem is that I couldn't get Blender to export skeletons properly. At this point I'm ready to give up and just write my own model format. It's something I'll eventually need to do anyways, I had just wanted to use Cal3d in the mean time. Anyways, that project is mostly on hold now since I have so little time. (Nobody get the wrong idea either: I have no intention of making a kick-butt 3d engine or game, I'm just playing around. Coding a 3d engine is a very nice break from Puppy related work.)

The next project on my list is to start working on a new Pizzapup. Not at a hurried pace either. There's a good chance I won't even finish until after school starts again. I want to make it as multi-user friendly as I can, and that will take some time. I also want to work on the wireless support a bit. I don't have much hardware to test with so there's only so much I can do there, but there are definitely some improvements I could make.


missing-image: /art/logos/mine/FlaminHotPizza.png