Articles

Previous page  123456 

News 12 years Ago
 
Published by packi on in Packi.ch

Packi.ch is now running the just released Webcore 2.6.1 (okay, it got released a week ago, but I’m a lazy bastard). The release notes are here.

No serious problems sofar, and if this article really gets posted, I’ll catch some sleep.

 
Published by packi on in Out in the wild

…an IT student in a crowd of other students?

Well if it was a very sunny day, look for sunburns! Firday is our lazy day, with many hours to waste since the timetable-creator thought it would be nice to give us a “four hous’s break” between the lessons. So we decided against our IT codex an went to the park to enjoy a “doner kebab”.

Unfortunately the skin-type of an IT student is nearly albino, so guess who got the nice colorful head afterwards? But after a few drinks at the JO-Party that wasn’t much of a concern anymore ;)

 
News 13 years Ago
 
Published by packi on in Technology

…when I’ve posted the last article. Or how I’ve managed to “trash” the RAID at work. Unplugging a SCSI device on a running system didn’t seem all that bad to me, since it was the only device on this controller (the server I was working on, has two).

Somehow the controller managing our raid must have gotten a message from the linux kernel and went into a “something bad happened” mode and refused to work. The marvelous (attention, irony inside) SCSI-BIOS gave me the choice of

  1. Create
  2. Delete
  3. Rebuild

At 23:30 you’d like a menu entry that says: “Check consistency”, which is excactly what “Rebuild” does, fortunately. We were up and running again at 01:30… (yeah thats ‘am’ for you non europeans ;)

Oh, and I’ve got me a mac mini… ;)

 
Published by packi on in Technology

 They did it again. Now that they’ve proven that a MP3-player priced at $400 gets bought by numerous peoples, they have introduced a Mac called “Mac mini” for $499. Including neither a keyboard nor a display device and being smaller (and certainly better looking) than the ordinary MiniITX, I’m tempted to say this is the “switcher”-Mac.
If you bought a PC 3 years ago and have to replace it now, you could either go for a cheap, bulky PC or a neat little Mac mini at the same price. The hardcore gamer won’t get himself a Mac anyway but I don’t think Apple targets that market (yet), but all standard office tasks can be done using a Mac. As you they could be using Linux, but using Linux as a “User” is not really an option if you don’t have a sysadmin nearby installing/maintaining the box. With all the nasty Spyware flying around the ‘net the office-type users would at least not turn their computers in massmailing-machines distributing spam and virii by using a Mac.
Being a software developer I’m always curious what it’s like to develop on other platforms and it’s said that the OS X has an excellent API and everything just looks good™ even if you’re very talented in making bad looking GUIs (but I’m convinced that I could design a GUI that look bad even on OS X ;).
Since my birthday is just around the corner and they’re not available in Switzerland for another two Weeks, I just might get me one as a present to myself (and canceling the order for the GF6800U which was ordered in June 2004!). I haven’t even mentioned the gadget-factor that this piece of hardware has (I feel my power rising ;-)

And if the OS proves to be programmer incompatible it would still make a nice paperweight ;-).

 
Published by packi on in Technology

Ever needed to include a circuit diagram into your LaTeX-document? The Circuit macros will help you getting through this venture:

“This is a set of macros for drawing high-quality line diagrams to include in TeX, LaTeX, or similar documents. The macros were originally intended for electric circuit diagrams containing fundamental elements, amplifiers, transistors, and basic logic gates, but several tools and examples of other types of diagrams are also included. Elements can be scaled or drawn in any orientation, and are easy to modify. The advantages and disadvantages of such a system are similar to those of TeX itself, which is macro-based and non-wysiwyg, with ordinary character input.”

This way of creating circuit drawings may not appeal to all people, but I (who would have guessed) like it. It works on Linux/tetex and Windows/Cygwin (with the LaTeX package provided by cygwin, others from my class had trouble rendering the diagrams with MikTeX).

If you’re not using LaTeX to gerate your documents you can of course just include the images generated by LaTeX in your favourite wordprocessor.

 
Published by packi on in Cockpit


I’ve got the serial-communication from a PIC16F628 to the PC to work! After spending hours if not days searching for a hardware-bug and blaming hyperterminal for not displaying anything at all, it turned out to be a PEBKAC-style issue. I’m still stuck on Windows to flash my PICs since the Elnec-PIKProg+ won’t (yet) run with any linux tool.

If the MCLR is turned on, and not set to high in your circuit, you won’t get the PIC to execute whats in his flash-memory ;-P. Well one down, many to go.

And now back to the english vocabulary, got a test tomorrow errr today…

 
Published by packi on in Projects

Inspired by this guy’s home-cockpit building project, I’ve started to think about building my own home-cockpit.

As with all my other projects I don’t expect to be finished, it but it will broaden my horizont (this time in the electronic direction).

So I’ve got me some microcontroller and some tutorials to start with. Lets see where this project leads me to.

 
Published by packi on in Technology

While installing a package on my gentoo machine, a neat little signal/slot library caught my eye:

http://libsigc.sourceforge.net/

For those (I’m pretending somone reads this stuff but, can tell from the server-logs only google does) who don’t know what signal/slots are, lets put it like this: among other things, they save you from giving away your soul and do some pagan vodoo with function-pointers.

Just to scare you away:

char** (CMyClass::*pointerToMyClassType)( void* )  
         =  &CMyInstance::ReturnPPCharAndTakeVoidP

The above translates to: Pointer named pointerToMyClassType to a member-function of CMyClass which takes a void* parameter and returns a pointer to a pointer of character.
I think I’ll spare you the invocation part ;)

Acoording to their benchmarks, they’re even faster than the Qt™ implementation from TrollTech.

 
Published by packi on in Projects

The goal of this simulation is to create a virtual battlefield on which serveral users can proof their strategic skills. But the key is, there are no Users required to keep the game running. The user should be able participate in every aspect of a modern war. From a General to a simple soldier (hey, nothing against simple soldiers ;) everything should be possible.
 

 
Published by packi on in Totalwar

Well here’s the concept, flame me ;)

(Disclaimer: This is just a concept of a game I would like to play)

Abstract

The goal of this simulation is to create a virtual battlefield on which serveral users can proof their strategic skills. But the key is, there are no Users required to keep the game running. The user should be able participate in every aspect of a modern war. From a General to a simple soldier (hey, nothing against simple soldiers ;) everything should be possible.

Lets break an armed-conflict down to its phases:

  • The President of a Natin declares another the state of war.
  • He maybe tries to convince other countries to do the same (do we need a virtual UN?)
  • The President orders the military-command to prepare the invasion
  • The military-command begins the highlevel-planning of the invasion
  • With the high-level goals the staff breaks down the high-level goals to low-level goals.
  • Now we have orders on the army-level. The general and his staff commands his army to meet the low-level goals.
  • The division general places his brigades in the target area and gives them specific overall mission.
  • Then the brigade general receives the orders and breaks the overall mission in different missions.
  • The lieutnant is responsible to carryout the mission and does the detail-planning.


So we have a neat little chain of command ;)

  1. President
  2. General
  3. Division-General
  4. Brigade-General
  5. Major
  6. Captain
  7. Lieutenant
  8. Sargent
  9. Soldier

On the Unit side we have:

  • Naval Units
    • AC Carriers
      • Navy Pilot
      • Navy Radar Operator
      • Captain
      • AC Navigator
    • Destroyers
    • U-Boats
  • Armored Units
    • Tank
    • APC
    • Artillery
    • AA
  • Airforce Units
    • Bombers
    • AA-Aircraft
    • Troop-Transport
    • Helicopers
  • Infantery
    • Simple Soldier
      • Sniper (marksman)
      • CQB Specialist
    • AA Soldier
    • AT Soldier


This is a rough scheme what will be supplied by the AI-Code. Every Country itself can define the structure of its army (As for the USA they have infantery in their army and the navy. Or both contain an airforce branch).
But what are the armies of today without their special forces branches? Those are present within the four Unit-Types. If you decide to spend more production/research points on training you get highly skilled soldiers in the specific unit-branches.

Unit production

Units are produced by production points. If you get hold of a city and hold it for some time you get production points from this city. You can define a matrix which describes how the production-points are distributed between the unit-branches. The branches itself have a separate distribution matrix.
I you bomb a city and hit their factories the production-points for this city drop to zero.

Cities
A city has a production value and a layout (fractal/random generated). A city is connected to other cities through supply lines.

Supply lines

Units get through this lines to the front. The number of units in a city defines the respawn capability of ai- and user-players. But you can speedup the deployment of your unit with transport units such as helicopters, trucks, ships, etc. With these Units its possible to speedup your troop-deployment or bring troop behind enemy-lines (e.g. commando actions). This will make the gameplay a little bit faster (You’ll love your AA-Troops).

Allies

As in real life (uhm, whats that?) you can have alliances with other nations. These countries will support in your battles (if it’s with troop, weapon deliveries, awacs capabilities or production points depends on your political relation with this country). Maybe we need the post of a diplomat ;). But keep in mind that every country can have allies so beware who you declare war on (remember that kid who ran into that hornet nest? ;).

Commands

From the top of the chain of command to the bottom the communication-method is a command. These are human and computer (as in ai) readable commands. Every command is stored on the system. If a command is sucessfully executed all units get promotion points which they need to get to a higher rank. (Hmm… how do you calculate success or even better: partitial success?)

Undecided yet

Productionpoints per hour/day/minute? (It may depends on the phase, as the first version of this simulation are round-based)


Buzwords
Client-Server, MMORPG, Multi-Server (Distributed System), Opensource, SDL/OpenGL, Multiplatform, AI, Programmers art ;),

Phase 1

The target of Phase 1 is to create a Risk like interface where you can move your armies from your home country to attack your neighbours (well they suck anyway ;). The units you get are based on the area you’re currently owning.

This Phase serves also as a tool-development phase. From the beginning on, the simulation should be server-based and the AI-Baseclasses should be finished (well playing against yourself can be fun too ;). Everything introduced in a phase should be AI-aware.

The simulation items introduced in this phase are:

  • World
  • Countries and their borders
  • New unit (army)
  • Simple production system
  • Simple supply system
  • The post of the president (and his AI colleagues), the job of the general (as the commander of an army)
  • Server-system
  • 2D client (some kind of a SDL-Renderer x-platform)

Phase 2

Phase 2 extends the countries by adding checkpoints (cities) and border posts. There are connections between the checkpoints. A checkpoint has a productivity-level which is added to a global productivity-level. Productivity points are converted to armies and divisions. So, you don’t need to conquer a country to get more units, just get some of their checkpoints to extend your army (I kinda like the idea maybe i should get hold of my neighbours flat to get more money ;).

New Items:

  • Checkpoints (aka cities)
  • New unit (division)
  • New job major general (and of course an ai-major general)


As before all jobs are still playable by multiple users and ai-players.

Phase 3

Phase 3 is a little step towards more realism. We have a new unit-structure the brigade led by a brigade general. A brigade is a part of a division. The brigade can either be of an infantery-, an airforce-, an armored- or a naval-type. You can disperse the production-points (well those points you get if you force your neighbour out of his flat ;) between the different types. Your divisions consist now of different brigades (airforce divisions may give an armored division a hard time).

So, here again the new gameplay items:

  • New unit (brigade)
  • New job (brigade general)
  • New force-types (infantery, airforce, armored and naval)
  • Production management

Phase 4

In Phase 4 the company is introduced as a new organisational unit. A brigade has one or more companies. The company can have the same types as the brigade types. The type of the brigade is determined by the maximum count of its companies of a distinct type (but you can’t mix naval and other forces for the obvious reasons ;).
You can now build brigades with special-forces capabilies. Combine a highly-trained infantery-company with an airborne-company and you have a brigade which can deploy the infanteries by air-insertions (either para-drop or heli-insertion).
New items:

  • New unit (company)
  • New jobs:
    • Major: commands all specific companies in the brigade
    • Lieutnant: commands a company
  • Specify the contents of the brigade


Phase 5

In Phase 5 we’ll introduce groups (platoons) and the simpler soldier. A platoon is part of a company and consists of multiple soldiers. At this point we will leave the boring (and uncomplicated ;) world of 2D rendering and enter the world of glitter and glamour aka as 3D rendering.

Phase 5 will render the terrain and cities. A platoon leader can place “his” soldiers in the 3D environment.

Phase 6

Phase 6 another timeconsuming phase. Enable users to play soldiers. Well is there more to say?

Phase 7

Tanks

Phase 8

Planes

Phase 9

  • More weapons (Hand-held AA, etc)
  • advanced damage model
  • Resource Management (Where do our troops eat, why can a tank travel for over 9000 miles? ;)
  • Wound-model (well, its the same like the damage system) (aka you can still fire a rifle without your leg ;-P)
 
Published by packi on in Projects

After reaching the third place at the national worldskills-competition we got this piece of hardware. But since i couldn’t get the java thing to work I’ve fired up visualstudio to create a little streaming application in C#. This went surprisingly smooth, so I fetched mono and installed it on my Linux server. Its not like i could take the binary from VS.net and move it to the linux-box but after a recompile and some forward- vs. backslash problems it worked “out of the box”.

The SharpStreamer still does the job, but I’d like to give it some playlist management thats not based on files but rather decides which music you would like to hear at this time. Aided by a time-table it would make a nice alarm-clock.

 
Published by packi on in Projects

Geist was intended to be a RPG of the next generation™ but like most hobbyist projects this one didn’t evolve quite as expected. I’m still convinced that it should be possible to generate a world and let the NPCs create their own background stories. This would save you from designing every rock on the World and the game could go on forever since the cultures living in this world have been living for generations in this world.

What I’ve implemented during this project:

  • A crossplatform Delphi like class-library with rtti support.
  • Script-compiler with interpreter (simple language, slightly Pascal influenced)
  • Two object-oriented 3d graphic engines

The screenshots of the engines are available in the screenshot corner

 
Published by packi on in Packi.ch

At least I was bored enough to install Earthli WebCore and start up GIMP to replace the banner saying “Earthli Webcore”.

So for the unguided individual who might not know the famous WebCore:
Earthli Webcore is a “CMS” (well the core is more like a php-application framework) written by a coworker in his spare-time. While Mambo doesn’t care about validating sites he does (apparently do too). Combined with a simple userinterface and a fine-grained security, though not as bloated as Typo3 its ideal for my site.
And since he is my coworker I can call in for close airsupport (well it might help that i hold the root password for the server his page is hosted ;)

Anyway, I hope using this framework makes me update my page more recent than before (yeah promises, I know)…

Previous page  123456