Two New Software Updates

There are two software updates that came out recently.

1. Mozilla Thunderbird version 3. I’ve used the Thunderbird Betas and RCs ever since they’ve been available and have, for the most part, been quite pleased. It’s been so long since I’ve used Thunderbird 2, that I don’t really remember how it looked. Thunderbird 3’s new tabs and search functionality are hard to live without now.

2. Adobe Air 2 beta. I haven’t used that many Air apps – mainly as there aren’t many out there. But, I have used a few. I think Jonathon Snook’s Snitter was an Air app. I used that for a while until he ceased development of it. I also have used ExtJS’s Documentation Air app a few times. The big updates are better profiling for CPU and memory and a Webkit update giving it the latest HTML5 and CSS3 features.

Firefox 3.6 Beta 1 Default New Window Behavior

Firefox 3.6 Beta 1 apparently introduces a new feature that if you click a link from one page and open it in a new tab, the new tab will be placed next to the current tab in the tab list. This quasi-grouping seems useful. If you open a link in a new tab from one page, one could easily assume that it’s related to the first tab’s content. For me, the only time I usually open a link in a new tab is usually when I’m in Google Reader or a news item from my iGoogle desktop. In these cases, the newly opened tab isn’t related to the initial tab, it just happens to have come from it. So, this related tab business was very annoying to me. If you too are annoyed by this, follow these simple steps to go back to the old way of doing things:

  1. Open a new tab and type ‘about:config’
  2. If you see a warning about voiding your warranty, or something to that effect, press ok
  3. In the filter search bar, type ‘tab’. Firefox will auto search for you
  4. Locate the key ‘browser.tabs.insertRelatedAfterCurrent’
  5. Double click the value, this will switch it from true to false.

Voila!

Nerdery Links

In an attempt to post more on this site about stuff I find interesting, I think I’ll try doing a few ‘link round-up’ type of link lists.

PHP And Nesting Ternary Operators

I came across an interesting quirk in PHP today. The way a nested ternary operator is evaluated in PHP is unlike that of any other language I’ve come across: left to right.

Ex:

<?php
$test = 'one';
echo $test == 'one' ? 'one' :  $test == 'two' ? 'two' : 'three';
?>

What do you suppose that prints? Wrong, the answer is ‘two’. Let’s break this down in how it is working, shall we.

<?php
$test = 'one';
echo $test == 'one' ? 'one' :  $test == 'two' ? 'two' : 'three';
?>

Here, I’ve emphasized the first ternary operation. What PHP will do is evaluate this section and return a value, in this case it is the string ‘one’. The boolean value of the string ‘one’ is true. So, for the second ternary operation, ‘two’ gets selected.

No other language I know of acts like this.

Hopes this help someone one day.

Trixbox Phone Home

At work we use tons of open source software. Off the top of my head, I can name15:

  1. Gentoo, both desktop and server
  2. Apache 2
  3. Subversion
  4. MySQL
  5. OpenLDAP
  6. Zend Framework
  7. phpMyAdmin
  8. phpLDAPadmin
  9. MediaWiki
  10. Aptana
  11. PuTTy
  12. Mozilla Firefox
  13. Mozilla Thunderbird
  14. Open Office
  15. trixbox

That last one, trixbox, made the news recently when it was recently discovered that the software contacts a Fonality server once every 24 hours by itself. This process sends information about the hardware setup it’s running on and a few configuration details. This is all done via allowing a remote server to execute root-privileged commands on the local box. You can read this forum thread for more details.

The problem here is mainly that no one knew any of this was happening. So, naturally, when people find out about it, they feel duped. Now, this certainly should have been a better described “feature”, sure. But, I’m not overly concerned about it. The script doesn’t gather anything like phone numbers or email addresses. The theoretical problem is if this “feature” was abused in some way. It looks like their in the process of updating this part of their system and I’m satisfied with the changes they’re making to correct the potential problems with it.