Developer Spotlight: A One On One With Invisiblek

Welcome to our first Developer Spotlight, a short Q & A with community staff. This is our way of taking a moment to recognize the many talented developers who contribute to one of the largest community driven open source projects around.

Dan Pasanen, also known as invisiblek, is a device maintainer inside of the CyanogenMod community. He has been a core contributor to the project since 2012 with nearly 1900 contributions. Dan is currently keeping himself busy maintaining multiple devices for CM, fixing device specific and CM-wide bugs. His current daily driver is a Verizon G3.

You are well known for your work on a wide array of LG, HTC and Samsung devices and even did some work for the HP Touchpad. Out of every device you have worked on, which device would you say was the most fun and the absolute worst to work on? 

I’m not sure I can pick one device that I love or hate more than any other. They’re all a bit of a challenge; every OEM does some weird things. I’d say the HTC Incredible was probably the most enjoyable though, that’s when I started out with Android and just general hacking around in open source.

Development on some of these devices can be extremely difficult, especially if there is a lack of documentation. What would you be the most difficult part of development on today’s devices?

I don’t know that there’s ever really much for documentation on any device. Most of the time looking at a similar device is about as much documentation as you can get. I’d say the most difficult part of working on devices today is dealing with all the little quirks that OEMs tend to do. LG G3’s camera was a good example of this. That one took a while to get sorted out.

What exactly made the G3 camera different from other devices?

 They messed with a header that is shared between the camera HAL (which is a proprietary lib we use from LG’s ROM in CM) and the framework’s camera client/server which we build from source in CM. They had added a new member to the camera_device_ops struct. Normally this wouldn’t cause an issue if they had added it to the end of the struct, but adding it to the beginning threw off the alignment between our source-build libraries and the proprietary HAL from LG. Even reverse-engineering the libraries didn’t make it apparent what the problem was. We were lucky enough to have some logging that showed a few numbers that didn’t line up between CM and the stock LG ROM and a little trial and error got us a preview image.


That line is some unknown LG stuff that just needs to be shoved in there to make things align.

There are a lot of aspiring developers out there looking to get into this line of work or maybe just as a hobby, what advice or tips would you give them today? Is there a language you would recommend learning before another?

Java and C++ are good languages if you’re just starting off learning to code. If you’re starting out with hacking around on a device, I recommend building a custom kernel and hacking around on that for awhile.

Sometimes working with nasty bugs you can start to feel metronomic and repetitive during development. What would you say helps you stay motivated during times like this?

Tough question, I suppose I’m motivated by the addiction to tweaking out any piece of hardware I can get my hands on. Stock is never good enough. =)

Coffee or Beer?

Both are equally important. Coffee to cure the head cramps from the beer the night before. Beer to unwind after a morning of drinking coffee.

Now that’s synergy.

Do you have any upcoming projects that you are excited about?

Not especially.

Fill in the blank. Bacon and _______.

Moar bacon.

Enough about the technical stuff, from Android’s inception to today’s date, which device is your most and which one would you say is your least favorite?

The HTC Droid DNA is probably my favorite device. Insanely underrated and quite powerful for its age. I wouldn’t say I have a least favorite device, I hate love them all the same.

Between work and life in general, what do you do with your free time? I noticed you recently purchased an 80’s Trac Moped, are you as diversified with a wrench as you are a keyboard?

Most of my free time, when I’m not working on anything Android-related, is spent outdoors hunting, fishing, and snowmobiling. I wouldn’t say I’m all that great working in the garage, but I know enough to get by.

Who was your role model you looked up to when you started coding?

Another tough one, there were many. Koush, cyanogen and toastcfh seem to stick out.

Is there anything you would like to say to the community before we end our chat?

Don’t feel overwhelmed and if you want to start out building and hacking, pick a device that’s at least relatively supported and learn from it.

You can follow Dan on his personal social media 

twitter_social_64 copy  64_google plus  github_social_64
  • Jonathan Coetzee

    Off topic but how about Sable/Snapshot CM12? I know it’s free and you guys don’t owe us anything but “2 weeks” was over a month ago. At least tell us what’s up… I can’t help but feel this is has something to do with Microsoft’s recent investment into CM. If it is, that sucks….

  • Akki

    Good question!!!

  • Jordan VanCampen

    Really man?

  • GP

    Try getting more devices to cm12.1. The wait is getting pretty long for my g2 D802

  • Jonathan Yeboah

    yeah like you said i don’t think most of us are trying to be demanding buttholes, kinda just wanna know what’s going on. People just wanna know whats going on
    Like a “hey guys we ran into these problems, xxyy and so its delaying things sorry” or even if its something like “we are putting a pause on the stable build for a bit until we get to a certain nightly date” w/e it may be, people just want to know how things are going so far

  • Eliot

    Everyone needs to stop with this. Microsoft has NO AFFILIATION with Cyanogenmod. There will be NO Microsoft apps preinstalled in Cyanogenmod. They are ONLY invested in Cyanogen, Inc. Read the post on this blog please.

  • js290

    dlx is a pretty nice platform.

  • Algus

    Roll out CM 12.1 M1 please.

    I’m not a pro coder and don’t know which nightly has known bugs squished and is free from experimental untested features as well…

    More or less stable monthly builds were a good idea IMO, why are they gone?

  • Rod Fergusson

    i just talked to the dev for the moto x 2014 it will be late 2016 before we see another stable build

  • baidutieba

    Try getting more devices to cm12.1. The wait is getting pretty long for my g2 D802

  • baidutieba


  • baidutieba


  • baidutieba


  • baidutieba


  • baidutieba


  • dtm

    learn it.

  • baidutieba


  • baidutieba


  • baidutieba


  • Casey

    I donated the DNA to invisblek! It was great to get cm on it, and I definitely agree with his answer.

  • zhihong guo


  • baidutieba


  • lolwut

    “Microsoft has NO AFFILIATION with Cyanogenmod”

    Two sentences later

    “They are ONLY invested in Cyanogen, Inc.”

    You’re either naïve, stupid or both. You can’t make an investment in something and have no affiliation. It doesn’t work like that.

    If someone gave you millions of dollars for a project you were working on, would you claim you have no affiliation after the check clears?

  • Eliot

    You do realize the difference in CyanogenMOD and Cyanogen INC.? Both are separate entities. Chill the fuck out.

  • Sester

    Separate entities. Maybe you shouldn’t be throwing around the word naive.

  • Michael Bradt

    I feel like the nightlies are stable enough for everyday use. I haven’t had any weird issues since a couple of weeks after they pushed the first cm12 nightly (battery drain issue).
    Using Nexus 5.

  • Algus

    One of recent nightlies on OnePlus One broke proximity sensor (screen active during calls leading to unpredicted input). It was fixed the next day. Also optimization of wi-fi which went wrong on several devices (reboots, disconnects) and was rolled back for further development. Just a couple examples from last week.

    All these changes are fine and I’m happy to have them implemented, all I ask for is a nightly without new untested stuff added for couple of days to verify that all works well. Once in a month or two.

  • Michael Bradt

    Install a week old nightly. That’s basically what the M releases were.

  • SlowMod

    Where’s CM 12 for N7100

  • baidutieba


  • Algus

    Week old nightly with possible bugs that were fixed last week? I think M releases were like week old nightlies with only bugfix commits within the last week. Don’t know why they stopped making them. I am quite happy with current functions of 12.1, just a week of squishing known and searching for new bugs and that’s it for a stable M release.