Posts Tagged ‘computers’

Before We Begin in Earnest

Posted in Uncategorized on March 24th, 2005 by admin – Be the first to comment

I haven’t written for awhile, so here are my last series of entries before I retire this blog.


PatientPro Design Diary

Before We Begin In Earnest

As a prepubscent child, I had but a passing interest in computers. They were as enchanting in their use as edutainment devices–I must’ve hogged our classroom computer playing Oregon Trail for hours. I even got a chance to “program” in sixth grade, when we were introduced to Basic. I created a program to display an image of Darkwing Duck on screen by drawing the cartoon character on graph paper and plotting pixels by hand–I felt like I was on the bleeding edge of technology. Still, at home, I didn’t have a computer, and to aggravate matters, I had a Nintendo. So, instead of becoming profiecient with computers at an early age, I learned to excel at video games.

My highschool years offered increased contact with computers at home and at school. My dad purchased a gleaming new Gateway (which still served as the family’s main computer until a couple months ago), a Pentium II 233 with 10 gigabytes of space. At the time, it cost a couple thousand dollars. At school, we had rows of computers, but they were Macs, and I hated Macs.

My interest in computers mushroomed when I took my first real programming class. We used Borland’s Turbo C compiler to do trivial tasks that I excelled at. My senior year, I decided to go to Drexel University to study Computer Science, and I took the Computer Science AP* class at my high school. It was an interesting class that gave me lots of things to talk about when I went to my scholarship interview at Drexel. I was able to talk to Professor Bruce Char about things like linked lists and recursion.

I’ve been blessed with the chance to do pretty much anything I want to do in life–it’s a rare gift that the best of us never receive. So, why did I choose to major in Computer Science?

  1. I love computers!
  2. I am part idealist and part pramatist, and the job outlook for computer science graduates was looking pretty good in 2000.

These past five years, there have been many times when the work seemed impossible to finish, or the rewards too little to drive me forward. Still, I have learned so much, and have had fun doing it. My love of computers has only become deeper, an intimate relationship cultivated over several years.

Now, everything I have learned in college will be tested with one final project. To me, my success or failure with this project will measure the progress I have made these passed five years. That project is PatientPro.


* I received a 1 on the Computer Science AP test, the lowest score one can receive on an AP test.

Raster v Vector

Posted in Uncategorized on December 16th, 2003 by admin – Be the first to comment

Question
What is the difference between raster and vector graphics?

Answer
While raster graphics are based on pixels, vector graphics are based on mathematical forumlas. When you see a gif (jiff), jpeg (jay-peg), png (ping [i think]), or bmp (bitmap), you are seeing an image which is based on pixel-by-pixel information. The difference between these formats has to do with color-depth, compression, and lossiness.

There are however, formats which are based on mathematical formulas such as svg, eps, ps (postscript), and swf (flash). Instead of representing an image in terms of groups of pixels, these represent the image in terms of groups of shapes, such as ellipsoids, polygons, and bezier curves.

The advantage that vector has over raster is that images can be zoomed to any degree of precision, which is useful in print, where raster images can take up hundreds of megs of space.

To illustrate my point, here is the image from my previous entry, zoomed to different degrees. Notice how crisp each image remains.

Zooming closer to the boy…

Still closer…

Topic: Adobe Illustrator

Question
How did Jamie draw that picture in his previous entry?

Answer
The short answer is that I traced over another image using Adobe Illustrator (a vector-based graphical tool). It’s not as easy as it sounds though. Get ready for the long answer:

Here is the original image Precious Moments.

First, I added the image to an illustrator document and changed it’s parent layer to a “template” layer, which (to my best knowledge) is used for tracing. A template layer is locked and can be dimmed so that it doesn’t interfere with the drawing of other layers.

Illustrator features an “outline” mode that lets you draw unhindered by the other layers you’ve drawn. Here is an image of the outlines of the picture.

Each seperate shape you see is composed of an individual stroke style and fill style. Each shape, each fill style, each stroke style, is stored as some mathematical combination (as described above) allowing for magnification to any degree.

Each seperate shape is also a seperate layer. There are over 100 layers/shapes in this image.

The poem that follows the outline of the couple was created by merging the shapes of the other images into one shape, and then by expanding that by about 20-40 points (i cannot recall the exact number).

Here is one of the flowers the girl is holding magnifyed.

Even a simple flower takes six shapes, five circles and a weird curvy sort of shape for the stem.

Search Accuracy

Posted in Uncategorized on December 3rd, 2003 by admin – Be the first to comment

CS/IS/Computer-Related FAQ

Topic: Google

Question
How do I increase the accuracy of my searches?

Answer
If you want to limit your search to a specific domain, use the modifier “site:” followed by the url of the domain.

If you want to search for a term with spaces, use quotes to enclose the string.

Also, click advanced search if you want to limit your searches even further. For more tips, check this out.

Changing E-Props

Posted in Uncategorized on December 3rd, 2003 by admin – Be the first to comment

CS/IS/Computer-Related FAQ

Topic: Xanga.com

Question
How do I change the number of eprops I gave to someone?

Answer
While some people may make a second post to change the number of eprops, this is totally unneccesary. Simply go to comment on someone’s xanga, and change the number of eprops. Then, click submit without leaving a comment. Ta da, the eprops will be changed to their new value. So please, end the clutter by not posting twice if you don’t need to.

Party GUI

Posted in Uncategorized on December 3rd, 2003 by admin – Be the first to comment

My party goers, click here to see a list of couples who will be playing for title of “Best Couple.” http://dusers.drexel.edu/~asian/bd2003/gui.swf

This is version 1 of my party-competition interface. I tested the login on my laptop and it worked fine, but I believe the dusers server uses a older version of PHP, so my scripts may need to be modified.

CS/IS/Computer-Related FAQ

Topic: My Party Competition Interface

Question
What did you use to build the interface? How does it work?

Answer
Well, you should all have realized that the graphical user interface (GUI) is presented in Flash SWF format. A discussion on how flash works is beyond the scope of this lesson; suffice it to say that it is a wonderful medium for web-based multimedia.

Each person, along with their email address, full name, and password is stored in a database table called ‘People’. Each of these people has a unique numerical identifier.

Each team, along with the numerical identifier corresponding to the captain of the team and his/her partner, their team name, and score, is stored in a database table called ‘Teams’. Each of these teams has a unique numerical indentifier.

Using PHP: Hypertext Preprocessor (PHP), the database is queried, and class objects corresponding to each Person and each Team are created.

These objects are sent to an XML Renderer, where their attributes are parsed into XML. To see the Renderer in action click one of the following links: View All People | View All Teams.

Flash loads this dynamically generated XML and generates its own internal objects representing each person and each team.

A movieclip instance for each person is created within Flash, as well as for each team, and the results are displayed as what you see.

SQL Joins

Posted in Uncategorized on November 24th, 2003 by admin – Be the first to comment

CS/IS/Computer-Related FAQ

Topic: SQL

Question
What are joins? What is the difference between all of the different types of joins?

Answer
A join is the combination of columsn across multiple tables. This differs from a union, in that unions are combinations of rows.

The join syntax looks something like:
SELECT * FROM tbl1 [LEFT | RIGHT | INNER | OUTER] JOIN tbl2 ON tbl1.id=tbl2.id;

The syntax of course can have slight variations with additional or alternative keywords. The line above will append the columns of tbl2 onto tbl1, aligning records where the id field of tbl1 is equal to the id field of tbl2.

An inner join will return all those records in tbl1 that have a match in tbl2.
A left join will return all records in tbl1 regardless of it having a match in tbl2. Any missing fields will be filled with NULL.
A right join will return all records in tbl2 regardless of it having a match in tbl1. It is important to note that a left join can be made into a right join by swapping the order of the tables.
An outer join will return the cross product of the tables, meaning all possible combinations from tbl1 and tbl2.

This concludes today’s tip. Thank you for joining me. A har har.