« December 2003 | Main | February 2004 »

January 29, 2004

And the Winner Is...

Congratulations to Alex for solving the puzzle! Your prize is the link to your site in the previous sentence. May it forever boost your Google ranking. Speaking of Google rankings, mine is going down, down, down because of this journal, so I hope that you're enjoying it (the journal, that is; not the down, down, down). For example, Taco Software used to occupy the number one spot for the search "HTML Edit", but last I checked, I was down to the 7th spot. Here's the (speculated) reason why:

Once upon a time, two Stanford graduate students decided to create a search engine. The search engine derived its effectiveness from its use of links to determine site rankings. Sites that had more links to them generally got higher rankings. The students got some venture capital and Google was born. Google quickly became the most popular search engine on the net. Then, people started creating journals with trackbacks, which meant that journals were constantly linking to each other. Because of all of the links, journals started popping up in Google search results in place of more desirable sources of information. Google took corrective action. Google noticed that Taco Software had a journal that was interconnected with the rest of the website, so Google sent Taco Software to the dumpster.

Posted by Raj Doshi at 11:10 AM | Comments (1)

January 28, 2004

What more is there to say?

Well, I don't have much to talk about. The school work has been building up a little. I've got a lab to do, and I need to figure out if I can get a Master's degree. I also need to figure out what I want to do in the summer. Anyway, here's a cryptogram for you:

PAH CO YD. JRRN.OY IGF C TBR,
Figure out what it means. And here is a hint for you:
QWERTY
You can post your answers in the comments, and no, Alex, I will not tell you the answer.

Posted by Raj Doshi at 9:22 AM | Comments (2)

January 26, 2004

Fix a bug, Find a bug

This seems to be the pattern for Taco HTML Edit. I fix one bug just to find another. Well, I guess I'm slowly making progress. Sometimes, I wonder if the next version (which I think I'm calling 1.6.0) will ever be finished. There really aren't a lot of changes in this release. It colors PHP and has plenty of bug fixes, although its possible that I've introduced new bugs because much of the code has been completely overhauled. If anyone is interested in being a beta tester, your help is needed! Just leave a comment or send an email. By the way, being a beta tester means that you find problems (i.e. something does not function like it is supposed to) and report them to me. This is different from requesting features (no more features will be added to v1.6.0).

Posted by Raj Doshi at 2:31 AM | Comments (3)

January 25, 2004

The Three Greatest Video Games of All Time

Here's the list, in order with greatest at the top:

  1. Escape Velocity - Although the newer versions of this game have not shown much innovation, the original created possibilities that had never previously existed in video games. Escape Velocity let you decide your own fate; there was no set plot line to follow. The graphics are unimpressive; the sound is depressing. Yet this game (released in May 1996) proved to be the most addictive one ever for anyone with a little patience, a home-made cheat sheet, and a 68040 or PowerPC Macintosh computer. Hmmm, unfortunately, most of my friends don't have any of these. ;)
  2. Ice Hockey - There has been much ado about the upcoming movie Miracle. However, this game gives you the opportunity to live out the battle on ice between the Americans and the Russians. This game is famous for letting you specify the weight class of each team member, for having you control both a goalie and a player with a single directional pad, and for showing you Zamboni's with a catchy tune between periods.
  3. Super Mario Bros. 3 - I consider this to be the first modern video game. It combined many smaller elements into the bigger picture and was even featured as the "surprise" game in a motion picture (what was that called?).

Posted by Raj Doshi at 10:14 AM | Comments (1)

January 24, 2004

Taco HTML Edit Changes

What's going on with Taco HTML Edit? Well, here's a look at one of the new features.

Taco HTML Edit Window

Posted by Raj Doshi at 11:42 AM | Comments (1)

January 22, 2004

Getting Down to Business

Alright. It's time for me to make some decisions about development projects. First of all, I must finish the next version of Taco HTML Edit soon. I need to try to get a beta out this weekend, after which I will not add any significant improvements before release, only bug fixes. Having said that, I am so far very pleased with the progress I've made in Taco HTML Edit. It is becoming a very mature product, both for users and from a developer's perspective. The source code is now much easier to handle than it used to be.

I now want to start going through my new book, Unix Network Programming. I hope that by mastering the material in this book, I will then be able to understand various online documentation and create some useful software. I think that I have the ability to make software that will improve people's lives. It's only a matter of time.

Posted by Raj Doshi at 10:38 AM

January 20, 2004

Not Much Happened Today

I didn't do much today. I woke up at 6:55 am. I went to Biology class. I met with Dr. Uckan to discuss my course extension. I went to Biology lab. I took a long nap. I did some geometry homework. There was some eating and internet mixed in. Sorry, but this is all you're getting today.

Posted by Raj Doshi at 9:05 AM

January 19, 2004

Long Weekend

During the three day weekend, I have been working on fixing everything in the syntax menu of Taco HTML Edit. I'm basically consolidating some repetitive code. After this, it should be easier to fix bugs and add features. I'm running into some difficulties on how the HTML syntax checker should work. For example, consider the following code:

<a href="http://tacosw.com>Taco Software<a>
You will notice that the quote for the address is not closed. Should the syntax checker automatically close the quote when it reaches the ">", or should it consider everything to be part of the quote. In this case, the desired interpretation would be to close the anchor tag at the first ">". Otherwise, the syntax checking would be messed up for the rest of the document. However, now consider the following code:
<input type="submit" name="submit" value="-->">
This quote displays a button, with a "-->" arrow for the title. If the syntax checker is implemented as previously described, the tag will be considered terminated at the ">" that is part of the arrow. This interpretation is not correct. However, this problem could be avoided by using the following code, which would probably be considered better:
<input type="submit" name="submit" value="--&gt;">
After reviewing things, I think that I'm going to go with a strict interpretation of quotes. I just messed around with Safari's rendering, and Safari used a strict interpretation. This will force the user to have appropriate usage of quotes before being able to check syntax correctly, which might actually be a good thing.

Update: I just checked Dave Hyatt's Blog (Dave Hyatt is a Safari developer), and ironically enough, he mentions the exact problem that I talk about in this entry.

Posted by Raj Doshi at 2:38 AM

January 15, 2004

Miscellanea

Hi Everybody! I'm not sure how many people everybody is at this time. I haven't actually told anybody where this page is except for the the link at tacosw.com. Unless you're looking for it, that link just kind of blends in anyway. Google hasn't even discovered this yet. Perhaps, it didn't notice the link. ;)

Well, I suppose I can talk about school. I haven't been working too hard, which is probably a good thing. I'm sure things will get more difficult as time goes by. Biology might be kind of tough, even though I'm just taking it pass/fail. Apparently, its one of the most difficult courses at Miami because they're trying to weed out those loser-wanna-make-a-lotta-money-goin'-to-med-school-freshmen-zoology-majors. Unfortunately, my lab partner on Tuesday was not particularly intelligent.

Today, I went down to tutor at Living Water. Instead of doing the usual homework help at the church, I helped the Hispanic students learn English (reading) at the school. Some of them seemed to be able to handle English just fine, and some of them insisted on gluing the pages of books together (these sets are not necessarily disjoint, there's some math terminology for you). They had three Macs in the classroom: an Indigo iMac and two older G3s. The students seemed to want to use the computers a lot. Perhaps, that is why computer distribution programs like the one in Maine have been so successful. The computers probably make work more interesting, even if it is just typing a paper. However, there are only three computers, so all the students can do is play educational games. We played a variant of Bingo (board game, not on the computers) where the squares each contained a letter of the alphabet. I would say the letter, and the students had to recognize it. The game was designed for teaching Spanish letters, not English (although I spoke the letters in English so the students would learn), so there were a couple Spanish-only letters tossed in there. I had to explain that the "Rr" card is referring to an English letter, but the "rr" card is referring to a Spanish letter (if you don't understand, don't worry about it). There was also another shape/color Bingo game that I had more difficulty with than most of the kids. I had to look at a card and pronounce its color and shape (like "Yellow Triangle"), and it always seemed to take a couple seconds to process the picture that I was seeing on the card. Maybe, I'm not accustomed to using that side of my brain.

Posted by Raj Doshi at 8:20 AM

January 14, 2004

Keeping Busy

The past couple days have been keeping me pretty occupied. I've been making arrangements to do a course extension for database, so that I can get honors credit. I'm going to study unstructured databases, which are generally stored as xml files and as a result, can be more flexible than relational databases.

I've been trying to weed all (and I mean all) bugs out of Taco HTML Edit, and I've managed to start a conversation on an Apple developers' mailing list about the future of Network Kernel Extensions on Mac OS X. I've decided on an approach for the "Mysterious New Project". I'm going to add a rule to the firewall (ipfw) to divert packets to another port. Then, I can examine the packets, and decide what to do with them. First, I must learn more about Unix Network Programming. I hope that I'm not in over my head.

I wish that I could write more, but I have to go now.

Posted by Raj Doshi at 8:42 AM

January 12, 2004

First Day Complete

Alright, I completed my first day of classes, and things don't look too bad. My geometry class is filled with Math Education majors, so that shouldn't be too difficult. ;) Optimization might get a little challenging at times, but nothing that I can't handle. Databases is exactly what I expected; I had the same professor last semester. Also, I'm sharing a Biology book with Alex (we're in different sections of the same course), which saves me about $100.

So, now I'm going to try to focus on the "Mysterious New Project". It turns out that Network Kernel Extensions are no longer officially supported in Mac OS X, so I'll probably have to take another route. This is probably good because even when NKEs were supported, the documentation was anemic. I'm going to post to a mailing list about Mac OS X networking, and I hope that they provide some good help. Hmm, this was supposed to be a "Personal" entry, but somehow the development stuff always gets mixed in. I need to try to get to bed early tonight; I'm waking up at 7:00 A.M. tomorrow.

Posted by Raj Doshi at 7:25 AM

January 11, 2004

Back to College

Tomorrow, I head back to Miami University for Spring Semester. I'm hoping that this semester will be easier than most. Perhaps, my schedule will help convince you that I'm telling the truth. Oh, and by the way, I'm taking the Biology class only for credit so all I need to do is get a C or higher. Considering that I took the two most difficult undergraduate math courses last semester, the math courses this semester should seem pretty easy. Databases will require some work, and I'm going to do an honors course extension for Databases, so I'll have to write an extra paper.

Posted by Raj Doshi at 12:09 PM | Comments (1)

January 10, 2004

More About the PHP/MySQL Annoyance

In a comment for "Progress Report", Josh said:

This pertains to your "annoyance".

I looked at my code today, and I see that I haven't done anything to add or strip slashes. So basically, as I've said before, PHP and mySQL works happily. So here's what I do.

When I input something into the database, PHP has already added the slashes. I have a verification page, in which I do a stripslashes on the passed variable. However, the database gets all the slashes and so forth created by PHP.

I realized today that I never dealt with this "annoyance" whatsoever, other than the fact that I don't remember at all when I even had this problem in my mind (even though I should have, like a good little programmer, such as yourself). But yeah, it's not a server thing or whatever (I was full crap), it is a PHP thing. It's not really an annoyance, but they just do it for you.

So here's my thing on the "annoyance". PHP adds the slashes, and mySQL just gladly accepts the incoming data (whatever it may be). When PHP drags that information out from the databse, PHP does it all on it's own, so that the user or the programmer doesn't have to worry about stripping or adding slashes. I swear PHP/MySQL must live as one! WOOOOOO!

The first point that I would like to make is that not all servers have PHP configured like Josh's server. For example, the Living Water server is not configured to automatically add slashes to inputted data, and I cannot (at least on my own) change this aspect of the configuration. As a result, I manually add slashes to everything. However, the Living Water server does automatically remove slashes, so I must not remove slashes when retrieving data from MySQL or else I might take away slashes that are part of the data. It appears to me that there are instances where even Josh would need to add slashes manually. For example, when Josh retrieves data from MySQL, the slashes are removed. If Josh subsequently wants to insert this data into some other part of the MySQL database (a procedure frequently used to associate data from different tables), he will have to manually add slashes.

However, the important issue here is not related to these details. The important issue is code portability. The open source movement is based on the fact that the same code does the same thing on different computers. Configuration issues like this slash "problem" mean that in order to write truly portable code, one must check the server configuration and respond accordingly every time that data is inserted into a database. Although a function can be written to handle this issue, it adds unnecessary complexity. After I created the Living Water login system, Josh told that the nice thing is that I can now use the same code for different projects. Some of that "niceness" is lost due to issues like this one.

Having said this, I understand the points that Josh makes about the convenience of having PHP do the slash work for you. In fact, much of my emotion on this issue probably arises from the fact that until recently, I did not fully-understand how PHP handles slashes, so I spent much time fixing code that wasn't quite right.

Posted by Raj Doshi at 1:24 AM

January 8, 2004

Progress Report

Alright, I'm running out of vacation days, so that means that I should now look at what tasks I've completed, and what is still left. I've got a working beta of Taco HTML Edit 1.5.2. I still need to send that to Alex, who is determined to crash it (and probably will succeed, copying and pasting millions of text characters might do the trick). I've spent a lot of time working out the bugs of the employee login system for the Living Water website. I've dealt with all of the addslashes/stripslashes annoyances that arise from using PHP/MySQL. As I told Josh the other day, it would be nice if PHP let the programmer handle all of the slashes manually. However, PHP (and its iteraction with MySQL) instead tries to be smart and help handle the slashes. It ends up just causing problems. I also added a couple Spanish translations to the appropriate portion of the website. There is no longer a link to automated Google translations because they are just too inaccurate. No progress has been made on the mysterious new project, but I'd like to get going on that in the next couple days if I get a chance. Wait a minute, I just realized why I need my iMac. The new project has the potential to really mess up a computer, so I don't want to work on it on my primary computer. Now, I'll have to decide if I want to bring the iMac to college. I don't feel like it, but I might need to. Finally, I need to find something to do next summer, preferably something that pays. I've got some applications for internships and researchships, and I need to get going on those.

Posted by Raj Doshi at 3:42 AM | Comments (2)

January 7, 2004

Today's Keynote

Well, the keynote is over, and we now have an updated iLife and an iPod mini. So, what do I think? Well, seeing GarageBand makes me wish that I was a musician. Unfortunately, I'm not, and I don't edit movies or photos, so I won't be purchasing iLife. Having said that, I think that $49 is a fair price, especially considering that iLife works on both Panther and Jaguar. Panther users cannot argue that their $129 upgrade cost should include iLife because they could have stuck with Jaguar and still used it. As for the iPod, I am debating if I want a 4Gb iPod mini, a 15 Gb iPod, or no iPod. I'm still not sure if I can justify the cost. I already have too many electronics that I don't use including a lampshade iMac (which I'm calling a "backup" computer in case the "primary" PowerBook dies). For those who don't know, I got the iMac for free, so it's not really my fault that it's been sitting unplugged in my room for more than a month. ;)

Posted by Raj Doshi at 12:13 PM

January 5, 2004

Stop the Insanity

Well, I'm going to the Apple Store tomorrow to watch the Steve Jobs keynote with Josh, Alex, and Amir (my friends). The weird thing is that they seem to be more excited about this than I am. Josh and Amir don't even use Macs, and Alex is a newborn Mac user of one month. Well, I guess it might make sense for Alex to get excited. Its just that in the past, I was the one getting ridiculed over these sorts of things. I was gonna stay at home for this keynote until Josh chimed in.

Posted by Raj Doshi at 6:36 AM | Comments (5)

January 4, 2004

Taco HTML Edit 1.5.2

I think that I am done with the major changes in Taco HTML Edit 1.5.2. I want this version to undergo some significant beta testing before it is released to ensure the stability and accuracy of the new coloring algorithm. I also want to make sure that none of my bug fixes introduced new bugs. Anyone who's interested can let me know. I suppose that I can convince my roommate Alex to beta test. I'm sure that you will all be happy to know that this version will be the first to undergo any significant beta test period. Its about time that I start forming some good habits. ;)

Posted by Raj Doshi at 3:38 AM | Comments (3)

January 3, 2004

It's 3:00 AM

I'm tired and I don't really have much to say, but I feel an obligation to add an entry to the journal, so here we go. I didn't do much today. I played some Age of Kings with my brother; I watched Ohio State beat Kansas State; I worked a little on Taco HTML Edit; I fed the dog (but her meals were later than usual, I think she might go on strike). Now, I'm watching the same Sports Center over and over again. In the early morning hours, they just show the same exact episode every 30 minutes. After a while, you start to anticipate what they will say. Anyway, my favorite part of this "episode" is when they compare college football coaching to the game Risk. They mention the dangers of attacking Kamchatka from Alaska. Well, I guess I've done a pretty good job of imposing my day of nothingness upon the reader. Adieu.

Posted by Raj Doshi at 3:05 AM