I am getting e-mails from people asking: What’s up Pike?
Ok. First. Let me apologise for being slow and none responsive, but the thing is that my father-in-law is terminally ill (maybe a week to live) and my wife got some bad news about here own health that I am not willing to share here in public.
In short. I’m a little occupied by other more private matters. I also can’t really sleep very long due to the fact that the contract with the security guards had to be terminated (theft crimes) so for the time being I am doing their job as well. All in all. I’m still here but I am currently busy with other stuff.
Apparently it helps if you work for a large company, because the security guard problems we had here is already solved. And how! We have now drones flying over our property, a police car is driving around and two new armed guards are standing at the gate. I am really glad that they are working this hard, but it took far too long. And what if I hadn’t worked for Google? To me it shouldn’t matter who you work for or how rich you are, but anyway. I can finally get some sleep now. Good night folks!
Angélica’s father died a few minutes ago. Jorge was only 53. I wish there was a cure for cancer. For everyone… but unfortunately this is not the case.
/me AFK for at least a week. Need to be there for my wife and her family. Later.
My new hack will be put together for me today from the following components
- Cooler Master Silencio 452 case (new).
- Gigabyte Z87MX-D3H motherboard (replaced under warranty)
- Intel i7-4790K processor (new).
- Scythe Mugen 3 Rev B processor cooler (reused).
- Samsung 840 EVO 120 GB SSD (new).
- Seagate 1TB Barracuda harddrive (new).
- Apple Broadcom BCM94360CD 802.11ac mini PCI-E WLAN+Bluetooth 4.0 card (new).
The Scythe processor cooler was a gift from someone. Along with two speakers from Berlin. The drives will be setup as a Fusion drive, because I never really used a Fusion drive. The processor may look like overkill, and it normally would have been for what I do with a hack… if I didn’t had to use virtual machines so much.
No. This box won’t be standing next to me, in my house in Spain, but on a remote location. I have to do this to keep out of trouble. Not that I do illegal stuff with it, because trust me when I say I do not, but I cannot have software in my house that may be considered “illegal”. A simple measure to secure my job as a developer. And yeah. I’m glad that some countries in Europe are cool with using a hack, but Spain isn’t one of them ;)
Ehm Pike. There’s no memory and PSU? Right. I’m still like 200 Euro off of it. Had to install central heating before the winter kicks in. Actually. I am waiting – like right now – for someone to approve and certify it, so that we can finally get that stupid insurance policy. Done – after two small modifications and a second test.
My father apparently installed a Corsair AX750 PSU in the remote box, which is still working flawlessly, and thus I will keep using it. True. It is a bit overkill. Very much even, but I am very happy with it.
And I have more good news. Both the PSU and the Intel processor of the box that I had here, have been replaced under warranty. What a surprise. I tell you some parts were literally de-soldered. Blown off of the motherboard.
Too bad that my 4 G.Skill memory modules – worth over 1000 Euro – won’t be replaced under warranty. This is why I ordered two new 8 GB modules yesterday, and they should arrive today. Almost ready to get stuff going again.
Apple did not release the source code of the new LZVN functions, and you may not need it, because you can add the (private) PackageKit.framework to your development project. Here is an example taken from kernelcache.c to show you how it works:
if (compressionType == COMP_TYPE_FASTLIB)
size_t outSize = 0;
void * work_space = malloc(lzvn_encode_work_size());
if (work_space != NULL)
kernelHeader->compressType = OSSwapHostToBigInt32(COMP_TYPE_FASTLIB);
outSize = lzvn_encode(buf + offset, bufsize, (u_int8_t *)CFDataGetBytePtr(prelinkImage), CFDataGetLength(prelinkImage), work_space);
if (outSize != 0)
bufend = buf + offset + outSize;
The call to lzvn_encode_work_size() returns 0×80000 and thus malloc() will allocate a 512 KB buffer (work_space). And this call is used in IOGraphicsFamily.kext
extern "C" size_t lzvn_decode(void * __restrict dst, size_t dst_size, const void * __restrict src, size_t src_size);
In short. You can also use this for kexts that you (plan to) develop. However. It won’t work on Linux and Windows, of course, so you may want to look at my LZVN Github repository where you can find the source code of a command line tool that I wrote to encode (compress) a file.
Disassembled code removed and link to my Github repository added.
Hehe. I tell you. This whole image thing. You know. Me looking for new images in Apple code, was fun, but also time consuming. It all started back in June 2014. After that I found new Apple logo data in boot.efi and some time later new LZVN packed panic dialog image data, which I by the way updated a few days ago.
Guess what. Right. Four more LZVN packed images, and CLUT data, have been discovered and freshly added to the macosxbootloader repository. This way everyone can use it. And without first having to dig deep in files to locate the stupid data. Nope. You won’t have to do that. I already did that for you so have fun with it!
A few weeks ago I e-mailed Tim Cook and asked him when Apple was going to be more transparent with source code releases, and I don’t know if my e-mail helped or not (joke) but anyway, Apple did something new today. Yup. They released the open source bits used in OS X 10.10 Yosemite a bit sooner than usual. It is right there now so we don’t have to wait a couple more months, but don’t go looking for the lzvn_encode() and lzvn_decode() routines. Nope. You won’t find it. It’s not there. Just like we expected, otherwise I would not have spent so much time on it myself. Duh!
I have been sending e-mails with the same kind of requests to Apple reps for years, and most of the time I did not get a reply, but this time I actually got one saying: “We’re working on it“.
I always said not to ask for donations. I know, but after a set of serious hardware failures, I have no other option. It was either this or go off the radar completely.
Why this sudden change?
Well. You may know that my wife, junior and I moved into our new home, but it is still unfinished. For example. We have no central heating and a lot of other stuff need to be finished before the winter kicks in – so that our son won’t have to sleep in a cold bedroom. Expensive stuff. Things that I cannot do myself, because the insurance wants to see invoices from experts. Or they wouldn’t pay out in case of trouble.
We knew that this day would come. Sure. But what I couldn’t foresee is that it would happen at a time when most of my hardware failed. The biggest problem is that we have no insurance, yet, because our home is still sort of a building site (moved in early to get off the rent). I know. It sounds stupid, but that is how it works here. That is also why I am so eager to finish stuff, so that we can prevent future failures like this.
In short. I had to put myself on a tight budget for my projects, and use all of our resources to get stuff done. Now I can only hope that enough people are generous enough to help me. Like I have been trying to do for over two years here. Yeah. I feel shamed. Very much so, but I am standing with my back against a wall and thus I kindly ask you to help me in times of trouble. This way I can try to keep helping people like you. In short. Please consider to
Wow. Just wow! I tell you. I have no words for it. Boy. I received some real nice comments. Some of them even got me a little emotional. Yeah. It is great to read feedback from people who love my work and what I am doing here, and I did not expect anything but what I am reading here is.. in one word fantastic. I don’t know what else to say.
Thank you so much!!!
I am having a bad day right now. Or more like a bad week really. First I had three perfectly functioning monitors but then they failed and now my hack is blown to pieces.
The good news is that I ordered a brand-new UPS and that is functioning properly. Got eight hours long backup time, and then all of the sudden… POOF. It smells like something burned out. Awful.
The first thing that I did was to check the two 8GB G.Skill memory modules on another main board.. but they no longer worked. I am going to ask for a RMA and see what happens.
I also checked the CPU on another motherboard.. no go. This was a loaner from Intel so they won’t be too happy. Sorry guys.
Then I used the PSU on another motherboard – after first having replaced the processor – and now that appears to be broken as well.. along with the memory and CPU on it. Gosh. Why on earth did I do that? Now I have nothing left to work with! You (me) idiot!!!
Guess who is going off the radar.. Yeah right that would be me. I simply cannot afford to replace everything right now. Our
home construction site is eating up all our money. Sorry folks.