Blog

A Sad Day for Technology

Steve Jobs has passed away at the age of 56. It is a very sad day for technological enthusiasts. Whether you are an Apple fan or not, there is no denying that Steve Jobs was probably the most influential, innovative and inspiring person in the technological field in recent history. The co-founder of Apple brought us revolutionary technology such as the iPod, iPhone, and iPad, and also Pixar Animation Studios. His legacy will live on, and I am not sure if anybody will ever be able to re-create the appealing design of his products. He set new software and hardware standards with the iPod, iPhone and iPad that will forever change the future of technology.

Filed under:Technology

Mac: Show or Hide hidden files

I still can’t believe displaying hidden files isn’t an easily accessible option in the Mac OS as it is for Linux and Window. But here is how to do it:

To Show Hidden Files type the following in Terminal and hit enter:

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

To Hide Hidden Files type the following in Terminal and hit enter:

defaults write com.apple.finder AppleShowAllFiles FALSE
killall Finder

Tags: ,

Filed under:Website Design

Website Improvement Tip: Fonts

Website font selection has been very limited over the years for those designers who want consistent designs across all major browsers on all Operating Systems. The majority of websites you come across probably use Arial, Verdana, Georgia, Helvetica and maybe Palatino as their font choices. These are safe web fonts and look good, but certain websites ned to break from the mold and stand out alittle.

Over the years designers tried their best to integrate custom fonts into the CSS with a src link and it worked, but not on Internet Explorer, which is still the browser with the greatest number of users. That means for the majority of your visitors, the website might not look the way you want it to. Some people are ok with this, but why should we settle for that.

Now there are 2 major advancements in web fonts: Cufon and Google Web Fonts.

Of the 2 advancements, Cufon is more complicated but offers a larger selection. Cufon is defined as “fast text replacement with canvas and VML” and consists of two individual parts – a font generator, which converts fonts to a proprietary format and a rendering engine written in JavaScript. One thing to note for Cufon, you must have the desired font on your local machine (and the rights to use it) so visit your favourite font download site and find one you like.

Step 1: Visit http://cufon.shoqolate.com/generate/ to get Cufon
Step 2: Right click “Download” tab and click “Save Link As” and save Cufon-yui.js to a local folder
Step 3: On the same webpage, click on “Regular Typeface” and browse your local machine to the desired font. The rest of the upload fields are optional. Check off the EULAs and the Terms of Agreement and click on the “Let’s Do This” button at the end of that webpage to generate a custom font javascript file for you. Save this file in the same folder as Cufon-yui.js.
Step 4: Upload files to your website and add links to them in your website header. Make sure Cufon-yui.js is called before the font file as well.

<script type="text/javascript" src="Cufon-yui.js"></script>
<script type="text/javascript"  src="Font_200.font.js"></script>

Step 5: To use Cufon, you need to replace instances of elements on your webpage. So if I wanted to replace all the H1 and H2 elements with the Cufon font, then I would add this:

I can’t say enough about Google Web Fonts. Google Web Fonts is easy to implement and there are plenty of font choices. You can download the fonts to your computer and add them to graphics or you can embed them within your website using a link to css provided by their website.

Step 1: Visit http://www.google.com/webfonts and find a font you like
Step 2: Click Quick-use, and Google gives you.
Step 3: Choose the variation of the Font
Step 4: Copy the one line of code and add it to your website header

<link href='http://fonts.googleapis.com/css?family=Delius+Unicase' rel='stylesheet' type='text/css'>

Simple. Impressively enough, Google Web Fonts is compatible with the following:

Google Chrome: version 4.249.4+
Mozilla Firefox: version: 3.5+
Apple Safari: version 3.1+
Opera: version 10.5+
Microsoft Internet Explorer: version 6+
Android 2.2+ and iOS 4.2+

So break free, and use new and original fonts to spice up your website!

Tags: ,

Filed under:Website Design

Android Automation App – Llama

For Android users there is a great app that can help automate your location-based settings called Llama. Many of you might be using Tasker or other similar apps, but Llama definitely stands out from the crowd in my opinion. First off, what can Llama do? Well if you are constantly changing your phone’s settings (such as volume, bluetooth, Wi-Fi) when you are at certain locations, then this app is for you and it will save you some battery time.

Llama can also be used to change the settings at specific times of the day (bedtime), when the battery’s at a certain level, whether it’s charging, playing music or many more options. Personally, I have a few locations set up including home and work. So when I am home the app will increase the ring volume, turn off bluetooth, turn on Wi-Fi and connect to my home Wi-Fi and a few other settings. And when I get to work, the app will lower the volume, turn on Wi-Fi and connect to my work Wi-Fi. Now many of you might not be impressed as there are other apps that can achieve this, well at the time I wrote this post none of them used the Cell tower you are connected to to determine your location. Similar apps I tried required GPS to be on, which drains the battery, while Llama uses the Cell tower you are already connected to to determine where you are!

Search the Market for Llama and I hope this app is as useful for you as it is for me.

Tags: ,

Creating an API for SSeS

Over the past few weeks I have been creating an Application Programming Interface (API) for the Student Success eSolution (SSeS). Why does the SSeS need an API? Well, because numerous School Boards are achieving much success from the system and want to integrate directly to it. For some background, an API is a set of functions that one computer application makes available to other applications or developers so they can talk to it directly without having to give it access to the source code. Over the recent web boom, APIs are almost essential for successful web services and applications thanks to the popularity and success of Amazon, eBay, Flickr and many other companies. They are a great way to extend your application, build a community and excite your users!

There are 2 common types of APIs used for web applications: REST and SOAP. The SOAP approach was taken by Google, while Yahoo uses REST. I am not going to go into detail explaining the differences or advantages and disadvantages of each but here is how I understand them to be:

 
  • REST API’s are based on HTTP requests, similar to requesting a web page. The user of the REST API types in a web address, and sends data to the web application or service. Both the data sent, and the data returned are in formats specified by the web application or service. Implementing a REST API can be quicker and easier to understand than a SOAP API since there are fewer restrictions and a small learning curve. For example, requesting http://yoursite.com/api/insert/ would achieve an insert into your web application.

  • A SOAP API is similar to REST, but its a little more structured with common formats for requests and responses. SOAP requests are identical to function calls, and function names are available to you. For example, achieving an insert would now look like API->insertRow().

 

For the SSeS, I choose to go the REST route for simplicity and convenience for all School Board IT departments. I am looking forward to hearing suggestions and comments from any users to the new API. 

Tags: , , ,

Managing a Postfix Queue

While managing email servers over the years I have noticed the necessity to use many of the same Postifx commands. Usually, there is so much time passed that I need a refresher of the proper command syntax, so I thought this post may be helpful for myself as well as other as a reminder of some common Postfix commands:

Display message: postcat /path/to/postqueue/messageID /var/spool/postfix/

Delete a message: postsuper -d (queue ID)

Delete ALL messages: postsuper -d ALL

Attempt delivery of a message: postqueue -i (queue ID)

Attempt delivery of all mail queued for a particular site: postqueue -s (site)

Attempt delivery of all messages (flush): postqueue -f

Put mail “on hold” (stop delivery attempts): postsuper -h (queue ID)

Release mail that was put on hold: postsuper -h (queue ID)

Tags:

Java: Writing data to a tab delimited file

I have included a simple Java function to print data to a tab delimited file with the extension csv for the convenience of opening the file with Microsoft Excel. I found this very helpful in my last project and hope it will help someone else :) .

public void PrintDataToTabDelimitedFile()
	{
	try {
	// Tab delimited file will be written to data with the name tab-file.csv
	FileWriter fos = new FileWriter("data/tab-file.csv");
	PrintWriter dos = new PrintWriter(fos);
	dos.println("Heading1\tHeading2\tHeading3\t");
	// loop through all your data and print it to the file
	for (int i=0;i<endOfData;i++)
	{
	dos.print(value1+"\t");
	dos.print(value2+"\t");
	dos.print(value3+"\t");
	dos.println();
	}
	dos.close();
	fos.close();
	} catch (IOException e) {
	System.out.println("Error Printing Tab Delimited File");
	}
	}

Tags:

Filed under:Web Development

Follow us on