You can enter Service Menu on Xperia devices with code:

*#*#7378423#*#*

It is very kind of Sony that they created an easy way to unlock Bootloader of Xperia Android Smartphones. You can now customize your phone firmware and OS :-)

http://developer.sonymobile.com/unlockbootloader/unlock-yourboot-loader/

I have just bought next inexpensive Xperia M5 phone with pretty nice hardware. However I already found those things to be missing or deliberately removed:

  • USB OTG does not work (solved).
  • CardBoard VR does not work.

Update regarding USB OTG – “it’s not a bug its a feature” – after you connect a USB device using OTG cable you need to run “Detect USB device” application that will make OTG work. Considering security this may be a good choice to allow external devices by hand.

Some people confuse Docker to be a virtualization hypervisor host. Unlike VirtualBox or QEmu, Docker is an automated container system tightly related with a Linux system (only). It is something like Jails for FreeBSD (that has been there for years already).

What if, life is just an illusion of Ego, so convincingly tempting that we forget everything just after birth.. What is the purpose of Meditation? What happens when we really unfocus from Ego? How deep is Void? Who is John Galt?

In case you need to reset admin password for a Joomla install, you can do this by simply updating database record.

$ mysql5 -h <database_hostname> -u <database_username> -p <database_name>
Enter password: <database_password>
mysql> show tables;
(...)
mysql> UPDATE <database_prefix>_users SET password='d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199' WHERE username='admin';

This will use mysql5 commadline client to connect to a given database. You will see if tables are in place. Then you will update password hash of user admin to secret which equals:

d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199

You can also use any other database client of your choice, DBeaver is also nice utility with graphical user interface.

You can obtain necessary database access information from configuration.php file accessed by ssh/ftp on a web server.

public $dbtype = 'mysqli';
public $host = '<database_hostname>';
public $user = '<database_username>';
public $password = '<database_password>';
public $db = '<database_name>';
public $dbprefix = '<database_prefix>';

If you want to dump/backup a database into local file, use mysqldump5:

mysqldump5 -h <database_hostname> -u <database_username> -p <database_name> > dumpfile.sql

If you want to restore a database from a local file, use mysql5:

mysql5 -h <database_hostname> -u <database_username> -p <database_name> < dumpfile.sql

GoogleNexus

If you happen to brick your Google Nexus device you can always use stock ROM images [1] to revert it to a default and operational state. Package contains not only OS but also bootloader and radio firmware images!

I have bricked my device by installing custom firmware that messed partitions layout inside a Flash Memory. I have seen lots of people having similar problem of endless bootloader-loop. There is no need to send a device to a service when bootloader is operational. All you need is a stock firmware image from Google [1], USB cable, and fastboot utility from Android SDK. If you happen to damage a bootloader, then hardware manipulation at low-level is necessary over JTAG, I can help to recover your device in that case.. no worries :-)

[1] https://developers.google.com/android/nexus/images

There are two easy ways to replace text on-the-fly in Android. This may be required if you want to insert some text/values into displayed text, or construct a data packet of some sort. Both require some code to replace given part of the string.

First is to use HTML/XML tags and then handle them with your own implementation of Html.handleTag(). Unfortunately, String conversion removes the tag in the background, so you need to escape < mark with &lt; in the string resource. This approach is good when you want to put variables inside a string and then process them later in one place using tag handling – that is when you want to have a tag handled at processing time – so you only change tags and one processing routine.

Second is to use Format Strings instead of XML/HTML tags. It seems simpler, faster, and evades hidden conversion problems. getString(resource, ...) works like a well known printf(string, ...). This approach is good when you want to process each string manually at runtime, but strings and variables are hardcoded.

[1] http://stackoverflow.com/questions/7899563/android-converting-between-strings-spannedstrings-and-spannablestrings/34556513#34556513

dualshock4-bluetooth-pair-cederom

There is one simple way I have discovered to pair with Dualshock4 Playstation4 controller using standard Bluetooth Pairing Procedure. Make sure controller is turned off, then press and hold SHARE button, then press and hold PLAYSTATION button until LED starts to blink (two short white blinks every few seconds). You can now discover and enjoy your Dualshock4 controller with any Bluetooth (HID) enabled device. No cables and no additional applications necessary! :-)

Dualshock4 is a really nice high quality and precise controller that can be used in many more interesting applications than only playing games. It is compatible with Bluetooth HID and USB HID standard. It contains 2 analog joysticks, 2 analog sliders, 13 buttons, touch-pad, accelerometer, vibrator, audio speaker with headset port, RGB LED, micro-USB port, and external expansion port..

Unfortunately, lack of self-compatibility seems to be a strong disadvantage of Playstation platform. Not only because PS4 does not run old software. Dualshock4 seems to have different way of handling button events as compared to Dualshock3 (default Playstation3 controller). It has some sort of auto-repeat feature (like PC BIOS keyboard) instead of button change events (like MIDI). This renders Dualshock4 unreliable on Playstation3 platform because of massive control glitches. Also DS4 PS button does not produce system menu on PS3, so you cannot use it as the main controller replacement. Sadly, it is impossible to use DS3 controller on PS4 as well. Hopefully, switching CPU to AMD64 and OS to FreeBSD could bring more self-compatibility to Playstation in future..

It was great fun and pleasure to take part in Telemedicine and eHealth 2015 conference organized by Polish Telemedicine and eHealth Society.

As a member of organizing committee I managed technical/IT part of the conference. After the conference, during the general meeting, I have been re-selected as a Society Board Member.

Next Page »