Thursday, March 20, 2014

I'm Back!

I haven't died. I've just been busy doing things and haven't been able to blog as much as I would have liked to. So what has been happening? Well ...

  • I have been working a lot on projects for the school district,
  • I have been doing more schooling, including algebra, geometry, and other painful things,
  • Oh, and playing video games. It was important. It's not like the princess is going to rescue herself.

But amidst all this, I have neglected this blog and my loyal audience. But rest assured, I will be posting more often. I have a lot to say, and I just need to keep the distractions from, well, doing distractiony things.

I promise, more postings. Soon.

Sunday, January 19, 2014

Opinions by Richard Case Study, part 2: And I'll Form the Head

Now that you have checked out my Opinions by Richard website (and if you haven't, please click here), I'm sure you have some questions about what I did and how I did it. It can get confusing, so I will make it as simple as I can. By the time these tutorials are done, you will understand my thought processes. Just let the madness overtake you. It'll be much easier.

Now, I could reprint the entire code, but I decided that, really, I don't want to. So instead, I'll post it as it goes. If you're interested, leave me a message and I'll send it to you.

So about the top ...

HTML coding splits up the pages, for the most part, into 2 sections; the <head> and the <body>. The <body> is where most things happen and is the longest. It is also the most interesting when scripting (such as JavaScript and Ruby) aren't involved.

Naturally, we will focus on the <head> this time. It tends to hold a lot that keeps things functioning.


We'll cover the top, down to the <body> section. There is a bit to explain here, but it's fairly simple.

<!DOCTYPE html>


    <title>Opinions by Richard, Inc.</title>
    <link rel="stylesheet" type="text/css" href="rantstyle2.css" />
    <meta charset="UTF-8" />

Fairly short and simple, but quite a bit has happened already. Let's look at the first line. <!DOCTYPE html> tells the browser that this is HTML5. Seems basic, and I'm sure you're wondering, "Doesn't the browser already know that?" The answer is, "Probably, but it doesn't hurt anything to do it and it could hurt quite a bit if you don't do it."

Fun fact: if you are doing anything except for HTML5, you will write something different, and usually longer, and you will have to use the line. If the time comes that I care, I'll go over those, but it doesn't affect us now, so just be grateful for the short phrase.

Another fun fact: this is the ONLY part of the coding that doesn't require a closing bracket. In fact, it can't use one. All the rest of the markup uses a forward slash(/) to let you know when it's done. We'll get to that soon; I promise.

The next line, <html> tells the browser that this is where the HTML starts. Again, the browser could probably figure it out, but it might not; even if it did, it's a good habit to get into, as you can put non-HTML things in a webpage, and this helps to keep things organized.

<head>Now, this is letting us know that a lot of the information about the site is coming here. This holds things like the title, which language it will be in, keywords for search engines, and the JavaScript/Perl/Ruby/whatever-other-web-language scripts.

<title>Opinions by Richard, Inc.</title> is self-explanatory. It is the title of the page. This gets put on the top of the window, so if you're thinking of naming your page "Hitler Had a Point" for sarcasm, that will be what shows up on the top of the page, detracting from what you're trying to do.

Unless you're trying to get punched in the face.

But you may have noticed the </title> at the end of the line. This is called "closing" and it is important, because this is how the browser knows where the title ends. While the browser might let you get away with not ending it, and other things, with the slash, it is considered bad form and sloppy; XHTML (a version of HTML that combines web browsing with data sorting, and really, that is a long topic, so just know it's really close to HTML5 for now) actually refuses to cooperate when you don't close the different things.

<link rel="stylesheet" type="text/css" href="rantstyle2.css" /> is important, and part of a bigger topic. Short version is that this tells the browser to look for another file on the server, this one called "rantstyle2.css", and follow its rules for how things are supposed to look. We'll refer to it a few more times, and actually explain what it is in a later post.

Then, there's <meta charset="UTF-8" />, which just simply tells the browser what kind of characters will be used. UTF-8 is the most commonly used, and it usually not necessary, but it's just one line that can save a lot of trouble when the exception comes.

Last, but not least, </head> tells the browser that the <head> is done. This closes the section, and is absolutely necessary to making the page work; without it, the <body>; part will just be part of the <head> and then nothing will work right.

This is a very simple <head>. It did what it needed to do, but they are often more complex than this; when we are done, this one will have more in it as well. The additions will be needed as we make the site more user-friendly.

Sunday, January 5, 2014

Opinions by Richard case study, part 1

Opinions by Richard Case Study, part 1

My original plan was to do a full tutorial on HTML, but then I realized I didn’t like that idea. There are lots of those out there written by people that know more than I do. But I have a better idea.

For one of my courses, I had to build a website, using HTML and CSS. It could be about whatever I wanted, but I had to have the following criteria:

  • It had to have four pages with the same consistent style
  • It had to use the semantic elements of *nav*, *header*, *article*, and *aside*
  • It had to use absolute, relative, and float positioning
  • It had to use the :hover pseudo-class
  • It had to use a background attribute
  • It had to have at least one ordered list
  • It had to have at least one unordered list
  • It had to have a table
  • It had to have navigation to go to each of the pages without using the Back button
  • It had to have one link to an external website
  • Each page had to have relevant content and an image

Additionally, I had to use a CSS with these things:

  • At least two changes to the font
  • At least two type selectors to modify the HTML
  • At least two class selectors that were used twice
  • At least two ID selectors that formatted specific areas

I’m sure this sounds like a lot of gibberish. That’s why I’m here; to help you understand it all.

The first thing I needed to do was find a topic I cared about. After careful consideration, I chose to write about a very important subject that is dear to my heart: my opinions. You can look at it here.

Now that you have taken a look at the site, it’s time to explain what I did and why I … oh, yeah, you want to know what these requirements mean. That will take a little explanation, but after just a few blog posts, it will all make sense.

Sunday, July 28, 2013

The 1st and Most Important Fact about HTML

The 1st and Most Important Fact about HTML

If you want to do any kind of web development, you need to know HTML, or HyperText Markup Language. In order to understand HTML, you need to know how to use the tags, but you also need to know and accept one fact. And that fact is itself housed in controversy. Oh, the fact itself isn’t the controversial part; that is set in stone and indisputable. No, the controversy comes from the reaction to the fact, and it is this:

HTML is not a programming language.


Pictured: C, C++, JavaScript, Ruby, COBOL, C#, and HTML not part of the clique

That’s it. A simple statement, absolutely correct, and everybody stares at it and reacts. The reactions tend to fall into three categories: A) “Why isn’t it a programming language?” B) “So why do we need to learn it?” or C) “Why does that even matter?” These are important considerations so I am going to walk you through them, so that when the day comes that you pass this fact on at dinner parties.

Why isn’t it a programming language?
This tends to be the reaction of surprise, and it is closely related to, “What do you mean it’s not a programming language?” It also seems to confuse people. After all, it is what the Internet is built on.

However, a close examination at HTML shows that it doesn’t actually do anything. It doesn’t calculate. It doesn’t store any values. It doesn’t access data from any files. All that HTML does is dictate what is displayed on the screen and how; that is the Markup part. The interactivity that comes with the Internet is from other languages, such as Ruby and JavaScript. Those are the programming languages, not HTML. This brings us to the next reaction.

So why do we need to learn it?
If you are taking a web development course, the answer is, “Because you want to pass the class,” the same reason you had to learn how to find the area of a triangle in middle school. But more likely, you read about HTML not being a programming language and what you really want to know is how important it can be to know, as opposed to a language that does something. The answer to that is, “Very.” Sure, HTML is not a programming language, but a cheeseburger is also not a programming and nobody sane would argue that cheeseburgers aren’t important.
HTML displays the web pages on the screen and, coupled with a programming language, allows for creating user interfaces that can be used on a browser. But even if you aren’t making something to run on said browser but are just looking to make web pages, you still use it for displaying those web pages.

Cheeseburgers fill your stomach with delicious cow.

Why does it matter?
It matters because you should be using the right tools for the right job. You would not use a hammer to measure how tall a building is, though you technically could. In the same way, you should understand the limitations of HTML – namely how it only deals in displaying and not in processing or file manipulation. The processing is where other languages come into play and fortunately, HTML does interact with them very well.

So there you have it! Now you know why HTML is not a programming language and why it’s important to know anyway. The next in the series will get into the coding itself.

Wednesday, June 19, 2013

Smartphones and Me

Smart Phones and Me

Smartphones and Me

I recently watched an episode of The Fairly Oddparents. For those who don't know the show, here is a brief summary: kid named Timmy, miserable life, has fairy godparents, manages to screw things up more through bad wishing. Also, lots of slapstick comedy. Basically, imagine you are watching the 3 Stooges tripping on acid - while you are tripping on acid.

Odd picture
For example, this is one of the least weird parts.

The episode I was watching was the one where Timmy got a smartphone. Up to this point, he was the only person he knew that did not have a smartphone. Mind you, he did have a basic cell phone, but everybody else had a smartphone. He wished for one, and it took over his life. When he fought against it, it turned on him. Just like Apple does.

What really struck me about this episode, besides the talking dog referring to the '90s as a time before fun as he was driving a car (just go with it; you'll feel much better.), was how prevalent smartphones have become in our society. I got my first phone in 2002, and I have yet to have a smartphone. It's not a feeling of wanting to simplify my life; it's just that the usage I would get out of the magical smartphone that I am meant to have is not worth the expense.

But I know the day is coming when that will change. During my time working for a Verizon call center, I noticed how most of the free phone deals and the best discounts were for smartphones, with the basic phones being the crumbs that were thrown out.

How does this affect me?

This affects me because it will be a short time before all phones are smartphones. In essence, everybody will soon be carrying around little phone-like devices that tell time, check e-mail, text, send videos, browse the Internet, check the weather, buy stocks, sell stocks, order flowers for your wife because you lost money on the stocks you bought and sold, and - occasionally - make a phone call. As more people use smartphones for their everyday lives, they will use more and more apps and not just for games or texting. The new Windows phones have a fully functioning version of MS Office on it.

All that to say that being a developer will have to include doing apps, or at least understanding how they function. The good news is that from everything I have come across on this (and I research has been limited - I've been busy.) suggests there are the three big phone operating systems.

  • iOS, used for iPhones. Its main language is Objective-C. That one is declining right now, as people are getting tired of Apple's desire to control your life.
  • Windows Phone, used by Nokia mostly, but a few others as well. Microsoft's entry back into the smartphones has been gaining steam. Its main language is, shockingly, C#, a Microsoft variant of C++.
  • Android, used by Samsung, Motorola, Droid, and many others. If you're not using an iPhone, you probably have an Android one. Its big language is Java, though there are a few others clamoring.

I'm not a big fan of computing on a phone. I like the actual keyboard on an actual computer and I like adding accessories to it, such as hard drives and printers; adding accessories to a smartphone would be defeating the purpose after a while. The good news for me is that smartphones, useful as they are, are not being treated as primary computers. Especially because I don't have a smartphone.

Tuesday, June 4, 2013

Welcome to Project: Poisontree

Welcome to Project
Project: Poisontree is my plan to go from the beginning to the software development career, and you have been invited to join in the journey. I'm sure the obvious question is why. Specifically, Why am I interested in this? The answer I have is because I think I have a lot to offer. Besides being absolutely fascinating, I bring to the table a different perspective. You see, I am in my late 30's. This makes me older than a lot of things. For example, I am older than the personal computer. I am older than Cherry Coke. My first computer was a Commodore 64; I bought it used for $425 and I got a good deal. When I was 19, I bought the game Secret of Mana for $59.99 and it was worth every penny to me. Now, you can buy it for your phone for $8.
Secret of Mana
It was a lot cooler than the picture shows. It'd have to be.

I am fully aware that I am an old man seeking to enter a young man's game. This puts me at a disadvantage, which I also know. But with that comes maturity; the foolish things of youth are past me because their time has passed and I have learned enough to either regret having done them or been grateful that I did not do them. Hence, I am hoping that my age will be seen as a sign that I will not be calling in sick because last weekend was too rough for me.
So what will I be presenting in the future? I'm glad you asked. And the answer is : lots of things. Better answer: Sometimes, I will talk about some news story I found interesting, usually tech-related. Sometimes, I will be talking about my journey and what is happening in it specifically. And sometimes, I will be putting up tutorials and discussions about things that I like in development. For example, I do like languages. I'm not as interested in the hardware components. Don't get me wrong; I understand they are needed and if I care enough, I will go into them, but they will not be a focus of mine. And finally, if you want to know something, go ahead and mention it and if it is interesting to others (I presume it's interesting to you) and/or to me, I will discuss it. There is, however, one topic I will not discuss, so let's get it out of the way now.

Why the name?

Personal reasons. Someday, I may decide to share it. But that day has not come.