The Unix Divide

Practical QA

June 30, 2007 · 1 Comment

Armed with things like Perl, Bourne, and ISQL, I’m going to tackle quality-assurance today; or at least, maker sure my programming changes are shooting out the right data.  Data-verification is also a term that works for me.

Step one is to check a flat-file’s output.  Now, I don’t have buffering in Perl, like java has.  So step one is to see if I can do a readln() loop, in Perl, on a really large file and see whether it’s slow or fast.

→ 1 CommentCategories: Uncategorized

Core Skills pt. 2

May 28, 2007 · 2 Comments

Let’s talk about some core skills for a Unix enterprise programmer.  Well, after system administration and scripting skills, and also after setting up an RDBMS, we finally come upon Java and stored procedures, but let’s start with Java.

The first thing java needs is to be able to connect to the RDBMS; therefore, I learned enough JDBC to be able to get out of and into the MySQL database.

Following JDBC, my next task is to first setup either an RMI server or going straight on to building a substantial Swing GUI.  You can vote here on which you would like me to tackle and write about first.

→ 2 CommentsCategories: Uncategorized

Core Skills

May 28, 2007 · Leave a Comment

The theme of this site is altering from it’s original intro and *nix title.  I have changed the title of this website to “Unix” as it would seem that not only is it a mixture of both Unix and Linux, but also that Linux conjures up the image of “desktop war” in people’s minds.

I will cover some Swing soon enough, but that’s hardly a “Linux desktop”, and more to the point it’s the only part of this system I’m working on that runs on Windows.

What are core “skillz”?  The most basic core skills are command-line administration and word-processing from the console.  Other skills are MySQL (or other RDBMS) and Java.  IOW, a “Unix” enterprise system as opposed “MS-shop” skills.  I put Unix in quotes because we use Solaris servers at work, but at home I use Slackware – and Ubuntu for the desktop, but as I said desktop Linux is another story.  I am trying to confine myself and this blog to building up the core skills before indulging in the skills of debatable market-value.

→ Leave a CommentCategories: Uncategorized

Sybase

May 7, 2007 · Leave a Comment

I tried installing the express edition on Slackware, but it wanted a PAM, even though I chose NT/Unix system proxy login. When I tried to install the express or developer edition on Ubuntu, there were JVM errors.

That’s how I spent my Sunday. Now I’m downloading OpenSolaris.

I should note that I didn’t try either Suse (wanted to) or RH.  They both come with PAM, but supposedly each has their own version or build of it or something like that.  What a pain.

We use Solaris at work.

→ Leave a CommentCategories: Uncategorized

gfind

April 7, 2007 · Leave a Comment

I’d like to write an improved version of the find command. First, I’ll try to see if I can write one in perl, then I’ll look at C/C++ if need be.

If a directory doesn’t belong to your group, then don’t search it. IOW, don’t search the whole machine for directories that I don’t have permissions to look in anyway, whilst telling me so, and wasting *reams* of time needlessly.

Of course, I’ll be typing it all in from Vi at the Linux console, but this is already cake next to an SSH terminal connected to Solaris.

→ Leave a CommentCategories: Uncategorized

Technical Behavior

March 15, 2007 · Leave a Comment

This may be one of the last overriding, if least talked about, themes of this blog. Behavior effects things. My favorite IBM commercial for Linux is the one with Ali, “I shook up the world!” (search on YouTube.com). Great commercial, and it’s about one thing, the things we effect.

I’m on a mission to effect what I can. I should throw in that I’ve removed some of the forum links because I’ve finally moved past that stage; now it’s time for action. This was a message to myself, and I’m also sharing it with you, whoever is reading this.

As I may have mentioned once before, I’m still trying to see what programming I can achieve straight from the Linux console. At least at home, on my own time, I’ll make an effort to stay as pure as I can, and keep my way of going about things as interesting, and “powerful” as I can.

→ Leave a CommentCategories: Uncategorized

Java on the server

March 14, 2007 · Leave a Comment

J2EE, eventually, or servlets, practically. Downloaded and installed the JDK onto Ubuntu and FTP’d it to my Slackware box. This Linux stuff gets easy after a while, surprises me. One simply needs the patience to sit in front of a box once in a while, and not a GUI, which is too much instant gratification to bring success, IMHO.

→ Leave a CommentCategories: Uncategorized

Java for the GUI

March 8, 2007 · Leave a Comment

http://www.javalobby.org/java/forums/t91191.html

http://ensode.net/java_swing_mustang_screenshots_gtk.html

Incredible. Or as the Spanish say, Incredible. hehe. Odd, though, doesn’t look nearly as good on Windows, and a Mac user is complaining in the comments:

http://weblogs.java.net/blog/chet/archive/2005/08/mustang_swing_a.html

Mustang just came out in December 2006, according to the Wikipedia. I’m also noticing how they are using Netbeans IDE in this example; as an aside, the SWT crowd is probably going to be using Eclipse.  I should also mention that it freaks the KDE fans out that the Java Swing on Linux uses Gtk+ (which I prefer, for licensing reasons).

→ Leave a CommentCategories: Uncategorized

Learning Linux Administration

March 6, 2007 · Leave a Comment

First of all, what is it? Well, let me preface this by saying that I am starting a new job soon, and part of it will be Linux administration, as well as java server on Linux administration.

Linux is a different world than Windows. Here is a plan of attack toward learning these skills that I have chosen for myself. First, I learned vi…because you need an editor. Second, I am reviewing the Linux utilities, because you need to have sharp command line-skills. Third, I am learning Bash, because your startup scripts, if not using the ones there already, are going to be written in Bash.

Right now I am reading a very interesting book, it’s called “Java Application Development on Linux”. Starts out discussing Linux command-line in a thoughtful way, and then goes on to give a tutorial on Vi. I would give it max stars of recommendation, so far.

Here is a great example that the book discusses:

find . -name jake -exec ls -l ‘{}’ \;

As the book mentions, find is one of the most confusing and important commands in Linux. If I don’t include “-name” it will search and say couldn’t find the file, even though it lists the file as one of the ones it searched (as well as displaying every other file name it searched). Another point is that ls -l apparently can’t accept an input piped to it, so the “-exec” command is used, in this example, to execute shell code right there on the command-line.

The important thing is that you need to know this. The fact that my explanation is woefully insufficient underlies the need to have a good book like this one, or google it. But without this book, would I have realized how tricky all of this can be? Probably not.

Here is an excellent article on the Linux command-line:

http://www.redhat.com/magazine/004feb05/features/bash/

http://www.redhat.com/magazine/005mar05/features/perl/

Ultimately, the way to learn linux is to browse around right there from your command-line. My books didn’t cover the .bashrc, so I had to ‘man bash’ to find those things out (or google, yes). But you have to be there at the console and ‘ls’ing a lot to get a feel for what is at where.

For me, I have to close off distractions by having another PC, my slackware and not Ubuntu one, with just a console in front of it. No startx, no distractions to skills learning. Maybe it could be said that real learning begins when you can teach yourself, improve without needing the crutches of google, a book, etc, just figuring it out, reading the documentation and trying things.

Quick, off the top of your head.  Which directory is the Linux source code in?

→ Leave a CommentCategories: Uncategorized

GUI pt. 2

February 27, 2007 · Leave a Comment

Okay, so I’ve come to some further conclusions, summation.  WxWidgets is basically “for” Windows.  It’s not a straightforward install on Linux (though I’ve done it once) for a standard userbase.  Unless there was an easier installer for it.

Gtk+ is basically for Linux, particularly when you are getting low-level with C (my impression), and I don’t see a magical .dll for it, just the same ones that Linux uses.

Win32 or possibly WxWidgets, would seem the way to go for Windows programming in C/C++, and Gtk+ for Linux or WxWidgets as hopeful. 

Here’s the rub.  If you are programming for Windows, then why not use Win32 as it’s a marketable skill and has fast performance.  Whereas if you are running WxWidgets on Linux, you had better hope you can figure out a way to make sure it installs correctly on the various distributions.  IOW, you have to support WxWidgets to some extent, not just your product.

→ Leave a CommentCategories: Uncategorized