KISS

Be Among the 20% of the Best!

Jigsaw Puzzle Animation

| comments

I love interesting games and puzzles. Among them are jigsaw puzzles. The biggest one I’ve assembled so far consists of 3000 pieces. Under the cut is my stop-motion animation of the assembly process. Note: the file is 1.5 MB!

Global Dynamic Log Level in CocoaLumberjack

| comments

I use CocoaLumberjack for logging in one of the projects. Now the client wants the ability to change the log level at runtime in Settings. The official article (https://github.com/robbiehanson/CocoaLumberjack/wiki/DynamicLogLevels) suggests a simple solution: remove the const modifier from the definition of ddLogLevel, so you change it in runtime. However, if this var is defined in the shared precompiled header (project.pch file), every source code file gets its own copy.

Yes. It Runs With NetWare

| comments

Hello there! This week, I found a small booklet with the “Yes. It runs with NetWare” on the cover, and wanted to share the piece of oldies with you:

Have a good time!

Podfile’s Post_install Hook Example

| comments

You know this truth: frameworks are great and easy when your tasks are completely covered by its functionality, but the moment you need to do something out-of-box there are going to be issues there.

CocoaPods is a great tool to manage the dependencies of iOS/OS X projects, here are my posts about it: installing, usage1, usage2, some thoughts, and notes. It’s been working fine in my project, and when one time I updated the Pods project, it brought the updated version of JSONKit 1.5pre.

fixtags.py and gPodder 3

| comments

It’s been two years since I wrote my blog post about my solution how to properly tag podcasts to listen on Sandisk Sansa Clip+ players. I used to use gPodder 2 on Linux all that time, and now I switched to the latest gPodder 3 on OS X. gPodder 3 replaced cmd_download_complete option with extensions, and thus I had to adopt the script for the new version.

Makefile to Minify JS & CSS

| comments

If an iOS project contains some HTML/JS/CSS files in the package, it makes sense to minify/obfuscate them in the final .ipa file, which somewhat hinders the reverse engineering and probably decreases loading time. What follows in my solution to that point.

Time Machine-like Backups in Linux

| comments

You know, Apple’s OS X has a number of cool features, and they also create amazing hardware. One of the useful features is Time Machine, a user-friendly and easy way to backup and restore your whole system, nicely integrated into the operating system. And what’s more compelling is that it doesn’t create the whole copy of all the data for each backup, but rather copies only changed files while keeping hard links to the old version for non-changed files. It’s an effective solution for incremental backups.

However, if you’re using Linux, how to setup a similar system?

Issues With pygments.rb in Arch Linux

| comments

I’ve had bad luck with ruby stuff; once in a while, something in my setup for Octopress breaks and I can’t build this blog. For example, this time I had issues with pygments.rb package, which provides colorizing for source code blocks.

Updated on 2013-04-28: I’m lucky enough to have had this issue not only in Arch Linux, but on OS X as well (after all, cross-platform tools tend to have the same cross-platform issues, right?). The latest pygments.rb-0.5.0 is still the same.

Ruby-build: Gvwrite_no_z Problem

| comments

After a recent update, my Arch Linux has upgraded Ruby from 1.9 to 2.0. Consequently, I couldn’t use Octopress, my blog generator, because the old installed modules related to the old version. This time, instead of installing the modules to the system (/usr/lib/ruby/gems/1.9.1/gems/), I decided to use rbenv.

After installing it from AUR, that’s just one command:

1
$ rbenv install -v 1.9.3-p194

It failed with this excerpt from the logs:

1
2
3
4
5
6
7
8
9
10
11
Generating dot graphs using 3 parallel threads...
Running dot for graph 1/488
Running dot for graph 2/488
Running dot for graph 3/488
Error: gvwrite_no_z problem 8192
Problems running dot: exit code=1, command='dot', arguments='"/tmp/ruby-build.20130326233142.29548/ruby-1.9.3-p194/doc/capi/html/d8/d41/array_8c__incl.dot" -Tpng -o "/tmp/ruby-build.20130326233142.29548/ruby-1.9.3-p194/doc/capi/html/d8/d41/array_8c__incl.png"'
Running dot for graph 4/488
Running dot for graph 5/488
Running dot for graph 6/488
Error: gvwrite_no_z problem 8192
Problems running dot: exit code=1, command='dot', arguments='"/tmp/ruby-build.20130326233142.29548/ruby-1.9.3-p194/doc/capi/html/d6/d08/atomic_8h__dep__incl.dot" -Tpng -o "/tmp/ruby-build.20130326233142.29548/ruby-1.9.3-p194/doc/capi/html/d6/d08/atomic_8h__dep__incl.png"'

Searching on the internets didn’t find anything. After a while, I found out that the virtual partition with the /tmp/ directory, where the build was happening, ran out of space. To fix this, I had to move the build directory to another directory:

1
export RBENV_BUILD_ROOT=/tmp2

Then, the build and installation are done.