I’m so tired of Windows. I feel so damn limited now that have I’ve got so used to using Linux in my every day w0rk now. Sure I like windows to play with my cute little legacy toys (aka Microsoft Windows applications and services). But like most toys, there comes a point were you need to put the toys up and maybe go and give them to Good Will or something so other people can play with them, but maybe thats just mean.
Why does Windows have to be so damn dumb and limiting? Why do people buy a product that I can’t change, can’t fix errors without paying more money, or get abandoned by its creators in favor of something I’m going to have to buy again because the last version is to insecure to keep running, and created by 100 dudes over in a building half way across the country that are just thinking of ways to programaticly screw up, over one designed by a community of hundreds of thousands of unpaid programmers contributing code in their free time in the hopes of free knowlege and built on the goals of stopping this type of abuse? I would take the open source free one over a paid and closed source one anyday.
Windows sucks. I get sick of the same damn things over and over. Its fully automatic everything (exspecially where I don’t want it to be). Its tools suck and never follow any of the set standards (DNS server, web browser, email server, web server, you name it ). The fact that I have to keep patching it to get it from getting hacked like yesterday. I HATE THAT SHIT.
PEOPLE! GET A FREAKING BRAIN!
One thing that has always driven me nuts about Visual Studio is the way it hurts developers. Many of you know what I’m talking about. People seem to get used to using the all the little wizards and predefined templates and files that Visual Studio makes for you. Thats fine and I don’t have a problem with that. Its just that some programmers need to understand what the Visual Studio wizards and tools are doing for you (andsometimes hide from you).
One of the first things I tell people when they are learning the basics of .NET now days, is to go grab a copy of the .NET SDK from Microsoft (and possibly a copy binary copy of Mono for Windows from the Mono website) and put Visual Studio on the shelf for a few days. If you feel you still must use Visual Studio, don’t create a project. Instead just use like a fancy code editor with fancy menus and color coding. Learn how to make a makefile, how to create a Windows form from scratch, create a DLL and reference it, and get a good feel for the command line compiler.
Then after you have gotten good at doing the bulk of .NET, then use Visual Studio. However, use it with caution. If you do anything with any tool or interface other then the code editor, get your explorer ready and look at all files that had changed. Some things will shock you, such as creating a reference to a DLL, making a web reference (big one if you use them so you can see the proxy interfaces it generates), dynamicly generate a typed dataset (which ends up generating over 4000 lines of code in most cases), or even creating a form using the form template and the nice little cute form designer that gives Visual Studio, the “Visual” aspect like in their name.
Visual Studio can try and keep you dumb, mostly so are forced into using its features and dish at money for each new version, just so you can maintain your nicely pregenerated code.
Read the .NET books and do the samples as it says. What is very ironic about this, is that very few books talk about .NET from the aspect of Visual Studio, but most programmers do nothing but write code in Visual Studio.
We need to stop the madness.
A better guide to help Windows users migrate and interpoliate with Linux needed to be written. Since everyone notice what I do, and soon Windows based system will drop off the face of the earth and down into the evil pit of propritary systems and insecurity it had sprang from. I could never really find anything that could really explain how you can make Windows conform to the Linux users way of working. Lots of Linux developers have really tried to be nice to Windows and make products to work with them, yet nothing really documented doing just the opposite by helping it work with Linux.
I’ve thrown a list of simple things you can install and do to help you understand the common products, services, and systems in Linux better and use the tools that Linux users use everyday. Maybe it might help you understand the glory of what Linux has to offer and make a complete switch. It can also make it easy just to work with other Linux people at your office. Who knows. Here is what you need to do:
STEP 1:
Download and install the following apps (*optional):
- Cygwin is a full package of tools, applications, and compliable libraries that all work under windows using a unix emulation layer.
http://www.cygwin.com/ - Free
- Apache and PHP for your web server.
http://httpd.apache.org/ - Free
http://www.php.net/ - Free
- ActivePerl, ActiveTcl, ( and maybe ActivePython)
http://www.activestate.com/Products/Language_Distributions/ - Free
- MinGW (maybe MSYS) for compiling those *NIX based apps.
http://www.mingw.org/ - Free
- *Windows Services for UNIX" from Microsoft is nice for the command line utilities and setting up a Windows based NFS server (but is hard to find at a good price)
http://www.microsoft.com/windows/sfu/ - $$$
- *Mozilla Firefox or the regular mozilla are the best web browsers (not really needed but it can help with your window’s struggle)
http://www.Mozilla.org/ - Free
- *CVSNT for a great NT based CVS
http://www.cvsnt.org/ - Free
- *VNC for remote desktop.
http://www.realvnc.com/ - Free
- *Putty for SSH
http://www.chiark.greenend.org.uk/~sgtatham/putty/ - Free
- *NMAP is great for scanning open ports (some virus scanners think this is a virus though)
http://www.insecure.org/nmap/ - Free
- *UCD-SNMP (or if you want to play with NET-SNMP, but its not as stable on windows) for SNMP
http://www.net-snmp.org - Free
- *Ethereal for packet sniffing
http://www.ethereal.org/ - Free
- *Gaim for instant messaging (Works with AIM, MSN, Yahoo, IRC, ICQ, Jabber, Novell Groupwise, Napster and more)
http://gaim.sf.net/ - Free
STEP 2:
After you install Cygwin, make sure you add the X:\cygwin\bin to your path directive in Windows Control Panel -> System Settings -> Environment Variables -> Path. ActivePerl will do this for you for your perl libs.
STEP 3:
Enjoy! Don’t claw your face out if you have problems since it is to be expected when trying to do something that is almost impossible.
Ok. I just had the hardest time screwing with Debian “Woody”. Got a good base install. Apache 1.3.29 and PHP 4.1.x. A little old but useable. Had to get connected to MSSQL to run some queries from inside my code. All is good. Then I had to port tons of code I wrote for PHP5 on my Windows machine running Apache 2 for Win32 (and Apache 1 compiled under Cygwin). And so the nightmare begain.
After porting that site I noticed I used a lot of the new DOM and XSLT libraries (not to be confused with the older XSL libraries) and in fact used them almost entirely for that code. After I seen how long it would take me to port it, I decided to break the debian package system and upgrade them manualy. I first took a look at APT-GET.ORG and I was able to find a few deb servers that had php5 debs. I tried them but they all but I counldn’t find any that had support for the MSSQL libs or even updated the libxml to libxml2 completely or installed the latest libxslt libs.
I was forced to build them all myself. I got all the libs and installed them. No big deal there. Then I grabbed the latest PHP 5. Took me forever to get all the compiler options figured out. Ended up using this:
./configure --prefix=/usr/local --with-apxs=/usr/bin/apxs --with-ming=/usr/local --with-gd --with-png-dir=usr/local --enable-gd-native-ttf --with-xml --with-libxml-dir=/usr/local --with-expat-dir=/usr/local/lib --with-dom=/usr/local --enable-ftp --enable-shared=yes --enable-static=yes --with-xsl=/usr/local --enable-track-vars --enable-sockets --enable-wddx --with-xmlrpc --with-zlib-dir=/usr/local/include --with-mssql=/usr/local/
It took me forever to get all the dependencies fixed (since I was using an older and securer distrobution). I also had to figure out this damn libiconv problem. Apperantly it has happened before.
After I got it to build, I had to figure out why I was getting this stupid error that kept comming up saying that I couldn’t talk to the SQL server. I thought it was the SQL server. I ripped its permisions apart in there but couldn’t find any problems. I went back and checked my FreeTDS libs. I guess while upgrading them they replaced the freetds.conf file and so it set itself back to protocal 5.0 (default which is for Sybase) . I changed it back up to 8.0 and sure anough it worked.
Long day. Need sleep.
- Zac
Well, in the need to get this project done as fast possible to get some income in fast, so I decided that I’m going to have to break some of my personal rules. The biggest rule I broke is that I said that I would never go directly into the underlying database except with the core web service that runs everything. Today, I did just that. The managing interface for customers (writen in php/perl) now accesses the database directly.
PHP is a little slow when access remote web services anyways. To make it faster I wrote a lot of the stuff using basic HTTP request methods and XML prasers with the XML objects instead of using a real SOAP object from PEAR. The differences in PHP4 and PHP5 make this a little odd. Tons between PHP4 to PHP5 with XML. My Windows and Linux workstations run bleading edge versions of PHP, but my Debian “Woody” server (to stay as stable as possible) uses PHP4.3.7 slightly old but working without a single flaw that I can find. Using FreeTDS to communicate to my mssql server.
Later I will load mono up and get Mono working on the server. Entire MapTrack web service worked in a test under Linux using Mono with a MySQL backend and then later I got it working on both PostgreSQL and Oracle. I use features inside that the database that aren’t relied on outside of the database (indexing, queries, speacial types) and the webservice only does just basic selects, inserts, deletes, and updates against the servers. Try to stay compatable with SQL92 and using generic connection objects as much as possible.
J2ME capable GPS cell phones running my application which transmits its location to my server on a timer. The server stores the data until the customer is read to view it. I can track your locaction, your current speed, how long you stopped, and more. It will also tell me if you enter an area, it will send an alert to your boss via email or SMS to his phone (no more sneaking off to the house in the middle of the day). Its viewable with either MapPoint 2004 with a com add-in (for your live tracking), or with any web browser using web maps (for your cheaper, lightweight, or mobile tracking solution). Its really something. Does just about everything from payroll to tracking to remote messaging and remote customer database access.
Like I always say… more later…
My wonderful brand new machine crash yesterday. Very sad. It really didn’t crash, I was just on it remotely from home and I ran new updates on my filesystem and thats when it went boom. Everything in in “/var” and all my “man” files moved to “lost+found” and they have no names. Oh well. On another note I put a new Debian box down at the colo. Running Debian Woody. I can’t wait till they freeze Sarge and make it stable some time in the next few months (maybe). Well anyways, I will post more later.
I watched the presidental debates over again. I can’t stand Bush anymore. Kerry doesn’t seem sneaky and scary. I feel like he isn’t up to anything. He isn’t influenced by major corporations like Bush looks like he has been, in almost every single decision he has made. The tax cuts, the war, health care, homeland security, out sourcing tax cuts on our jobs, the huge spending that Bush has done by spending more then 4 times the amount of money we had in our biggest surplus ever. No more Bush. I live in Texas and I loved when he was governer. I though he would do a great job as president. Now I feel he is too scary to have in office. I don’t believe him and I don’t know where we will go with him. Kerry seems a like he is a change. He might have his own agenda but I don’t feel him starting any new wars. Any reason he would want to take us to war, will be after someone else says it first. He seems like a clear headed person. I’m voting for Kerry.
Still, 66% of the people visiting this site are still using Internet Explorer. I STRONGLY suggest switching to Mozilla Firefox if you are still using IE. My Linux pals know what I mean already. When you get tired of all the security holes and spyware, then try Firefox. The old browser wars are back. Even the newest version of IE (included in Windows XP SP2) has features to mimic Firefox because Microsoft sees a new threat popping up.
Read the rest of this entry »
Looks as if a bunch of people are having issues moving from the preinstalled Red Hat Enterprise Linux to Debian on their Dell workstations and servers. Maybe I can help. I recently pruchased a $5000 Dell Precision 670n. Fully loaded.
Read the rest of this entry »