Nov 11 2008

My name is Art… That means I better be good at it!

As you probably already know my name is Art.  What’s funny is that when you’re named Art everyone expects you to be good at it.  Thankfully for my sake I was/am.

I have always been a good artist and show creativity in everything I do. Art, for me, was an outlet. It allowed me to express myself in a positive way. Starting in 7th grade I began an aggressive art career which culminated in 12th grade by taking AP Art. My desire and dedication in high school to art was marred by a teacher who I didn’t really get along with, but I still stuck it through and got a 4 on my AP portfolio. One class in particular I enjoyed was a computer art course. That was my first exposure to Adobe Photoshop and I immediately saw the potential for what it could offer. Anyway, I mention my art career because it’s still a large part of my life and it’s worth noting.

I still sketch to this day and work with Photoshop nearly every day.


Nov 11 2008

Aurora

In the Summer between 5th and 6th grade my family moved to Aurora, Ohio. There were a number of reasons why we moved, but I am grateful for the impact it would have on my life. Aurora was an excellent school system and I finished my last 6 years of public education there. A sweet touch to the end of my high school career was having my dad for 12th grade AP literature (I ended up getting a B in it!) For anyone who doesn’t know what it’s like to have your parent as a teacher let me tell you that the first few weeks are extremely weird, followed by a feeling of delight when you need help or need to turn a paper in late.

While my grades were generally good (fluctuating between As and Bs) I wasn’t immune to teenage laziness and disinterest in some subjects which resulted in lower grades. In retrospect, however, my high school years were great. I wasn’t anywhere near the most popular kid, but I wasn’t a huge dork either. I had a superb group of friends that bring back fond memories. I still maintain friendships with some of my friends to this day.

Also during my junior and senior year I had my first girlfriend, and was able to experience all the joys that come with it including falling in love. We dated on and off for 6 years, including college, but in the end it wasn’t meant to be. After college she became a teacher through the well respected Teach for America program and moved cross country. I, instead, opted to stay in Northeast Ohio to develop my web design business here in Cleveland. Though we’re estranged now, and had a less than perfect breakup, I still think of her at times and wish her well.

There’s plenty more I could discuss regarding Aurora, but this was the overall gist of it. My other stories are more specific to actual things that happened in Aurora.


Nov 11 2008

I love computers

In 5th grade a lot of my friends began to get computers. I didn’t really know what they were, why someone would want one, or what they could do. After all my 8-bit Nintendo was enough technology for me. It wasn’t until I became friends with Nat Walizer, a classmate from Solon, that I began to realize the potential uses of computers. He introduced me to programming. Besides offering fun games, and a way to write papers for school, all Windows PCs were shipped with an interpretive language programming application called QBASIC. What this allowed you to do was to write lines of instructions telling the computer how to behave. I was instantly hooked. I can’t explain whether it was my affinity for logic, my desire to create things (as if I were God), or to just mess around with a cool piece of equipment. Something struck me in my core and I knew it even at that young age. This was what I wanted to do. This was me. I threw myself into QBASIC; often choosing to code instead of doing my homework. I created math games, adventure games and Pong. As my accumen and talent grew I developed graphically superior games such as a fishing game, a fighting game, a space invaders game and — my crowning achievement — a fully functional Monopoly game that had an on board screen that looked exactly like the real board.

The time I spent exploring the computer was in itself a course. When I chose to play on the computer I was developing the analytical skills programmers need. In retrospect I’m so happy that I worked on my programs than do some meaningless homework assignment. I wish I could convey the great feeling I have for my memory of these times.

As I grew older I developed greater skills and attacked more sophisticated languages. My foray into Windows applications was facilitated by Visual Basic. Then later, while in high school, my parents paid for private lessons in C++ at Hiram College from a student there. By the time I entered Hiram College as a student myself (you’ll read about this later) I had such a commanding understanding of underlying computer architecture and technology that I hit the ground running. While all these logical stimulations were good at serving my left side of the brain; they neglected my right side of the brain, and I needed to satiate it with art.


Nov 10 2008

Facebook Profile Image Hacking

Any savvy web developer who uses Facebook knows that you can pretty easily hack the image URL from the website by replacing the “s” (or sometimes “t”) in front of the image name with an “n” to get the full sized image.  For example http://profile.ak.facebook.com/v230/494/97/s58600109_2901.jpg gives a medium sized version of my profile pic whereas http://profile.ak.facebook.com/v230/494/97/n58600109_2901.jpg gives the actual size.

The trick is handy when you come across a person who’s not a friend, but you still want to view their full sized photo.

The problem is, of course, that this can be construed as a privacy violation since you’re circumventing the intended protection Facebook affords its members when they limit profile viewing.  I’m not going to debate what should, and should not, be allowed on the site — I am, however, going to make a simple suggestion on how Facebook can improve their profile image viewing, and prevent this type of hack.

The problem right now (unless I’m greatly mistaken and some Facebook developer can correct me) is that everytime we update our profile pic 3 versions are saved: a thumb, a small and a normal — T, S and N respecitvely.  That means there are 3 seperate jpg images on their servers which can be accessed by anyone with the internet who knows their URL.  As stated above this creates a concern for privacy.  The fact that Facebook creates 3 seperate images isn’t a problem; in fact they probably do this to rely on speed boosts from caching.  It’s not even a problem that they’re all named the same thing except for a one letter difference; although changing the name of each file would solve the problem.  This, however, would create a great deal of confusion if a human ever had to deal with the images, and could potentially require another 2 columns in a database.  The problem really boils down to whether the URL is hidden from hackers to prevent possible manipulation.

Truthfully, there are only 2 pieces of information Facebook needs to know in order to render a profile pic.  They are 1) the user id and 2) what flavor of the profile pic they need to render (ie. thumb, small or normal).  We also know that PHP can stream jpg image data as it’s script output.  So it’s then totally reasonable to propose that we can then use a URL for an image such: profilePicRenderer.php?profile=58600109&flavor=s

The profilePicRenderer.php page would then interpret this and stream the appropriate profile pic to the page as a jpg image.  If someone were to look at the source code of the rendered HTML they’d only see the profilePicRenderer.php URL.  Furthermore, since Facebook would be hitting their server (which they’d have to do anyway to return a jpg image in their current system) they’d have the added benefit of being able to do some privacy checking.  They can ask and answer the following: Is a person logged in who is trying to stream this jpg?  Is a person a friend of this person?  Do they have rights to view this image?  All the important privacy checks could be accounted for in a few CPU processing cycles.  True, performance might be hit, but the images would still be cached once the user “suffers” the first time.  A decent price to pay for peace of mind.

The only problem I could foresee is a caching issue.  Right now evertyime a user changes their profile pic the image name changes.  This in turn tells the browser to immediately download the new image and store that in the cache as well.  I think, note that I’m not sure, that we could get around this by always including a special string in our profilePicRenderer.php request which could look something like this: profilePicRenderer.php?profile=58600109&flavor=s&cacheTrick=23fj23kjf

The cacheTrick variable would be maintained on the server, and associated with the profile pic, but not the same name as the profile pic itself (since this is what we’re trying to avoid!).  This way each time a profile pic was changed by a user it would also create a new cacheTrick variable and this could be used to signal the browser that the cached image is old.


Nov 8 2008

Obama!

I am so happy that Obama won.


Nov 7 2008

Mr. Rohrig’s Chemistry Class

One memory from high school stands out among many others. It illustrates clearly what type of person I came to be. My junior year I decided to take chemistry even though I had no idea what to expect except that everyone knew that the teacher, Brian Rohrig, taught a difficult course. On the first day of class I made a promise to myself: I would get an A, and would make every effort to do as well as I could. And I did. I learned every bit of material he threw at us, remembered every element, knew every calculation, and could convert any unit required. Every extra credit work was turned in the next day (one question asking if there are more atoms in a drop of water or drops of water in the oceans — the answer being more drops of water in all the oceans). A model student was an understatement for what I was, and as a result I earned over 100% each quarter (compared to the class averages of C range). I earned a spot along with 2 others to represent AHS as an top-notch chemistry student in a national chemistry test. More than anything I poured my soul into that course. Near the end of the year, several weeks before Summer vacation, AHS hosted an honor student awards ceremony. I was invited and suspected I’d be receiving the chemistry award. The night, however, was to be a great disappointment. Mr. Rohrig chose another student (who was also deserving) over me. The result crushed me. I wanted to leave, and felt embarassed for having thought so undeniably it would be me. I was mad at Mr. Rohrig and went home that night deciding not to do a bit more work in the class (which realistically would drop me within the 90% range since my grade was so high anyway).

The next few days I was still fuming until a moment of realization rushed over me in an awesome wave of clarity. Our last assignment was to build some sort of “product” which we could market/sell that utilized chemical reations. It was obvious to me after my epiphany that I needed to knock the ball out of the park with my project. Sulking was no longer an option — I would instead focus my energy positively to show to Mr. Rohrig that he had greatly mistaken in choosing someone else. The feeling wasn’t one of maliciousness, but rather acceptance and action — to pull myself up an demand nothing but absolute success.

I spent weeks developing my project and when it was done it was easily the greatest achievment of my high school career. I developed a 3D topographical board game where players had to make it across an island laden with chemical reaction boobie traps. That wasn’t all. The driving force of the game was a computer program which tracked player progress on the board, showed fun graphics on the screen, and allowed students to view the chemical reactions taking place if they fell into a boobie trap. The presentation was exhilirating. The response was astounding. I ended up earning the highest grade on the project ever given out. I had overcome my demon and showed that I was capable of amazing things.

Later, I asked Mr. Rohrig for a letter of recommendation. I still have it somewhere around my house, and if I ever come across it I’ll post it, but take my word for it that it was glowing. You may also wonder if I ever confronted Mr. Rohrig about not receiving the outstanding student award. Well I did — when I visited his house to pick up the recommendation letter. He said that I was by far one of the the most dedicated students he had ever seen, but he ultimately chose honor awards based on grades. My friend, Adam (the person who won the award) squeaked by me by just a couple points. In light of my accomplishment this seemed far less important. The life lesson I took from this, of course, was to never to give up, never view a setback as total failure, and tolerate nothing less of yourself except the best. Mr. Rohrig, was one of the best instructors I’ve ever had and I owe a large part of my character development to his course.

The next year Mr. Rohrig was fired. He was a demanding teacher who wasn’t afraid to hand out bad grades to bad students. He firmly believed that you had to earn the grade you received, and parents complained. Because of this, and probably other comlaint(s) the administration fabricated to justify their action, he left our school system. Hopefully the story I’ve shared stands as a testament to his ability to change at least one person for the better

- Books written by Brian Rohrig as listed on Amazon.com
- Brian Rohrig’s teacher biography at his current school


Nov 7 2008

HTML Form Tags

The <form> tag in HTML is used to wrap data elements (textboxes, checkboxes, radio buttons, etc.) on a webpage to prepare them for submission to the server. Nearly every form you fill out on a website uses a tag of some sort. But there’s one cosmetic issue that plagues tags, they don’t ever display in true inline!

When you wrap data elements with a tag you will probably see that there is additional whitespace above and below the and </form> tags when you’re viewing the actual website. This is because the <form> tag doesn’t respect true inline styling when it is rendered (or rather the browser doesn’t treat tags with true inline styling). This can sometimes be annoying when you’re attempting to layout a precise spacing scheme for a website you’re working on.

The best solution is to include a style attribute in the tag specifying a display element as inline. So you may want to do this:

<form action=”test.php” method=”post” style=”display:inline”>

form elements here

</form>

This will get around the cosmetic issue of the extra whitespace on both sides, and gives the developer ultimate control in spacing choices.


Nov 7 2008

5 Tech Gadgets I Can’t Live Without

I’m a big nerd, and I don’t care. I love gadgets, and I love depending on them and exploiting every facet of technology for my benefit. If there’s an electronic device or service that can make my life easier or better then it’s probably owned by me, or something I will own soon. I literally get a hard on for technology.

1. My PDA/Phone/Smart Device
This is perhaps the greatest marriage of devices in tech history, besides of course for the mouse and keyboard. Just a few years ago people would carry multiple devices (I was one of them!) but the day these two gadgets decided to get it on will live on as the greatest step forward for mobile computing. Pockets around the world cheered in relief. I use a Moto Q and it is absolute bliss. My life is on my phone, and my life would be nothing without my smart device. I feel naked without it.

2. My Car’s GPS Unit
Whether you have a top-of-the-line device, or your phone is spitting out turn by turn directions, it is by far one of the coolest affordable tech gadgets you can get today. As a person who likes having information available to him instantly, and who always wants to know what’s going on, how could I not have a GPS device? GPS is simply awesome, and when I drive a car without one (even if I know where I’m going) I feel lost. Having the ability to always click the “Take me home” button if I’m somewhere I don’t know is a very reassuring and soothing feeling. All cars should come standard with this feature – no questions asked.

3. DVR and/or TiVO
I’ve had my DVR for just one week and I’m already spoiled. How cool is it to pause live tv when you run into the kitchen for a snack? Or to record shows simultaneously while watching another channel? I’ve already set my DVR to record every single COPS episode in existence. The only thing I wish they’d add is the ability to skip commercials from recorded programs, or to include a “Jump ahead 30 seconds” button to quickly get to your program. Do you hear me Pioneer? Make this functionality and you will make even more money with your DVR devices. But even without this it is still just awesome.

4. My Laptop
I have a TX series Vaio from Sony, which is one of their smallest series. When I need computing power that I can’t get in my phone I pack up my Vaio and head out the door. It is my little baby, and does everything I need it to do when I’m not at my main computer at home. I’ve even downloaded a program called PDANet which allows me to get wireless internet through Sprint so I can browse websites whenever (and wherever) I want. My laptop is the perfect device to go to a meeting and take notes with, and to show presentations on. And when it’s time to play I pop in a DVD and it’s instantly a portable DVD player. Without a doubt it I’d be lost without it.

5. 360 and Wii
God made videogames so we can blow up our friends virtually. There is nothing quite like getting a group of friends together, drinking, and shooting things. Videogame consoles provide a mechanism to relax and have some fun unlike anything else out there. I love my 360 (even though it’s died once) and I find the Wii to be so incredibly unique that I play it almost as much as my 360. Take these two things away from me and I might blow up my friends for real, and who’d want that to happen?


Nov 7 2008

Thus Spoke Zarageigel

I’m frickin’ sweet. That’s all you need to know.

AG