BioWallet Blog

BioWallet. You are the key.

BioWallet's Beta

Last week we announced our second beta in our newsletter.

Due to high number of people inscribed in this beta, we must close admissions for now.

We're very sorry for those who were unable to register, but don't worry, there will be other betas in future.

Thanks for your patient and support.

BioWallet Team.

BioWallet wins the SeedRocket camp and raises 20000 € in seed capital


Thursday was an important day in the short history of BioWallet. We were chosen between twelve great projects as one of the SeedRocket camp winners.

These days have been really intensive and we have learned a lot from the mentors and other speakers. They all are experienced people who have finally succeeded but sometimes after several attempts, so learning from their mistakes and good moves is very important for us.

They have trusted in our team and idea and will contribute 20000 € in seed capital to develop it. Even more important than this, they will boost the growth of our project with their experience, know-how and contacts.

We want to show our support to the rest of teams, you guys have great ideas… keep pushing them!

Thanks especially to our mentors Román Martín and Carlos Domingo for their help, it has been awesome.

Let the adventure begin!

Thanks to Innoveex

Being entrepreneurs besides software engineers is not easy. Luckily we are receiving a lot of support in the journey to our entrepreneurial adventure, and today we want to talk about one of the more important ones, INNOVEEX.

Last week we received a great help from INNOVEEX, a program promoted by the Extremadura Regional Government: they handed over freely an office for us to carry out our activity.

The mission of the INNOVEEX Innovation Centers is giving support to entrepreneurial projects with a high innovation content, through an incubation process that includes accomodation in equiped offices, advice for the viability and business plan, advice related with patents, trade marks and other legal aspects, search of funding or partners, IT help, meeting rooms, security and other common services. All this to ease the development of the projects and improve the competitivity of the startups.

Thank you very much to the INNOVEEX program and all the people working on it for the support and trust in our project.

And now, some pictures of our new offices:



Outside of the
CCMIJU, where the Innovation Center is located.
Hey! we even have an heliport! So... if you happen to be a rich entrepreneur that only buys companies by an insane amount of money if you can travel in helicopter, then we are your guys ;)



Main hall and reception
And finally our office! We have worked in more luxury places, but now this seems the best place in the world for us!



Yes, it is a bit messy, but it was our first day and we were eager to start working!
Who knows, this could become a famous picture some day. Like
this.




This will look much better after some
Google-style interiorism (ok, ok... we don't have space or budget for a slide, or a table football, or a relaxing bathtub... but maybe a couple of
lava lamps?)

Today is the first day of the rest of our lives

There is no way back, we have done it. After many, many hours developing BioWallet in our spare time, time which we have stolen from our family, friends and ourselves, at last it is our main job.

We have just created a new startup to develop BioWallet and other highly innovative applications.

It hasn't been an easy decision, specially during the economic downturn times we are living, when most of the people settle for a permanent job and we are leaving ours to chase a dream, but we firmly believe we had to do it. We owe it to all of you who have shown your support since the first time you heard about BioWallet and we owe it to ourselves: all this effort and hopes shouldn't finish stored in a hard disk backup.

We are really excited to demonstrate all our potential and we hope you will see significant progress soon. We are sure it's going to be hard but we are going to enjoy a lot making BioWallet and other projects reality.

We will be giving more information soon in new posts (for example the name, if I tell you now I'd have to kill you ;)

Thank you very much the support and interest you have shown until now and we hope we can count on it more than ever in this new stage.

Analyze an Android 1.5 memory dump

A couple of days ago we shown you how to get a memory dump of your Android application and open it in Eclipse MAT. That procedure was valid for versions up to 1.1, but it has slightly changed for the new version 1.5 (a.k.a. cupcake).
  1. First step doesn’t change, we have to make sure /data/misc is writable:
    adb shell
    #su
    #chmod 777 /data/misc
  2. Take note of your application process number using the Eclipse DDMS perspective or with the command ‘ps’ within the emulator/phone shell.

  3. Send a SIGUSR1 signal to the process with the command:
    kill -10 <pid number>
    In 1.5, a new API has been introduced to generate a dump programmatically, the static method dumpHprofData(String fileName) of the Debug class. Example:
    Debug.dumpHprofData("myAppDump.hprof");
  4. In 1.5 only one dump file will be generated (with the pattern heap-dump-tm<timestamp>-pid<myPid>.hprof), so you no longer need to concatenate it with anything.
  5. You still need to pull it from the emulator/phone to your computer and “deandroidize” it with the hprof-conv tool. The good news is this tool is now bundled with the SDK and you don’t need to download or compile it anymore.
    adb pull /data/misc/heap-dump-tm<timestamp>-pid<myPid>.hprof .
    hprof-conv heap-dump-tm<timestamp>-pid<myPid>.hprof myDump.hprof
  6. Now you can open it with your preferred memory analysis tool (ours is MAT!).
mat

Analyze an Android 1.1 memory dump with Eclipse MAT

Note: This procedure is valid for SDK versions up to 1.1. For instructions about how to do it in Android 1.5 take a look at our new post: Analyze an Android 1.5 memory dump.


In this post we will show you how to get a memory dump of your running Android application, convert it to a standard format supported by the conventional tools and open it with Eclipse MAT (Memory Analyzer Tool) to detect memory leaks.

The memory dump is going to be generated on the /data/misc directory so the first step is modifying its permissions to make sure it is writable.

adb shell
#su
#chmod 777 /data/misc

Note: You can do this on the emulator or if you are working with an Android Developer Phone, but you cannot do it if you are working with a T-Mobile G1 (unless you are root, but that's for another post). The ‘su’ command is only needed if you are working with an ADP1 because the adb daemon runs as a regular user.

Next, we should run our application and take note of its process number. It can be found using the DDMS view in Eclipse

processnumber


or if you are a command line guy you can use:



#ps


to list the currently running processes.


We will use this number to send a SIGUSR1 signal to the process. Currently the Dalvik VM will generate a memory dump in response to two signals, SIGQUIT and SIGUSR1.  If you send it a SIGQUIT it will dump the stacks from all running threads; if you send it a SIGUSR1 it will dump the heap profiling data. The most usual way to send the signal to the process is with the kill command:



kill -10 <pid number>

but you can also send it programmatically from inside the application with this code:


android.os.Process.sendSignal(android.os.Process.myPid(), android.os.Process.SIGNAL_USR1);

On a "regular" JVM you could generate a dump in the very moment the first OOM occurs (starting it with the -XX:+HeapDumpOnOutOfMemoryError option), which is very useful, but that feature is not available in Dalvik yet (however, it is on the “to do list” of the Android team).


If everything works OK, you should see something like this on the log:


04-28 13:53:32.418: INFO/dalvikvm(22609): threadid=7: reacting to signal 10
04-28 13:53:32.418: INFO/dalvikvm(22609): SIGUSR1 forcing GC and HPROF dump
04-28 13:53:32.418: INFO/dalvikvm(22609): hprof: dumping VM heap to "/data/misc/heap-dump-tm1240926812-pid22609.hprof".
04-28 13:53:35.682: INFO/dalvikvm(22609): hprof: dumping heap strings to "/data/misc/heap-dump-tm1240926812-pid22609.hprof-head".



Now we can pull the generated files to the computer:



adb pull /data/misc/heap-dump-tm1240926812-pid22609.hprof-head .
adb pull /data/misc/heap-dump-tm1240926812-pid22609.hprof .


And we have to join them in a single file. If you are in a Windows system you could use the ‘type’ command:



C:\...>type heap-dump-tm1240926812-pid22609.hprof-head > android-dump.hprof

C:\...>type heap-dump-tm1240926812-pid22609.hprof >> android-dump.hprof


or ‘cat’ in a Linux system.


The generated dump contains specific information related with the Dalvik VM that are not part of the standard hprof format so the standard tools won’t be able to open it. Luckily, the Android team has released a tool to trim the Dalvik specific records and convert the dump to a standard format. You can find the source code here. Also, if you are using windows you can download a compiled version from here (compiling it for other systems shouldn’t be difficult, ask us if you have any problem).



C:\...>hprof-conv android-dump.hprof standard-dump.hprof


Finally you can open it with your preferred analysis tool (JHat, JProfiler, MAT, etc.). In this post and followings we will be using MAT.


mat


That’s all for now! We will publish more information soon about how to use MAT to detect and solve memory leaks in your application.

BioWallet is a finalist of the BBVA OpenTalent contest!

The list of the 10 finalist projects in the BBVA OpenTalent contest has been announced today and BioWallet is one of them!

This is the list of the selected projects:



Congratulations to the other finalists and good luck to everybody, there are really good ideas amongst all the projects and we are sure many of them will succeed.

Now a new stage opens where the Fundings Committee of the bank will analyze the team behind each finalist project and their ability to execute the idea and make it a reality. The BioWallet team has been invited to present the project and themselves during a meeting next week. Winner will be announced after that so keep following this blog and twitter and we hope we can give you good news soon!

We really want to thank all the people that have supported us with their comments and votes. This wouldn't have been possible without you.







Bookmark and Share

Twitter Updates

    follow me on Twitter