Archive for the Category: Uncategorized

Why your app can’t see SD Card on Android Marshmallow

On Android Marshmallow just having the READ_EXTERNAL_STORAGE in your AndroidManifest.xml is not enough anymore to read the SD Card. Your app now needs to explicitly request this permission from the user. This is true even if your app was built with targetSDKVersion well below Marshmallow. This can be fixed in the application by adding the […]

Leave a comment

How to fix USB error on ATTINY85 and V-USB at 16MHz with internal oscillator

When compiling V-USB for attiny85 clocked at 16MHz using PLL (internal oscillator), the device was not recognized with “Device not accepting address” error messages in the kernel log. The problem was that setting clocks in V-USB to 16000 (16MHz) only works with a crystal oscillator. When using internal oscillator, this setting does not work, and […]

Leave a comment

Karaoke Lyrics Editor version 2.2 released

A few minutes ago a new version of Karaoke Lyrics Editor – a free, open-source (GPLv3) software to create and edit Karaoke lyrics in many formats, with optional export to CDG and Video formats. This version introduces several long-requested features, which will help you to make the editing faster.

1 Comment

SDK Design Goal #8: Design for Synergy

This is the last  article in the SDK Design Goal series. Please see the introduction article “How to present the licensed technology the right way?”. You have made your core technology available for licensing. Because you followed the recommendations, your first SDK has been very successful on market. Licensees praised it for its easiness of […]

Leave a comment

SDK Design Goal #7: Design for Troubleshooting

This is a eights article in the SDK Design Goal series. Please see the introduction article “How to present the licensed technology the right way?”. No matter how good your SDK is, and how easy to integrate you made it, some licensees will still encounter issues during the integration. Those issues, ranked by the occurrence […]

Leave a comment

SDK Design Goal #3: Design for Backward Compatibility

This is a fourth article in the SDK Design Goal series. Please see the introduction article “How to present the licensed technology the right way?”. This goal works together with the prior one, Design for Extensibility. Let’s assume your SDK has passed the evaluation, the partner has integrated your product and is shipping. They are […]

Leave a comment

SDK Design Goal #2: Design for Extensibility

This is a third article in the SDK Design Goal series. Please see the introduction article “How to present the licensed technology the right way?”. So if you followed the Design Goal #1 article, your design is good and you assume you got everything needed for quick integration. Your SDK provides all the functionality you […]

Leave a comment

Building a Raspberry Pi-based camera powered by Ethernet

The first built camera was installed in a remote place with no Ethernet connection, so it had to be WiFi-connected. The second camera, however, would replace an existing outdated IP camera, so there was Ethernet connection. Considering this, I decided to power it through Ethernet.

Leave a comment

Reverse-engineering the EMZ karaoke format, or watch out the API calls

Worked on adding support for the EMZ karaoke format to the Karaoke Player application, and would like to share another good reverse-engineering technique. EMZ is a Karaoke format similar to the old Karafun, based on a password-protected ZIP archive. Unlike Karafun, the password is not embedded into the archive, but is derived from a some […]

Also posted in reverse engineering 2 Comments

Generating C or Java byte array from a binary using command-line tools

Once in a while during development a software engineer needs to embed the binary object as byte array in C or Java language. While coding a solution is simple, it could be achieved by the following command line on Linux or cygwin: For unsigned data: od -v -t u1 <binary file> | cut -c9- | […]

Leave a comment