Home : Projects : Resume : Contact : About
Main Page


This is an attempt to outline my experiences and education at St Vincent College in Latrobe, Pa.
Most importantly the method of delivery of this document is Google Document. That will make this a living document. No post is ever complete.


07-03-2010
    The best part of tutoring is that in order to teach someone else a topic you must know it intimately yourself. I do very well at acquiring information on the fly and thus I am able to impart information on the fly. Since I do not tutor in a lab I have the oportunity to pick and choose my tutoring subjects. Over the course of the semester I have accumulated some of the best students to work under me. I just hope that after I leave some of these students will keep paying it forward.

06-03-2010
    As I stare out the window wondering why I can never get subclipse to install in Eclipse 3.2 for linux. It dawns on me that at this point my final semester of my undergraduate career is past and not to turn nostalgic but I have had a fantastic time. So, whats next; Apply for work, finish my senior project, transfer my winter term credits, and smash out the final month of the Sangimino project. To catch up, this semester started with two (2) major tasks. First, to figure out my senior project and build it. Second, carry a departmental project that has been dragging on for years to relative completion. It actually took about 4 weeks and the help of Br. Isidore to even come close to a challenging project. Sadly, I did have to come up with a new project, not because I was forced to but I had to take up a challenge that could test my skills. The project in question is truely theoretical in nature but could prove to be exactly the kind of project I need to start me thinking like a computer scientist and not a software engineer for a while.

10-17-2009
    Working with technical writing is not one of my favorites but there is no denying it necessity. Think about the conditions of writing even a small application. There is always going to be the moment where you didn't think through your total solution and have to rewrite a block or two a couple of times before you figure it out the right flow of the app. Now when you are working with a new API or a new language, which for me seems like my whole life, I can understand just writing from start to finish and working through those episodes as you go. Although, when you are working with you home language there is no reason not to plan ahead. Here is where I get to my love of Visio. Don't get me wrong you can make a flow chart by hand and for many thats the way to go. I like to include my Visio diagrams in my project presentations and they look better coming out of Visio. There are two reasons for these documents; I can hand one to a developer and that developer knows whats in my mind; I can work past my little logic errors without rewriting my code. The most time I waste is re-organizing my diagram. Now the true power of the flowchart comes to you when you start working with outlining our code. With a complete char I know exactly the kind of information I need to gather and generally how that data is going to be manipulated.
    I know my Profs talked about flow charts a little and about data diagrams but I could never figure out why I needed one. Well let me just tell you right now. For small class applications no you probably don't need to spend the time charting data flow but write one single small application and the amount of time you will find yourself wasting not planning ahead. Go ahead make that app you been thinking about and email me if you have questions. I will help you work in the right direction

paul.scarrone@email.stvincent.edu

10-8-2009
    A new year is about to start and it should be my final one at that. I almost wish I had another couple of years to waste at this. I keep receiving more and more responsibility from my professors. This is better then a promotion at the old job. A promotion there ment more monotony. Here at school it means real responsibility and an expectation to perform. Most recently I have been asked by one of my teachers to provide examples of using the DarkGDK game engine. So once again I have delved back into the world of C++ to create some simple applications that will help her build her curriculum for the fall. That definitly gives me a pretty big head. So having just sent off my first packet of applications I am working on some items that will be a bit more fun. Firstly I would like to make a simple stacking puzzle. Giving the blocks a static gravity and making them not intersect each other. Should be a fun challenge. Its not really an attempt and creating physics but I have two goals for my final applications. The ability to move static objects and sprites with the mouse cursor and the ability to stack and move those objects. I am not really in the works to create any kind of fantastic games but since these are examples that may become student assignments I would like them to be a little fun and maybe even a little challenging. As far as applications of the educational value of this code that is for my prof to decide but I am just happy to be part of the process.

Wish me luck and Enjoy some Code

struct impact  //internally accessible structure designed to keep track of which bounding wall has been impacted per the given object
{
bool right;
bool left;
bool top;
bool bottom;
};
/*
The Class is a cleaned up implimentation of how to generate a cube of a given size anywhere within the screen and keep that square within the bounds of the screen
Private storage holds the left top right and bottom values poitions for the square. Initally this was to control a rectangle but to speed things up I stuck with
squares.

Methods
getimpacts  Takes no Arguments
Simply returns the current states of impact for the screen
MoveBox     Takes 2 int for rate of horizontal and vertical change
Controls the undrawing of the old box and drawing of a new box while setting flags within impacts for the screen bounds
ReDrawBox   Takes no Arguments
Takes the box information for the given object and draws it.
DestroyBox  Takes no Arguments
Blacks out old box and creats a box of zero size in its place.
CreateBox   Takes 2 Arguments int for Left Cordinate and Top Cordinate
Recreates a box once this is run all new moves will be made to the new box also resets the wall impact information for the new box
*/


class Box_Move_Class // Class that builds a cube and alows modifications to it 
   {
private:
int left; 
        int top;
int right;
int bottom;
int size;
impact impacts;  //brings the structure into private access for the given object. This object has an accessor method as well
public:
Box_Move_Class()  //Default Constructor
{
size = 100;
left =50;
top = 50;
right= left + size;
bottom = top + size;
dbBox(left, top, right, bottom);
}
Box_Move_Class(int leftstart, int topstart, int boxsize)  //creates a box in the same method as CreatBox Method
{
size = boxsize; //size of a side of the square
left = leftstart;  //positions the square
top = topstart;  //positions the square
right= left + size; //defines the right based upon size
bottom = top + size; //defines the bottom based upon size
dbBox(left, top, right, bottom);
}
~Box_Move_Class(){}
impact getimpacts()
{
return impacts;
}
void MoveBox(int horizontal, int vertical)
{
dbBox(left, top, right, bottom, dbRGB(0,0,0),dbRGB(0,0,0),dbRGB(0,0,0),dbRGB(0,0,0));  //blacks out old box
//aggregates the change in direction for the box
left += horizontal;
right += horizontal;
top += vertical;
bottom += vertical;
//tests to see if the box impacts a side and stops motion if it does
if (impacts.right || impacts.left)
{
horizontal = 0;
}
if (impacts.top || impacts.bottom)
{
vertical = 0;
}
//tests if the boxes right side has impacted the right side of the window/screen
if (right < dbScreenWidth())
{
impacts.right = false;
}
else
{
impacts.right = true;
right = dbScreenWidth() -1; //repositions the box 1 off from the wall
left = right - size;
}
//tests if the boxes left side has impacted the left side of the window/screen
if (left > 0)
{
impacts.left = false;
}
else
{
impacts.left = true;
left = 1;
right = left + size;
}
//tests if the boxes top side has impacted the top side of the window/screen
if (top > 0)
{
impacts.top = false;
}
else
{
impacts.top = true;
top = 1;
bottom = top + size;
}
//tests if the boxes bottom side has impacted the bottom side of the window/screen
if(bottom < dbScreenHeight())
{
impacts.bottom = false;
}
else
{
impacts.bottom = true;
bottom = dbScreenHeight() -1;
top = bottom - size;
}
ReDrawBox();
}
void DestroyBox()
{
dbBox(left, top, right, bottom, dbRGB(0,0,0),dbRGB(0,0,0),dbRGB(0,0,0),dbRGB(0,0,0));  //blacks out old box
dbBox(0,0,0,0,dbRGB(0,0,0),dbRGB(0,0,0),dbRGB(0,0,0),dbRGB(0,0,0)); //creates a zero size box otherwise we would have a black box floating around
}
void CreateBox(int leftstart, int topstart, int boxsize)
{
size = boxsize;
left = leftstart;
top = topstart;
right= left + size;
bottom = top + size;
dbBox(left, top, right, bottom);
impacts.bottom = impacts.left = impacts.right = impacts.top = false;  //resets impacts
}
void ReDrawBox()
{
dbBox(left, top, right, bottom);
}
};

4-3-2009
    Great News! Yesterday the Auto Kindle project I have been working on was featured on download.com in a blog post. Although this post was a bit critical "However, it lacks a decent interface. The file-browsing option that you get doesn't slow down the conversion process--it's just jarring." Fear not I look at this as a challenge. I know I have done a lot of things right here with this app and as a learning experience I have had come so far with this one project. Deep down though I want people to love this application. I want to build a user base, I have so many other projects in mind that would be so much easier to release if there were already people who wanted to use them. This is a massive milestone for me. I guess you could say I can check two things off my bucket list now. First was to build and app that has more then 1000 downloads, currently I am at 1642 downloads in less then 3 months. Second would be to write and app that gains some kind of official credit. The next step is to build an app that actually makes me money. I think there is a good chance I can ride this Kindle thing there too.

    I have to admit I love this review from CNET: 
Lacking a fancy name and a fancy interface, and still in beta, Auto Kindle eBook Converter nevertheless quickly converts some of the most-used desktop formats to a Kindle-friendly MOBI for free.
Compatible with PDF, HTML, LIT, PDB, and CHM files, the program opens to a Windows file browser. Choose the file you want to convert, hit Open, and then choose your destination folder. The converter goes to work, generally converting files quickly--although this depends on the length of your document. When it's done, connect your Kindle to your computer and move the file into the Documents folder. Safely disconnect the Kindle, and the converted file will appear in your main list of documents, automatically converted on the Kindle to its default MPB format.
The freeware converter is dead simple but there's plenty of room for improvement. The most obvious thing it's missing is a graphical interface, which could be combined with a default output directory to cut out several steps. Some formats may also hiccup on images, so don't be surprised if pictures don't always convert. However, it works and offers users another option besides e-mailing documents to their Kindle and paying the small conversion fee. 

Its just too good I never wanted to be one of those yuppy apple developers that have to come up with some very intillectual and appropriate name. If you read the name of the app you know what it does. Thats my reason and I am going to stick to it. I think a lot of the problems are that UI does not describe all the features of the app. For example I don't believe the reviewer knows about the drag and drop feature. But then again I don't think I ever told anyone about it. I should write up something new as instructions.

    Aside from that after getting sick over spring break I had reserved myself to having a rather lame week, especially after a couple of social incidents right before break. This new success for me is going to really drive me for the next four days in my other projects. First up on Thursday is to build a demo app for the Driving Simulator. After that I will be working on some ideas for the SGA in regards to better SGA communication, better communication for events and community groups on campus, and a school supported method for posting an archiving of scholarly writings produced internally that will be accessible to the internet much like Stanford Encyclopedia of Philosophy.

    I can't wait to see what goes on in the next week.

5-2-2009
    The first 4 weeks are over and now all my assignments are coming due in a couple of weeks. Not that this really stresses me out that much when you consider that the paltry amount of work I will need to do to complete these assignments pales in comparison to the amount of work I had to complete when I had a real job I welcome this oportuity to put my work ethic to a real use finally. For the past couple of weeks I have been pushing hard at a rewrite of my Kindle Document Converter in C# which has actually been a fantastic experience. But I don't want to just rewrite my autoit script to work the same way. In my view my autoit script has its purpose and works great this is a new version. I am evaluating the whole project differently then last time. See the first time I sat down to write this was to make an application that would ask little of the user and would be a workflow processor to link a number of command line applications together to make a multi-step process one step. Of course it wasn't exactly one step it asked where you want to save your file and did not give a large amount of feedback. Source au3 here. Of course in C# I started rebuilding an autoit like environment that I could use to keep the same logic going. This is where my mind exploded. All of a sudden I could have any number of extraneous methods and workflows and once they were all setup it would only be a matter of throwing them in the right order. I had visions of a graphical menu that would let you select your own workflow and options visually. (Maybe I will draw a picture of what I mean later). This is probably not the best way to do the selection but it sounded fun and I haven't been working with too many visual objects lately so I could use the practice.

    Time for some homework so I will follow up with a point later.
 
3-2-2009
    The CIS lab really is a excellent place to hang out. Sure the computers may not be as fast as the one I have at home but the oportunity to really have a great comp sci related discussion is ever present. Unfortunately these seem only to happen between teachers and students or between the lab tutors. I venture that a social forum for the school is the best way to get students together. Acedemia is the place most appropriate to the free sharing of ideas. The school student government spends an great amount of time trying to bring the student body together. They are very successful in their own right but I feel that if we also instituted a more direct method of social interaction we could do so much more. Not just with academics but keeping the students involved with safe activities that would also serve an ultimately higher academic purpose.
    One of the things that seems to be overlooked in college is technology outside the classroom. St Vincent is beautifully organized in the classroom with how we utilize technology. I remember when I was a student at Duquesne University, we utilized a networked video distribution system called Safari. The thing about Safari was it was very expandable and could handle a huge demand. The problem was it required that a facility be maintained by student labor to keep the unit running. It also caused some problems with how truely ondemand video could be to the classrooms. Although there was no need for video equipment to be installed in each classroom aside from a projector. An educator had to drop off their video materials at least 48 hours in advance of the class to show the video to allow us to schedule equipement and keep everything organized. Here at St Vincent most to all of the classrooms contain a sound system, projector, computer, and dvd/vcr. I guarantee this was more expensive to purchase all the components but was not more expensive to setup and is far easier to use. We look at problems dealing with education in a very precise way. This one of the ways St Vincent is a fantastic school for its size. I only wish this same logic was applied to technology for students outside of class. We could be allowing students to expand each others minds by providing a place for both structured and unstructured discussion along departmental and school topics. A solution like this would have to be properly moderated of course. Again students can fill these roles as well, promoting from within.
    I plan to through some of these ideas at Student Government and see if I can get any traction. The best paft of being an older student in these situations is you actually do know what is going on in the world and have seen it done right. Should be fun one way or the other.

29-1-2009
    After a rather slow shift in the CIS lab last night I ventured to Lawrenceville to a small event called DevHousePGH 7. The venue I will agree was a little dissapointing but gave the feel of the 1995 movie Hackers. Of course this hasn't been the scene for at least 10 years now but when you saw the age range of those in attendance the venue seemed appropriate. But Pittsburgh is not New York and the mode of dress was too Apple to be underground. Still DevHouse is not about Hackers so please forgive the inference. The goal of the group is to get local tech experts together in the hopes they will collaborate on creative projects. Another group where I thought I would find communion. Alas, in the thirty odd members I found nothing kindred. In many cases I had a hard time believing that more then half of these guys and two girls had even had any formal training. I saw modded laptops a presentation by the creator of TalkShoe which plans to revive the age old sharing mechanism of Party Lines. Not to directly revive my previous inference but Party Lines were very old school hacker. So as much as I think this things time has passed I am very willing to give it a try and make some connections with the rest of the world. Almost time for Exploring Religious Meaning with Dr. King. So I will finish up later.



28-1-2009
    A wonderful ice storm has allowed me the freedom of not having to force me way to school through the slush. Although it was raining by the time I did venture out to purchase a book and do my assignments for the remaining classes today. Yes, I know, I should have purchased those books weeks ago. I am always trying to find them digitally so I can carry them on my Kindle. But to no avail it is still too new and those who produce the textbooks are not interested in distributing digital copies of their documents. I don't blame them. When they do it will be a mad dash for the internet. Not that I am going to go into a big discussion about the right and wrong way to license data but once digital the number of copies would explode. I do not recommend theft but I can imagine a dorm of poor college students trading book money for beer money to make a photocopy of the latest edition. Like in most digital theft this would not be the entire student population but there would be a noticeable percentage. So I can appreciate their trepidation in breaking the seal on textbooks.




    As an older student integration into the student body can be difficult. The other students don't care about age so much they are too self-interested to notice that there is anyone around besides them. I finally get why everyone has a problem with freshmen. They come from high school with these terrible social patterns which takes them years to evolve from. You will notice that the lower down on the heirarchy the group you are sitting with is the more polite they tend to be. There is also an reduction of self-importance. Of course in short argument form I venture that this behavior is a natural reaction to not feeling important.