this is a test post
Wednesday, March 31, 2010
Tuesday, March 30, 2010
Friday, July 17, 2009
Open Source
This has long been one of my goals to contribute in a meaningful way to an open source project. I think I may have found the project for me: Juice Podcatcher
I use the Juice Podcatcher to download fresh Podcasts every morning that I play on my “alarm clock.” Juice is great, but I think it could use a few more features.
One of the main features that I think it could use is a Service mode – where it runs solely as a windows service. Currently it doesn’t support this, which necessitates me to keep one of my SFF Server logged on all the time just so it can run. That’s not cool. That poor little machine could be using is valuable clock cycles to do something important, not just keep the desktop session churning away. This will be my first fix/addition.
I have never participated in any kind of open source project like this, so this will be a chronicle of my journey.
I know there are going to be some issues. For one, it’s written in Python. I haven't the first clue about Python. But how hard could it be?
The Second issue I see is that this is a fairly widely used program. They’re homepage touts 2,500,000 downloads. I’m not sure that whoever “owns” it i going to be two happy with me mucking around in they’re code and adding features. But I guess we’ll see. I’ll post some more details when I get up an running.
Friday, May 15, 2009
Feel the Power
Servers, Computer Networking, SANs, Automation and Business Entrepreneurship all have a special place in my heart. Sounds cheesy, but I’ve always been very much drawn to these areas for what I think may be the same reason: I’m addicted to Power. Well, not really. I very much attracted to what I would call functional relationships or a Transaction basis. Where someone wants something, and some0ne else is in a place to service this need. I like to see the flow through of requests and fulfillments, orders and shipments. I am very gratified to be person who is responsible for the fulfillments and shipments. I like to be the guy, that can make it happen.
Friday, April 17, 2009
First up: Linux.
I figured an appropriate way to get my blog started would be to go over each project separately, and discuss why it’s on the list, where I stand and what my end goal is. First up, is Linux.
I have always been fascinated with Linux. As a high school student in the late nineties, I installed countless Linux servers. I can’t even remember all of the different distributions that I tried, but Mandrake, Red Hat and Corel Linux were definitely in the mix.
The big draw the Linux had for me, is that it could be configured as a server. I setup Apache, Bind, Samba, SMTP, POP3 and IMAP as well as configuring Linux as a DHPC server, hub and firewall. I installed, or tried to install pretty much whatever I could get my hands on. I was just so happy that I could do all of this, and being a broke teenager, the fact that all of this was free for the taking, made it even more of a draw.
There were really three main issues that I ran into. I think all of these played a part in why I’m not a Linux developer today.
The first was that I didn’t really have much of a reason to setup most of the things that I had. I was most interested to just to see if I could get it to work. Much of my tinkering happened before we had broadband access so the meaningfulness of a DNS or SMTP server on a local network of 4 computers was almost zero. After it was setup, there wasn’t anything to do, but tear it down and try something else. This sounds very obvious now, but at the time, after working with it for months and months and really years on and off, I expected there to be more of a “light at the end of the tunnel.”
Later after we got broadband access, I did end up setting a web server running apache and an Email server. The problem was the connection was so slow and sometimes intermittent that it was a pretty futile effort.
The second issue was that Linux hardware support (at that time) was worse than Windows 95 hardware support. I remember having literally stacks of PCI cards that I would swap in and out. Some that worked with Windows and some that worked with Linux. I seem to recall that NetGear had one of the better supported NICs for Linux, or at least a card that would run under the generic Linux NIC driver. Video support was also lacking. Most of the time I ended up using generic drivers and the end result was a desktop that was less “pretty” than Windows 95. This definitely detracted from the experience. I felt like I wasn’t getting my money’s worth out of the hardware I had.
The third issue was that I was interested in getting more into programming. All I had really done was QBASIC on DOS and was interested in programming real live windows applications. I didn’t care greatly if it was Windows or Linux (although Windows did seem a bit cooler) but I needed something that was easy to get started in. I didn’t find that with Linux. From what I found C or C++ was the way you had to go (I think python was in there too). Make files and headers and such were a bit confusing to me. At the end of the day you had to even take it a step further to make an app that would run in XWindows instead of just through the shell. After a few tries, I gave up and instead learned to program in Visual Basic 5.
Ever since I made that jump and gave up on my Linux dreams I have in a way regretted it. I always wished that I could use Linux to accomplish tasks and produce business solutions.
My goal is to pick up from where I left off and configure a Linux Server that will be used for a business purpose. I’m currently still toying with ideas as to what the business purpose will be, but for now I’m going with the idea of setting up a LAMP server, and possibly starting a Web Proxy service.
Sunday, March 22, 2009
3-Tiered (N-Tier) Architecture
N-Tiered Architectures are something that I didn’t even know existed until I worked for Fast Enterprises. Now I know that they are fairly common, and not as big of a revelation as I once thought.
N-Tier or 3-Tier Architectures are a method of distributing the the load of serving any kind of content. For a three tiered system the tiers are generally, Client, Application Server and Database Server. For winforms, which is what I have been doing, the actual form resided on the client. The the business logic resided on the application server and there is a separate database server that houses the data.
The general rule is that each tier should be on it’s own machine and each tier should only be able to communicate with the tiers directly above and below it. That would mean that for a three tiered system, the client machine wouldn’t be able to access the database directly.
3-Tiered Architectures are not new at all. There are many different implementations, even a fairly well respected one that is open source (CSLA). They are used for most medium and large scale websites. It helps when you consider that the web, having both Server side and Client side code is already built to be 2-tiered. All you have to do is add a separate database server and you have your third tier.
I’ve always had somewhat of a fascination with making large coordinated things work in harmony. Be it a group of people, a concert or a whole bunch of simultaneous computer processes, it excites me to no end. Now I don’t really have a need to build a three tier architecture. I don’t have a large amount of data to be processed or users to serve, but I think it would be interesting to build. I’ll see if I can come up with a business purpose for this, but for now I’ll call it research.
My goal is to build, or install using open source a three tiered architecture.