Tuesday, December 16, 2014

Increase limit of open files / IO in ruby

Get [current, maximum] value pair:
Process.getrlimit(:NOFILE)[1]
Set limit:
number = 1000
Process.setrlimit(:NOFILE, number)

Sunday, December 14, 2014

The operation can’t be completed because one or more required items can’t be found. (Error code -43)

In my case this error appear after some operations with File Vault when I tried to delete any file/folder using finder. Go to Disk utility. Select main drive (or wherever the error appear). There should be 2 active buttons. Use 'Verify Disk' and 'Repair disk'.

Tuesday, December 2, 2014

Unpack .dz file. read *.dict.dz, *.dict

.dz is just .bz file. It is Stardict dictionary data file. And inside it is XML file (looks like). To unpack run:
gunzip filename.dict.dz -S .dz
For ruby You could read it using GZip reader and process as xml using nokogiri.
require 'nokogiri'
require 'zlib'
include Zlib
data = GzipReader.open("dict.dict.dz"){|f|f.read}
doc = Nokogiri::XML(data)
p doc.xpath("k")[0].content