I’ve had some experience recently writing a protocol dissector for Wireshark. The easy and faster way is to write in Lua, whereas for faster dissection you need to write in C. There are bits and pieces of information of how to write a dissector in Lua on the internet. However, there is much less information regarding USB support.
English is an interesting and international language. Non-native speakers probably never stop learning it.
I’ve stumbled upon a few odd words that describe an unnamed thing. Behold:
doohickey: a small object or gadget, esp. one whose name the speaker does not know or cannot recall: a garage filled with electronic parts and other valuable doohickeys.
whatchamacallit: used to refer to a person or thing whose name one cannot recall, does not know, or does not wish to specify: she wanted me to get the whatchamacallit from her bureau.
thingamajig: used to refer to or address a person or thing whose name one has forgotten, does not know, or does not wish to mention: one of those thingamajigs for keeping all the fireplace tools together.
Use these words sparingly. How do you like them?
Hi! Today I’d like to write a small note/reminder about a subtle and unintended threads synchronization “feature” by using a shared object, for instance logger. The example will be in Java, and you can check it out with your favorite language (not to say that Java is mine).
Automated software testing on mobile platforms (iOS and Android) is luckily becoming more and more prevalent. There is a number of frameworks on both platforms for unit testing, integration testing, BDD, and so on.
And here’s a topic I bumped into recently: partial mocks. In a nutshell, you can mock only certain methods of an object, whereas all the other ones are real.
It’s very likely to be the last post this year. And very timely, I want to share a program that I wrote in 2006 in Assembler (aka Assembly) for Windows. It’s a very simple program that display a countdown till the New Year’s Day on the logon/lock screen.
I’ve added the sources to git and published the repo here: https://github.com/pluton8/nyserv.
Update on 2014-02-16: I’ve found a fix for the issue. Run this command in the terminal:
xattr -d com.apple.quarantine filename where
filename is the path to and name of the problem file.
I’ve bumped into an interesting issue on my OS X. The Preview.app couldn’t open PDF files:
X.pdf is damaged and can’t be opened. You should move it to the Trash.
As I have written in a recent post, I migrated an android project to gradle and had to add NDK build steps there. It worked well, until I upgraded the Android Studio to 0.4.0, which triggered an update to gradle 1.9, which triggered an update to 0.7.0. I had a few issues to resolve after that. Read on to know how to resolve them if you’re in the same situation.
Gradle is the new build system for android apps. In the build script you need to specify what SDK and build tools versions to use, and if a new developer or customer doesn’t have that exact version installed, when importing into Android Studio, they’ll hit an error message like
failed to find target android-18. Or that’s the case when a bunch of developers have different versions installed. You probably don’t want to make changes in the
build.gradle file all the time. So I wrote a couple of functions on Groovy to automagically select the latest versions available.
It was long-long time ago. Two years back actually. I wrote an application for the Symbian-based smartphones using Qt 4. Another post on this is here.
What was very unusual was the lack of kinetic scrolling — it’s the thing everyone’s got used to on mobile devices: when you swipe a list, it continues to scroll in that direction for a while. The first solution I’d found was FlickCharm, and the second one showed up some time later: QtScroller. I can’t recollect now what pros and cons each had, but unfortunately neither worked perfectly.
I happen to migrate one of my projects to gradle, as the future build system for Android. The best_project also uses several NDK libraries, so I had to add the proper build steps to the script. However, when I do clean, it often fails with
rm: fts_read: No such file or directory. The fix is below.