Career Day 08!

Hello – it’s that time of year again. 🙂

I’ll be presenting at this year’s career day. I’ll be giving pretty much the same presentation as last year, with about a year’s more knowledge and insight.

As I was reviewing the slides, I felt that I should probably include some resources for everyone to keep up with certain trends. Here’s some sites to get you going:

http://www.techmeme.com

http://www.techcrunch.com

http://www.slashdot.org

http://www.techdirt.com

http://www.mashable.com

I look at the above sites every day.

I look forward to tomorrow!

Thanks for having me, Northern!

I had a really great time at Career Day this year. This is my 3rd time presenting, and it was by far the best year.

For those of you in the 3 classes: thanks for being so attentive and communicative. Hopefully, I got some information out to you that you might not have known otherwise!

I made some notes after the presentation and wanted to re-visit them on this blog. I’ll start with some general thoughts, then I’ll get into some of the questions you asked.

General Thoughts

I thought that for the most part, everything went well. There were no technical glitches, and there seemed to be good communication throughout the sessions. I did, however, have two main weaknesses. The first was that I should have had more information about the graphic design end of things. I felt really bad because there was a girl in the second session who was interested primarily in the design end of things, and I regret not having more information for her. The second weakness was my time management. The first class went right up until the end (there wasn’t much time for a Q&A), the second class had TOO much Q&A time, and I barely finished the presentation on the 3rd class.

For future career days (if I present again… which I hopefully will…), I’m going to try and address both issues. With regards to the first point, I’ve already talked to a designer friend of mine. He’ll help me to be able to disseminate more information. There’s also a possibility (albeit a slight one, since he lives in NYC) that he might present with me in the future. We’ll see. Either way, I’ll address the lack of graphic design info. The second issue is just a matter of trimming some of the fat from the presentation itself; perhaps updating the presentation structure or removing some slides.

Q&A

Q: How can I get started (technically)?
A: Read up, start slowly, try new things, building on the old. If you want to play with Linux/Apache/MySQL/PHP and don’t want to worry about messing up your parents’ computer, try Knoppix, mentioned in an earlier post.

Q: Can you help me with < insert technical issue here > ?
A: Probably. If I don’t know the answer, I can likely point you in the right direction. Email me at the address I mentioned in the presentation.

Q: What trend do you see as being “the next hot thing”?
A: Right now, mobile. Everything is getting more and more portable. Remember, though… this IS the Internet we’re talking about, and things change VERY quickly. The hot thing now might be (literally) old tech in 6 months.

I don’t know how much I’ll be updating this page unless I come back next year. If you do have comments or questions, you can leave them here (I’ll get an email alert) or send me a regular old email. It’s been fun!!

Hello, Northern students!

I hope you enjoy the presentation!

There’s a lot of supplemental technical information on this page with dozens of links for you young aspiring web designers. Drop me a line when you get home from school if you have any questions!

Search Engine Optimization and Marketing

SEO/SEM is a discipline that is constantly changing as the web’s search engines change their algorithms. The best way to really learn this stuff is to read message boards and blogs. What works today might not work tomorrow. To get a brief run down, visit the Wikipedia pages here and here.

Some good blogs and forums that I read are:

There’s a lot of money in this field, you just need to know where to look. 😉

Sys Admin and DB Admin

On the web, Linux rules. Linux is an open-source (anyone can change the code) operating system that most sites today are hosted on. You can download linux for free and run it on your home computer in the same way that you would run Windows or Mac OS. If you have an older (or spare) computer, I highly recommend you try working with it. Some of the more popular distributions for home use are:

You can also learn Linux by creating a “live CD” like Knoppix. After you download and create the CD, you can boot directly to that CD, which will contain a full Linux distribution. It’s a great way to get started without needing to buy any extra hardware.

Once you get start getting the hang of Linux, you might want to try installing and playing around with MySQL. MySQL can be complicated if you don’t know what you’re doing. phpMyAdmin is a decent – and easy – tool for managing MySQL.

Both System Administration and Database Administration require a lot of advanced knowledge. While learning them on your own is great, you’ll REALLY see benefits if you take college courses in Operating Systems and Database Systems.

Powerpoint slides = finished

My regular laptop (MacBook Pro) had to get sent in for service this past week, so I built a CentOS-based replacement laptop. Decent specs, blah blah blah, but because it is only running Linux, I have no PowerPoint to build the slides for the presentation. The Linux counterpart to PowerPoint is Open Office’s Impress. It’s nowhere near as slick as PowerPoint, but it got the job done.

Slides = finally finished!

Javascript and AJAX

I wanted to make Javascript and AJAX a separate discussion because they are generally used to supplement the actual language a website is written in. NOTE: Javascript is not the same as Java!!!

Most of the pretty effects that you see online on webpages are made with Javascript. Its a pretty robust language, and it allows you to manipulate elements on your page. AJAX stands for Asynchronous Javascript and XML. What AJAX allows you to do is run background processes, basically. Its power is that it can contact a server and refresh a portion of the current page a user is on without the user having to go to a new page. It makes for a very seamless web application. Google uses AJAX all the time. Have you ever used a personalized Google page? Google’s suggest function? Both of those pages use effects powered by AJAX.

Javascript – and increasingly, AJAX – is a necessary technology to learn if you want to build a modern looking web site.

Here are a few of my bookmarked Javascript/AJAX links:

PHP, et al

As stated in my last blog post, in order to make your site “dynamic”, you will need to program logic into the site.

Personally, I code mostly in PHP. It’s easy to learn, not proprietary, has great documentation, and pretty much any host you can find has PHP support. Most sites out there use what’s called the “LAMP” architecture – Linux Apache MySQL PHP. The “L” can be replaced with your OS of choice, however. I’ve used WAMP (Windows) and MAMP (Mac) as well. If you want to get started with building dynamic websites and coding, my recommendation is to:

  • Download either WAMP or MAMP, depending on whether you use Windows or a Mac
  • Read some of the documentation here or get a book on PHP.
  • Start coding!

I am in the process of learning Java right now because that’s what the site that I am working on uses. In many ways, it’s much more powerful and robust than PHP, though PHP has made significant improvements in version 5. Java developers are always in demand, too.

The other two “major”, though less often used, languages for web programming are ASP and Coldfusion.

Here are some links to the four languages mentioned above: PHP, Java, ASP, Coldfusion.

Great, I can build a static page… now what?!

HTML and CSS both will let you build a page that doesn’t change unless you change the code. That’s really not fun at all. Today’s Internet is built on pages that update on-the-fly, with constantly changing information.

There are generally two things that allow that to happen:

  1. Web programming languages
  2. Databases

Programming languages will allow you to make changes to the site based on certain logic. A simple example might be, “If the user to the site is using the FireFox web browser, direct him/her to page two. If the user is using Internet Explorer, direct him/her to http://www.getfirefox.com.” The language you choose to code in (be it PHP, ASP, Coldfusion, etc) will dictate what syntax is used, but all of them follow similar logic.

Databases will allow you to store information. That information can be retrieved by the programming language you use. This blog, for instance, stores the posts, along with all of my preferences, in a MySQL database. When you visit this page, the PHP that was used to build the site finds the information you are requesting in the database and displays it to you.

More on Coding and Database Administration to follow…

CSS

Back when I was in high school, all the web pages were pretty plain. In fact, my own first web page was nothing to look at. The most anyone thought to do with their layout at that point was to format with either tables or frames. That all changed with CSS…

CSS stands for Cascading Style Sheets. CSS is a “language” that allows you to add formatting to HTML tags. Pretty much all of the layouts you see are built using CSS definitions. You can add borders, background images, colors… the sky’s the limit.

CSS is what people use to make MySpace profile layouts. All the layouts are doing is adding formatting to the HTML every MySpace profile has by default.

Here are some CSS sites I have bookmarked (make sure to check out the WikiPedia page and the W3School):
From Table Hacks to CSS Layouts
CSS Layout Techniques
My 50 Favorite Design Resources
Building Your Very Own Web 2.0 Layout
53 CSS Techniques You Couldn’t Live Without
CSS Examples

HTML

All of the web pages you see on the Internet use HTML (HyperText Markup Language) as their backbone. HTML is a series of “tags” that are put around various parts of a web document to give the document structure. HTML is used to define sections of the document, and it is also used to format the document. Just as you might format a Word document or spreadsheet, you can format a web page. HTML “tags” all start with a ‘<‘ and end with a ‘>’.

If you are planning to build web pages at all, you should learn HTML. It’s not a programming language. That is, you cannot specify logic with HTML. You can only use it to “markup” pages. For that reason, it’s pretty simple to learn.

I recommend W3Schools’ web page for learning the basics of pretty much any technical language. HTML is no different. The page is here: http://www.w3schools.com/html/default.asp

Less than 3 weeks away… an update.

According to my calendar, Career Day is less than 3 weeks away. As such, I’ll begin posting relevant information and links pertaining to my presentation on web design.

My presentation will cover the technical and non-technical aspects of developing an Internet property.

Over the course of the following blog postings, I’ll touch on the various technical and non-technical disciplines needed to build a web site. I’ll give a basic overview and add some links here and there to supplemental reading.

Basic web design information

Obligatory WikiPedia link: http://en.wikipedia.org/wiki/Web_Design

First post

Today, I was asked if I’d give a presentation at career day for Northern Burlington on Web Design. I’ve been in the industry for a number of years. There are so many facets to web design that I didn’t think a simple presentation could do it justice.

The purpose of this page will be to supplement the presentation, give links to more information, and to answer questions that I might get.

I’ll post periodically as the date gets nearer.