Internet In China (Essay)

Published on Monday, December 5, 2005

Status: Done!

I realized at the end of the 2005 school year that I was going to be two business credits short of graduating. Two! Understandable I think, since I had been working full time or over full time (one to four jobs) for the last three years. Plus, I changed my degree after the first year; not to mention I somehow crammed five years worth of credits in four years. Well, I arranged with one of my teachers (who had a great class, I must add) to guide me through the last two credits. The credits involved writing a paper regarding China and the Internet. A broad topic, I must admit.

The paper was a joy to research, write and edit. I explored many faucets I didn't think I would, and realized that I mostly enjoy semi-technical writing. Through this paper I realized that technology in emerging countries is an interest to me, and I look forward to what this interest has in store for my future. You can download my paper (PDF) here.

Network Upgrade

Published on Monday, November 14, 2005

Status: Done!

A network upgrade is in order, since we are depending more and more on our internet connectivity. Historically we have been using D-Link "Business Grade" equipment over DSL lines (decent bandwidth, but not 100% reliable, plus latency that is a little high). Time for an upgrade.

Since FiOS isn't offered yet where our office is located, we had to settle on a T1. However, since both locations in the States will have T1s through the same company, the quality should be decent. Since I'm telecommuting now, my colleague organized what company to order the T1 through, and had the line installed. Since our offices are both quite small, there isn't a need for any huge routers, we aren't moving a tremendous amount of traffic. Then again, we do need a certain amount of features. Initially the T1 company almost required us to use their equipment (which was luckily discounted highly), and after we gave them our set of requirements, they gave us a pair of Cisco 1723s, which I was a little skeptical about. A Cisco technician came out and sort of set them up (enough for me to gain remote access at least). However, a slew of issues surrounded the 1723s. The routing wasn't setup up quite properly, and the IOS was a little outdated.

Ultimately it turns out the routers weren't right, and wouldn't support our requirements (which was my guess in the first place). Oh well. A quick call to CDW and we had a pair of Cisco 1841s sent to Portland. After some widgetry magic (my knowledge of the Cisco CLI, to some degree at least) I got them both configured for their respective networks to run over the T1, then quickly setup NAT and then IPSec. Overall they run very smooth, and after installation they just have kept working.

So, there you have it. A quick network upgrade in two sites. Go Cisco.

Inventory Tracking

Published on Tuesday, October 25, 2005

Status: Done!

RATS, or

Return Authorization Tracking System, is a way for us to handle RMAs.
The site uses modified TOES code (although cleaned up significantly) to track returns and warranty claims (and depending on which type of claim it, this determines which part of the U.S. the warehouse will be shipped). It categorizes where they order is going, the status of the order, which company the return belongs to and customer information. Nothing too complicated, although I'm contemplating integrating it with our website so customers can check the status of their returns online.

Welcome screen:

Initiating a new return:

Viewing the list of returns:

Viewing the overall history of returns AND warranties:

The detailed look of an item in history:

The detailed look of a return item:

An Overseas Update

Published on Friday, September 30, 2005

Status: Done!

Kuala Lumpur represents a new adventure for me, and a new project. The goals were simple: update/clean the systems, upgrade the internet connection, give pseudo-voip capability and try to get them on the VPN.

Before leaving the states I had to make sure several things were in order. First, I needed to order the rotuer I was going to bring out with me. Next, I needed to make sure KL had arranged the appropriate DSL upgrades, and last: pretest the connection. Before leaving L.A. I had the opportunity to test the new router and have it connect to the VPN. All is good to go.

After arriving I solicited the help of a co-worker and we started updating the computers (making sure all service packs and updates were installed), and installing Firefox, Thunderbird and Skype. In the I.T. market we acquired several headset and webcams, hooked them up to appropriate managers' computers, and linked managers in several offices together. Next I set forth trying to get the router setup. Part of my planning included making sure all voltages were accounted for, so when I arrived in KL an adapter was awaiting me. Unfortunately, either the adapter failed or the router was damaged in transit. We went into the I.T. markets and ordered a new, albeit lower grade, router. A few days later it arrived and I quickly got it installed. Several things needed to be changed with the ISP for the router to get on the VPN, so I had to connect it to the VPN remotely several weeks later. Alas, doing I.T. overseas is indeed a learning experience!

ERP Time

Published on Friday, September 9, 2005

Status: Done!

Currently our ERP setup is a nightmare, both in stability, features and especially administration. A new solution is in order. After collecting goals/requirements we have begun researching, and even started testing some platforms. The "other half" of the IT department and I installed and tested Compiere today on a spare (albeit low performance) rackmount. For those of you (most) who don't know, Compiere is an ERP solution that ties together all the faucets of a company under one hood. We are impressed with Compiere, but installation is a bit on the complicated side.

In the end, we opted for Compiere to be managed and hosted externally, yet we would still administer many aspects (regarding user interaction).


Published on Monday, September 5, 2005

Status: Done!

Toes, aka the Temporary Order Entry System, is a, get this, a temporary ordering system to buy some more time while the full ERP is designed and implemented. Because we grew so quickly, orders needed to be put in a temporary zone, then moved somewhere else (apologies for being vague, you can understand why). Myself and a co-worker hacked up a temporary holding zone for the orders. It allows New Invoices, to View Invoices, whatever is In Queue, Voided and Search. The order entry page is auto-loads prices and things from the database, so totals are pulled out of the database and added up automatically. We ultimately entered well over 1500 invoices into TOES before the ERP was implemented, and besides a few odd hiccups, it was pretty stable. The UI doesn't look all web2.0-like, but for an intranet project, it didn't need to.

Adding a new invoice:

Auto-fill out feature:

Order in-queue, ready to be transfered:

Viewing an invoice:

Orders Taken (already moved):

Must have search:

Track My Hours Please

Published on Sunday, July 31, 2005

Status: Done!

Initially all CSRs were hired as temps, which means they had their own timesheets. Some new people have been hired as full/part-time employees, so we need to handle their timesheets -- plus, several people (including myself) are paid on an hourly basis. Perfect time to setup a Timesheet.

Since we are still small, with no ERP, and I don't have time or desire to write a timesheet app, I decided to do some research. I found a few on SourceForge, but I wanted something uber-simple to use and uber-simple to install. I settled upon TimesheetPHP. Luckily it even allowed LDAP support, which would be useful eventually for SSO. Installation was a breeze, and now everybody logs hours onto the an intraweb server.

A simple, simple solution to a simple, simple problem.

Faxing, Hurrah!

Published on Monday, July 4, 2005

Status: Done!

Another line needing to be ported over: fax. Since time is very constrained, I quickly setup an extra server (OS X, actually) to act as a fax server. The fax line inserts immediately into the server, then from there any new faxes are printed on a normal printer and dropped into a central shared repository for the CSRs to access. Surely we will replace this setup sometime in the future, but for now it gets the job done.

A Division in 30 Days

Published on Thursday, June 30, 2005

Status: Done!

On a Friday I was told we might purchase a division from another company. Monday I heard that we purchased the division, and that we needed to have a website taking orders and a call center, capable of handling 500+/day (and not short calls); by the end of the month. Not to mention that the products wouldn't even ship out of the same warehouse that held the call center, but a warehouse half-way across the country. And that a recall was occurring, which had additional requirements. On Tuesday the CEO, and my boss, left for Asia.

There are basically two of us that handle IT at this company, yet the "other half" of the IT department is in China working remotely and studying. So, the goal: take a small company handling almost solely distribute orders to a company that can handle 500+ lengthy calls a day, with an e-commerce website. And the recall, so we have to process, replace and ship these additional products.

With our timeline, requirements and goals laid out, we began putting this in motion.

The project required working all but one day for basically a month (including weekends, of course). Luckily another colleague at work (not in IT, but gets an IT award anyways) and I were able to team up and tackle the PBX. We immediately researched and brought in several PBX resellers, and eventually decided on an Avaya system. Naturally we dragged in a T1 (all voice, well, 23 b-channels and one d-channel). The installation is supposed to take up to a month, but our business partner stepped up and pushed Verizon to hurry up (in the end, we still had to wait for Verizon to finish their end of the connection, plus a delay to port the 800# over).

Next on the list was the physical wiring. Hiring somebody to come in and lay the network/telephone cables would have likely cost quite a bit, plus we were rushing to get things done. Having crimped way too much cat5 in my life, and my colleague having done some telephone wiring historically, we joined and spent a full Saturday laying 24 (really 48+, if so desired) drops from the POP to where the call center is to be arranged. The call center is to have 10 reps, so we terminated appropriately, tested, and tested again. The cable was pulled through the ceiling, enclosed in a 3" or so pipe, and terminated into a patch panel behind the call center, and again into a patch panel in the wiring rack (which lives in the "server room").

Since everybody has owned laptops before, and not needed a domain, we haven't used one (read: small company). But, with an immediate additional 15 or so people, here comes a DC. Since time is a a huge issue (we needed to do training well before the month switch over), I slapped together a PDC (a few gigs of RAM, RAID1, you get the point) -- and dropped in Windows 2003. About the same time I had 10 IBM systems from my contact at CDW rushed over to the call center. We went shopping for cubicles, and had 10 sets brought over. There goes Sunday. I configured the appropriate policies, setup logins, and training of the CSRs started without any major hitches. Since we had already put together their desks and chairs, their first task was to put together the actual cubicles (I was too busy working on the website to take part in this pleasure).

Next was the website. Since I wanted the change to be as transparent to the user as possible, I took the very unmaintained website, changed the backend to PHP (since that is what I know best, and it works just fine), setup e-commerce, and made sure to get SSL working (cert from NS/VS).

Last is the recall. Two issues surrounded this: first, to get shipped the replacement products that had already been requested, just not shipped (and the previous company had stopped shipping these products at least two months prior to our purchase, sometimes even up to five months). I setup a quick wizard for people to select the right product, and that wizard dumped into a database. Half-way across the country I set them up to connect via ODBC to the database, batch import and then batch print the orders. Everything went into the correct field, automatically calculated shipping, sent the customer and email, and printed off the shipping labels -- all with just a few clicks from the shipping people's standpoint. I must say, Worldship's ODBC support is very handy. A similar setup was done for any orders online, and any orders taken through the call center. Finally, for the recall I created a quick interfact "admin" page for the previous company to pull the status of orders, how many orders are pending, their tracking numbers, and the ability to export any of this (since they needed to be able to generate these reports).

All transfers done between the two sites are over a VPN, but just running off mediocre DSL lines. Upgrades to come shortly.

As a bonus, I setup Worldship to export all data back into the database. Then I created a quick page on the website that searched through all the exported data, and showed the status of your order (including tracking number). Problem is, the data is coming from several different sources (website, recall, call center), so the only way to search is by First/Last Name + Zip. Not ideal, but that is how it has to be.