Archive

Archive for March, 2007

In Favor of Using Style Elements / Embedded Style Sheets / Style Blocks / Style Tags or Whatever You Want To Call Them inside the HTML / XHTML Body.

March 20th, 2007

I’ve been using Style Elements within the HTML Body tag to work around some of the design flaws presented in ASP.NET 2.0 Themes – see the second solution in this post for more details. I’ve been leary of using this method because it’s not a best practice, since it compromises the validity of the HTML / XHTML document. I decided to do a little more research on this subject and made the following discoveries.

Discoveries:

  1. Some of the more complex web sites (Amazon and Yahoo!) make use of Style Elements within the Body Element – see the source snippets below.
  2. Gecko (Firefox, Flock, Mozilla, etc…) based browsers automatically move Style Elements found within the Body Element into the Head Element and render the page as expected – see the rendered Document Object Model (DOM) image below.
  3. Internet Explorer doesn’t move the Style Element into the Head Element, but renders the page as expected.
  4. Opera… well I wish I knew what Opera did, but the page renders as expected.

Source snippet from Amazon:

</table>
    </td>
  </tr>
</table

<style type=”text/css”>
.lol-hr-center { margin: 5px; border-top-width: 1px;
/* and so on… */
}
</style>

<div id=”listoflists_data” style=”display:none”>
Note how the Style element is located between the <table> and <div> tags.


Source snippet from Yahoo!:

<h4>
<
a id=”paweather” class=”details” href=”r/wb/*-http://weather.yahoo.com/forecast/USKS0448_f.html”><span class=”icon”>Weather <b><strong>51&deg;</strong>F</b></span></a>

<style type=”text/css”>#patabs #weather .icon{background:url(http://us.i1.yimg.com/us.yimg.com/i/us/we/31/b/26.gif) 3px 2pxno-repeat;}</style>

</h4>
Note how the Style element is located within the <h4> tag.

A snapshot of the Document Object Model (DOM) as seen through Firebug:


Note the highlighted area references the Yahoo! source snippet from above.
Conclusion: Although the Style Element within the Body Element compromises the validity of a document, some of the leaders in web design and accessibility use this approach, so it may not be as big a work around or hack.

Author: Adam Kahtava Categories: .NET, ASP.NET, CSS, DOM, Firebug, Firefox, IE, Opera, Themes and Skins Tags:

My Experiences at RCC Institute of Technology (Private vs. Public Education)

March 19th, 2007

I started my post secondary studies at a small relatively unknown private college called RCC Institute of Technology (formerly known as Radio College of Canada or RCC) in Concord Ontario Canada – RCC is now affiliated with Yorkville University (an institute that’s not really a University, read more). RCC’s heavy recruitment campaigns and constant presence at my high school gave them a high profile with the high school students. Their enticing selling point was the ability to fast track your education and start making money – as high school students, we saw this as a great opportunity.

Needless to say it was a hard lesson of “if it’s too good to be true, it probably is”.  In my last year of high school I inquired about RCC and like a vacuum salesman, one of their recruiters promptly banged on my front door. He sat in my house discussing all the positive benefits RCC had to offer with my parents and I. My parents were sold, I was sold, I wanted to make money – I was 18 years old, I was naive, it was like taking candy from a child. I didn’t tour the facilities; I didn’t question the financial implications. Instead I signed on the dotted lines (signed a contract), filled out an application for a government loan, and eagerly anticipated finishing school and landing my first highly paid job.


Image taken from Canada.com

My first week at RCC was a rude awakening. When I attended, the facilities were substandard, the equipment outdated, the computers were yellowed with age, the keyboards missing keys, the CRTs monitors flickering with monochromatic colors, and the carpet peeling away from the walls. The cafeteria was a retrofitted garage complete with an overhead crane for removing engines (or something). I distinctly remember the lobby near the entrance adorned with leather sofas and leather chairs, but we quickly learned that these props were strictly for visiting guests – no students allowed.  This wasn’t what I expected; this wasn’t what I signed up for.

Every day on my way to RCC I would ride past the local Community College (Seneca College of Applied Arts & Technology). I was impressed by the size of the school, the architecture, the cutting edge equipment, state of the art computers, a library, a fitness facility, a large cafeteria with a diverse selection of food, a couple thousand students – all of which RCC lacked. I assumed the cost for attending this school would be astronomical, but decided to ask anyway.

My conversation with the registration clerk went something like this:

Me: “I’m interested in attending Seneca College, how much does it cost?”
The clerk replied: “$1200 per semester”

I nearly choked, RCC was EXPENSIVE. I was paying nearly $4000 per semester compared to $1200 at Seneca – a semester at RCC was about 3 months, whereas a semester at Seneca was 4 months.

I asked: “I’m attending RCC will I be able to transfer any of my credits?”
The clerk: “Where is RCC?”

I scratched my head thinking: “How could anyone not know about RCC? I thought it was the pinnacle of technological education? “

I replied: “It’s around the corner, a 5 minute bus ride from here”
The clerk: “Nope… I’ve never heard of RCC, but here’s some information on Seneca’s transfer policies, and a course catalog”

I climbed back on my bike and continued to RCC.

Later that week I began doing some calculations where I realized the following:

A year at RCC would cost me about $16,000 dollars, this didn’t include cost of living, or housing expenses, and certainly did not include any part-time jobs since RCC’s rigorous schedule required that you catch up on your studies over the weekend. In total, a year at RCC would cost me about $23,000 dollars. Conversely a year at Seneca would cost me about $9,000 dollars (including living expenses), I figured that 3 years at Seneca would cost me somewhere around $27,000, but I’d have the ability to work part-time throughout each of those years, which would bring the overall total well below RCC’s single year program. So a single year at RCC (a private College) was roughly equivalent to 3 years at Seneca College (or any publicly funded Community College for that mater). This really got me thinking, and made me wish I had done more research before signing up for RCC – financially Community College was a much better deal.


Image taken from Seneca

I continued to compare RCC and Seneca, and to my horror I discovered that the RCC program only awarded a Certificate whereas Seneca awarded an Ontario College Diploma – now professionally and financially Community College was a far better deal. At this point I was convinced that RCC was probably not in my best interest, and decided to make the switch.

Back at RCC I notified the Registrar of my intentions to quit, attended a counseling session (where I was strongly advised not to quit and given the opportunity to switch programs), and was then informed that I would be have to pay 10% ($1,600) of the full years tuition ($16,000) for quitting. RCC had a dropping out fee!!! My jaw dropped, I was furious (and still evidently am, since I’m spending the time to write this entry), I considered staying with RCC to avoid paying this fee – I was only 18, I had no money. I then asked for some confirmation for the dropping out fee. The Clerk then produced the document I had signed upon enrolling, and there it was under the dotted lines – the contract I had signed when the recruiter came to my house. I paid RCC’s drop out fee and enrolled in a publicly funded college.

Words of advice: “if it’s too good to be true, it probably is” Publicly funded post secondary studies are the way to go whether it be College or University. Private education is almost always more expensive, and probably not as valuable for a professional career (although some private polytechnic schools are pretty good too). In my opinion, fast track programs should be avoided, because you can’t really compress education. Most of the learning experience is developing your own ideas, opinions, honing your learning skills, maturing, and gaining life experiences.

Many of my RCC friends that completed the single year certificate at RCC have fought for jobs related to their education since graduation. A couple friends have pursued additional certification, many have settled for jobs completely out of their field of study, and almost all are still paying their RCC student loans.

Before you sign on the dotted line, know what you’re signing for – a lesson learned the hard way.

Author: Adam Kahtava Categories: Musings, Personal Tags:

Code Camp in Toronto, are you going?

March 14th, 2007

So what is Code Camp all about?

A Code Camp must follow these rules:

  1. By and For the Developer Community – Code Camps are about the developer community at large. They are meant to be a place for developers to come and learn from their peers. Topics are always based on community interest and never determined by anyone other than the community.
  2. Always Free – Code Camps are always free for attendees.
  3. Community Developed Material – The success of the Code Camps is that they are based on community content. All content that is delivered is original. All presentation content must be provided completely (including code) without any restriction. If you have content you don't want to share or provide to attendees then the Code Camp is not the place for you.
  4. No Fluff _ only Code – Code Camps are about showing the code. Refer to rule #1 if you have any questions on this.
  5. Community Ownership – The most important element of the Code Camp is always the developer community. All are welcome to attend and speak and do so without expectation of payment or any other compensation other than their participation in the community.
  6. Never occur during work hours – We understand that many times people can't leave work for a day or two to attend training or even seminars. The beauty of the Code Camp is that they always occur on weekends.

Read more here: http://www.torontocodecamp.net/

If your attending then I'll see you there. :)

Author: Adam Kahtava Categories: .NET, Code Camp, Events Tags:

Community keeps us Grounded, Expand your Community.

March 4th, 2007

Whether it be a group people living in the same area, the scientific community, the business community, the software community, or the global village, community is what keeps us all grounded.

Community’s facilitate cross pollination (the sharing of ideas, thoughts, and alternatives), and keep egos in check. Communities reduce ignorance, can prevent the Not Invented Here (NIH) mentality, can prevent Social Isolation, and can prevent other personal or business stifling consequences.  By expanding our communities we become more grounded. To expand our community in the scientific / software realm we can attending local events, network with colleagues, participate in online forums, participate in peer reviews, contribute as technical editors, subscribe to industry related magazines and publishing’s, maintain professional memberships, donate time, or contribute to other community related events.

Community is important, expand your community!

In an effort to expand my community I’m:

  • Editing technical books
  • Contributing to online forums
  • Blogging

In the future I’d like to:

  • Present at user groups
  • Contribute to an open source project
  • Attend more conferences

How are you expanding your community?

Related thoughts:

No man is an island, entire of itself
every man is a piece of the continent, …
- John Donne, Meditation XVII, English clergyman & poet (1572 – 1631) 

Not Invented Here, in the context of corporate culture, sometimes occurs as a result of simple ignorance, as many companies simply never do the research to know whether a solution already exists. – Wikipedia: Not Invented Here

If it’s a core business function — do it yourself, no matter what. – Joel Spolsky, In Defense of Not-Invented-Here Syndrome

Author: Adam Kahtava Categories: Community, Musings, Team Work Tags: