NoSQL Cheat Sheet

This DZone Refcard demystifies NoSQL and data scalability techniques by introducing some core concepts.  It also offers an overview of current technologies available in this domain and suggests how to apply them.

Full story at http://refcardz.dzone.com/refcardz/getting-started-nosql-and-data?oid=hom25105

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Microsoft Donates the ASP.NET Ajax Library Project to the CodePlex Foundation

November 18, 2009. CodePlex Foundation Announces Creation of First Gallery, Acceptance of First Project
ASP.NET Open Source Gallery, ASP.NET Ajax Library Project first proofs of Foundation model

The CodePlex Foundation today announced the creation of the first Foundation project gallery, the ASP.NET Open Source Gallery, and the acceptance of the first project into that gallery, the ASP.NET Ajax Library project. The gallery and project were evaluated for acceptance using the Foundation's Project Acceptance and Operation Guidelines, first published October 21, 2009. The gallery and project are supported by Microsoft, the Foundation's founding sponsor.

"Bringing the first project gallery and project into the CodePlex Foundation shows significant progress against our 100 day goals," said Sam Ramji, Interim President, CodePlex Foundation. "The ASP.NET Ajax Library project is important for its great value to both the open source and commercial software worlds, and the Foundation is the best forum in which to shepherd its future development."

Gallery and Projects

The ASP.NET Ajax Library consolidates ASP.NET Ajax and the Ajax Control Toolkit into a single open source project. The Ajax Control Toolkit and Ajax Libraries, components of many web development strategies, make it easy for developers to use the Ajax programming model in their websites and web applications.

The ASP.NET Ajax Library project will be released under a BSD license and can be used with many technologies, including, but not limited to ASP.NET, PHP and Ruby on Rails. Future development of the project will be done within the ASP.NET Open Source Gallery under the aegis of the CodePlex Foundation.

The CodePlex Foundation Gallery Model

The CodePlex Foundation in October announced an innovative gallery sponsorship model that uses museums as a design pattern. The organizational structure divides the Foundation into galleries - collections of thematically related projects - which benefit from a common set of services provided by the Foundation.

Galleries may be sponsored by a third-party organization, e.g. a commercial software company, or run by the Foundation. Galleries will rely on Foundation staff and volunteers to provide a set of support services, including administration, security, best practices and marketing.

About the CodePlex Foundation

The CodePlex Foundation is a not-for-profit foundation created as a forum in which open source communities and the software development community can come together with the shared goal of increasing participation in open source community projects. For more information about the CodePlex Foundation contact info@codeplex.org.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Installing PHP on Windows 7/IIS 7 with Windows Platform Installer

Download the Web Platform Installer from http://www.microsoft.com/web/Downloads/platform.aspx.  Must do this when connected to the Internet, since the installers download the latest components from the web.  You also need to install PHP before you install the PHP-based applications, too.

After you download the small installer, run it, and you’ll see an Open File warning.  Click Run to continue, and the installation will begin.

image 

image

At this point, you’ll receive a UAC warning.  Allow the WPI to install itself.

image

It was at this point I received an error on my first try (see below).  Upon retrying the installation, it worked.

Once the WPI is installed, it will update itself with the latest packages and components.  You’ll receive another UAC, and then you’ll see this window, where you can add components or apps.

image

To install PHP, select the Web Platform tab, then under “Frameworks and Runtimes” click Customize, then choose PHP from the list.

image

Click Install, and review the list of components that will be installed.

image

Click I Accept, and installation will begin.

image

After a few minutes, you’ll have PHP installed on your system.

image

Configuring Expression Web 3 for PHP

The PHP components are installed in c:\program files\php.  If you use Expression Web 3, you can configure PHP under Tools >> Application Options >> General, then browsing to the php-cgi.exe.

image

Testing the PHP Installation

To test your PHP installation, open the IIS Management Console and create a new application.  Inside of this application, add a file named test.php and with the following code in it:

<?php
Print "Hello, World!";
?>

Load this file in your web browser, and if you see the message, you’re set to go!

image 

Installation Error

The first time I ran through the installation, I received the following error:

The Web Platform Installer  could not start.  Please report the following error on the Web Platform Installer forum.  http://forums.iis.net/1155.aspx

I checked out the Application Log, and that was no help:

Product: Microsoft Web Platform Installer 2.0 RC -- Installation failed.

Before I went to the IIS forum, I tried to recreate the issue by running the installer again, and this time it worked.  So if you get this error, wait a moment and try it again.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Skinning Zen Cart: Part 1, The Header

Zen Cart is one of the most popular shopping carts available today, partly because it has an incredible amount of features, and partly because it's open source.  Unlike a lot of projects, Zen Cart is actually very well documented, but in the form of knowledge base articles, which make it tough for someone getting started to pick up.  Additionally, Zen Cart uses a number of files loaded dynamically to produce the final page, so a visual editor is of little, if any, use when designing a theme for Zen Cart.

Although Zencart is written in PHP and uses MySQL, it runs just fine on Windows XP.  See the bottom of this post for links to installing PHP and MySQL on Windows.

There is a tremendous amount of control over the appearance of Zencart, most of which can be accomplished through the admin interface.  Further control over the design is in CSS files.  Very little editing of the PHP code is necessary for a great deal of customization.  Here, we'll focus on the header region of the Zencart pages.  Future posts will focus on the other regions of the page.

Basics of Zen Cart Themes/Templates

A lot of your cart's customization can be accomplished via the control panel or overrides (see below), so it's best to start with the options available there before you start editing pages.  Zen Cart uses a series of template files to control the layout of your cart's pages.  The template files are stored in several different folders, depending on what they do.  For major changes in page design, these are the files you want to edit.

Reference links:

If you're going to create your own Zen Cart theme, you shouldn't edit the default template files.  Instead, you want to copy an existing theme, or the default pages, and edit the copies.

Reference link:

To control portions of pages, Zen Cart employs a clever override system.  It starts when you add a theme to Zen Cart, and select that theme in the admin tool.  When a page loads, the override system looks first for an override file in a folder with your template's name.  If it finds one, it uses that file to render your page.  If there isn't a theme-specific override file, a default file is used.

Reference links:

Finally, Zen Cart relies heavily on CSS for its appearance.  I strongly recommend using Firefox browser and the Firebug add-in for CSS discovery.

Reference Link:

The Default Header

Below is a screenclip of the default header.

zencart-header

Basic Changes with Override Files

Here we'll look at some significant changes you can make with only basic edits.

At the very top of the default template is a navigation bar.  It contains a link to the home page, a login link, and a search bar.  If the user is logged in, the Log In link is not displayed, but links for the user's account information and to log out are.  If there are items in the shopping cart, links to the cart and shipping are displayed.

zencart_topnav

If you would rather not have this bar, you can copy includes\templates\template_default\common\tpl_header.php to the common folder of your theme, and edit the code to remove the lines marked below.  Make sure to keep the lines not marked out.

<!--bof-navigation display-->
<div id="navMainWrapper">
<div id="navMain">
    <ul class="back">
    <li><?php echo '<a href="' . HTTP_SERVER . DIR_WS_CATALOG . '">'; ?><?php echo HEADER_TITLE_CATALOG; ?></a></li>
<?php if ($_SESSION['customer_id']) { ?>
    <li><a href="<?php echo zen_href_link(FILENAME_LOGOFF, '', 'SSL'); ?>"><?php echo HEADER_TITLE_LOGOFF; ?></a></li>
    <li><a href="<?php echo zen_href_link(FILENAME_ACCOUNT, '', 'SSL'); ?>"><?php echo HEADER_TITLE_MY_ACCOUNT; ?></a></li>
<?php
      } else {
        if (STORE_STATUS == '0') {
?>
    <li><a href="<?php echo zen_href_link(FILENAME_LOGIN, '', 'SSL'); ?>"><?php echo HEADER_TITLE_LOGIN; ?></a></li>
<?php } } ?>

<?php if ($_SESSION['cart']->count_contents() != 0) { ?>
    <li><a href="<?php echo zen_href_link(FILENAME_SHOPPING_CART, '', 'NONSSL'); ?>"><?php echo HEADER_TITLE_CART_CONTENTS; ?></a></li>
    <li><a href="<?php echo zen_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'); ?>"><?php echo HEADER_TITLE_CHECKOUT; ?></a></li>
<?php }?>
</ul>
</div>
<div id="navMainSearch"><?php require(DIR_WS_MODULES . 'sideboxes/search_header.php'); ?></div>
<br class="clearBoth" />
</div>
<!--eof-navigation display-->

If you want to keep this navigation bar, you can use CSS to change the colors and fonts.  You can turn the display for the search on and off in the admin tool.  The CSS classes have pretty descriptive names; you can also determine exactly which classes need to be edited by reading the code or viewing the output.

Reference Links:

Moving down the page is the logo and sales message.

zencart_logo

Changing the logo is very easy, and is a simple edit to a PHP file, possibly a little CSS, too, if you want to change some positioning.

Reference Link:

Underneath the logo are the category tabs.  The category tabs contains links to the categories in your cart (default data shown below).  There is a sidebar box that shows the same links, too, but navigation at the top of the page is pretty standard.  If you want to turn this off, you can do so in the control panel.  You can also change this to be a doprdown menu with one of several add ons.  The appearance is controlled by several CSS classes.

zencart_linksbar

Reference Links:

Below the category tabs is the EZ Pages links bar.  EZ Pages are one of the nifty features of Zencart--they allow a cart owner to easily add content pages, such as About Us or Privacy policies, through a simple administrative interface.  You can change the look via CSS, or you can turn the bar off entirely.

zencart-ezpages

You specify the pages to link to in the EZ Pages bar under Tools >> EZ-Pages, and turning on pages under the Header column.  You also need to Edit the details for each page (use the edit option to the right of the grid), and set a sort order greater than 0.

zencart-ezpagesadmin

If you want to get rid of the EZ Pages bar, just log in to the admin tool and go Configuration >> EZ-Pages Settings, and set the "EZ-Pages Display Status - HeaderBar" to 0.

Reference Links:

Below the EZ-Pages bar and above the content is a random "Home".  This is the breadcrumb trail, which displays your place in the website, and looks a little odd on the home page.

zencart-breadcrumb1

It makes a little more sense as you visit other pages in your site.  The Home becomes a link, and your current page is the last entry.

zencart-breadcrumb2

Like everything else, you can change the appearance via CSS, or turn it off.  In the latest version (1.3.8 at the time of this post), you have three options in the admin tool: on, off, or off on home page only.  You find these options under Configuration >> Layout Settings >> Define Breadcrumb Status.

Reference Links:

The Finished Product

Below is the finished header, after CSS edits and the horizontal drop down menu added.  So far, so good.

zencart-headerafter 

Running Zen Cart on Windows XP

As a proper development practice, you should have a proper development environment separate from your production site.

Reference link:

Although Zen Cart is PHP and MySQL based, you can run it on Windows and IIS.  PHP is very easy to set up on Windows.  The PHP team has done a great job building a Windows friendly installer and documentation--so much so, they dedicate a subsite entirely to running PHP on Windows.  Likewise, the MySQL team has also built Windows a friendly installer and provided simple documentation.

Reference links:

If you need a quick-reference for PHP and MySQL, you might be interested in RefCardz "Free Cheat Sheets for Developers" at http://refcardz.dzone.com/.  There are PHP and MySQL cards, and new ones being added all the time.  Best advice is to browse the selection.

And, you can edit PHP natively in the great Microsoft Expression Web, with full Intellisense for PHP and CSS.  I highly recommend Expression Web if you're doing PHP development.

DotNetKicks Image

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Using a Dynamic DNS Service with DD-WRT

When you have a phone number assigned to you by the phone company, it doesn't change on a daily or monthly basis.  It's static.  It only changes when you relocate to a different service area.  That's because your phone number is designed to be used for incoming communications--for people to call you.

On the other hand, your cable modem or DSL may not have a static number (called an IP address).  That's because these connections were meant for outbound communications--you surfing the Internet.  Most providers will assign you a static IP if you request one, usually for an extra charge that may not make it worth doing.

If you can't or don't want to get a static IP, but still need a static way to find your node, you can look into a dynamic DNS service.  Most of these are free for a single address.

DD-WRT supports a number DNS services, and you find the Dynamic DNS (DDNS) setup under Setup >> DDNS.  Click the images for a larger view.

dyndns

I've used DynDNS.org for a while now.  It's very simple and stable, and is free for a single address.  You sign up with DynDNS, and choose the url subdomain ("hostname") you'd like to use--it will be something like myvpn.gotdns.org.

After you've signed up for a DDNS account, go back to your router's DDNS settings and enter your account's settings.

dd-wrt[3]

Typically, you will have a Dynamic type of account, and it will not be a Wildcard account.  These are more advanced configurations, and typically don't come with the free services.  You'll know if you need them, and you can always upgrade the day you do.

After configuring the DDNS settings, the router in a short time will update your account's settings.  On the client end, you now need to edit your OVPN configuration file, and put the host name where the IP address was, in the "remote" line.  Now, even though your IP address may be reassigned periodically, you'll always be able to use a static host name to locate your VPN.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Adding Additional Clients to your WRT54GL/DD-WRT VPN

Setting up the VPN and the first client takes a while.  Additional clients are easy.

First thing is to download and install OpenVPN GUI.  Find the Installation Package under Stable downloads.

Next, you need to generate a new client key.  You'll either need to use the same computer as before, or make sure you have the CA cert/key pair handy to sign the certificates.  The first option is better.

If you're using the same computer, open a command window and get to c:\program files\openvpn\easy-rsa.  Run the following commands:

  1. vars.bat
  2. build-key client2 (remember to change the client # for eac additional client)

Copy ca.crt, client2.crt, client2.key and the OVPN config (from the config folder) to the new client.  Edit the OVPN file and enter the correct client key and cert file names.  It should look something like below (italics indicate the file names to change):

client
dev tap
proto udp
remote myvpn.gotdns.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client2.crt
key client2.key
ns-cert-type server
comp-lzo
verb 3

You should be set--start the client and hit connect.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Turning a Linksys WRT54GL Router Into a VPN Server

I needed an inexpensive but flexible VPN solution.  Inspired by some blog posts and podcasts (linked below), I looked into changing the firmware on my Linksys router.  The firmware I found is the open source DD-WRT.  I am by no means a Linksys or DD-WRT expert.  I'm just someone who managed to muddle through things on my own.  Some steps I got right the first time, and some took a couple of tries.  This post, and my explanations and experiences, are one contribution back to the community.  I hope they help!

According to the DD-WRT list of supported hardware, my current router (a WRT54GS v5) won't work.  So I picked up a Linksys WRT54GL from Amazon, and went to work.  Again, make sure you get the GL version.

I installed DD-WRT v23 SP2 VPN, generic version, using Internet Explorer (apparently there is sometimes a timeout issue with FireFox when uploading the firmware).  At the time of this post, this is the most recent stable version.  There are several editions of DD-WRT, so make sure you get the VPN version.  The generic edition is the one to use for the WRT54GL router.  You can check their download section to look for a different edition, or see if there is a more recent version.

On a fresh, out of the box router, installation was a snap.  I simply logged in to the web interface, uploaded the new firmware and rebooted the router.  I did not need to use the mini version first, since I have a WRT54GL v1.1 (you can check your version on the bottom of the router).  The older models apparently have a 2MB limit on the upload file size, and the DD-WRT file is 3+MB.  There is no such limitation on v1.1 and above WRT54GL routers, so if you have one of these, you can upload the full version right away.

After making sure I could access the Internet through the router, the fun began--setting up the VPN.

To enable the VPN on the router, log in to the web interface and go Administration >> Services.

dd-wrt[7]

Scroll down to the OpenVPN section and select Enable.  On my installation, I accepted the default port, protocol and TUN settings.  Scroll to the bottom of the page, and save the settings.  A reboot of the router wouldn't be a bad idea.

dd-wrt[8]

DD-WRT implements OpenVPN, which is great but also means setup instructions are spread over several websites.  There are a couple configurations you can use--Server Mode with Static Key (which is simpler to set up, but only allows a single VPN connection), and Server Mode With Certificates, which is a little more complicated but allows multiple simultaneous connections.  I chose Server Mode with Certificates, since I need multiple connections.  The formatting on the wiki page makes following the tutorial a little confusing, so I'll try to guide you through the steps.  There is some bouncing around to several sites during the configuration, which can get a little confusing, too.

Before you do anything else on the router, go to http://openvpn.net/ and download the OpenVPN client.  You need to install the client in order to generate the certificates needed during the router configuration.  Since I'm a Windows user, I downloaded the OpenVPN GUI for Windows (this is a separate site from the OpenVPN site, and the download is all you need from this site).  Look for the Installation Package under the Stable downloads.  Run the installer and let it do its thing.  You may be prompted that an adapter has not passed Windows testing--in this instance, that's OK, go ahead and install it.

Once the client is installed, you need to generate at least three sets of keys and certificates and one set of encryption parameters to ensure your VPN's security.  All the utilities you need are installed with the OpenVPN GUI client.  Before we generate any keys, I'll explain what they do.  Also, configuring the VPN causes the router to reboot at one point, so it's a good idea to do this when no one is connected.

The full instructions for generating the certificates and keys you need are on the OpenVPN site at http://openvpn.net/howto.html#pki.  Once you complete the section for generating the certs and keys, you're done with their site.

Important!  When you generate your certs and keys, you'll be prompted to enter some variables.  In some cases, this information needs to be the same for all certs and keys, and some variables need to be different.  Pay attention to the variables for each set of certs and keys!

I recommend editing the vars.bat file to make life a little easier.

Now is the time to start generating your certs and keys.  Follow the instructions (linked above), but read through the commentary below for each cert before actually creating it.

You'll be acting as your own Certificate Authority, so you need to generate a CA certificate and a CA key, which are used to sign each of the subsequent certificates and keys.  Having the same CA signature on the client and the server means both keys were generated by the same person, and is the top level of trust between the server and the client.  You need to keep the CA cert and key a secret, and you need to be sure to securely archive a copy of each so you can create additional certs and keys in the future.  You'll install the CA cert (but not the key) on the router, and use it to sign any future client keys.  If you edited the vars.bat file, when you generate the cert and key, you only need to enter the Common Name variable.  You can make this whatever you like, but I suggest using something recognizable such as your business name or your name.

The next certificate and key are for the server.  These both will also be installed on the router.  For this pair, when you are prompted to enter the Common Name, enter something like "server".  Also, be sure to sign and commit the certificate.

For each client you want to connect to the VPN, you'll need to generate a certificate and key.  These will not be loaded onto the server--instead, you'll copy one set to each client.  Client sets are the only ones you'll generate multiple ones of.  For each client cert/key pair, enter a different Common Name for each (such as "client1", "client2", etc).

Since certificates need to be exchanged over the open Internet, we'll need a little additional cryptography to ensure they are secure.  OpenVPN uses Diffie-Hellman as part of the key exchange.  These will be loaded onto the server.  There are no additional variables to enter for these.

Once the certs and keys have been generated, pick up in the Server Configuration steps of Server Mode with Certificates section of the DD-WRT site.  The next few paragraphs flow along with the instructions there.  Read their instructions, then read my comments below before doing anything.

Step 2 & 4: Copy the sample rc_startup script into a text editor, and insert the ca.crt, server.key, server.crt and dh1024.pem where indicated (you'll find the keys and certs at c:\program files\openvpn\easy-rsa\keys).  I also had to change the last line of the script to the workaround shown.  After I had set everything up, I couldn't keep the VPN connection open, and this workaround fixed the problem.  If you changed the port or protocol when you enabled the VPN service, you need to make sure the changes are reflected in this script, too.

Once you've inserted the proper keys and certs, log in to the web interface and navigate to the Commands tab.  On a new installation, you should not have any saved commands, so all you need to do is copy the rc_startup script into the box and click the Save Startup button. 

dd-wrt[6]

Step 3-5:  On a fresh installation, you won't have a saved rc_firewall command.  Copy the one shown, and save the firewall script the same way.  Reboot the router, if it doesn't happen for you.

Step 6: You can use the DOS telnet command to access the router and execute the shell command.  Simply go to a command window, and type "telnet 192.168.1.1".  Log in, and execute the "ps | grep openvpn".  This command searches the stack of recently executed instructions and prints them to the screen.  You should see a couple of commands show up, indicating OpenVPN has been called, and is therefore running.

dd-wrt[1]

dd-wrt[2]

dd-wrt[4]  

Once the server is configured, follow through the Client Configuration section (at this time, only three steps and a short explanation).  Copy a client key and cert pair to the config folder (C:\Program Files\OpenVPN\config), as well at the ca.crt, and save the config file to this same folder.  Name the file whatever you want, but the extension should be .ovpn.  Make sure you put in the proper IP address to your router, and enter the right file names for the CA cert and client cert/key.   You should now be able to connect to your VPN--just remember to try it from outside your LAN!  Start the OpenVPN Gui client from the Start menu, and it will appear in the taskbar, down by the clock.  Right-click on the icon and choose Connect.

If you don't have a static IP address, you might want to look into a dynamic DNS service, such as DynDNS.org (see link below).  You can set up a free account, and choose a custom subdomain.  You can configure the DD-WRT software to update the DynDNS records every time your IP changes.  This way, you only need to configure a DNS name in the config file, and you can always access your system.

Troubleshooting

OpenVPN GUI has a console where you can see what's going on.  I ran into a couple problems with my VPN.

If the connection is made and drops repeatedly, make sure you use the workaround in the rc_setup script (replacing the last line with the two indicated below the script).

If you can connect to the VPN, and an ipconfig /all shows you have an IP address from the VPN server, but you can't access anything inside your network, it might be your local router.  My old home router prevented me from accessing any of the remote resources.

Useful Links:

Linksys-Cisco WRT54GL Wireless-G Broadband Router (Compatible with Linux)

Hack Attack: Turn Your $60 Router Into A $600 Router

Podcast: The Linksys WRT54GL Router

Podcast: Setting Up A Home Network

Adding Additional Clients to your WRT54GL/DD-WRT VPN

Using a Dynamic DNS Service with DD-WRT

kick it on DotNetKicks.com

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Improved Lightbox2 JS for Community Server

Lightbox is that sweet gray-over-the-webpage-and-float-the-image JavaScript/CSS library.  You've seen it.  Ken Robertson updates his implementation for Community Server.

Full story at http://qgyen.net/archive/2006/08/09/Improved-Lightbox2-JS-for-Community-Server.aspx

kick it on DotNetKicks.com

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Scott's Flickr for Community Server (Updated)

I'd downloaded Scott's code for his module and took the liberty of updating it to use the latest build of FlickrNet, so that users can now make use of both modules side-by-side.  Since Scott is going to be out of town on vacation, he'd said he wouldn't mind if I went ahead and released, and so without further ado, please feel free to download it below.

Full story at http://qgyen.net/archive/2006/08/09/Scott_2700_s-Flickr-for-Community-Server-_2800_Updated_2900_.aspx

kick it on DotNetKicks.com

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Still Getting Mileage From nGallery

nGallery was a great application on its own, but Community Server is just far too much overhead when all you need is a simple gallery app.  Even though it haven't been updated in a while, nGallery is still one of the better gallery apps out there.  After quite a bit of template tweaking, I have very customized gallery up at http://www.cleantownusa.com/gallery/.  The template seems difficult at first, but after fooling around with it for a little bit, it's actually quite easy.  You need either a great mind's eye, or you need to use the refresh button liberally as you tweak, and very liberal use of source control for the different template bits is highly recommended.  "I told you so", in advance, for those who don't.

BTW - CleanTown USA is Pittsburgh's favorite car wash and interior detail center.  Find them online at http://www.cleantownusa.com.  Shameless plug, but the marketing coordinator threatened to cut off my supply of free Mountain Dew if I didn't say it.  I hope you understand.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Software for Starving Students (SSS) version 2006.01 is now released

via Digg

The Software for Starving Students CD enhances the Windows and Mac desktop computing experiences by providing an easy way to install free, high-quality software titles via a user-friendly interface. It includes popular open source programs like Firefox and OpenOffice, intended to help students learn about and benefit from open source and free software programs. The SSS team put all the most commonly used free programs onto one CD to make it easier for students to install useful software (including fully-featured office suites, 3D graphic editors and much more) for free. To preview the new SSS interface, check out some screenshots of the latest release.

Full info at http://mirror.softwarefor.org/index.html.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

via Digg: Free Asterisk Ebook

via Digg

O'Reilly Media's latest book, Asterisk: The Future of Telephony, written by Jim Van Meggelen, Jared Smith, and Leif Madsen is the most complete book on the Asterisk PBX system to date. The new book, announced at Astricon 2005 covers many of the new features of Asterisk 1.2. In the spirit of open source, O'Reilly has licensed the book under the creative commons license making it free to download and distribute. If you are looking for the ultimate Asterisk book, you can now download the entire book as a PDF file!

Find it at http://voipspeak.net/index.php?/content/view/33/2/.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: