IonKiwi.nl
Posted on 2016-09-11
UNOFFICIAL CM13 & CM14 for Samsung Galaxy S5+ / G901F / kccat6xx

XDA thread:
http://forum.xda-developers.com/galaxy-s5/development/rom-unofficial-cyanogenmod-13-galaxy-s5-t3281502

device tree
https://github.com/IonKiwi/android_device_samsung_kccat6xx
https://github.com/IonKiwi/android_device_samsung_lentislte-common
kernel
https://github.com/IonKiwi/android_kernel_samsung_kccat6

Use at your own risk
Your warranty is now void. Knox 0x1.

md5
bf4de3a54e6d54cc32da07adb7fcad53 *cm-13.0-20161130-UNOFFICIAL-kccat6xx.zip
f1a5fa6e4c0d4590fcb1d16588155362 *cm-14.0-20161130-UNOFFICIAL-kccat6xx.zip
Posted on 2015-01-01
lz4 for .NET, original C sources recompiled for the CLR (/clr:pure)
https://github.com/IonKiwi/lz4.net

Currently supports:
  • non streaming, using managed byte arrays
  • streaming, uses the LZ4 Framing Format (v1.4.1)

Example

non-streamed
  // compress data
  byte[] dataToCompress = ...
  byte[] compressedData = LZ4Helper.Compress(dataToCompress);
  // decompress data
  byte[] decompressedData = LZ4Helper.Decompress(compressedData);


streamed
  // compress data [with content checksum]
  using (LZ4Stream stream = LZ4Stream.CreateCompressor(innerStream, LZ4FrameBlockMode.Linked, LZ4FrameBlockSize.Max64KB, LZ4FrameChecksumMode.Content, -1, false)) {
    // write uncompressed data to the lz4 stream
    // the stream will compress the data and write it to the innerStream
    stream.Write(buffer, 0, buffer.Length); 
  }

  // compress data [with block and content checksum, start a new frame after 100 data blocks]
  using (LZ4Stream stream = LZ4Stream.CreateCompressor(innerStream, LZ4FrameBlockMode.Linked, LZ4FrameBlockSize.Max64KB, LZ4FrameChecksumMode.Block | LZ4FrameChecksumMode.Content, 100, false)) {
    // write uncompressed data to the lz4 stream
    // the stream will compress the data and write it to the innerStream
    stream.Write(buffer, 0, buffer.Length); 
  }

  // decompress data
  using (LZ4Stream stream = LZ4Stream.CreateDecompressor(innerStream, false)) {
    // the lz4 stream will read the compressed data from the innerStream
    // and return the uncompressed data in 'buffer'
    int bytesRead = stream.Read(buffer, 0, buffer.Length)
  }
Posted on 2013-11-19
An extension to automatically continue execution when an exception occurs at a certain point/location.

Breaking when an exception is thrown can be very useful.
You can configure this using the well-known exception dialog:
http://msdn.microsoft.com/en-us/library/d14azbfh(v=vs.120).aspx

exception settings


In some cases though you don’t want to stop every time when an exception is thrown. For instance when ‘Enable Just My Code’ is disabled and you are using some kind of third party library that throws some generic (first chance) exception.

So this extension is for those cases: automatically resume execution when an exception is thrown at a specific location without pressing F5 or pressing continue in the exception dialog/popup.

To configure the extension:
Tools -> Options -> Break on Exception Helper

Add the specific locations to automatically continue execution by specifying:
  • The exception type (namespace + typename)
  • (example: System.ArgumentException)
  • The name of the function that throws the exception
  • (example: TestFirstChance.TestClassB.TestA)
  •  
  • Optionally:
  • The second stack frame number that needs to match
  • The second stack frame function name

Download links below.
Posted on 2012-03-11
Blog will be live soon!
new Blog().Launch()