Saturday, August 16, 2014

PLUS LTE bez limitu (unlimited data plan)

I just rented a new apartment here in Warsaw, but at this new location there was not cable connection, so I couldn't transfer my UPC contract to the new home.

Looking around, I subscribed a new contract with PLUS Mobile operator that was offering an unlimited data plan over LTE connection (PLUS LTE bez limitu).

When I checked the coverage signal map at PLUS website, my home was not covered by LTE signal, but I was wondering if using an high-gain external antenna could help me to get a stable and fast internet connection over mobile LTE and I decided to try.

So, I bought a 17db dual LTE panel antenna and I subscribed the new contract with PLUS. They gave me an LTE router (the Huawei B593s-22) that has two external SMA connectors to connect the external antenna.

In the box of the router I have found two little external antennas, that was even enough to get a good connection, but as you can see reading the results below, using an high-gain external antenna has boosted my connection speed about 50% in downstream and more than 200% in upstream!

To correctly point your external antenna you can use your smartphone and the Open Signal app for Android or iOS. You can check the operator's antennas even on Open Signal website.

Here the results:

Without high gain antenna

Using high gain antenna

Results compared

Monday, June 16, 2014

Sony SW2 custom clock widgets development

With the latest update Sony has brought a lot of new feature in its SmartWatch 2.

They upgraded the entire framework and SDK (version 3) to support widgets so now you can develop not only applications, but even widgets (clocks and other widgets) that can be used to build your personalized smartwatch homescreen.

I've downloaded the latest SDK from Sony website and started to learn how to make a custom clock widget.

It's not complex. It share the same project structure and the same logic as a standard Android application.

There are a lot of examples included in the SDK to help you understand how it works.

Looking at the images, you can see my first attempt to build a custom clock widget.
All you need is a configured Android development environment and the Sony SDK.

Of course, you must install Sony SmartConnect app on your device and if you are a SmartWatch 2 owner you need to pair the smartwatch with the phone.

You can develop analog or digital clocks, and you can provide a list of images to use with a list layout or simply let the watch to rotate automatically the clock hands for you.
As you can see from the images, the clock hand for seconds is only visible when the homescreen is "on". On low power mode, only hours and minutes will be updated and the clock hand for seconds will be hidden.

Now I'm starting a little project and I want to develop my own set of clock widgets.
You can find all information about software development for Sony wearable devices here.

You will also need a good graphics editor... ;)

Saturday, April 26, 2014

Sony SmartWatch 2: last update brings new life

Two days ago I've received the last update for my Sony SmartWatch 2 (version 1.0.B.4.152 / 1.0.A.4.11 ) and this time Sony has done a great work bringing to the smartwatch a lot of new improvements that gave a new life to the wrist device.

Custom Watchfaces
First of all Sony (finally) introduced the possibility to design your own watchface using the extension included in the Sony Smart Connect android app.

You can choose between a set of clocks and a number of widgets to place in the watchface. I think that the number of the widgets and clocks will be increased in the next releases but even now is a good set of combinations that give you the freedom to build your own watchface.

New Notifications Dropdown
The second good thing is that the notifications list (the dropdown bar at the top of the screen) is now scrollable and can be cleared directly from the menu button.

This is a very good thing because now you can access to all your new notifications without open the specific application to manage the notifications.

Another good new feature is the possibility to change the smartwatch background choosing it between a set of colored predefined backgrounds (you cannot use your own image).

Application Management
In the "Apps" section of the Settings you can now disable an application or control the notification behavior directly by the smartwatch.

So, if you want to disable the vibration or hide an application, you can now do it without the need of the smartphone.

Battery Indicator Widget
The last (I saw) but not least is the battery widget that you can put on the watchface. It contains a built-in percentage that show the remaining battery charge of the smartwatch.

In addition, Sony updated all the SW2 apps bringing more stability and added a Calculator app.

So, I'm a very happy owner of this smartwatch and Sony has taken care of its customers constantly updating its product.

Well done Sony!

Thursday, April 10, 2014

The jungle of recruitment processes

Since I am here in Warsaw (but this happened even more when I was in Italy), I had a lot of job interviews (by phone or face to face) and every time it's turned out that there was always an hard limit about contract type or about the salary.

I understand that a company give to HR some guidelines especially about contract and salary, but how a non-technical (or "soft" technical) person can evaluate a strong technical skill and be sure that the limit cannot be exceeded in a particular situation? And what about the passion, the problem solving capabilities, the logical skills... these are things that should be evaluated before saying "sorry, we cannot pay you how much you want" or "sorry, we cannot give you that kind of contract".

Especially in the IT world, there are so many people that do the work just because they need a job. They have no passion, no love. They don't take care about the software and how it should be done. They don't spend all night by writing down lines of code just to try a new technology or a new framework, by reading technical articles or by reading news about new digital devices.

Like I wrote in another post, keys for a good software programmer are passion, problem solving capabilities / logical thinking and abstraction.
The knowledge about programming languages, technologies and frameworks is only a result of the above three keys.

So, that said, my question is: why filter out people without let them have an interview with a technical person that could better evaluate this side of a developer? Matter of time? I don't know, but I think that by this way the company may lose very good candidates and future employees and in my own opinion, the talk about the contract type or about the salary should be always the last step when all the parts have enough information to evaluate.

This is not a criticism to the HR or to the companies... this is a criticism to the model applied, in most cases.

Feel free to comment about this post and let me know what are your opinions!

Tuesday, March 25, 2014

Vectra (Poland): the security (doesn't) matter

It's not a secret that telecom operators uses ruoter's mac addresses (often the WAN mac address or some hashed version of it) as a default wifi password. And some operators don't give you the ability to change it to something else.
This makes a big security hole for the end-user that often doesn't understands how much it's dangerous.

Now I'm living in Poland and I saw several Vectra wifi networks (vnet-XXXXXX) around me. My sister in law has a cable contract with Vectra operator so I seen that Vectra uses the WAN interface mac address (in that case was the upper-case version without ":") as wifi password and that password cannot be changed by user (the web-interface of the router is locked and you need an administrative user/password to log in).

So, what if an attacker wants to join your wifi network? Ok, the attacker has to know the mac address of the WAN interface, but it's possible to calculate it.

The procedure is simple.

Most of routers distribuited by operators uses the same vendor to buy internal network hardware. So the wifi interface is manifactured by the same vendor (and therefore has the same initial part of the mac-address) as the WAN inteface.

If you want to obtain the complete wifi password, you just need a simple wifi sniffer (even with a smartphone, just like Wifi Analyzer or others) to see the wifi interface mac-address of the router.

Once obtained the external mac-address, just try to use it as wifi password by subtracting (or adding) 1, 2 or 3 values. For example, if the WLAN mac address is 00aabb112233, just try 00aabb112232, 00aabb112231, 00aabb112230, 00aabb112234, 00aabb112235, 00aabb112236. Try these passwords in lower-case and upper-case versions. Infact, when mac addresses are assigned to the network interfaces of a device they are simply assigned sequentially.

In the case of Vectra, the procedure is even simplified. Once obtained the external mac-address, take just the first 3 bytes in hex (i.e. 00aabb112233 just take 00aabb), concatenate these three bytes with the name of the wifi network except "vnet-" (i.e. vnet-112231 just take 112231 only), upper-case it (if doesn't work try the lower-case version of the password) and you have the wifi password to access the wifi network (in the example the password should be 00AABB112231 ).

Just to be clear, another example:

SSID: vnet-800877
WIFI PASSWORD: 003DCB800877 or 003dcb800877

The upper-case or lower-case version depends only by the Vectra man who sets up the router and he can choose to use the upper case or the lower case version of the mac address as a password (he can choose to use any other password, but it's just a common thing for they to use the WAN mac address).

Anyway, sometimes router's internal and wifi mac-addresses differs because they are not made by the same vendor. In this case you must use some utilities and a dictionary based software (like aircrack-ng) to test the combination of all "vendors id" used by the router. So you have first to know which kind of router is used.

I tried this procedure with 3 different Vectra routers (all made by Arris, two provided by my sister and one provided by an her friend) and it worked in all cases.

The information above are just to explain how the security is often undervalued and treated like something that doesn't matter.
Of course I decline any responsibility of using the above information to get unauthorized access to Vectra wifi networks. Remeber that unauthorized access even to a wifi network is a crime. So be careful and honest. ;-)

This post is not written with the purpose to accuse Vectra operator of bad service, but is written to help people to take care of they security and protect themselves even in the electronic world.

Again, be careful and honest! Don't access to any wifi network if you don't have owner's authorization!!!

Let me know if this procedure worked on your Vectra wifi too!

If you want to change the password of your Vectra wifi network, call Vectra customer care service by phone and they will set a new password for you.

Thursday, January 23, 2014

Two Samsung 840 Evo SSD in RAID0 tested with CrystalDiskMark

Two days ago I received all my new hardware to build my new PC (it can't be called "upgrade" because I changed mobo+cpu+ram+hd).

My new configuration included two Samsung 840 Evo 250Gb SSD that I configured in a RAID0 (stripe) array.

My configuration also included a new motherboard Asrock Z87 Extreme6, an Intel i7-4770K CPU and 16GB DDR3 G.SKILL @ 1866MHz ARES Dual-Channel kit.

I already had a ASUS ENGTX570 DCII which is powered by an nVidia GeForce GTX 570 chip with 1280 MB of GDDR5 memory which is enough to play with the latest games (such as Battlefield 4… ;-) )

To configure the RAID0 you first have to select the SATA controlloer mode and set it to "RAID" in the UEFI Storage configuration. After that, during POST, the mainboard will display a screen which is waiting for you to press "CTRL+I"... just press CTRL+I and enter in RAID Configuration Utility. Once in, create a new RAID array (select the "stripe" RAID type), give it a name and add the disks to the array.

Once installed my Windows 8 Pro (that has recognized the RAID controller without any additional driver during the installation process) I've done some benchmarks to test my new configuration. Specially I tested my SSD RAID configuration using CrystalDiskMark tool to see which kind of performance it can achieve.
On specs, in sequential read/write the Samsung 840 Evo 250GB version should perform about 520 MB/s...

 below are the benchmark results with a RAID0 configuration...

SIMPLY AMAZING!! see it yourself! 

CrystalDiskMark 3.0.3 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World :
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   897.882 MB/s
          Sequential Write :   922.636 MB/s
         Random Read 512KB :   609.718 MB/s
        Random Write 512KB :   359.433 MB/s
    Random Read 4KB (QD=1) :    32.413 MB/s [  7913.4 IOPS]
   Random Write 4KB (QD=1) :    79.540 MB/s [ 19418.9 IOPS]
   Random Read 4KB (QD=32) :   477.542 MB/s [116587.5 IOPS]
  Random Write 4KB (QD=32) :   346.313 MB/s [ 84549.1 IOPS]

  Test : 1000 MB [C: 15.3% (71.2/465.4 GB)] (x5)
  Date : 2014/01/22 0:34:33
    OS : Windows 8 Pro [6.2 Build 9200] (x64)

The RAID configuration performed about 75% better than the regular specs of the Samsung SSD.

Ok, I know, this is just a benchmark so it will not mean that in everyday use it will boost your application load time of 75%... but of course you will have an advantage to have this kind of configuration instead of using a separated drive configuration.

I tried to load office products such as Outlook, Word, Excel, OpenOffice Writer, OpenOffice Calc and many other software and they are loaded in a blink of eye! Even Battlefield 4 is so fast when loading maps.

So, my conclusion is that I will never come back to HDD or to a standard non-raid configuration, even using an SSD.