Epic Bad Luck

Not the quality, but the quantity – the amount of fails happened today and yesterday.

  • The FreeBSD and ZFS on external hard disk is a disaster combination: it likes to break itself. Crashed/kernel panic twice in 18 hours.
  • I got “caught” when infiltrating certain place. Worse, I have to report to certain person about the “incident”.
  • My attempt to renew my driving license turned to be a failure due to my lateness – note that the place I tried is supposed to still open for 6 hours but the form is not available anymore.
  • I forgot to order certain device to enable me doing online banking. The pickup place on the area where I’m currently working is a little bit out of my reach.
  • It turns out my academic transcript in English which I ordered 6 months ago is still not available due to incomplete data I provided. And there I assumed it’s been done months ago.
  • My professor forgot to give certain document I needed (ASAP) to administration dept.
  • And the last one, my printer’s ink ran out and I can’t print document I must print.

Great.

ed2k hash using ruby

I’ve created ed2k hashing implementation using ruby. It’s not too slow and only use core library (openssl).

def file_ed2k(file_name, output_mode = "hash")
  ed2k_block = 9500*1024 #ed2k block size is 9500 KiB
  ed2k_hash = ""
  file = File.open(file_name, 'rb')
  file_size = file.stat.size #while at it, fetch the size of the file
  while (block = file.read(ed2k_block)) do
    ed2k_hash < < OpenSSL::Digest::MD4.digest(block) #hashes are concatenated md4 per block size for ed2k hash
  end
  ed2k_hash << OpenSSL::Digest::MD4.digest("") if file_size % ed2k_block == 0 #on size of modulo block size, append another md4 hash of a blank string
  file.close
  ed2k_hash = OpenSSL::Digest::MD4.hexdigest(ed2k_hash) #finally
  return case output_mode #there are 2 modes, just the has, or complete with link.
    when "hash"
      ed2k_hash
    when "link"
      "ed2k://|file|#{File.basename(file_name)}|#{file_size}|#{ed2k_hash}|"
    end
end

You can then call the file_ed2k method (or whatever you name it) to calculate a file’s ed2k hash. ed2k link generation was created to reduce amount of IO involved when reading the file(s).

ef complete translation by nnl!

Yes it’s out! As mentioned in their website, there are two parts: installer file and data file. Installer file itself is available as DDL linked in their website and its data file is available on torrent and xdcc somewhere.

As I was the one pointed/arranged folks at [Commie] to provide the xdcc, aside the official(?) nnl channel on irchighway, it’s also available on Commie channel at Rizon.

File data (as of released 1 May 2010):

  • installer:
    • filename: ef_Lite_Installer_[nnl].exe
    • filesize: 5737984 bytes (5.74 MB / 5.47 MiB)
    • md5: 04e0304bc2efbc3f298af188f1a4fb46
    • sha256: 4945c1563d743284853f87619a0b5a5a2a8ef2ae602198083ecfd7398afc3703
  • data file:
    • filename: ef_Lite_Data_[nnl].cnd
    • filesize: 2315609468 bytes (2.32 GB / 2.17 GiB)
    • md5: d6a9ab3fc37ec715f8169990514b1e66
    • sha256: 6a20bb48a4787144e0f83ea4ca3ad397aece5380f5c09d9b85d8d9a716468ef6

(information as of today, may become irrelevant after several days/months/years)

XDCC:

[ nnl | Installer | Data file torrent ]

(yes, this post is another experiment to get free traffic, lololol)

(derp, WordPress broke my link. No wonder no one clicked on the torrent)