Archive

Posts Tagged ‘standard’

Unipoli

June 6th, 2008 bodom_lx No comments

We finally finished our university project, Unipoli. The Java implementation of the famous Monopoly game by Hasbro has been released under GPLv3 (yes it’s free software) . You can have a look at the source code, simple but elegant, written using coding standards, following xP practices and Scrum software development process (at least we tried to follow them).
On the project site you will find useful documentation, too: Vision Statement, User Stories, Noun Extraction, Product Backlog, UML Classes, Hierarchy and Relations, UML class diagram, Javadoc.
The game has been written for Programming Project course.
Read more…

Related posts

Going to adopt a standard date format

June 5th, 2008 bodom_lx No comments

By today I will follow the ISO 8601 date format representation in this blog.

Related posts

Categories: Blog Tags: , , , ,

BD-shell

April 21st, 2008 bodom_lx No comments

BD-shell (a.k.a. bdsh) is a tiny Unix shell written in C. It’s a project required for the Operating System Course at my University.
It is written using a clean coding style, following xP coding standard philosophy.
Version 1.0 is the release that satisfies all the course requirements!

Quick Jump:
Features
Download
License

Features

Cool Features

  • Lightweight
  • Implements real Job Control
  • Clear and understandable code, ideal for Academic (and personal) studies
  • Makes use of various system calls, signals, signal handlers, user input handling, data structures implementation
  • Free Software!

Cool Features NOT present (but may be in future)

  • No command history present
  • No command/filename auto completion
  • No wildcars
  • No command piping, just a single command can be launched at a time
  • Put everything else here.
These are the requirements asked by the teaching professor. The complete project description page is located at http://www.inf.unibz.it/~david/os/project.html
The shell must be able to do the following:

  1. to read commands from standard input and execute them in a loop until a
    built-in command exit is issued (we call these processes the foreground processes; there is always at most one of these at any particular time);
  2. be able to redirect the standard input and output of commands by prefixing them with built-in commands in file and out file;
  3. be able to terminate (involuntarily) the foreground process when user presses ^C and return back to the mini-shell;
  4. be able to interrupt the foreground process temporarily, when user presses ^Z, returning to the mini-shell;
  5. be able to execute any number of processes in background (i.e., in parallel with the foreground process), including in particular, the ability to start another process while a process has been temporarily suspended;
  6. inform the user when the background process finishes or is
    waiting for an input from the terminal;
  7. be able to inform the user what commands are executing in the background by issuing the built-in command jobs, this should include information about the state of the process (i.e., suspended, background, waiting for input, etc.) and about what file(s) is the background process using for standard input and output);
  8. be able to terminate involuntarily a background processes by issuing the built-in command kill job-number.
  9. to be able to resume a process or to make a background process into the foreground process (i.e., the one that currently interacts with the terminal) by issuing the fg job-number command.

Download:

  • 2008-09-14 – version 1.0.0.
    • fixed synchronization bug in putJobBackground() that made not notify background processes requesting input (in some situations)

    Known Bugs:

    • Lots of! I consider bdsh-1.0.0 stable because it covers ALL requirements of the course and does them whell on various Unix systems. So it works, but commands like “in non_existent_file cat” won’t work and will crash it!

    What will be next?

    • I don’t know. I may consider a 1.0.1 release to fix future bugs. I may also think to add cool features to make the shell complete. I hope I will have the time for it. You can also do it by yourself and send me the code
  • 2008-09-13 – version 1.0.0 Release Candidate 2.
    Changes from beta 1 / release candidate 1

    • removed gcc O3 flag from makefile
    • lots of bugs fixed in functions operating on the list of jobs
    • improvements in launchJob() when dealing with background commands
    • bug in putJobBackground() that made the shell crash has been fixed
    • killJob() now sends a SIGKILL
    • bugs fixed in signalHandler_child()
    • Code formatted using astyle (linux style)
    • A couple of variables renamed
    • Various usleep() removed

    Known Bugs:

    • So many =) This is a shell made for Academic purposes, not for production use!
  • 2008-07-30 – version 1.0.0 beta1.
    Characteristics:

    • First beta release of the final version
    • Every requirement has been covered
    • Real Job-Control implemented
    • About every function of bdsh.c has been rewritten
    • New source directory layout, very clean
    • Some documentation and makefile
    • IMPORTANT! this has to be considered a bug hunting release! Please report me any bugs
  • 2008-06-05 – version 0.7.1, corrects the linked list bug of version 0.7.0
  • 2008-05-09 – version 0.7.0.
    UPDATE 2008-06-05: there is a bug in the list handling, the shell crashes when using the standard input redirection. Please download version 0.7.1, which corrects the problem.
    Characteristics:
    • Cleaner code!
    • Lots of bugs fixed!
    • reads commands from standard input and executes them in a loop until a built-in command exit is issued
    • redirects STDIN and STDOUT of commands by prefixing them with built-in commands in file and out file
    • terminates (involuntarily) the foreground process when user presses ^C and return back to the shell
    • executes any number of processes in background (i.e., in parallel with the foreground process)
    • informs the user when the background process finishes
    • informs the user what commands are executing in the background by issuing the built-in command jobs
    • terminates involuntarily a background processes by issuing the built-in command kill job-number.
  • Due to a lots of compatibility issues with Gnu/Linux (the shell has been developed under Mac Os X), the final released has been delayed to mid-September. Sorry for this, I encountered so many problems the day before project presentation, that I decided to present it during the next exam session. I switched back to Gnu/Linux, too :)
  • Final release is scheduled on 2008-06-26, as the project deadline is 2008-06-25. The release will
    satisfy all the requirements, and as addition:

    • Execution system totally rewritten (e.g. one single short function that handles everything)
    • A Job Control will be implemented
    • Processes in foreground will really be in foreground, there are a lot of things that we did not learn during the course, like tcsetpgrp()
    • Some functions in utils.h will be deleted and optimized
    • Cleaner and clearer code!

  • 2008-04-21 – version 0.0.1
    Characteristics:
    • Modular code, divided in 3 files: bdsh.c, utils.h, headers.h
    • Clean user input from a char buffer to an array of strings
    • Built-in commands: exit (exits from the shell), cd (changes directory), in <filename> command (redirects STDIN of command from <filename>), out <filename> command (redirects STDOUT of command to <filename>)
    • Makes use of fork() to read commands from standard input and execute them

License:

BD-shell is released under The Gnu GPL version 3! This is different from the license of the contents of the blog

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http ://www.gnu.org/licenses/>>.

Related posts

Un messaggio da quelliDiDesign?

February 10th, 2008 bodom_lx 25 comments

Farsi le passeggiate nell’habitat di quelliDiDesign può davvero trasformarsi in una piacevole sorpresa!
Quella che a prima vista sembrava una semplice mostra di bizarri aggeggi creati magari durante dei laboratori si è rivelata una vera e propria esposizione di lavori per un esame di facoltà, da DIECI crediti *_*
Qui il link al pdf che presenta l’esame.
I lavori presentati variavano dalla bicicletta – carriola a tre ruote (o quattro? non ricordo) correlata da filmato dei nostri cari colleghi photoshopposi che ci giravano in un boschetto, al cubo di vetro rivestito di alluminio che dimostra che il sole effettivamente scalda le superfici, al kit per vomitare quando si è ubriachi.
Tutte opere serissime e che evidenziano l’ormai ben recepito rapporto bellezza/utilità radicato nelle menti dei designers.
Ma il lavoro, la sublime opera titanica che ha maggiormente colpito i freddi circuiti di noi informatici è stata la tuta “Nerd”, creata per chi passa la maggior parte del suo tempo davanti a un pc (noi).
Ecco la foto:
Unibz facoltà di design progetto x-treme tuta per nerd

A dir poco fantastica, permette a noi informatici di mangiare e bere i nostri cibi tipici (secondo l’autore RedBull e orsetti gommosi) senza doverci alzare dal pc!
Ovviamente per i più ignoranti era presente una spiegazione dell’opera:

X-treme designers università bolzano tuta nerds spiegazioni

Ora la grande questione sorge spontanea..quelliDiDesign:

  • Stanno proponendo una pacifica convivenza con un dono sincero, bizzarro e ilarico
  • Si dichiarano vinti e si prostrano ai nostri piedi con un dono che, secondo loro, dovrebbe placare la nostra ira funesta
  • Ci pigliano per il culo a loro volta? :D

Related posts

Categories: Unibz Tags: , , , , , , , , , ,

BD-theme

January 24th, 2008 bodom_lx No comments

BD-theme is a widget ready, two columns Wordpress theme, written using the default Wordpress theme as php/xhtml base. The theme is inspired by TorrentFreak rounded layout, and some little ideas are inspired by Curved Theme, which was the old BD-blog theme.
I just wanted to write my own Wordpress theme.
This is my first theme, and my first try to design something nice. Source code is available below.

If you like BD-blog theme, then download BD-theme =)

Download:

  • 2008-12-08 – version 1.0
    Changes from 1.0 beta 1:
    • Remove_filter(‘the_content’, ‘wptexturize’); added for better posts regarding coding
    • If you decide to create a “Archives” page and/or a “Blogroll” page for listing links and archives, those pages are not listed in the rounded menu
    • Related tags of a post are no more links, for a more polished site
    • Better caption for images
    • Works with IE6, IE7, Firefox 2, Firefox 3, Opera, Google Chrome
    • Valid XHTML 1.0 Strict
    • Valid CSS 2.1
    • Screenshot:
      BD-theme 1.0

      BD-theme 1.0

  • 2008-11-27 – version 1.0 beta 1
    Changes from 0.9:
    • Change of dtd: from xhtml 1.0 transitional to xhtml 1.0 strict
    • Yes it’s VALID Xhtml :-)
    • Navigation links now present in every section of the theme (archive,single, index etc)
    • Ready for Get Recent Comments and Recent Posts, both recommended and displayed at the page footer if installed
    • New logo system that checks if IE6 is present and presents an alternative page without logo
    • More space for content is given
    • Post headers (title and date) are fixed for every browser
    • Fixed some css bugs for those wo do not use the sidebar
    • Lighter css! more standard but still not finished
    • Screenshot:
      BD-theme 1.0 beta 1 screenshot

      BD-theme 1.0 beta 1 screenshot

    What will be next:

    • CSS fixes for IE6
    • Cleaner Code
  • 2008-09-19 – version 0.9
    Changes from 0.8-experiment:
    • Fully Compatible with Mozilla Firefox 2/3, Internet Explorer 6,7,8, Google Chrome, Apple Safari
    • More harmonious and stable
    • Links to pages are now rounded corner buttons
    • Buttons for pages moved over main layout, added a button for accessing the blog posts
    • The current page link button gets the same background color of the content page
    • Post header layout changed: a very nice band contains the title of the post and the date of posting exits the main layout
    • Various CSS fixes
    • Screenshot:
      BD-theme 0.9 Screenshot

      BD-theme 0.9 Screenshot

    What will be next:

    • CSS bugs totally fixed (I hope :D )
    • Theme has to pass w3c’s xhtml/css validations
    • Theme has to remain compatible with all browsers
  • 2008-08-21 – version 0.8 – experiment
    About:
    • Quite everything changed in the last 6 months, but the colors
    • This is the source code of the experiments done from the post of 06-06-2008: BD-theme’s new look
    • NOT to be considered as a stable release, code is very dirty (but almost functional)
    • It’s the base I’ve been using since 7 days for the final release, It’s available because somebody may like it more than the next version, or to modify it
    • An image helps more than a thousand words:
      BD-theme 0.8, the Experiment

      BD-theme 0.8, the Experiment


      BD-theme 0.2 - Classic

      BD-theme 0.2 - Classic

  • 2008-02-21 – version 0.2
    Changes:
    • fixed a:hover transparency bug in #pages
    • fixed .entry links and img
    • added a stlye for blockqoute
    • fixed some values of the searchform in the sidebar (safari fix)
    • added a style for the links inside the #footer section
  • 2008-01-24 – version 0.1
    First version, download it just if you want to customize it or to create a new theme based on this one. I’m testing it on my blog. It may contain “useless” code from the default Wordpress Theme

Related posts

Vecchi hoax su omini colorati di msn ritornano

November 26th, 2007 bodom_lx 3 comments

É ritornata alla grande quella catena che parla di account di hotmail disattivati se non si invia il messaggio entro tot giorni.

Eccola qui:

LEGGI QUESTA E-MAIL, NOI SIAMO ANDY E JOHN, I DIRETTORI DI MSN.
CI SCUSIAMO PER L’ INTERRUZIONE PERO’ MSN NON ESISTERA’ PIU’ PERCHE’ MOLTE
PERSONE HANNO TROPPI ACCOUNT MSN E NOI ABBIAMO SOLTANTO ALTRI 578 POSTI
LIBERI.
SE VUOI CHE CHIUDIAMO IL TUO ACCOUNT NON MANDARE QUESTO MESSAGGIO, MA SE
VUOI CONSERVARLO ALLORA MANDA QUESTO MESSAGGIO A TUTTI I TUOI CONTATTI.
NON E’ UNOSCHERZO, MANDALO, GRAZIE.
PER USARE MSN E HOTMAIL, DALL’INVERNO 2008 BISOGNERA’ PAGARE (ANCHE SE LI
USI DA TEMPO), MA SE INVII QUESTO MESSAGGIO A 18 CONTATTI DIVERSI IL TUO
OMINO DI MSN DA VERDE DIVENTERA’ BLU E CIO’ SIGNIFICA CHE PER TE SARA’
GRATIS.
SE NON CI CREDI VAI A http://www.beppegrillo.it/2007/10/la_legge_levipr.html
E GUARDA.
NON INVIARE LO STESSO MESSAGGIO COPIALO E INCOLLALO IN UNO NUOVO IN MODO CHE
LE PERSONE POSSANO LEGGERLO.
GRAZIE

Incollo ora il testo standard che invio alle persone che mi mandano questo ormai vecchio hoax:

Questa catena é vecchia e falsa..ne parlo sul mio blog dal 2005 (http://task3.cc/basta-con-questi-hoaxsvegliatevi/), ora contiene solo poche notizie in piú..

-LEGGI QUESTA E-MAIL, NOI SIAMO ANDY E JOHN, I DIRETTORI DI MSN.
Certo, andy e john, i direttori di msn, parlano in italiano e si scomodano di scrivere loro stessi una mail a tutto il mondo che usa msn…
..oppure userebbero un loro qualunque schiavetto per pubblicare una notizia del genere sul sito di msn, piú ufficiale?

-CI SCUSIAMO PER L’ INTERRUZIONE PERO’ MSN NON ESISTERA’ PIU’ PERCHE’ MOLTE
PERSONE HANNO TROPPI ACCOUNT MSN E NOI ABBIAMO SOLTANTO ALTRI 578 POSTI
LIBERI.

Eh beh certo, la piú grande multinazionale del mondo non ha piú “posti liberi”..
Posti liberi??? Che diavolo vuol dire? Msn é diventato un parcheggio?

-SE VUOI CHE CHIUDIAMO IL TUO ACCOUNT NON MANDARE QUESTO MESSAGGIO, MA SE
VUOI CONSERVARLO ALLORA MANDA QUESTO MESSAGGIO A TUTTI I TUOI CONTATTI.
NON E’ UNOSCHERZO, MANDALO, GRAZIE.

É impossibile controllare che una mail contenente un certo testo venga inviata. A dire il vero é possibile, ma impiegherebbe una quantitá di tempo e risorse tali che
varrebbe piú la pena allargare il parcheggio di msn di altri 3289578379834759884294890284 posti. Anche se a dire la veritá, tutte le informazioni che servono a microsoft per farvi accedere a msn messenger potrebbero stare davvero pochi computer.. La microsoft ne ha parecchi di piú..

-PER USARE MSN E HOTMAIL, DALL’INVERNO 2008 BISOGNERA’ PAGARE (ANCHE SE LI
USI DA TEMPO),

Ma per favore! Avete idea del casino che combinerebbero i vari enti AntriTrust se una multinazionale promette (e concede) milioni di account di posta e msn gratis..e poi pretende dei soldi? É contro le leggi di mercato questo..

-MA SE INVII QUESTO MESSAGGIO A 18 CONTATTI DIVERSI IL TUO
OMINO DI MSN DA VERDE DIVENTERA’ BLU E CIO’ SIGNIFICA CHE PER TE SARA’
GRATIS.

Se il vostro omino di msn dovesse cambiare colore un giorno..andate da un oculista..
Ora, usate il buon senso..Se non ci fossero piú posti per msn,che senso avrebbe far mandare ad ogni utente 18 e-mail, non sarebbe ancora piú uno spreco di spazio per i loro server?

-SE NON CI CREDI VAI A http://www.beppegrillo.it/2007/10/la_legge_levipr.html
E GUARDA.

La legge Levi-Prodi non é ancora entrata in vigore, e in ogni caso tratta argomenti parecchio diversi da quello in questione.. Basta davvero leggere quello che c´é scritto nel blog di Grillo, proprio come consiglia questa mail spazzatura.

-NON INVIARE LO STESSO MESSAGGIO COPIALO E INCOLLALO IN UNO NUOVO IN MODO CHE
LE PERSONE POSSANO LEGGERLO.
GRAZIE

Esatto, cosí é ancora piú facile per microsoft capire che l´hai inviato a 18 persone diverse, facendo copia e incolla del testo!

Tristissimo..
Un po´ di buon senso prima di intasare le caselle degli altri, non servono grandi conoscenze informatiche o delle reti..

Related posts