Archive for March, 2008

Algoritmo Ricorsivo

Categories: Misc, Programming, Unibz

Da canticchiare sulla base di Disco Labirinto dei Subsonica & Bluvertigo..

Algo Ricorsivo

Quasi quasi lo direi
Quasi quasi scrivilo
Quasi quasi ti ho capito
E mi sono rovinato
Quasi quasi non ti seguo
Quasi quasi ho il vomito
Quasi quasi Ω(esagero)
..E non compilarono..

Vorrei un algoritmo ricorsivo
Bianco senza cicli colorati
Lungo un centinaio di righe
Dal quale non si possa uscire
Vorrei un algoritmo ricorsivo
Bianco senza strane invarianti
Con un centinaio di strutture
Per le quali non si riesca a dormire

Quasi quasi ascoltami (training autogeno)
Quasi quasi ti risolvo (senza nessun aiuto)

Vorrei un algoritmo ricorsivo
Bianco senza master theorem
Pesante un centinaio di kilobyte
Per i quali non si possa scrivere
Vorrei un algoritmo ricorsivo
Bianco senza loop infiniti
E quel centinaio di birre
Che non posso ancora bere

Precise, Precise, Precise, Precise, Precise, Precise

Vorrei un algoritmo ricorsivo
Bianco senza tante condizioni
Con un centinaio di complessità
Le quali neanche definibili
Vorrei un algoritmo ricorsivo
Bianco senza if annidati
Con un un centinaio di cicli
Per i quali non si riesca a leggere

Vorrei un algoritmo lineare

Chiedo ufficialmente scusa ai Subsonica e ai Bluvertigo (e loro fan), ma queste 10 ore e 25 minuti di uptime del mio portatile sono servite a capire, implementare e calcolare la complessità asintotica dell’Heapsort, worst e best case, dimostrarle, vedere che succede passandogli array già ordinati come input.
Sembro già meno pazzo ora, vero?

 
 

Una giornata perfetta..

Categories: Misc

Ieri è stata una giornata fantastica, dall’inizio alla fine..
..mattina e pomeriggio presto con la mia piccola..
..pomeriggio fino a sera a finire di sistemare alla perfezione la mia vps, abilitando pop3, smtps, https..
..la sera vengo a sapere di aver fatto stare male qualcuno che si merita solo di stare male..
..la sera tarda birra con un amico..

Dovrebbero essere tutte così le giornate..

Ah si, e ora pure questa:

vps ~# uptime
10:00:24 up 15:28, 2 users, load average: 0.00, 0.00, 0.00

Speriamo continui così :)

 
 

Un Arrivederci ed un Buongiorno

Categories: Misc

Oggi se ne va un grande amore, la mia Grande Punto :( i nonni tornano dall’Africa e quindi gliela devo restituire.. Si soffre, si soffre.. è un arrivederci.. almeno fino a quando non ci ritornano..

..però..sempre e proprio oggi..ne è arrivato uno nuovo? :D Chissà..

 
 

Object Oriented Memory Management

Updated on 18th April 2008, a complete example on stack and heap
Updated on 15th April 2008, new contents and new layout!
Updated on 6th April 2008, new contents!

At Programming Project course we study project-oriented approaches to Java-based software development. Don’t ask me why, the syllabus covers the topic “Modeling program execution with memory models”, even if we use Java, the programming language known for letting the developer to write programs without caring about memory.

Anyway, here is a briefly summary of the slides and the explanation of the professor about a simple object oriented memory model (Java as example).

Download the PDF of the summary

Topics covered:

  • Memory portions assigned to a program (code area, heap / dynamic memory area), execution stack
  • How code is loaded in Java
  • The Activation Record (AR) and function calls
  • Abbrevations (AR, RV, RA, SP, N/E, @, ??, arb)
  • Examples on method calls and activation records usage
  • Declaraion vs. Definition of a variable, the scope of a variable, blocks
  • Scope Activation Record (SAR), Static Link (SL), the role of SL
  • The extent/lifetime of a variable
  • Dynamic memory allocation and handling
  • Dynamic vs. Static memory allocation
  • Dynamic memory scope and extent
  • Accessing dynamic memory
  • Classes and Objects in detail, object instantiation
  • Memory Management issues
  • Objects vs. Variables (definitions)
  • Methods of Objects
  • Class Attributes
  • The null value
  • Parameters (formal, actual), parameters passing (by reference, by value)
  • Constructors and Inline Initialization
  • Constructor’s call
  • Class attributes (static variables)
  • Class methods (static methods)
  • Complete Example of Stack/Heap Diagrams

Everything is integrated with simple examples.

Download the PDF of the summary