Thursday, May 27, 2010

The FreeWorld Project *

It's time for the pre-introduction (unveiling) of a project years in the making. With an intermittant design phase of 7+ years and insight as a developer and programmer, PeonDevelopments presents a strong probability of a new multiplatform Java-based FOSS application dedicated to providng the greatest 2D Role Playing Game Engine to all Gamers, Casual Players, Developers, Marketers, Businesses and Educational Institutions interested.

Our mission statement is To provide developers and non-experienced users with a modular and FLOSS role playing game engine that performs reasonably well on multiple platforms and aids in the production of dynamic and advanced battle systems for the purpose of relating a story, plot or series of meaningful actions.

As the project is not mature and currently in vapourware status, I would like to remind readers that documentation is being developed to lay groundwork for the structure of the Engine. Expect a release of such documentation in 3 months of the posting of this article at the latest.

I will be posting a road map at a later date. I wish to produce a working proof-of-concept prototype with Installer before allowing others to work on developing this project. With that in mind, I have big expectations of this project and hope it will fill a niche that currently is not being filled to the extent it could be.

Projects such as Sphere do exist but are not maintained or as powerful as I want. More updates at a later stage.

Current documentaiton progress: At 40 pages. Expect 5x that.

* Not the official release name of the project, used as a placeholder

=-=-=-=-=
Powered by Blogilo

Friday, May 21, 2010

Technical-tainment

So as I'm sitting here at the table, drinking my light-roast coffee and feeling pretty good about life, it's time to let my readers know (all 1 of them, me) about some cool techy stuff that my mind is on.

http://kernelnewbies.org/Linux_2_6_32#head-935c2274be57c1585f23d91d185888ed0b6e0567

The above link is to the changelog for kernel 2.6.32 (which I currently use) and its improvements. Notably, some great improvements have been done in virtualization as with KSM (Kernel Shared Memory), a daemon process goes through page files determining which files are the same and merges them to reduce memory usage. That in itself is great but it doesn't put anything in perspective. Until you read the following:

"The result is a dramatic decrease in memory usage in virtualization environments. In a virtualization server, Red Hat found that thanks to KSM, KVM can run as many as 52 Windows XP VMs with 1 GB of RAM each on a server with just 16 GB of RAM."

If an XP machine was to be run under minimum requirements, using 128 MB of Ram, you'd get a barely functional OS and 52 of them would use a total of 6.656 GB of Ram. I've used XP in a VirtualBox VM using 512 MB of Ram and got some decent performance out of it. (Ran SAP and Borland Together in it; not at the same time) So assuming that each user is limited to a 512 MB Windows XP Pro OS, you'd be looking at a total of 26.624 GB of Ram required if these were dedicated machines. By sharing memory and having 52 XP machines running on a bare-bones Hardware Virtualization using Red Hat, each OS would require 307 MB of Ram if it were dedicated, but as it's sharing memory, the end result would mean more Ram to use. Assuming having shared memory resulted in each OS feeling as though it had 512 MB of Ram, that's a savings of ~10 GB of Ram, or an efficiency of 166.4% (2/3rds greater) over dedicated Ram resources.

And that's just one kernel improvement. I wonder how Windows kernel is doing in comparison.

The 2.6.32 kernel also has scheduler improvements in its CFQ low-latency mode.

Some people have had issues with KDE's Akonadi, getting a "Not Registered At DBUS" message. From my limited experience in dealing with this error, it generally only happens when trying to use an external SQL database. I believe that this is an upstream issue, as Akonadi is constantly being worked on during this time and big things are expected of it. (This has been tested on a KDE 4.3.5 and 4.4.2 system) The internal database doesn't seem to have this issue; it works at least, though sometimes produces a warning message. It may take a few more releases before this bug is dealt with,

In one Fedora forum, it seems that using an external sql database works under the root user. I wouldn't recommend this route.

Others say that it's an AppArmour issue, that it is blocking akonadi. It seems odd, as I still got this issue using Gentoo which doesn't have that firewall installed. The developer team which worked on it has been layed off as well.

http://news.cnet.com/8301-13580_3-9796140-39.html?part=rss&subj=news&tag=2547-1_3-0-5

There are some issues with Gentoo's KDE Unstable 4.4.2 release, though that's to be expected.

Sometimes closing Kontact does not completely close it and attempting to run it again will have no effect. The process must be killed before it can be sucessfully launched again.

Kile (2.1 beta 2 & 3) seems to have an issue where closing the program results in an unexpected error minutes later or if the program is left open, unattended for too long. It doesn't seem to impact my work (autosave it on) and is more of an annoyance. Still, it's a great program for working in LaTeX.

Umbrello is a nice UML modeller program, but I get segfaults semi-regularly. I'm not sure why that is and I still use it. This doesn't seem restricted to the unstable KDE release, but I thought I'd point it out anyway.

Some final thoughts on KDE 4.4.2: It's faster, looks better, and has more functionality. I'm getting used to tabbed file browsing and I like where the KDE team is headed.

A special thanks to Aaron J. Seigo, a KDE guru and expert. This guy is real inspiration and I hope to do some work on KDE in the near future.

=-=-=-=-=
Powered by Blogilo

Long Weekend

In writing the title of this post, the song by Scooter comes to mind.

Well it's the weekend, for me at least. Currently jobless and bored, it'll be a great geeky weekend indeed. In fact, my joblessness has become a catalyst for getting more involved in my personal work.

School is out and I went out yesterday to congradulate my fellow graduates from college (though I, for reasons none too serious, did not graduate this at the end of this year) and wish them the best. Once school was out, my body and mind did a crash nose-dive into my bed. For about a week or two I was sleeping approximately 12 hours a day, catching up on all those late nights/all nighters spent on our Capstone Project. (2-semeter long enterprise-level software project with proper documentation and installation)

Back to the topic at hand. Once I recovered from my exhaustion, I started back into the world of programming and computing. Re-built my resume from scratch using a personal custom design (in OpenOffice.org Draw program none-the-less) and managed to hook in one possible job prospect of which I'm only now getting the full force of what I've done.

As an aside, draw programs that I really recommend for GNU/Linux users are in fact, OpenOffice.org Draw and Krita for wonderful paint/publishing works and KolourPaint for the equivalent of Window's paint.exe program. Not much experience with The Gimp, but once they implement tabs and one window (I think there's a plugin for that, photogimp or something) then I'll go for a more professional bit.

So I met one of the management team at the Calgary Open Source Software Festival (2010) as he was a speaker there. Had a little chat afterwards and got a business card. Weeks later when I got around to applying for jobs, I mentioned this past experience and added a cover letter. Well, about a week later the company and I touched bas. They are very busy, so I am quite lucky to have gotten the attention I did; And while they don't have many positions open, it's quite possible that they will have room to train me in multiple areas and the *best* part is, they may create a System Administration position later on and have me in charge of that!

Now, the mere thought of the potential here is exciting for me. As I mentioned in the interview and will mention here now,

"In 5 years I see myself as a Software Developer. In 25 years, I see myself as a Senior System Administrator."

Basically saying that while I'm quite a geek and willing to do any odd jobs including software development of which I truly enjoy, I have a career goal and in one near-coincidental meeting (assuming I actually believe in those), my entire life as a geek may have been set up perfectly. It's much too early to say for sure and anything could get in the way of this. Nothing is conclusive and I have alternate paths if this blows up. But to be taken seriously, me, a young 22-year old whippersnapper as a possible dba / system admin, this is almost unprecedented! Basically this entire series of events rubbed my ego to the hilt. =)

Best part of all: It's mainly GNU/Linux work. Right up my alley.

So what am I going to do this weekend? Catch up on System Administration tools and information. Read a book. Play around with a project of mine. Catch up on tech news feeds. Learn some more C++ and start on Python. Build a Plasmoid. Something, anything productive. And I'm going to enjoy it.

We'll see where this leads. God willing, everything will work out in the end. It always does though, even if it's not how I want it to. But even in my darkest hours, I become stronger and more knowledgable so I don't see any downside to being rejected as a Sys Admin either.

I hope everyone enjoys their weekend.

- NP

=-=-=-=-=
Powered by Blogilo

Monday, April 26, 2010

Life to CURDATE();

School's almost done and the whether is cold and blizzardy. Or, at least it was a few nights ago; That's true Canadian weather for you.

I'm currently finished writing all my assignments and have a quiz and presentation left before I am free at long last. All this free time has also meant I've been tinkering around with my computer more often than usual. Take, for instance, yesterday. While no one was around to see it, I basically spent the whole day compiling on my laptop. A lot has happened since my last post and allow me to bring you up to speed.

+ Sold my Alienware machine that I previously had Gentoo on. Sad, I miss the machine, but some hardware or driver hiccups meant that it was constantly freezing. I'm wary that the problems stemmed either from a bad hard drive or the Vista drivers it came with. Perhaps it is also indicitive of some poor Kernel drivers too, I dunno. Doubtful though. One strange issue I had is that after installing Kubuntu 8.10, it would freeze if and only if the power manager was not on performance. Well such is life. Sold it, payed for another month of insurance, and purchased a beautiful Thinkpad T60 for a fraction of the Alienware's cost.

+ T60 Specs: 2.0 GHz Core Duo, 2GB DDR2 Ram, 512 MB x1400 ATI Radeon video (128 MB dedicated), 100GB 5400 rpm hard drive, 1400x1050 resolution, keyboard light, security fingerprint reader, and a decent speaker system. Total Price? $375. It was a deal to be sure, the last one in stock. Looked brand new except for the outer lid which had some scratches on it. This runs really cool, standard at 40 degrees idle to around 50-70 when working, compiling, and of course, running flash videos. It doesn't have amd64 support unfortunately, one thing I miss. But the keyboard on this thing is where it really shines. IBM and keyboards are like bread and butter. Perhaps I'll pick up an IBM Model M in my lifetime. I remember using them way back and enjoying every minute of it.

+ Installed Gentoo on the T60. Overall, things went smoothly on the third install attempt. I have issues with perfection and things weren't up to snuff the first two times. But I'm becoming more comfortable with the Gentoo environment and more prone to try fixing problems as opposed to the 'reinstall when something goes wrong' methodology which I have yet to shake off. I installed KDE 4.3.5 and that ran wonderfully.

+ Compiled a kernel for my T60. I need to enable plug-and-play usb mouse and keyboard support as those don't work yet, as well as the radeon fb compiled into the kernel. Currently it's as a module which doesn't work. However, responsiveness since the upgrade has increased wonderfully; A pre-emptive high low-latency kernel also helps.

+ Installed KDE 4.4 series unstable on Gentoo. Had some issues, will mention them in my next post. Still loved every minute of using this faster, more streamlined system.
+ Preparing my resume for my life as a cubicle slave. Just kidding though. While I have no qualms about being a code monkey/data entry clerk/ tech documentor, it's not something my ambition will sit well with over the years. I am in fact hoping to eventually work with the government on education, but we'll see where that leads me.

+ Excited to work on my own projects and plans, make some money, pay off debts (first priority), and collect more computer toys. While I love having the fastest and greatest/latest electronic toys in my paws, I also have learned to appreciate the stability and endurance of legacy machines. Remember when towers were made of steel? IBM Keyboard Model M's are still known for their quality. Nowadays, we get cheap keyboard crap built into plastic laptops such as the Toshiba A9, with one of the most gimped keyboards I've ever used. I'm still not sure which is worse: a small backspace key, or a small shift key. Both irritate me like a papercut to the eyeball.

And so, now with a moderately set up Gentoo machine with KDE I feel I am ready to start programming full force, starting with basic plasmoids and simple GUI's in QT4. I still hope to work in Java and am very proud of a Binary Search Tree I built last year for my college. Why are people still using ArrayLists and the like?


Check out my next post for KDE-specific notes and a very frustrating error I think I've gained an understanding on.

Wednesday, March 31, 2010

5 things you should never do when selling a computer

As I've recently been in the market for a well-priced used laptop to do coding on, I've come across some amazing poorly-written ads. I'm here to share with you my experiences and to warn people following in my footsteps, which sellers might not be the best to buy from.

Here is a list of 5 things you should never do when selling a computer.


5. Advertising your computer as a 'steal', 'the bomb', 'a blast', or any other poorly worded descriptions on the quality. Remember, this is a USED laptop. Most people go into a transaction knowing it's going to be a little iffy.

4. You can find the specs ________.
When people are buying a used computer, they don't like having to hunt down specs 'cause the seller is too damn lazy to copy-paste from a review or homepage of the computer. Do you not know the capability of the machine you're trying to sell? That looks pretty bad. Granted, this doesn't always mean the product is bad, but less dedicated buyers won't pay as much attention.

3. This machine is great for doing ________.
Because we as potential buyers are always worried if we will be able to browse the internet or use a spreadsheet in this day in age. For the more savvy buyers, one boot with Puppy Linux is enough to run everything you say (with exception of 3D games, if that's advertised) on hardware that's 10 years old or more.

2. Obnoxious in-depth specs that only hardcare uesrs would understand. I mean, there's a line between really detailed and trying to confuse customers into thinking they're getting a great deal. For example, you can sell a video card and state all the cores, size of video ram, wattage, how old, manufacturer, etc. and most people will know what you mean. But start going off into how many transistors and such, basically reiterating the engineer's manual, you've just become a dick.

1. Stating Virtual Memory as a selling point.
I actually saw an ad with this once. It blew my mind. 786MB of Virtual Ram on your computer? I'm sold.
/sarcasm
When people get to the point where one variable that can easily be changed and only affects performance when multiple applications are sucking the ram out of your machine kicks in, it's obvious they are going for the suckers. Don't be one. If someone advertises Virtual Ram, stay away. More is not always better in this case.

Saturday, March 13, 2010

"Can Windows do this? " Part I

I've decided to write an ongoing blog that revolves around things I do that Windows, consequently, does not do. This may apply to OS-X as well.

Moving Files that are in Use:

As I'm listening to music in AmaroK, I tend to move the actual audio files into folders as to separate the good from the bad.
As long as the audio file is playing, I can move the physical file anywhere on disc without interrupting playback; I'm guessing the entire file is either loaded into ram or the filesystem points to references, not literal file locations.

Windows, however, will give a "File is in use" error whenever you try to move an audio file that is being played. Meaning that you can only move it after playback has ended. Now, it's no 'killer reason' to stop using Windows, but it's one thing I do that Windows doesn't support.
Needless to say, I love having the ability to move my files when I say it's okay.
Attempting to play the file after moving it will result in an error. Obviously.

Wednesday, March 10, 2010

Gentoo Series Part II : Problem and Solution

To recap what went on in my last post, I had Kubuntu 8.10 WITH 3D acceleration on it, and Gentoo with the newest Xorg (1.7) with no 3D acceleration.

I'm a little hazy on the little details of my excursion, but here's the gist of it.

Package versions of Gentoo and Kubuntu 8.10's Xorg were 1.7 and 1.5 respectively.
Kernel versions were 2.6.31 and 2.6.28 respectively

Now along with each Xorg version, there are a LOT of dependancies that go with it.
Things such as:
randrproto, dri2proto, xcb-proto, xextproto, libXau, xtrans, libxcb, libX11, libXext, etc.

and so on and so forth. These versions different from each other as well.

Here's the Kubuntu Xorg version in its entirety.

X.Org X Server 1.5.2
Release Date: 10 October 2008
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-15-server x86_64 Ubuntu
Current Operating System: Linux phoenix 2.6.27-16-generic #1 SMP Tue Dec 1 19:26:23 UTC 2009 x86_64
Build Date: 09 March 2009 01:06:41PM
xorg-server 2:1.5.2-2ubuntu3.1 (buildd@crested.buildd)
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present


I spent a lot of my time compiling a kernel for Gentoo that matched the specifications on my M17 Alienware laptop. I owe a lot of thanks to the Gentoo wiki for having an entry on such a laptop.

Page: http://en.gentoo-wiki.com/wiki/Alienware_M17

The first thing I started to change was the Kernel. I started out with 2.6.31 and ended with 2.6.28.10. It took quite a few tries to compile it right. Once I had a kernel up and running smoothly, I started to focus on X.
As I had Xorg 1.7 installed, I had to first remove it. From what I remember, it didn't uninstall some of the dependencies. (Perhaps my choice of removal options in emerge). So after that, I installed Xorg 1.5.3 without too much issue. Installing it is the easy part after all =p

I believe that 1.5.3 included dependencies that were not compatible with the ATI 8.12 catalyst drivers (such as libXext, the proto libraries) but were still installed as part of the 1.5.3 package as they were 'updated' versions. Upon my journey through the vast wasteland of old forums, I found a compatibility list for Xorg 1.5.3.

Find the list here: http://bugs.gentoo.org/show_bug.cgi?id=251832

Basically this lists all of the stable xorg-related packages for the 1.5.3 release.
Then the hard part began: I had to go through each package and ensure that the version was equal or as close to as possible, the specified version.
Some packages I don't think I found (this was months if not a year after bug was created) because of recent changes to the repo structure. After getting the versions right and removing potential conflicts, I had a complete 1.5.3 Xorg built and ready.

Finally, after weeks of work I installed the Catalyst drivers and they WORKED!
However, it wasn't time to celebrate yet. If I attempted to re-install xorg 1.5.3 or did an update world, it would have overridden my work and killed my display. I spent hours afterwords blocking versions of various xorg packages for emerge.

I wasn't quite done yet either. Once up and running, I started to get the KWin slow compositing issue with window resizing, maximizing and minimizing. In the end I patched Xorg myself as xorg-1.5.3-r7 (r6 was the max revision last I checked) and installed it as a local package.
At first I started out with the slow compositing patch, but that didn't work. Then I heard about a patch known as the fedora-dont-backfill patch. I patched using that, but it still performed poorly so I basically removed all code in a method that was the potential problem. Sadly it was still laggy, but performed much better after my patch.

Turns out that the poor performance was due to a performance improvement to the Intel graphics chipset.

So after tweaking the system a bit, I got a working Xorg and Gentoo system up and running. Awesome!

Below is a list of files with descriptions that someone who wants to attempt the same process would find useful.


Fedora Backfill Patch:
http://www.mediafire.com/?nwmzy4mlmgz
Gentoo Packages I had Installed:
http://www.mediafire.com/?kjitdxxqe5y
Alienware M17 Customized 2.6.28.10 kernel:
http://www.mediafire.com/?nzoz4dyccme
Gentoo make.conf:
http://www.mediafire.com/?kyrnwvmwgjz
Gentoo package.keywords:
http://www.mediafire.com/?oyezzmyzwzj
Gentoo package.mask:
http://www.mediafire.com/?wh22nmmtzuh
Gentoo package.unmask:
http://www.mediafire.com/?j2zmydyered
KWin Resizing Patch:
http://www.mediafire.com/?dmymxmhdhzx
Gentoo rc.conf:
http://www.mediafire.com/?5nmjvmwyjmm
Local (modded) Xorg 1.5.3-r7:
http://www.mediafire.com/?2qz5dnzynwj


If you're installing Gentoo, you'll probably understand the meaning of the files.

I hope that this explaination of 3D acceleration on Gentoo's older 1.5.3 Xorg are satisfactory. Feel free to email me if you have any questions.
I may write another blog on Gentoo, part III, on some issues I found. Nothing warranting such a large blog post.

Cheers,
NuclearPeon.