Wednesday, March 9, 2011

Finding the good software

In the Ubuntu Software Center programs are ranked with stars. But Ubuntu really doesn't go out of it's way to promote software. However, the Fedora Project is still trying like hell to talk people into trying Open Source systems, so they actually promote the best of the best, as part of that sales pitch. So to learn what's new, and worth looking at, make a visit to Fedora, even if your not using their Linux. Almost all those same programs and versions are in Ubuntu too.
(See Linux Distributions list (to the right))

Monday, March 7, 2011

Men are from Mars

A friend is trying to setup a server with Myth TV, so he's taking the plunge into Linux. And he's getting madder and madder by the minute. Took me 3 minutes to download and install Myth TV. And in a Linux install, unless the Kernel changes, nothing EVER has to reboot. So he tells me, he can't find anything he wants, and when he does, he has to compile it, and then he has to install it and he doesn't know where this shit should go- AND EVERYTHING REQUIRES ME TO REBOOT, RANDY!!! Whoa! So ah, what's going on here- clearly I'm not understanding. And it's just like me to snap back at being snapped at, so this is not a good situation, and this is an experienced programmer I'm dealing with. SO WTF???

Well, I've got some hardware problems of my own that have shown up. They crawled into my system on several upgrades recently (which is such a great sales pitch). There is no chatter out there about these being bugs, so it must be unique to me (a misfired script). So, I start downloading the newest versions, and could sworn that I was running a 64 bit version, so that's what I downloaded. I baked my CD, and booted it up, and the 64 was working fine- I'm just not ready to torch the install I use daily, so I don't bother with installing this one, I just add it to the inbox on my desk.

After exchanging some hostile emails with my buddy, I decided to download Fedora 14, and give that a test drive. Which comes in a i686 package but only 32 bit? Ok, I don't care. Things written for bigger bus paths, aren't normally faster to begin with, it's just something to fool to public, mostly! I bake it on to a CD, and give it test drive. It's been a few years since I was on Fedora, and the menus are lot more complex. And the application installer is quite a bit different that Debian or Ubuntu. These are things you forget over time. Anyway, while I like the artwork of Fedora about a x1000 better, it again is not something I'm willing to trash my current install for right away, so in the inbox it goes too.

I'm still extremely puzzled by my friend's frustration with Ubuntu. And what does he mean he can't find anything he wants? The Software Center or Synaptic Package Manager have EVERYTHING ready to download and install, no building, no hassle of knowing where it should go- download, run, enter root password, chugga chugga DONE! Up and running.

So I pop the 64 bit Ubuntu 10.10 back into the CD drive, and reboot. It comes up, so I'm wondering why he said he couldn't even get the Flash player to load into Firefox or Chrome? So I take that as my challenge, put the Flash player in place, even running on a Ram Disk (rather than a hard drive install). And I can't even get it recognized as a plugin that is available? And just like he said, I tried EVERYTHING that was an option from the Adobe website. So then I went to the Firefox website, and looked for plugins. I was baffled too. While I was in Fedora, I managed to install an Open Source one- it didn't work well, but it was there. Couldn't find that either in any of the Ubuntu installers? Hey, I can't even find Myth TV? What's up? Why are there such lame ass limited versions here, compared to what I'm using daily? Something wrong! Then it dawns on me- this is the 64 bit version. It's sooooo new, there isn't any software built for it, is why the installer is so retarded.

So, I go back to Adobe, and get the 64bit version of Flash. It has just the old Netscape style plugin file, in an archive package. No installer program written. Well, I know what to do, I'm just not sure I can do this as a guest on a Ram Disk version of Linux?

So I open a terminal window, and sudo su, hey I'm right there, not password prompt or nothing? I type in nautilus, and the Gnome browser pops up. I go to /tmp and double-click that archive, it opens right up. I tell it to extract into (got to go searching a bit) /usr/lib/firefox-addons/plugins. I close everything up, and restart Firefox, and goto YouTube, and watch some Jim Gaffigan videos (he so funny).

I did it, and I solved the mystery like Subby Doo. FUCK THE DAMN 64 BIT VERSION, IT AIN'T READY! Download and install the 32 bit version and you'll be fine. My friend on the other hand, he doesn't seem to be talking to me today. Don't worry, I'm just giving him some shit here, our friendship can take it- he's not that mad, and neither am I.

Meanwhile, I confirmed that I don't have a hardware problem with my computer, just a bad script in there somewhere? So I got something out of his misadventure too! (Two more junk Linux CDs, and no desire to upgrade anything).

Monday, February 28, 2011

No BS, why Open Source?

Everything the ESTABLISHMENT tells you is total BS, about making code you can change. Here are the real facts; to run on the largest number of systems, as Unix does, Linux is run mostly by SCRIPTS, rather than compiled binary files which are common particularly in Windows. Most of these scripts are just text files, and for that reason, anybody can read and change them.

Much of this stuff started before the Internet. So like GNU General Public License reads the way it reads, because most of the early programs were distributed on floppy disks from Public Domain bins, back in the day. Today, you download everything direct from the primary developers off the Internet. So distribution parts of Licensing seems kind of crazy, when you can get it directly from the source these days.

Still though, you're best to download the recommended version for your current Linux distribution (version/brand). Almost none of programs these days require that MAKE anything, when you download this way. The biggest problem with Open Source software is how quickly EVERYTHING changes, verses how slow it is on Windows. But install by the distributions installer, normally puts you directly into the automatic upgrade loop. Don't worry, it has a pop-up form that shows up and let's you select the things you want to upgrade. This can get a little annoying when day after day there is something new that showed up overnight- but rarely to these upgrades require rebooting, unlike EVERYTHING in Windows.

In Ubunto, under the Applications Menu, there is the 'Ubuntu Software Center'. These are the most recommended add-ons for the system, but not the whole catalog. To find the whole catalog, you must look under the Systems Menu and Administration for the 'Synaptic Package Manager', and this catalog is HUGE, but unrated like the other. If your wondering what was installed, or if the whole package was there, the Synaptic can provide those answers better than the Software Center. Both of these methods of adding software, put in things ready to run. However, when your prowling for Open Source, frequently they're not ready to run and you'll have to MAKE them, which is why I say check these programs first. They'll hook the menus and everything else for you.

For example: Myth TV list just the front end product in the Software Center. However, checking Synaptic, you find that the Backend is installed too. Which is what kind of spurred this article into existence to begin with.

Buying a system PRE-installed with Linux

Ok, now that I'm done being mad at them, I bought my last system from
http://www.system76.com/
Why I got mad at them was because I got back-ordered, and my system took a month to get. Not their fault, the message got spam tagged by Yahoo. However, it was worth the wait! I bought the Meerkat desktop system, that has an Atom processor, and only uses 80 watts of power. I can run five of these for what an ATX mini-tower costs, per hour.

However, ITX and Atoms aren't all that popular, because most people don't know a thing about what they're buying. So manufacturers want you to think 500 watts is better than 80 watts, when it has nothing to do with anything, really. System 76 has others too. But I feel greener with my 80 watt system, and therefore more responsible, and superior to you all (but that's just my own madness).

The other company, which I know nothing about is Zareason, which seems a little expensive. None the less, they too come with Ubuntu.
http://zareason.com/shop/home.php
I see you can get digital tv tuners, so I'm guessing that they are more ready for doing media than System 76.

Happy Birthday to me? (PPZ turns 2)

Wow, reviewing the articles, I just discovered that the Penguin Petting Zoo is 2 years old (this month), and really so much has changed. Not that you haven't moved onto an island (ice burg) to move to Linux, that remains about the same. But we remain almost totally virus and spyware free, while we work in a nice easy to use GDI (Graphic Device Interface), that can easily be rolled on it's side, for page length screen (assuming your monitor can handle it- mine really couldn't). I'm at the point where I don't miss Windows at all. Going back to Windows, I'm as much of a fish out of water these days as anybody else, once I know nothing about programming .NET, but who needs it, anyway?

Welcome to Linux, which all come with Apache, and PHP installed, and PostgreSQL or MySQL or SQLite, ready to rock-n-roll. Plus programming languages; Perl, Ruby, Python, C/C++, Fortran, BASH, all capable of using those database resources. With PHP and Apache, it's not exactly hard to setup your own cloud-computing, but the second you open a portal to WWW, you may become a hacking target. And security is then your own problem. Welcome to the ice burg.

In these two years, I've had a very bad experience with Shared Hosting, and a hack I pissed off. (Not here on Blogger, but on a paid host). He really had that host back-doored, and nothing was safe from him. So my focus changed from being so server-side, to being (AGAIN) more single user oriented. Which has had me studying up on GTK and Python, using SQLite. But most of that is too techie for this blog, so I really don't know how I'm going to handle that, yet?

Other things that have changed; Sun Microsystems took over MySQL, which shorty later was gobbled up by Oracle, causing panic in the open source community, once we are soo very dependent on not only MySQL but Open Office.

This blog was about using Linux as a desktop, the way most of you would. There is still a great fearful reputation that goes with the wild penguins, which is totally undeserved today. A friend is currently trying to setup a Media Server for himself, and is hacking around with Linux, so I'm trying to encourage him to write his reflections for us- particularly once he is such a good writer- we'll see?

So far the evangelism of this site, has not produced even one convert. But every once in a while, it does get noticed. Baby steps, we're only two years old!

Monday, January 31, 2011

The constrictor class

A constrictor is a class of snake- it's a pun for Python talk!

I just read my last posting from 2 months ago, and not much has changed in my opinion of Python. I thought I was taking way too big a bite to try and learn programming Python with GTK and SQLite all at the same time. But for my level of experience, maybe not? There is very little to each, after slogging thought Windows API/GUI, and later MFC, and DOG HUMPING JAVA! (I think there still might be a little bitterness there).

I want to talk about where I'm at, and comfort in that. It's kind of like I'm over the culture shock and ready to become a more responsible citizen of the city, rather than another of it's raging lunatics. However, hope blooms eternal!

Some things in Python still cause my brain to switch directly into an old time TV test pattern! And I know, I just lost a whole generation of you out there, who haven't a clue about TV station not being 24 hour machines. Think of it as the SPONSORED PROGRAMMING that does nothing, exactly like Movie Theaters before the coming attractions today, like the slide for Popcorn!

Anyway, top ten of things I really don't understand yet; Lambda. Just makes my brain hurt! So, I'm glossing over that for a while... Then there is the annoyance of SELF, as an argument to a function. Alright already, I put in self; And it seems to be happy, though my brain is having this tantrum of "this is stupid!", I'm managing to ignore that.

I'm at the point now, where I need to learn how to make a Window with functional Scrollbars. I read something about this in PyGTK tutorial, some place? But even rev-eng sample code after sample code, it wasn't until you reach Menus From ItemFactory that you're really go; BINGO! Now, I can work with this! This is the TEMPLATE I need to start with! <itemfactorexample>

Meanwhile, on the SQLite front, I've done a lot of exploring Python in immediate mode, but I haven't started wrapping it into my class yet. We're kind of at the impasse of TRY/EXCEPTION which has never been my favorite way to raise/handle errors, EVER! So I'm still toying with that in my brain, once it's a topic I like to avoid to being with. I'm a little concerned that SQLite likes to just create a database, if none exists, rather making you issue an SQL command to CREATE DATABASE ...

So here I sit, right at the point where I'm about to make a program useful. When I fucking get the flu!!! Thankfully, you are not in contact with the phlegm I just coughed out at my monitor! But let's get down the nitty gritty, anyway: I don't understand these guys that object to braces so much, in favor of indentation. Indentation can be it's own level of meaningless hell!!! For the Linux User, Gphp editor will be a nightmare to use, with it's choice of tabs instead of spaces regardless of setup options. However, Blue Fish is absolutely awesome! Edle is somewhere in between, and really not in my comfort zone, for some reason? Blue Fish, with an open terminal window is my choice. But of coarse Blue Fish is totally setup for developing HTML pages, with PHP code, so the whole editor seems rather useless in Python. But it's auto-indents work flawlessly, as does it's color coding. It was made for the Python developer too, and so far is my favorite editor.

So far, I've given you NO great tutorial about Python programming, because that's really not my thing, particularly when I'm just exploring it. I don't think I really have much to add, that you can't read yourself from pygkt.org website.

Accept for one thing. When you look at the ItemFactory method of making menus, you will instantly flash on the same subject that the Pythons would never think of in a thousand years because they are not starting from SCRATCH!!! The ItemFactory example is the perfect starting point for the experienced Windows programmer, but it will totally piss you off in documentation! The question that comes to every one's mind, right out the gate is; "HOW DO I DISABLE A MENU ITEM?" There is NO disable/enable Gobject? ???? ????! Here we have to get into X thinking (carrot / cursor) ie (mouse / ibar). Programming 101: A menu item is the same thing as a button! Which is no help for this problem, because it's all in our terminology that is the problem. What you are looking to do in PyGTK's is activate and deactivate "SENSITIVE" setting.
>>> menuitem.sensitive(False)

All of my programming friends have greeted this with exactly the same angry reaction; "WTF!??? It's no wonder you wasted a whole day on that!"

Saturday, December 11, 2010

Talks like a programmer!

Geek! Nerd! Dork! Computer weeny! - I've been call them all. The last one was actually afraid I'd file a harassment complaint for the weeny part- but I'm bigger than that. I was just happy she noticed that I had one! Today's topics are Python and Sqlite, yes, I'm actually going to get real nerdy here!

First of all, I really don't believe in files anymore. Text files are alright, because they are the backbone of everything tech! XML: is a great way to pad your resume', as we joke! Tab Delimited Files are great, but not at all readable by humans. See, tabs are useless formatting, so they double as control devices for Next/Prior field in almost EVERYTHING! Type in some lines, separate them with tabs instead of Returns. Highlight, and copy them to the clipboard, now open a Spreadsheet, and Paste! See, what I mean? Go ahead, try it! Comma's do not automatically work this way. It's not just spreadsheets, you can do this with nearly any screen form from on any program (unless they suspend the clipboard).

My lost point here, was that I no longer believe in formatted data files, generated by programs. So what do I think should replace DOS, and the binary data file? SQL of coarse! Most all data is a table of information, so why not use ROW control with Fetches that never overflow your heap space? (x3 nerd points for mentioning the HEAP). Point is, that once data is captured or created, 99% of the time, it will want to be shared as well, so why not just start your application design with a little relational database design, and forget opening files and dumping data in, structure by structure.

The BEST TOOLs in the universe for this was MS Access, and Visual Basic. Until Microsoft lost it's mind and started justifying their degrees by adopting .NET, which ended intelligent programming as we knew it! And turned to hostile mean spirited users licensing, that nobody can understand. So now where do we turn? Well, most of us knew that Microsoft Servers are expensive CRAP, so we left for greener grass of FREE Open Source; Linux and BSD. Which meant the new power tools where PHP and MySQL. Then the Chinese and Russians started hacking everybody, so we needed a new LOCALIZED alternative; Ah, ah, Ah, ah, AH! Enter Sqlite! I understand that it's now included in the BASIC Python packages- but don't hold me to that, I think I had to make Ubuntu add those libraries one by one.

Now, I admit, while I've had Linux programming books piled up here for a decade, Ruby and Python really haven't grabbed my libido much. I like the simple; C and C++ with none of that extra What the F*** MFC or JAVA kind of overhead. I think it's harder to learn how to put your program inside of someone else's template, when you don't know why the template is the way it is? I call it justifying their degrees! If it takes me two years to learn this stuff, then that's two lost years, which needs to be calculated into the EXACTLY ONE project I'll ever use it on- and as a freelancer, I can't justify that. Which is exactly HOW I feel screwed by Microsoft! They stole my life with long learning curves, then stole my bone right out of my mouth, while exporting all my work. So, learning something new like Ruby or Python has not been on the top of my stack of pleasures for the last decade.

Both Ruby and Python, just seem too chic! Too CUTE, Too CLEAVER! Which instantly causes panic button to go down. While I have a friend that swears by Ruby on Rails, he also loved Pascal over C. (Told you this is a super nerd article, by someone in the biz for 30 years.) I'm not sold. I have better things to do with my time... Then we found out that Blender (3d) is written in Python, and another friend then started to play with it. Still, I've been resistant, not really willing to learn it, I can kick out everything I need in PHP in a second, why learn another?

Why learn another? Why, oh why? Because of hackers! Air GAP is the greatest security. But I still need most or all of my data in one place! Sqlite packs all the tables and indexes into one portable file- no server software needed. Finally a portable data port! Why Python at this point then? It where most of the tutorials are! Python is multi-platform, even to smart phones. Python is ready to use the GTK, which as well is Multi-platform! And Python is including support for Sqlite3, in the 2.6.x packages. It's like it all goes, everywhere you want to go! Besides having built in support for almost all networking exchange protocols (like FTP/HTTP/HXML/SMP...). It really is a utility knife, a chic one with Complex Numbers most of us will never use!

So, I byte off a huge chunk of gui to chew on! Sqlite, GTK, and Python. You know, I remember struggling so hard with the Windows API, which is almost humorous to this. But I've been around the block so many times, the GTK seems simple and ordinary. Sqlite seems simple and ordinary. The monster is Python learning curve. While it wants to be simple and readable they then turn around and do something like this:
>>> li = [elem*2 for elem in li]
I would like to know in what human language that is readable, without understanding Python? And that's just one example of Python not being quite as readable as what they promise it to be. It's just another Politician's Promise, and just as dependable. Like FORTRAN it can get way too cute with loop processing in an assignment or statement.

Anyway, that's what I'm chewing on these days. I'm now over my horror and culture shock to all this damn English humor, and contrite Mr Cheeky style; If you know what I mean? Know what I mean? I don't really want to relive my favorite TV moments unless there's some boobies involved! I just want to learn yet another language, for Christ's sake, as quickly as I can. So maybe, just maybe, I'll share my notes with you. (It helps me learn it faster.)