What kind of games do you play?
Brought to you by HPLive Journal Writer’s Block
This kind 🙂
An orange in an apple orchard
What kind of games do you play?
Brought to you by HPLive Journal Writer’s Block
This kind 🙂
Spent last night working on further modulariation of the NPM_MainWindow class and I ended up sleeping next to Dixie =/
How many lucky guys get to wake up next to a laptop hahaha !!!
Today every one else was out so I managed to get time to sort out my paper work, makes me feel a little better at having dozed of after 2-3am =/
We also had a nice live op.. Went quite nice until we came to an area, from what I could see through lakes cam I thought the area was maybe 25-30m square. So I figured, roll a sting ball out and dominate along the two flanks. One man down in the entry attempt, 2 pinned down and one separated…
Moving out and trying to take cover we lost 2 more men so I shouted for Pittman to hold in cover.. Only to get sniped by a buckshot firing shotgun lol…. My failure not the teams.
Playing through the round for fun after we failed the live op (yuke whent to post the report). The resut of us went through again to explor, finding out that the area was closer to 45-55m square with evated shooters along one flank.
Nice secrets we uncovered, lake found a secret passage ‘ghost wall’ that opens a passage into hallway below. There’s a |_| area there that leads into a pair of dark rooms, one of which the door to the out-side is closed until you get to the room; it was there when we were exploring. But not there when me and Lake when hunting, until we cleared that room!
The passage under the pools, I h ad fired several 5.56x45mm FMJ into it before but no go, Lake applied his .45Cal UMP45 and it worked :-). So we went through the water, up to the secret room, and back through a sand filled set of hallways and boom.
We found out that the statue of a Crypt guarded by Anubis had slid to one side, unveiling the next hidden passage and exit.
While Lake went off to hunt down stuff, I tried walking off a platform into some plants. To my shop I fell through and found myself in an armour, varius pisol, smg, ar, sg, and tac aids on shelves and I took this screen shot of names on the wall:
Spent most of the dy with a headache and killing time in the servers..
I did manage to get time to read most of the documentation on QT’s I18N & L10N features and it actually seems to be a lot easier then I thought.
I knew there was some thing I liked about the folks at Trolltech ^_^
As far as coding for tonight, I’m not sure what I’ll be working on.. All I know is my paper work is late and the dead lines in two days… So I think that has priority if my family would ever leave me be…
I don’t really know what is worse, taking aspirin so often you get stomach ulcers or putting up with the results of life here =/
Spent tonight working on rewritten logger and options modules for the next phases of their prototypes.
There still is a fair bit of work to do with logger (i.e. telling it / getting from it the name of log file(s)) but it’s now essentially integrated with the rest of the program. Internally the module might change quite a bit but it’s usage throughout NPM will remain pretty much the same save where the above is concerned ^ (basically within the options module).
The options module is quite a lot cleaner imho, now has a search for a config file and can write the configuration file, the module matures bit by bit. I’ve also streamlined the configuration file a bit but I’ve still got to find the time to work on some concept drawings of the GUI’s configuration menu.
I also want to take a look at QAction and QActionGroup later on based on inputs from the QT4 doc’s.
*technically* I could probably get it operational for building a port right now with a wee bit of work… But I’d much rather have the bloody thing working properly and tested first :-).
*sigh* after 0400… time for bed because work is in the morning. It sucks that I’ve to wait till like 2300 or later to start coding… Any attempt at getting stuff done while the rest of my family is awake has proved futile over the last year and a half….. I could be so much more productive if I didn’t have to cram-things around every one.. I’ve got paper work due for En4cers inbox that’s overdue, school work piling up, and a project to work on (npm) and I’ve got to fit it all into the time slot of
>= every one else in bed
< I'm ready to pass out
< the time to go to work
<= time to go to bed if I'm ever gonna get to work on time
Grrr…
What’s your secret talent?
Brought to you by HPLive Journal Writer’s Block
The ability to learn 🙂
been working on a simple logging module for npm, so far I’ve set it up to handle 3 different outputs, the usual STDERR for big problems, a regular log file for every thing but debugging, and a developers log file for use during debugging.
stderr
CRITICAL: critical message
ERROR: error message
WARNING: warning message
run log
2007-12-27 07:27:45,156: CRITICAL -:- critical message
2007-12-27 07:27:45,157: ERROR -:- error message
2007-12-27 07:27:45,157: WARNING -:- warning message
2007-12-27 07:27:45,158: INFO -:- info message
dev log
2007-12-27 07:27:45,156 root CRITICAL: logger.logger.py.73
critical message
2007-12-27 07:27:45,157 root ERROR: logger.logger.py.74
error message
2007-12-27 07:27:45,157 root WARNING: logger.logger.py.75
warning message
2007-12-27 07:27:45,158 root INFO: logger.logger.py.76
info message
2007-12-27 07:27:45,159 root DEBUG: logger.logger.py.77
debug message
The formats are just a matter of what I find easy on the eyes, think the middle one could stand with a shorter date format.
I might ditch the idea of a second log file and just follow my original idea of being able to specify the level of logging to use. It’d also be less work then
Either way yee slice it, I need some freaking sleep… because I can’t think no more.
:wq!
OH how sweet it would be to have the freedom to get through even one day without any headaches……
Hail Mary, full of grace,
the Lord is with thee,
blessed art thou among women,
and blessed is the fruit of thy womb, Jesus.
Holy Mary, mother of God,
pray for us sinners, now, and at
the hour of our death.
Amen.
Been meandering about with Pythons subprocess and various IPC (inter Process Communication) focuses modules tonight. When I remembered I had noted that QT and KDE had classes for working with processes.
Looked up the class in the documentation and played with it. Then I found a small example program that they included. Here is the QT written example using C++, the primary language.
/****************************************************************************
** $Id: qt/process.cpp 3.3.7 edited Aug 31 2005 $
**
** Copyright (C) 1992-2005 Trolltech AS. All rights reserved.
**
** This file is part of an example program for Qt. This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#include <qobject.h>
#include <qprocess.h>
#include <qvbox.h>
#include <qtextview.h>
#include <qpushbutton.h>
#include <qapplication.h>
#include <qmessagebox.h>
#include <stdlib.h>
class UicManager : public QVBox
{
Q_OBJECT
public:
UicManager();
~UicManager() {}
public slots:
void readFromStdout();
void scrollToTop();
private:
QProcess *proc;
QTextView *output;
QPushButton *quitButton;
};
UicManager::UicManager()
{
// Layout
output = new QTextView( this );
quitButton = new QPushButton( tr("Quit"), this );
connect( quitButton, SIGNAL(clicked()),
qApp, SLOT(quit()) );
resize( 500, 500 );
// QProcess related code
proc = new QProcess( this );
// Set up the command and arguments.
// On the command line you would do:
// uic -tr i18n "small_dialog.ui"
proc->addArgument( "uic" );
proc->addArgument( "-tr" );
proc->addArgument( "i18n" );
proc->addArgument( "small_dialog.ui" );
connect( proc, SIGNAL(readyReadStdout()),
this, SLOT(readFromStdout()) );
connect( proc, SIGNAL(processExited()),
this, SLOT(scrollToTop()) );
if ( !proc->start() ) {
// error handling
QMessageBox::critical( 0,
tr("Fatal error"),
tr("Could not start the uic command."),
tr("Quit") );
exit( -1 );
}
}
void UicManager::readFromStdout()
{
// Read and process the data.
// Bear in mind that the data might be output in chunks.
output->append( proc->readStdout() );
}
void UicManager::scrollToTop()
{
output->setContentsPos( 0, 0 );
}
int main( int argc, char **argv )
{
QApplication a( argc, argv );
UicManager manager;
a.setMainWidget( &manager );
manager.show();
return a.exec();
}
#include "process.moc"
Needless to say, I am not really a fan of C++ at times ^_^. I translated the example into Python for a simple test and I like it quite a bit.
#!/usr/local/bin/python
# I translated the example: process/process.cpp to python and boy do I love qt!
#
#############################################################################
##
## Copyright (C) 1992-2005 Trolltech AS. All rights reserved.
##
## This file is part of an example program for Qt. This example
## program may be used, distributed and modified without limitation.
##
##############################################################################
import sys
from qt import *
class UicManager(QVBox):
def __init__(self):
QVBox.__init__(self)
self.output = QTextView(self)
self.quitButton = QPushButton(self.tr('Quit'), self)
self.connect(self.quitButton, SIGNAL('clicked()'), qApp,
SLOT('quit()'))
self.resize(500,500)
# QProcess related code
self.proc = QProcess(self)
self.proc.addArgument("uic")
self.proc.addArgument("form1.ui")
self.connect(self.proc, SIGNAL('readyReadStdout()'),
self.readFromStdout)
self.connect(self.proc, SIGNAL('processExited()'),
self.scrollToTop)
if not self.proc.start():
sys.stderr.write('fatal error could not start uicn')
sys.exit(1)
def readFromStdout(self):
'read in proc data which may be in chucks'
self.output.append(str(self.proc.readStdout()))
def scrollToTop(self):
self.output.setContentsPos(0,0)
if __name__ == "__main__":
a = QApplication(sys.argv)
manager = UicManager()
a.setMainWidget(manager)
manager.show()
sys.exit(a.exec_loop())
QProcess is nice but I’m not sure about using enormous amounts of data though yet.
EDIT:
As a test I set up the Python script to pass a ‘ls -R /’ basically causing it to list all files on all mounted file systems. The code to scroll back to the top caused major lock up to the program and some performance loss for the entire laptop: probably screaming at being down to about a 150MB of swap space left.
Removing that and closing programs so only konsole running it and top + amarok playing music was running. At times top reported free memory over < 1MB about 30-40% swap usage. However without the scroll to top thing gone it didn't cause any real performance for the laptop; probably because there was much less swap usage used up.
As a test I ran ls -R / direct afterwards and while it did pile on the stats in top, it still kept to about 50MB free and even less swap usage on the displays.
So far I think it would probably work for whatever is needed as long as the computer continues to provide adequate memory and the kernel doesn’t have a hissy fit about the pipes and things in the background.
Well, been meaning to do this for awhile now since I had re-installed PC-BSD awhile ago in the course of an upgrade.
A list of all ports and packages I’ve ‘added’ to the base install (not counting depends).
Note that I installed a bunch of KDE packages on CD#2 since they were not in PBI format,
kdeedu-3.5.7 Collection of entertaining, educational programs for KDE
kdegames-3.5.7 Games for the KDE integrated X11 desktop
kdesdk-3.5.7 KDE Software Development Kit
kdevelop-3.4.1_1 IDE for a wide variety of programming tasks
koffice-1.6.3,2 Office Suite for KDE3
For software I’ve installed since the first boot up,
cscope-15.6 An interactive C program browser
ctags-5.7 A feature-filled tagfile generator for vi and emacs clones
de-kde-i18n-3.5.8 German messages and documentation for KDE3
diablo-jdk-1.5.0.07.01 Java Development Kit 1.5.0_07.01
diablo-jre-1.5.0.07.01 Java Runtime Environment 1.5.0_07.01
docker-1.5_5 A dockapp with support for GNOME2 and KDE3 tray icons
doom-data-1.0_1 Doom data files (Doom, Doom II, Hexen, Heretic and Strife)
elinks-0.11.2_2 Elinks - links text WWW browser with enhancements
emacs-22.1_1 GNU editing macros
gmake-3.81_2 GNU version of 'make' utility
javavmwrapper-2.3 Wrapper script for various Java Virtual Machines
konversation-1.0.1_1 A user friendly IRC client for KDE
kscope-1.6.0 KDE front-end to Cscope
libdvdcss-1.2.9_2 Portable abstraction library for DVD decryption
libdvdnav-0.1.10_3 The library for the xine-dvdnav plugin
linux-flock-0.9.0.2 The free web browser that makes it easier to share with you
linux-mplayerplug-in-3.50 Embed MPlayer into browser
linux-realplayer-10.0.8.805.20060718_2 Linux RealPlayer 10 from RealNetworks
lynx-2.8.7d7 A non-graphical, text-based World-Wide Web client
mg-20050820 A small, fast Emacs-like editor
portaudit-0.5.11 Checks installed ports against a list of security vulnerabi
portupgrade-2.3.1,2 FreeBSD ports/packages administration and management tool s
prboom-2.2.6_2 A multiplayer-capable and modified version of ID's classic
psearch-1.2 An utility for searching the FreeBSD Ports Collection
ruby18-atk-0.16.0.20071004 Ruby binding for ATK
ruby18-cairo-1.4.1_1 Ruby binding for Cairo
ruby18-doc-stdlib-0.10.1 Documentation for the Ruby language standard library
ruby18-gdk_pixbuf2-0.16.0.20071004_1 Ruby binding for GdkPixbuf2
ruby18-gems-0.9.2 Package management framework for the Ruby language
ruby18-glib2-0.16.0.20071004 Ruby binding for GLib2
ruby18-gtk2-0.16.0.20071004_1 Ruby binding for GTK+2
ruby18-pango-0.16.0.20071004_1 Ruby binding for Pango
ruby18-usersguide-20051121_1 Ruby users guide, in HTML format
rubygem-ini-0.1.1 Ruby INI File Parser and Writer
rubygem-rake-0.7.3 Ruby Make
rubygem-rtags-0.96 A Ruby replacement for ctags
scheme48-1.7 The Scheme Underground's implementation of R5RS
supertux-0.1.3_2 Super Tux is a side-scroller similar to Super Mario Brother
wesnoth-1.2.6 A fantasy turn-based strategy game
windowmaker-0.92.0_3 GNUstep-compliant NeXTstep window manager clone
wmappl-0.6_2 An application launcher dockapp similar to wmbutton
wmbsdbatt-0.1_1 Dockapp for battery & temperature monitoring through ACPI
wmclock-1.0.12.2_2 A dockable clock applet for Window Maker
wmdrawer-0.10.5_3 A dockapp which provides a drawer to launch applications
wmicons-1.0_2 Icons mainly for use in Window Maker
wmmatrix-0.2_2 A DockApp that runs a version of the xmatrix screenhack
xgalaga-2.0.34_2 Galaga resurrected on X
xpdf-3.02_3 Display PDF files, and convert them to other formats
zsh-4.3.4_1 The Z shell
This basically amounts to my standard shell (zsh), a few time wasters; xgaliga, supertux, wesnoth, and stuff to play doom.
A couple of useful tools; java runtime and development kit, exuberant ctags, cscope, kscope (just for the heck of it), and gmake because it’s essential to GTK+/QT based projects.
Window Maker and a couple of applets including docker and wmclock (the two I use).
xpdf because I’ve got vim programed to open PDF’s as read only text (using pdftotext)
A few extra editors, (gnu) emacs and mg (micro gnu emacs) just in case => I installed vim from source as I usually do so it’s not listed above hehe. Vim is about all I use regularly.
A couple of libdvd* ports to make use of my laptops DVD-ROM 😉
Web browsers lynx, elinks, and linux-flock, I also have netscape 9 installed manually to the /opt directory within the Linux ABI because it wasn’t in ports.
psearch, portupgrade, and portaudit for managing ports as I’m used to
The linux version of realplayer because although the many codecs I manaually installed for mplayer will play the real media I’ve asked it to, I never had time to twist Mozilla based browsers into using it instead of website foo asking me for a realplayer plugin..
konversation, the worlds greatest IRC client 😉
Various language stuff, mostly scheme48 and various Ruby things including GTK+ bindings. I used to have QTRuby installed manually but lost it during the reinstall/upgrade of PC-BSD. I’d like to experiment with a few C compilers and a few of the GCC based ports later.
I also have the German language files for KDE handy, using a program in another language can some times be a nice ‘crash course’ or pop quiz to ones own studies hehe.