I am disappointed by Ubiquiti Networks

It is been a while I check forums and Ubiquiti products. They are really good products. At the beginning the really interesting thing in ubiquiti was the Open minded / Open Source direction they used. I begun to use their product with SR and XR card (when they don’t seek any final products). It was really easy to make your own product firmware with an embedded MIPS motherboard and their cards. The SDK was available at this time.

I check recently and now it is not. Ubiquiti has been introduce in Wall Street. I am really disappointed because when I was interviewed by them for their papers to be introduce to Wall Street I insisted on the fact of they success OpenSource is one main of it.

I would want to make some patch on kernel to be able to pass PPP/IP DSCP to their Atheros card to be able to do the same thing with IP (http://wiki.ubnt.com/AirMax_-_QoS_DSCP/TOS_Mappings). Now SDK is not available and I am really disappointed.

‘netcat’ : my best friend :)

For those of you who read this unpretentious blog, you must have noticed this week-end a maintenance window.

The DD of my hosting has crashed. To be more precise, it is crashing. His time to live is near to expire…

So to save my files on this server, a simple tar and scp is not enough. In fact, if you do this, you will create inodes and store on your FS. You will have lot of chance to have corrupted tarballs.

So I chose to use netcat to make my saves. tarballs are created on the fly on the network. So you only make reads on your DD, no creates.

On the device you have datas :

source# tar c your_folder | nc -q 10 -l -p 7777

 

On the remote end :

target# nc -w 10 source.domain.net 7777 > your_folder.tar

 

You can use the ‘z’ flag to gzip the archive. For more explaination, man is your friend, or in others words : RTFM…

Extjs : How to ‘real’ clear a cookie

If you are in extjs application designing and coding, you might need to use use ‘Ext.util.Cookies.*’ function.
You can :

  • Ext.util.Cookies.get(‘my_cookie’) : get cookie value
  • Ext.util.Cookies.get(‘my_cookie’, ‘cookie_value’) : set cookie value
  • Ext.util.Cookies.clear(‘my_cookie’) : clear cookie

In theory you can delete cookie by means of ‘clear’ function.

In practice, you should use :

Ext.util.Cookies.set('my_cookie', null, new Date("January 1, 1970"));
Ext.util.Cookies.clear('my_cookie');

Because you can be faced to a problem where you cannot delete your cookie and cannot understand why…

For fun : ‘ena’ C program

I think it has been really often done in the past, but for fun :

For those of you whom use a lot of xterm, I think it have happen you mistake tape an ‘ena’ command in your sh friend shell program 🙂
It can be funny to have a result on your stdout other than :

Commande « ena » non trouvée, vouliez-vous dire :
 La commande « enna » issue du paquet « enna » (universe)
 La commande « eva » issue du paquet « eva » (universe)
 La commande « enca » issue du paquet « enca » (universe)
 La commande « ent » issue du paquet « ent » (universe)
 La commande « env » issue du paquet « coreutils » (main)
ena : commande introuvable

It can be funny to have :

clucas@pluton:~$ ena
Password:
Building configuration...
[OK]
Proceed with reload? [confirm]
Connection closed by foreign host.

Be quiet, you are on a Unix based system and I will not disclose your password ;)

You can have the full source code of this here.

It could be really funny to send it by a socket, but I don’t have written it in the code.

Ext.js : one simple tip



I am a network engineer, but in a small company you are able to do lot of things. I am in charge (in same time as network job) to developp second generation of customer managment tool. I have choiced to developp it in ext.js. I am in an early prototyping and evaluate this framework. It is pretty awesome !!
A little tip to load data with extjs in a form :
Ext.getCmp('your-form').getForm().load({url: "load.php", params: {do: "cmd"}});

it is your friend. But you must now that your json answer must be as :

{
    success: true,
    data: {
        clientName: "Fred. Olsen Lines",
        portOfLoading: "FXT",
        portOfDischarge: "OSL"
    }
}

You have more information to read there.