Showing posts with label internet. Show all posts
Showing posts with label internet. Show all posts

Saturday, October 31, 2009

Another website launched with Drupal

I just got done putting up my second website using Drupal as the CMS.  The site can be found at http://www.maywoodband.com.  This site is home to my band, Maywood.  It includes both public and private forums, picture and video galleries, and a customized theme.  And it took me only two days of work to get running.  To anyone who says that Drupal is hard to work with, I say: Two Days.  Not bad for a “steep learning curve”.


Monday, October 26, 2009

Drupal Notes – My Project

So I’m posted a boatload of entries about Drupal, but why am I learning all about it? Well, first of all, it’s friggin’ sweet, but that’s not why I got interested to begin with. I’ve got a project, and I want to get it to the web quickly.

Enter Drupal.

One of my good friends, and occasional contributor to this blog, Sol Kleinsmith, turned me on to the idea of open source content management systems. He chewed my ear off one night over beer and wine about Drupal, I did some research, and was immediately hooked. Ha! Hooked! I’m making Drupal jokes already! (see some of the other posts about Drupal to … well… see how big of a nerd I just was.)

One of the things I was looking for was the ability to extend functionality. My project involves storing, retrieving, and comparing information about different computer systems. Obviously this is pretty specific, and there’s no built in functionality that can be used to achieve this in Drupal. Custom Modules are going to have to be written.

So if you continue to read these posts, you’ll learn how to put together a new custom Module that takes in and stores information in a MySQL database, makes it searchable, compares like information, and displays it in a readable, customizable fashion. Pretty much anything and everything you can do with Drupal, I’m going to try to do.

If you want to check out my work, click on the link below:

Side-by-Side Geek

And if you’re feeling brave, sign up and start posting in the forums!


Monday, October 19, 2009

Drupal Notes – Modules – Creating the Files

Creating a new Module is as simple as creating a handful of files, as long as you know what to call them and where they should be placed. Oh, and you have to know PHP. Details, details…

If you’ve explored the directory structure of your Drupal installation, you might have found a few directories of interest. Specifically, there’s a modules directory in the root of your Drupal installation, which holds the Drupal core modules. You might have also found the sites/all/modules directory. This is where you want to work when writing and installing custom Modules.

When creating a new Module, there are a handful of standard files that are generated. When you write a new Module, the first thing you do is give it a short but meaningful name. For this example, we’ll use the name “modulename”.

The first time you create a new Module, you’ll need to create some directories in the sites/all/modules directory. In order to make changes and updates to downloaded Modules easier, you’ll probably want to create a custom directory. Then, inside the custom directory, create a directory, named after the Module, for each custom Module you’re creating. So, in our case, we’ll be creating a modulename directory. So we end up with:

sites/all/modules/custom/modulename

Once you get the directories all set up, you’ll create the following basic files:

Readme.txt . . . This file describes what your Module does, just in case someone else has to take over maintenance.

modulename.info . . . This file provides information to the Drupal Core about the new Module. We’ll get more into the use and structure of this file later.

modulename.module . . . This is where the meat of the module will reside. Hooks are implemented here. This is another that we’ll get into in greater detail in a future blog entry. Just know for now that you’ll be spending a lot of time in this file.

modulename.admin.inc . . . This file isn’t mandatory, but if you have any kind of configuration in your module, you’ll probably me creating this file. It holds information about administrative forms. Stay tuned for more on this file.

So there really isn’t too much to creating a simple Drupal Module. I’ll get much, much deeper into development in future posts. Keep reading and learn as I do!


Monday, October 12, 2009

Drupal Notes – Terminology

Before we get started with development, there are some terms that need to be defined. It’s important that we keep these concepts straight, because it can get pretty confusing if we don’t. So here are some terms and concepts that we’ll need to know before going any further:

Modules . . . The most fundamental concept in Drupal development is the Module. A Module, to put it simply, is a container of code that introduces some sort of behavior to the system. For example, there is a Module that handles Ad Sense publishing. There is a Module that allows you to run forums. There is a Module for blogging. Modules can be enabled and disabled (except for certain modules that are required to run the basic Drupal framework). Custom functionality is added to Drupal by way of custom Modules.

Hooks . . . In order to let Drupal know about newly added functionality, we use Hooks. If you’ve done any event-based programming in the past, you’ve probably heard of callback functions. For those new to the idea, basically what you’re doing is letting a control loop know about functions you’ve written to handle certain events. That’s what Drupal’s Hook system is all about. When you define a Hook function, you’re letting Drupal know you’ve written a function that handles a certain circumstance. I’ll get into a lot more detail in a future entry, but just know for now that Hooks are how you integrate your code with the Drupal core code.

Themes . . . When it comes to presenting information on the web, there are really two parts to the story. There’s the information you’re presenting and then there’s the format you’re presenting it in. That’s where Drupal Themes come in. Themes can be thought of as the presentation part of the system. They define, through HTML markup and CSS code, how the data is displayed on your users’ browser. Again, more detail to come, but know that you should have a good working knowledge of HTML, CSS, and PHP in order to effectively work with Drupal Themes.

Nodes . . . If Modules contain code for dealing with events, hooks define those events, and Themes define presentation, then Nodes define the actual types of content Drupal can deal with. I know this can be a little confusing, and you’re probably wondering why the designers of Drupal would take this approach. Basically, it allows content types to exist independently of functionality, and allows you to apply any functionality to any content you like. Believe me, it’s very cool, and after you get past any confusion, you’ll really like it.

Blocks . . . So how do you take all that great information in your Nodes, press it through the code in your Modules, and display it on the screen? Through Blocks, of course! Well, maybe it’s not that obvious, but that’s how it’s done. Blocks are regions where information is displayed. An example of a block from the Drupal Core would be the Login Block, where you enter your login information. The Block displays a login prompt when no-one is logged in, then displays a menu of options that is dependent on your level of access.


Monday, October 5, 2009

Drupal Notes Series

prodrupal

Over the past few months, I’ve been working on a website project in my spare time.  In order to speed up deployment of the site, I decided to use Drupal.

While Drupal, with all it’s addons and plugins and themes, is a very complete system for people making community portals, e-commerce websites, internal intranets, and many other flavors of website, it doesn’t quite handle the concept of my project.  Because of this, I’m going to be learning how to extend Drupal’s basic functionality.

In order to make my life a bit easier, I purchased a copy of Pro Drupal Development, Second Edition.  I’m hoping the book can help me figure out how to properly and cleanly add the functionality I’m looking for.  I thumbed through it, and things look promising.

So, in the spirit of sharing, I’m going to be posting my personal notes on Drupal development.  I’ll post one installment every week, Monday morning at around 8am.  I’m going to cover everything from how to set up your initial installation to how to add custom modules.


Tuesday, June 23, 2009

Vineet Nayar says US Tech Grads are Unemployable

In an interesting twist of I-don't-know-what, CEO of Indian IT services vendor HCL Vineet Nayar stated in a speech in New York City in front of 50 customers and partners that the reason his company doesn't employ more people here in the United States (HCL currently has 21 offices in 15 states, employing over 3,000 people) is that US tech grads are "unemployable".

This probably comes as a swift kick in the shorts to anybody who has ever dealt with "overseas" tech support, however Rob Preston of InformationWeek quickly put Nayar's comments in perspective. Preston explains that Nayar was driving at the fact that "...American grads looking to enter the tech field are preoccupied with getting rich..." and are less inclined to "...spend their time learning the 'boring' details of tech process, methodology, and tools...". This results in the American grads being more expensive to train than their Indian, Chinese, Brazilian, South African, or Irish counterparts.

Having never personally experienced education from an Indian perspective, I can't vouch for how true or untrue statements made concerning American versus Indian education are. I have only my personal experience to build from. I can say that my own education did, at times, trade low-level hands-on experience for a higher-level, creative problem-solving approach. Whether this was a good or bad thing is debatable, however I do feel that it does offer some benefits over a brute-force approach.

In my dealings with overseas technical support (HCL included, as they are contracted by my current employer), I've found that the individuals I've worked with, while very knowledgable concerning the product they are employed to support, lack basic problem-solving skills and tend toward trial-and-error when it comes to fixing issues. While this can work in a lot of situations, it's not nearly the cleanest or most efficient way to get the job done. On more than one occasion, it has actually made problems worse, because the technician made changes that he couldn't remember how to undo, changes that made matters worse.

I'm not going to be rough on the Indian folks I've worked with over the years, because, while some of them have been occasionally frustrating, a lot of them are some of the most intelligent, creative IT people I've had the pleasure of working with. And believe me, the same holds true for the American IT staff, both positive and negative. The reality is that the American and Indian IT educational systems aren't perfect, and can learn a lot from each other. It's just a bitter pill to swallow when the criticism is pointed back at you.

Microsoft Enters the Free Anti-Malware Arena

Hot off the presses...err, the Intarwebs... CNET.com published a little gem giving the details on Microsoft's new free anti-virus / anti-malware software, dubbed "Microsoft Security Essentials".

The new software, which is targeted mostly at those who don't already have a security suite installed on their computers, will be available for free from Microsoft. The software, like its direct competitors, will stay up-to-date via auto update features, and will protect against current and new virus threats, as well as rootkits.

Microsoft Security Essentials is slated to replace the Live OneCare suite. Microsoft Security Essentials will not include features such as a firewall, performance tuning, or backup and restore. Security Essentials is intended only as a free, simple, bare-bones security solution.

Click here to read what Elinor Mills from CNET has to say about the matter...

Twitter and Iran

Time.com just published an article last week that does a very good job of explaining the phenomenon happening on Twitter surrounding the Iranian election. Until today, I'd not had a chance to really learn much about what's going on, and I found it very enlightening.

In the past, I've been pretty hard on Twitter. While I'm still of the opinion that day-to-day Tweeting is, well, mostly silly, I've got to say that what is going on in Iran is one of the best uses for this new technology I could never have personally imagined. I think what's going on is amazing. Technology can be used for social change, and to circumvent a corrupt government's attempts to deny freedom of speech.

So I raise my glass to the folks at Twitter. May your network be strong, and your servers never go down.

Thursday, June 11, 2009

What Kind of Tech User are You?

You are an Digital Collaborator

If you are a Digital Collaborator, you use information technology to work with and share your creations with others. You are enthusiastic about how ICTs help you connect with others and confident in your ability to manage digital devices and information. For you, the digital commons can be a camp, a lab, or a theater group – places to gather with others to develop something new.

Yup, that’s me… a “Digital Collaborator”. I’d better be, since I work in IT. Find out what kind of tech user you are by visiting PewInternet.org and taking their quiz.


Friday, June 5, 2009

Three Wolf Moon T-Shirt - Magic on Amazon

According to the many, many reviewers on Amazon, this shirt does everything from attract the opposite sex to cure cancer. It's HILL AIR EE US.

Seriously, check it out. HERE

Thursday, June 4, 2009

NEWS: ReadWriteWeb Points Out the Reality of Web 2.0 for the White House

Last post of the day, honest!

Some of us out here in the etherwebs have been waiting, watching, and wondering what the heck happened to all the talk of Web 2.0 in the Whitehouse. The folks at ReadWriteWeb, specifically Frederic Lardinois, have put together yet another great article on just that topic.

Their article does a great job of pointing out the difference between posting blogs as a campaign and posting them as an administration. First of all, there's the scale. Next you have security. And then you have scale. Oh, did I mention scale? Anyway, you should read the article. It's good.

NEWS: So Much for Privacy

Arstechnica.com posted an article last night entitled, "Warrantless surveillance lawsuit thrown out". According to the article, federal district judge Vaughn Walker "rejected lawsuits that aimed to hold telecommunications companies accountable for their role in a controversial warrantless surveillance program". Judge Walker is citing a FISA amendment that retroactively grants immunity to the companies.

It's this sort of legal maneuvering that makes me worry for our right to privacy. Congress should not be allowed to pass laws that make companies retroactively immune to anything. It pretty much guarantees that, as long as the companies are in line with that those in power want, they'll be safe from any sort of prosecution.

Wednesday, May 6, 2009

Cyberbullying Bill a Potential Free-Speech Threat

A while back, I wrote an article about a situation my brother-in-law was living through.  A few kids he knows at his school were sending him mean, nasty text messages, and it was really starting to get to him.  With time, some conversations with people who know and love him, and a thickening of his skin, he was able to start ignoring the stupid messages he was getting and move on.  He's a good kid, and knows that people say and do dumb things.  He's no worse for it, and from what I know, it has stopped and doesn't bother him any more.

Other kids are not as fortunate as my brother-in-law, and don't necessarily have the tech-savvy and attentive parents, brothers, and sisters that he does.  Some kids are left to deal with this sort of thing on their own.  It is with that in mind that HR 1966 was introduced to the United States House of Representatives on April 2nd, 2009.  The bill, known as the "Megan Meier Cyberbullying Prevention Act," is designed to prevent and punish bullying using electronic means, such as "email, instant messaging, blogs, websites, telephones, and text messages."  The bill would amend United States Code Title 18, Chapter 41, which is the section on extortion and threats.  It would make harassment by electron means punishable by fines and up to two years in prison.

While I have no issue with the spirit of the bill, I have a giant, monumental problem with the way it is written.  Section 3 of the bill adds a new section to Title 18, Chapter 41 of United States Code that reads:

SEC. 3. CYBERBULLYING.
    (a) In General- Chapter 41 of title 18, United States Code, is amended by adding at the end the following:
`Sec. 881. Cyberbullying
    `(a) Whoever transmits in interstate or foreign commerce any communication, with the intent to coerce, intimidate, harass, or cause substantial emotional distress to a person, using electronic means to support severe, repeated, and hostile behavior, shall be fined under this title or imprisoned not more than two years, or both.
    `(b) As used in this section--
      `(1) the term `communication' means the electronic transmission, between or among points specified by the user, of information of the user's choosing, without change in the form or content of the information as sent and received; and
      `(2) the term `electronic means' means any equipment dependent on electrical power to access an information service, including email, instant messaging, blogs, websites, telephones, and text messages.'.
    (b) Clerical Amendment- The table of sections at the beginning of chapter 41 of title 18, United States Code, is amended by adding at the end the following new item:
      `881. Cyberbullying.'.

Parts (a) and (b) of the proposed amendment to United States Code basically states that anyone writing anything that could cause "substantial emotional distress to a person" could be prosecuted.  Even the use of the word "coerce" is questionable, since there are plenty of websites in the internet designed to convince their audience of something.  And the inclusion of "blogs, websites" in part (b) makes all bloggers and web journalists vulnerable to prosecution if they publish something someone doesn't like.

Now, don't misunderstand, I do support legislation that protects kids.  Having been bullied a bit myself when I was younger, I understand that it can cause all sorts of social and emotional problems.  So I would like to propose a solution: A change of wording.  Just add an age-specifying phase, such as "at or below the age of 18" to part (a), so it reads:

`(a) Whoever transmits in interstate or foreign commerce any communication, with the intent to coerce, intimidate, harass, or cause substantial emotional distress to a person at or below the age of 18, using electronic means to support severe, repeated, and hostile behavior, shall be fined under this title or imprisoned not more than two years, or both.

I believe this would still offer the protection that is the heart of the bill, but would eliminate the big-brother type worries that currently surround the proposed amendment.  After all, isn't the intent to protect kids under the age of 19 from potential threats, not limit the freedoms of our country's blogging and journalistic communities?


Monday, April 27, 2009

Net Neutrality in Europe… Coming to a Vote

The debate on Internet neutrality, or “net neutrality”, will come to a head in a vote by European politicians on May 5th, according to ComputerworldUK.com. The article, written by Glyn Moody, outlines beautifully just exactly what is at stake.

One of the biggest problems surrounding the net neutrality debate is the fact that many people, especially politicians, seem to understand what allowing ISPs to shape network traffic really means. The ISPs claim it will allow them to more effectively allocate their limited bandwidth, but the end result will actually be that they have the ability to limit access to content served by competitors. It will also allow ISPs to cap the bandwidth available to their users, while charging outrageous premiums for access to bandwidth considered above and beyond what they have deemed necessary for home use.

Click here to read Glyn Moody’s article, written for ComputerworldUK.com.