Other articles

  1. How to make subwoofer work in Ubuntu

    Using the same computer with Windows 8 and Ubuntu I noticed that the sound was worse in Ubuntu and I discovered why soon: subwoofer doesn't work out of the box!

    How to fix it

    The fix is quite easy to apply (but it was not easy to find the right one!). First of all edit /etc/pulse/default.pa and add this line at the end:

    load-module module-combine channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe

    then edit /etc/pulse/daemon.conf, modify the line "enable-lfe-remixing: no" to "enable-lfe-remixing: yes", then uncomment it (remove the semicolon in front of it). Reboot your PC and enjoy the subwoofer!


    read more


  2. UDS happening online only: pros and cons

    When last week Canonical announced the usual UDS was not going to happen I was a bit shocked and disappointed: starting from the next UDS (that is going to happen tomorrow!) the event will be online only and every 3 months. During these days I've been thinking a lot about this move and I will tell you what are the pros and cons, in my opinion, followed by some final thoughts.


    Having 4 UDS every year, instead of 2, is surely a better thing. I'm a big fan of Scrum methodology, so I think that iterating more often is better than iterating less. If there are any mistakes you can correct them and iterating again before releasing the final product.

    Potentially more people can partecipate to the event (even the opposite is true and I will explain why). People won't need to move from home, travel, pay any expense etc... they just need a computer and a good Internet connection.

    It's cheaper for everyone: I can just imagine how expensive could be for Canonical to organize a similar event. Booking a big hotel, paying travel and expenses to near one houndred of community people. People who didn't get any sponsorization had to pay all the travel expenses to attend the event.


    Potentially less people can partecipate to the event. Yes, like I said before even this sentence is true and I will explain why. First of all, using Google+ there are at least three countries that will be cut out: China, Thailand and Vietnam. Google+ is not available in those countries.

    Are you sure that special people will be able to follow the event? For example blind people won't be able to chat or to ask question in the chat.

    Only 10 people will be able to talk. In normal UDS sessions more people could raise the hand and ask a question or interact with the track leaders. Who will choose the 10 people with audio+video streaming rights?

    We will completly miss the social aspect of the UDS. If you think this was only a secondary part, please go on. I felt more committed to work and collaborate with people I met in person than with someone I've never met before.

    Announcing an event, even if online, just one week before it happens. Really? Some people had already taken vacation from work, booked flights etc... not counting many people that can't take 2 days off from work just with 1 week notice period. It's also almost impossible that community members have the time to schedule a blueprint and be able to discuss about a subject.

    Final thoughts

    From a cutting costs point of view I really can't say anything. Organizing UDS was surely very expensive for Canonical and nobody can blame them if they decided to spend those money in a different way.

    What really concerns me: is UDS still useful? My opinion is that at least since latest 2 or 3 UDS the presence of the Community was not so relevant, because I had the clear sensation that the most important decisions were made by Canonical before the UDS and then there was just some details tuning. Another proof of my thoughts is the today announcement: despite the fact that I 100% agree with Unity switching to Qt/QML (I already proposed this 2 years ago during Budapest UDS, but nobody listened to me) I completly disagree with the way the decision was made: not a single involvement or discussion with the community.

    I would apreaciate more openness and honesty from Canonical. Do you want to take all the decisions? That's fine, but at least state it clearly.

    read more


  3. Using Twitter Bootstrap with Node.js, Express and Jade

    I've decided to write this post as a note to myself. I'm still learning Node.js and digging into Express/Jade, but I've read many people using the nice Twitter Bootstrap and I was wondering if there was a way to integrate all these technologies. The short answer is: yes, we can!

    Note: once again, I'm not a Node.js expert and surely there are other ways to achieve this task (for example there is a Node.js module called twitter-bootstrap, but I haven't tried it). This tutorial is based on another tutorial I found, but it was not very updated and it had a more complicated way to install Bootstrap, so I decided to write a new one basing it on the original http://www.rs.au.com/31/how-to-install-bootstrap-v2-0-2-in-expressjs-v3-0-0

    Preparing the environment

    I will assume that you're running any Linux distribution (in my case I'm using Ubuntu 12.10, but feel free to use your own distribution). Be sure to have installed a recent version of nodejs and npm packages (I'm using Node.js 0.8.20 and npm 1.2.11).

    Create a project folder and install the required dependencies

    mkdir node-bootstrap
    cd node-bootstrap
    npm install express
    npm install jade

    Create the basic project structure with Express

    [email protected]:~/Documents/sviluppo/nodejs/node-bootstrap$ node_modules/express/bin/express nodebootstrap
    create : nodebootstrap
    create : nodebootstrap/package.json
    create : nodebootstrap/app.js
    create : nodebootstrap/public
    create : nodebootstrap/public/javascripts
    create : nodebootstrap/public/images
    create : nodebootstrap/public/stylesheets
    create : nodebootstrap/public/stylesheets/style.css
    create : nodebootstrap/routes
    create : nodebootstrap/routes/index.js
    create : nodebootstrap/routes/user.js
    create : nodebootstrap/views
    create : nodebootstrap/views/layout.jade
    create : nodebootstrap/views/index.jade
    install dependencies:
    $ cd nodebootstrap && npm install
    run the app:
    $ node app

    You should already have installed all the needed dependencies, even without executing npm install, anyway executing it won't hurt.

    Download and install Bootstrap

    Download Twitter Boostrap from the official website http://twitter.github.com/bootstrap/assets/bootstrap.zip and unzip it under the nodebootstrap/public folder.

    Bootstrap integration with Jade template system

    At this point you need to edit the views/layout.jade file and include the references to Bootsrap

        title= title
        link(rel='stylesheet', href='/bootstrap/css/bootstrap.min.css')
        link(rel='stylesheet', href='/bootstrap/css/bootstrap-responsive.min.css')
        link(rel='stylesheet', href='/stylesheets/style.css')
        block content

    Test the Bootstrap integration

    At this point we will modify views/index.jade that is the default template used to render the index

    extends layout
        block content
            form.form-horizontal(method="post", id="loginForm")
              label Username
              input.span3(id="username", type="text", name="User", placeholder="Enter your username")
              label Password
              input.span3(id="password", type="password", name="Password")
              input.btn(type="submit", value="Log In")
                    th Table
                    th Heading
                    td Blah
                    td Test
                    td Hello
                    td World

    Now go back to the terminal and execute the app:

    [email protected]:~/Documents/sviluppo/nodejs/node-bootstrap/nodebootstrap$ node app.js
    Express server listening on port 3000

    Open your favourite browse and visit http://localhost:3000 to see your first Bootstrap + Node.js application app and running.

    read more


Page 1 / 4 »