Posts Tagged ‘code’

Reference vs. Pointer

Wednesday, March 18th, 2009

In Software Engineering Project course we need to learn some C++ to develop the project. A question that some programmers have when passing from Java to C++ (like me) is "Which are the differences between pointers and references?". You can find a lot of answers around developers forum, but I summarized them in the following table. Glad if you found it useful!

Reference Pointer
is an object which IS AN ALIAS for another object is an object that CONTAINS THE ADRRESS IN MEMORY of another object
the preferred way of undirectly access objects you should use it just if you really need it, as it lets you to work in a lower level than a reference does
keeps your code clear the code is less clear but still understandable
it must be initialized when created you don't have to initialize it when declared
it references to the one object and only that one, therefore you can not modify the address referenced because it contains an address, it can point to many different objects during lifetime. The address can be manipulated
when used, the address is dereferenced without using any particular operator the address must be dereferenced using the * operator
  • Share/Save/Bookmark

Introduction to HTTP mind-map

Sunday, March 1st, 2009

As I promised about 4 hours ago, here is my introduction to Hyper Text Transfer Protocol in form of a mind map.
It is to be intended as a really short introduction to this protocol. Like the previous one about computer networks, the mindmap summarizes materials copyrighted by Tanenbaum and also material taken from Wikipedia.

The topics covered are:

  • Scope of the protocol
  • HTTP connection
    • HTTP/1.0
    • HTTP/1.1
  • HTTP request methods:
    • GET
    • HEAD
    • PUT
    • POST
    • DELETE
    • TRACE
    • CONNECT
    • OPTIONS
  • Message Headers
    • Request Headers - all
    • Response Headers - all
  • Status Codes:
    • 1xx Information
    • 2xx Success
    • 3xx Redirection
    • 4xx Client error
    • 5xx Server Error
  • Sessions:
    • Cookies
    • Server-Side sessions
  • Secure HTTP - HTTPS:
    • By URI scheme
    • HTTP Upgrade Header
    • SSL/TLS

You can browse an HTML version online.

You can download:

As always, you are free and encouraged to contact me in case of errors or anything else.
Hope you like it!

  • Share/Save/Bookmark

BD-theme 1.0 beta 1 released

Thursday, November 27th, 2008

I've finally found the time to make the necessary fixes and improvements to the theme of my blog.
I decided to not name it a final release just because I could not test it with Internet Explorer 6. I believe that the differences with this beta release and the final one will just be some test with that browser and a better code cleanup :-)
Valid XHTML 1.0 Strict.
Yes, this is the theme you're actually seeing in the blog.
You can go and download it!

  • Share/Save/Bookmark

Announcing incollo.com service!

Tuesday, September 30th, 2008

When I announced BD-incollo 6 days ago, I also mentioned that I would have launched the service today. I really did that, and I'm very proud to announce the first site that runs BD-incollo.
http://incollo.com! Very easy :-)
Incollo.com is a collaborative debugging tool like Pastebin or other similar services, but it's slightly different from it. And it's different from other Pastebin clones even written using Rails or Django.
Here are the most exciting features:

  • It's Fast. Very Fast
  • Written thinking about usability
  • A very clean interface, a minimalist design that gives space to the code (as it should always be)
  • It's possible to search through pastes, like in a forum
  • A Paste is not deleted after 30 days or something similar. A paste is deleted after it is no more interesting! It's deleted after 60 days of no visualizations
  • The system is anonymous. It won't store your information! Paste whatever you want but please use your brain! A Paste may be reported to the administrator!
  • You don't really have to play with options and there are no required field other than the Paste itself. You may paste a text and directly hit the submit button
  • Quite every page is XHTML 1.0 compatible
  • It works well and has nice urls, thanks to Django
  • Compatible with every browser (tested with Internet Explorer 6,7,8, Mozilla Firefox 3, Apple Safari, Google Chrome)
  • Resolution friendly! Liquid design that adapts to every monitor resolution (tests from 1024x768)
  • Developer friendly! Every functionality of incollo.com can be used with max 2 mouse clicks and without a mouse scroll!
  • Tested with lots of pastes, quite every source code should be perfectly viewed (this does not happen with every pastebin clones I've tried)
  • Uses Pygments for code highlighting
  • Languages supported: ActionScript, Assembly (various), Boo, Befunge, BrainFuck, C, C++, C#, Common Lisp, D, Delphi, Dylan, Erlang, Haskell (incl. Literate Haskell), Java, JavaScript, Lua, MiniD, MooCode, MuPad, OCaml, PHP, Perl, Python (incl. console sessions and tracebacks), Redcode, Ruby (incl. irb sessions), Scheme, Visual Basic.NET, Django/Jinja templates, ERB (Ruby templating), Genshi (the Trac template language), Myghty (the HTML::Mason based framework), Mako (the Myghty successor), Smarty templates (PHP templating), JSP (Java Server Pages), , Other markup, , Apache config files, Bash shell scripts, BBCode, CSS, Debian control files, Diff files, Gettext catalogs, Groff markup, HTML, INI-style config files, IRC logs (irssi style), Makefiles, MoinMoin/Trac Wiki markup, Redcode, ReST, SQL, also MySQL, Squid configuration, TeX, Vim Script, Windows batch files, XML

This is an example of Paste with Incollo.com:
http://incollo.com/7dca5011

You are really welcome to report any bugs or leave a feedback! Remember that this is my very first Django project, and I created it in about 6 days!

Of course, I'm already beginning to think about new features :D

  • Share/Save/Bookmark

BD-incollo 0.1 is out!

Tuesday, September 30th, 2008

As I promised, BD-incollo 0.1 is finished and the source code is available in the project page under the GPL 3 license.
Every MUST requirement has been done and just two MAY requirements could not be developed in just 6 days. But They will surely be in the next releases.
Sourcecode is well commented using xP standards and there are few comments where necessary, but is should be clear. If not, drop me a mail.
I will write a map that describes the source code tree tomorrow!
The conclusions of this experiment are that Django is really a web framework for perfectionists with deadlines! I spent more time playing with templates and CSS than with the whole python coding! It's a valid alternative to Ruby on Rails, and built on a programming language I really like.
Go and grab the code!

  • Share/Save/Bookmark

BD-incollo project update, 24 hours before service launch

Sunday, September 28th, 2008

Quite everything is ready!
There is a feature that I have to finish, the removal of a Paste after 30 days of inactivity.
There are a couple of bugs to be solved now, but I believe I will fix them with the 0.2 release.
I think I will be ready to launch the service tomorrow at 00:00 GMT + 1.
Sourcecode will also be released tomorrow

  • Share/Save/Bookmark