How to prevent Windows 7 from going to sleep

If you run Windows 7 and your computer is owned by your employer, there may be some settings you don’t have control over. This is because corporate IT departments use Group Policy Manager to ensure that settings are compatible with their security policies.

I have no issue with a company wanting to secure access to corporate data and infrastructure. What I take exception to is the rigid, one-size-fits-all approach that most IT departments use in managing computers. Engineers and accountants have different job roles, so it’s not reasonable to expect that their computers should be configured the same way.

Yet, that’s exactly what happens.

One of the more annoying settings is the one where a computer puts up the screen saver and locks out the user after a certain period of time. There are plenty of reasons why a user might be idle with their laptop open in front of them. Such as showing a slide show, having a Q&A session, listening to someone in a meeting instead of looking at Facebook, etc. Just because I’m not twiddling the mouse doesn’t mean I am away from the desk.

I did some research and came across this useful post on StackOverflow. One of the solutions mentions to use Windows Media Player or VLC. If either of these programs is playing video, the screensaver won’t start and the user isn’t locked out. So, if you play a video on a loop, you can keep the screen on while not moving the mouse.

To test this, I created a 5 minute video at the smallest size I could that consists only of a black screen with no audio track. Then I created batch files to start the video with VLC and Windows Media Player. They all seem to work.

These files are AVAILABLE FOR DOWNLOAD HERE. The batch files use hard-coded paths to the .exe, so if your programs are installed elsewhere, you’ll need to edit the batch files. VLC seems to work reliably, but Windows Media Player may require you to manually press the Play button. I put a shortcut to the VLC batch file on my desktop and I trigger it when I’m moving back and forth between my PC and my Mac.

There are some drawbacks to this approach. Namely, that it truly does not go to sleep. The CPU continues to run and will not go into energy saving mode. Also, the video window has to be visible and can’t be minimized. It doesn’t have to be the most forward window, but it can’t be minimized. This is why I made the video dimensions as small as I could. Finally, be aware that some companies may find this to be a breach of their Corporate Computing Standards as it is subverting an established IT policy. Don’t blame me if you get in trouble for using this information.

Good luck and enjoy.

Eric

TODO: find a usable task workflow

Following through with a task that is not in front of me is (sadly) not one of my stronger characteristics. My OCD tendency allows me to focus on important things and deliver, but time-slicing on a variety of tasks has always been a challenge. This is where I need a tool to augment my deficiency. In the past, I relied on my Palm and before that a DayPlanner. But I’m not good at following through with analog systems, so the notebook I carry is mostly for catching information at the point of origin.

I’ve been struggling to find a good mobile task management workflow for several years. I’ll try one out for a while, but when it fails in a particular environment, I push it to the back of the stack. I need something that will work in the mixed device world we live in. Outlook, Gmail/Google Apps, Android, iDevice, etc. It should allow me to handle personal tasks as well as work tasks and integrate with the native UX.

I want that TODO window up-front and open on my side monitor, telling me what to do. Oh, and it has to look good doing it. Any solution that falls off the radar and let’s me get lost learning about the Capetian Dynasty or Changbai Mountain isn’t helping. (A little ADD to go with the OCD–oh look, ponies!)

I’ve tried

The Outlook task feature is good enough in that environment, but it is too tightly integrated into their solution and doesn’t work well on my Android devices. Conversely, the lack of desktop support kills device-based solutions, such as ASTRID and Tasks N ToDos Pro. The todo.txt solution does not interest me as I want this to be a web-based solution and not require me to manage a file somewhere.

So I keep searching…

I’m giving Todoist a trial this month. Todoist is a SaaS that has nice integrations, including Google Apps, Outlook, and mobile. For an individual, it’s $4/month or $40/year. The Outlook integration could stand to be a bit stronger, but it’s usable. You can work in their web UI, their Outlook panel, etc. Calendars appear integrated as any other (webcal) in the Outlook and Google calendar views. It can send alarms and the itinerary view gives me a good “at a glance” understanding of where I need to focus. I hope it can succeed where others have failed.

Just curious if you’ve tried anything more than what’s available in Outlook or your lined composition book.

How I use LinkedIn

TL;DR

If you find someone in my LinkedIn connections and you’re curious if you should try to hire them, chances are you should. They might be a rotten S.O.B., but they probably know what they are doing.

To Make a Short Story Long

The job I have today came from LinkedIn. That is a first for me. I get monthly requests from recruiters, but usually I decline their offers. I’m the kind of person who wants to make my job work and not go looking around for what’s better. Regardless, I think it’s a good service and I maintain my contacts on a regular basis. I get a lot of requests from colleagues I’ve never worked alongside and people I’ve never met. I decline those invitations.

Aside from a dozen or so recruiters, I have close personal knowledge of all my LinkedIn connections. A few were classmates and a couple are family members, but nearly all were either co-workers or people I worked with in open-source. This doesn’t mean I’m friends with all my connections–one of my connections was a nasty office-politicker. Another worked in a department that made my job a lot harder than I wanted it to be. I wouldn’t want to work with either again, but they did their job well and that is matters the most on LinkedIn.

It’s not Facebook. It’s not about being popular. It’s a professional network and a reflection of the way you work. At least that’s how I choose to treat it.

Wait a minute, you have David Pogue in your connections…

In 1998 I helped David write one of his first technical books. This was when he was an occasional columnist for the NY Times and a conductor in New England. Even though we never met face-to-face, we collaborated on the phone and through the mail. I delivered my work, he wrote me a check, and the book went on to be one of his first of many successes at O’Reilly. I would gladly work with him again.

Brother, Can You Spare an Endorsement?

I generally avoid recommendations on LinkedIn–being a connection is an implicit endorsement. I don’t think there’s anything special about being connected to me–I’m just a person who does a job and tries to do it well. I’m being honest in explaining my methods in an effort to be transparent.

I said I generally avoid recommendations, but I do write them. After the last round of layoffs at Motorola, I felt compelled to write recommendations for my co-workers and those that reported to me. We had a lot of smart people and the way the division was shut down was disheartening. I hoped my words would help someone avoid the stigma of being the person laid off, because we were all laid off. It wasn’t the bottom 5% getting trimmed, it was 95% of the division. I did the same for my team in Brazil even though they were contractors. Despite the miles, I felt closer to most of them than the people I see on a regular basis. They did such an incredible job for nearly 5 years–I felt they deserved to be recognized for their great work. I forced myself to think of each of them and write my true feelings, fighting back tears at times.

As for myself, I’ve never requested a recommendation. If someone has written something about me, it was unsolicited, although appreciated.

I’m not disparaging someone who builds a huge network with lots of contacts or even those whom solicit recommendations. I’m just saying that isn’t the way I use the service. If you come here from LinkedIn and you’ve read all this, I hope it helped you make a decision. If you’re still not sure about one of my connections, feel free to send an email through LinkedIn and I’ll tell you what I think.

In defense of Bug 300500

Today I remembered one of the most important bugs in the Eclipse Foundation’s bugzilla database–Bug 300500. It pops up every year, it seems. My friend and (now) colleague, Lynn Gayowski, worked very hard to get the bug created and to drive its’ acceptance. It’s an important enough bug to merit official notice by the official EclipseCon twitter stream.

In 2010, the Foundation printed badge tags for EclipseCon attendees to bring the issue to light.

via anniejay on flickr

via anniejay on flickr

However, not everyone is convinced. Ian Skerrett, the Eclipse Foundations’ VP of Marketing, isn’t quite convinced that the bug is important.

If you run a Google search on the term “300500”, you see that the Eclipse bug is the second highest result for that number. Contrary to Ian’s belief, people do feel it’s important. Granted, 300500 is a pretty random number so it’s not surprising that it’s visible in the list of search results. But…

We can do better.

As important as 300500 is to a lot of Eclipse people, why aren’t we talking about it more? Why aren’t we driving its PageRank higher? If Eclipse committers and EclipseCon attendees are passionate about the way things operate in Open projects, they should be discussing this bug openly and frequently. Both at the Foundations’ sites and away from it.

I’m starting the charge.

EclipseCon 2013 is coming up. It’s only 2 months until people start showing up in Boston. I challenge each and every one of you. Those of you who commit or contribute, to talk about 300500 in some useful way. Get the word out, make it #1.

I hope to see you in Boston, where we can work on solving this bug as a community.

Eric
(Former Sequoyah project lead, current Mobile package maintainer)

Removing Apps from Your Google Play Library

Do you have more than two different Android devices?

Have you been using an Android device for more than 3 years?

Do you develop or test Android applications for your employer, websites, or your own enjoyment?

Did you answer yes to any or all of those questions? If so, then probably like me you have hundreds of apps in your Google Play library. And if you do have hundreds of apps in your library, you probably noticed that you can’t get rid of them.

And that’s a serious pain. Working for Motorola the last 4 1/2 years, I was reinstalling the device software on my primary phone or tablet at least once a month. I was also testing a new phone, tablet, or accessory about once every 3 months. Every time I did that I had to install all my favorite apps, register software and get everything right again. Sometimes I would forget about my favorite app from 2009 for weeks or months at a time because it was buried in the bottom of the Google Play library.

The Google Play web store is a great convenience and I appreciate it for being there, but I don’t know why they arbitrarily chose to limit the number of apps displayed to 20 pages of 12 apps. This means I can only see 240 apps TOTAL. And it’s not 240 of my choosing, it’s 240 alphabetically (more or less). I could still keep and install those other apps, but I had to remember them by name.

As I was installing my Galaxy Nexus last week, the 240th app began with the letter G. If you extrapolate that, it comes to something around 800 apps. Most of them I don’t care about or use any more. Many of them I don’t even recall using even once, but there’s a lot of water that’s gone under the bridge since the first DROID came out and I’ve tested a lot of phones and apps.

A Welcome Change

Now I (and you) can do something about that nasty app library. All you need is an Android device running Android 4.0 (Ice Cream Sandwich) or 4.1 (Jelly Bean). This is not available on older versions of Android (that I’m aware of) and it’s not available on the web store (yet). This has been reported on the Android Police web site and there were hacks, but I’m writing this here for friends and family who need a concise set of steps without wading through all the hacker stuff.

BTW, If you don’t have an Android 4.x device and you still want to do this, consider borrowing one long enough to go through the steps. You can start with a fresh device, go through the steps, then delete everything with Settings>Privacy>Factory Data Reset when you’re done.

OK, let’s get started…

  • Go to Google Play on the Android Device and select Apps.
  • Along the top is a button that signifies My Apps. It’s highlighted in this screenshot with the red rectangle.
  • You will be in your library of apps. If you are looking at your list of Installed apps, flick to the left to get to the list of All apps.
  • Locate an app that you want to remove from your library. Even though it might seem obvious (or not) this can’t be an app that you currently have installed on the device you are using. Here is where a bit of trickery comes in. You may have to practice this a time or two to get it right. Don’t worry, if you screw this up, all that happens is the app is taken out of your library but you really don’t lose anything. If you want the app back, just download it from Google Play again.
  • Press and hold the app you want to remove from the library for about a second. You will see the action bar at the top change slightly and the app is now highlighted as shown below. In fact, you can even tap another app on the screen for multiple selections. Even better, you can swipe up and down to scroll and select dozens of apps. But let’s start small at first.
  • The action bar has the word “Done” in the upper left and a circle with a slash through it in the upper right. If you click the “Done” button, nothing happens. If you click the button with the circle with the slash, you will see the word “Remove” appear”.
  • Now you will be presented with a dialog box to confirm the removal. If you choose to remove the apps, the process takes only a few moments, depending on your connection speed.
  • Repeat as often as needed. You will notice the library shrinking and the client gets noticeably more responsive as you remove apps.
  • When you are satisfied with your work, occasionally go over to the web version of Google Play and refresh your library. You will also notice the rearrangement of the apps in there as well.

Right now, I couldn’t be more pleased with this development. I’m down to around 220 apps in my library and I have a few more I can trim out if I decide to add some more in the future. I hope Google decides to give us a better way to manage the library on the web, but for now I’m happy with what I have.

I’m heading to the Big Android BBQ in Texas tomorrow and looking forward to seeing all the freaks there. This will be my third time there, but this will be my first time there as a “free man”.

-E

Goodbye Moto, Hello World

It’s official, today is my last day at Motorola. The last (almost) 5 years have been a roller coaster, but it’s time to step off. I have a new job that starts Monday and I’m excited to be doing something new.

I was originally hired to create tools and manage APIs for an in-house version of Linux that was to replace the ancient OS that was on the original RAZR, ROKR, et. al. We were days away from shipping that phone when the new CEO, Sanjay Jha, announced that Moto was going all-in on Android. For the last 4 years, my team and I had been making Android tools, working on open-source projects, doing presentations, and supporting developers.

There was always some question about why Motorola did that when Google had their own developer organization. The truth was, we did it because we could. We had talented staff, we had budget, and we had the support of our CEO. He knew that the secret to success for Android was a healthy developer ecosystem with tons of great apps. So we went out and supported the community as best we could.

Along the way, I …

  • … met lots of great people. Motorola has a lot of great people. They also have a lot of people who would be at home in the US government.
  • … avoided learning Six Sigma
  • … traveled to Brazil 3 times to hang out with my team. I developed a taste for cachaça, especially the good stuff. I have an appreciation for many things Brazilian and can even understand some things written in Portuguese.
  • … visited Beijing during the coldest week on record
  • … tried to convince The Powers That Be at Motorola that unlocked bootloaders are not Bad Things
  • … smoked a Cuban cigar at 3 a.m. outside La Recoleta cemetery in Buenos Aires. It tasted like every other cigar I’ve ever smoked (bad). This was moments before a drunken collision with my boss’ boss that had both of us sprawling on the cobblestones. I was black and blue for a month after that.
  • … visited Mexico City, Las Vegas, Los Angeles, Montreal, Toronto, San Diego, and Washington DC. All interesting in different ways.
  • … visited the San Francisco Bay area entirely too many times
  • … always missed out on Eclipse Summit Europe but it wasn’t for lack of trying
  • … evangelized Eclipse and open source both inside and outside of Motorola
  • … spent several birthdays away from home because October is conference season
  • … racked up air miles on United that I may use some day
  • … accepted an industry award for my teams’ efforts that I’m quite proud of

The acquisition by Google pretty well brought MOTODEV to an end. I’m not bitter about it–not in the least. We always wanted to open-source the work that my team created but Motorola’s bureaucracy prevented us from doing that. The first thing that happened when Google took over was to create a plan to move all our tools into the Android Open Source Project. The code is there now and anyone who wants to use or improve it can get at it.

The MOTODEV organization itself was gutted in the August layoffs. Most of the people have said their goodbyes elsewhere. There are some people left doing other things. The website is still around, but it’s not being improved. I was laid off in August along with my co-workers, but I was asked to stick around to make sure transition was smooth. The last year was very stressful, so I was relieved when the layoff call came. The severance package is generous. At least on paper. If it all hits my bank account I will have nothing but happy memories of the last 5 years and best of wishes for those that remain behind.

The new job is a company called Klocwork that is based in Ottawa, Ontario. I’ll be traveling a lot and I’ll make use of my passport, NEXUS card, and Global Entry. They create software tools for embedded and desktop developers and they match up nicely with my skills. If you are a developer, there’s a good chance you’ve heard of them. I will still be working on Android and dabbling in tools. I will also be doing some Eclipse work as an individual contributor on the Eclipse for Mobile Developers package. The HR manager at Klocwork said they have 4 policies, one of which is “don’t be stupid”. I think I will enjoy that.

Even though it’s raining outside, I can see a ray of sunlight peeking through the clouds. It’s going to be alright.

Telecommuting and how the Web has altered our ability to think

I realized this week that I’ve telecommuted for over half my adult professional life. Once in the early 90’s, and now since 1999. There was a short on-site stint in a Regus facility in 2000 when the Palm Austin Office got to be about 8 people, but even then I worked from home a couple days a week.

Where my commuting brethren have one set of patterns, I have a different set. That morning commute is certainly a pain, but it provides a useful buffer between “stuff at home” and “stuff at work”. Even though you may be listening to a podcast while you drive or doing cross-stitch on the train, your mind is transitioning from one place to the other.

The 20 meter walk from our house to my “barn” is insufficient. So I build in some time in my morning routine to mimic the transition of the daily grind. After the kids leave for school, I read the news on my laptop, tablet or smartphone using Google Reader. I subscribe to a couple dozen industry newsletters, local news, the BBC, and some fun stuff. In all it takes 20-30 minutes to sift through the articles, read a few, and have a cup or two of coffee. Then I’m ready to process the overnight email and start working.

Among the fun stuff are cartoons. Dilbert is required reading for anyone in the industry, and XKCD is loved by everyone who has a math or science background. One that I enjoy for purely aesthetic reasons is Laugh-Out-Loud Cats. Yes, LOLCats. It’s not silly captions on cat photos, but a hand drawn single-panel comic involving two cats. The bigger cat, Kitteh, is a cigar-smoking vagrant with a penchant for thievery. The smaller cat, Pip, is full of energy and curiosity. The strip rarely causes a belly laugh, but Pip’s antics makes me smile. The creator, ApeLad, does a great job with his work and is a frequent contributor to the shirt.woot e-commerce site.

The strip today had me confused and then it annoyed me. Here it is…

When I first looked at the strip, all I could see were the two empty squares. I thought “How lazy of him to not check that his fonts were missing characters“. Then it annoyed me that I couldn’t get the punchline. “What 2 two-letter words end with Y and N that would make this caption funny?”

In years of browsing the web, I’ve become accustomed to seeing those square boxes and trying to figure out what the words are. My brain recognized the pattern and was filtering the square boxes out. I had to go back and look carefully at the image to see it was a checklist with Yes and No answers. You see this because I’ve brought it up, but would you have caught it the first time?

The Web is an amazing collection of technology and I’m ecstatic to help shape it. I try to explain to my children that this all didn’t exist 15 years ago and we used to do all this stuff by driving to shopping malls or pouring through massive reference books. This evolution in our social DNA isn’t merely being passed on through our genes, but like a virus it’s altering the original host with these new patterns.

Not always for the better, but definitely interesting.

How NewEgg lost my order

NewEgg.com is one of my favorite online retailers. If I need a piece of computer equipment or electronics, I always start with them. Their prices are about as low as you can find on the Internet and the shopping experience of their site works for me. I’ve bought laptops, hard drives, even a 47″ LCD TV. The only time I’ve needed to do a return with them, the process was painless. They’ve earned their place as a top retailer and I’m happy to do business with them.

Today they lost my business. Not forever, but for today they did.

If you shop with NewEgg and sign up for their mailing lists, you get almost daily emails with new specials. Most days I ignore them and send them to the trash, but some days I look. Like today.

I’m ready to build a new PC for development and as a server. My old tower is on its last legs and now is a good time for me to make this purchase. I’ve done my research this week, selected the components I want, and stored them in a NewEgg wishlist.

This morning, with coffee and credit card in hand, I was ready to purchase. Out of a whim, I looked at the weekend specials email from NewEgg. There were some small things I could use for my new PC, but the thing that caught my eye was this banner.

NewEgg promotion

I clicked on the banner that brought me to a list of about 10 motherboards. The motherboard I had in my wishlist was on this list. I thought, “great, I can use another 8GB of memory to go with the 16GB I already have bought”. I started looking for how to redeem the special. I tried adding the motherboard from the list, but that didn’t seem to add the memory to my shopping cart. I looked for the special promo codes that they are fond of using, but there didn’t seem to be any.

I contacted the NewEgg sales support team through their chat interface. I got in touch with a rep named ‘Kane’ and explained the issue. After a few minutes, Kane came back and said that was a limited time offer and while supplies lasted. I wasn’t going to argue with a faceless person over a web chat, so I said thank you and closed the window.

I looked at the ad again for the words “limited time” or “while supplies last”. I didn’t see that anywhere in the banner or the page that it linked to. At this point, I was a bit annoyed. I had everything in my cart, ready to buy, but that bit of annoyance was enough for me not to press “purchase”. Granted, 8GB of RAM isn’t a big thing and not worth storming off over, but it was enough for me to stop and go and refill my coffee cup.

When I sat back down, I wondered if Amazon had those parts in stock. 20 minutes later, I had my cart filled. Of the 11 items I had in NewEgg’s cart, 8 of them were in stock at Amazon within a few dollars either way. The 3 remaining items I was able to find nearly identical parts within a few dollars. I dropped down a bit on my video card, but I went up on my processor. When I was done, my Amazon shopping cart was $30 less than the NewEgg total AND every item was on Amazon Prime.

Amazon Prime really is the kicker to this. It’s changed the way we shop for lots of things. We first subscribed to this as a whim about 2 years ago. Since then, if there’s something we need and we know we won’t be in OKC for a week, we get it on Amazon. Not just electronics, but also things like school supplies, clothing, and over-the-counter medicine. For $79 per year, it more than makes up for itself with the 2 day shipping. That I can watch old episodes of TV shows is just a bonus. For the record, NewEgg has a similar feature called ShopRunner, but for the same price, the benefits aren’t even close.

I will still go to NewEgg for electronics. I like their site and I feel like I can trust the reviews on their site better, but I will always consider Amazon as an option. I’m sorry to admit this, but loyalty goes only so far. Just like online companies disrupted brick and mortar stores, a promotion with unclear terms disrupted this sale.

I’m looking forward to my boxes arriving on Tuesday afternoon.

Welcome to The Man Cave

Clark Kent has the Fortress of Solitude. Larry Ellison has his own freaking Hawaiian island.

I have The Man Cave. That’s Capital M, Capital C. The place where I can go and no children can enter without permission. Even Jackie comes here to escape the kids at times.

Since none of you, other than Skippy (aka Educated Ray) have bothered to come visit, I thought I’d give a quick tour since I cleaned up this past weekend.

The Man Cave started out as our “extra garage” when we bought our house. The couple who built the place had an RV and poured a concrete slab out to the garage from the alley. We stored our boxes in the back garage when we moved and left the building alone as we parked our cars in the garage attached to the house. For the first 4 years, I worked out of an office in our basement.

In 2005, I cleaned out the back garage and moved the boxes to a storage unit. Then I started ripping out the old shelves. I threw away a bunch of bottles of nasty chemicals like Chlordane, Malathion, and MSMA. I put in new electrical outlets and ran 220 volt A/C lines. We ran 200 amp service to the building, installed a heat pump, and put in a 30A plug for our RV. Then I insulated the walls and put up sheetrock. I textured and painted the walls. I painted the floor but I also have indoor/outdoor carpet around my desk.

As you can see, it’s a pretty good work area. I still haven’t put everything back on the shelves from the cleaning, but with the triple monitor setup and a KVM switch, I can run several PCs at the same time. I’ve got a good Internet connection into the building and I can have 4 phone lines if I need them. When I ran the new electrical service to this building, we took every precaution that we wouldn’t have problems with brownouts and we’ve been fortunate there.

In the fall, I store my ’73 MGB in here after I drain the gasoline out of it. I drive it a bit when it’s not so hot.

We play cards in here a couple times a year, as you can see from the table on the wall. I have a set of IKEA legs that I just screw in that work great. There’s a fridge for beer and my lunch meat. The beer sign was a gift from an appreciative Coors truck driver when I played Good Samaritan on a cold rainy night in 1990.

In the past, I’ve had a DirecTV dish out here and I’ve watched ball games. That’s been less important the last couple years and I moved the receiver into the house and let the kids use it. I can use the DirecTV streaming app to watch some stuff, but it doesn’t work very good. Between Hulu, Pandora, HBOGO, and half a dozen others, I can be entertained. The only thing that gets me is when I want to watch a specific sporting event at a specific time, I usually have to go in the house.

That table on the right hand side is my current project. It will eventually be my work desk. It was the glass-cutting table at my grandfather’s place of business for 40 years. When he was done with it, my father used it for another 30. It was built in 1911 or in that time frame. I’ve been restoring it, but I’ve had a few setbacks. It’s good enough to use for casual use, but I want it to be a showpiece, so I’m taking it slow.

Those brown rolls hanging from the ceilings are heavy tarps. They serve two purposes. When I do podcasts or webinars, they isolate sound and cut down on echoes. In the winter, they cut the size of the office in half, so I can keep my work area warmer. Even though Oklahoma is in the south, our winters are cold.

The one obvious thing that’s missing is running water. I’ve talked to a plumber about putting in a toilet and sink. The sewer lines for our property run along the back of the building, but the water lines would have to run the length of our property. Perhaps in the future, but for now, I’ll leave it as it is. Getting up to walk to the house a couple times a day is good exercise anyway. I just don’t have anyone to stop and have watercooler chat with, other than the dog and the cats.

I’ve worked from home for 11 years and this is one of the reasons why. I have a nice setup that allows me to focus on my work. I’m not anti-social by any means, but we made a choice to educate our kids in a small-school setting and we have a few more years to wrap that up. I can satisfy my craving for sushi on occasion and the bi-monthly trips to the mother-ship fills the voids in human-interaction. Maybe I’ll be at a regular desk job again in the future, but for now, I’ll be alright.

Unintended consequences of using the Eclipse Color Theme plugin

Eclipse Juno has been out for a month and we’ve been building and testing a lot of things with it. The latest version of MOTODEV Studio is based on Juno, which uses Eclipse 4.2.

e4 has a lot of new stuff, including the ability to style the layouts, which is pretty exciting for people who want to do that sort of thing. I wanted to understand it better, so I’ve spent some time playing with how Eclipse looks. One of the ways to change appearance is the Eclipse Color Theme plugin. This is a nice plugin and the guys who work on it have created an active community around their work. I played with it for a day and then moved on.

Things have quieted down a bit and I am ready to work on a new Android app that I’ve been thinking about. It’s a chance to learn fragments and something I might use just for fun. I created a new project and mirrored it on my github repo. Then, I started to tweak the manifest settings for the project. When I clicked on the XML file in Eclipse, I got a shock–all the text was on a black background with barely visible text and strange keyword highlighting. I forgot I had used my personal development workspace when I was playing with the Color Themes plugin. I had uninstalled the plugin, but the settings remained. Every text editor came up in colors and styles that are not usable for daily work. I tried a different workspace and created a new test workspace and they weren’t affected.

Argh.

I did not want to just throw away this workspace as it was configured to work with my github account using eGit and the Mylyn views were working. Creating a new workspace with the library projects and all the settings would take a good 45 minutes. I dug around in the hidden settings folder for the workspace. If you’ve never had to dig around in the .metadata folder, then I envy you. It’s a mess of XML, .properties files, and assorted dross. I spent 20 minutes rooting around and gave up.

Resigned to creating a new workspace, I tried one last-ditch effort. I reinstalled the Color Theme plugins from Eclipse Marketplace to see if they would restore the settings. It turns out, they did. I was able to set everything back with the “default” button in the Color Theme plugin and then uninstall it again. It would be nice if the plugin could’ve detected it was being uninstalled and give me a chance to undo the settings it had done. I’m not sure if this is built into the Eclipse workflows or not. I’ll have to start an inquiry with the people who know this stuff better than I.

But first, time to create my next great app….