Cerebro's Skins
This is my page where you've come to see what kinds of things I make, and what kinds of stuff I like.
View
Search

I should start with something smaller than CM7

Oct 7, 2011 6:23 AM by Discussion: Mobile Tech

I'm fairly certain that importing CM7 into eclipse first wasnt a good step.  I really dont know enough yet to do much with it besides build it, and that is all done on the command line anyways.  Its just cluttering up eclipse now, so I'm gonna take it out and just work with a basic project and play around with layouts.

The logic for the search should be straightforward, so I'll have to dig up my Java book and start picking away at that, in between dodging around layout stuff. There seems to be two ways to build around the layout of an application. You can either do it on the Java side, or in XML layout files. The XML direction is clearly the better option, since it allows for easy translation and correction of strings in a separate file from layout and programming.

Getting the SDK set up didnt take too long, but I gotta say... the emulator runs slow as HELL on this netbook! It'd almost be better to just use remote desktop into one of my better machines and have THAT one running the emulator, but that'd be a joke to try to get that set up.

Next step will be playing around with the layout xml files, and learning how the ldpi/mdpi/hdpi devices are separated, since theres probably some level of duplication thats created when building for each.

1 Reply Reply 60 Referrals

Repo sees them, but only Git uses them

Oct 7, 2011 2:43 AM by Discussion: Mobile Tech

Ok, so I can create, view, and delete branches in Git. Repo sees them, and knows which one you're on, in the various git-enabled directories (I think... I've only tested one additional branch in one directory. I wonder if it can track two different branches in two different directories?)

My current challenge is this... I know that I should be able to build an installable .apk that I can push to my phone to test any changes I make to the Phone or Contacts apps, but I currently only know how to build the entire installable rom.  Since that takes five hours, I'm not hoping to have to do that in order to test my tweaks.  I think there is a way to build *just* the apk of the current project (app directory, basically), and push that, so I'll need to read up on it.

I've got Eclipse installed, and the whole CyanogenMod project is imported into it, meaning I can see pretty much everything .java in the whole /android/system/ directory.  Having stumbled my way through another installation of the SDK in Eclipse, I know that app-building is integrated into it.  However, I seem to have... missed that part this time around, so I'll be tackling that shortly.

All in all, I have to say that the amount of actual 'get started as a noob right from scratch' documentation is dismal.  Thats kinda the point of what I'm doing here... stumbling through it, and documenting.  When its all said and done, I'll have something a bit more structured that walks through the steps.  So far, I'd say the biggest thing is to be familiar with Git first.  I feel like I breezed over it, and while I understand the basics, it was/is tricky learning how git and repo interact.

Now to *correctly* get Eclipse and the SDK configured so the projects can actually be worked on.

1 Reply Reply 66 Referrals

... better than ctrl-z when I mess things up!

Oct 6, 2011 4:55 PM by Discussion: Mobile Tech

Ahhh Git.  What a powerful and mysterious tool to someone who really hasnt read nearly enough about how to do things with it.  The problem that I'm running into is that there seems to be overlap and 'shortcut' commands that are referenced online, but not really described in the 'documentation' I've been using.  By documentation, I mean google-searches.  So its pretty much my own fault that I'm randomly importing stuff into project branches.

Fortunately for me, since I know absolutely that I'm not in a good position to 'commit' or 'upload', so I never use those commands!  This means that whenever I start getting confused/concerned, I hop back up to ~/android/system/ and run a 'repo sync'.  It grabs all the current data from the CyanogenMod source, and throws out anything I've imported or changed.

Now that I've got things a bit more structured, I want to do two things:  First, get an emulator running, and then get the Eclipse build environment complete. At this point, I'll be able to build/edit applications, so I can tackle my first project, the T9 dialer.  I've seen some good attempts, but I dont like their search functions.  

For me, a T9 dialer should do the following:

  • Search based on 'T9' within the name, not just at the start.  (e.g. I should be able to type the numbers for a last OR first name)
  • Also search for phone numbers matching the numeric string (so I can type 556 and it will bring up 403-556-5555)
  • Display at least two, hopefully three results in a viewing pane. Perhaps introduce an option to hide the dialpad to view all results.
  • Maybe have the search occur in ALL contact fields (Organization/Nickname/Address), or have it user-selectable in Options.

This would be the ideal dialer for me... One that is customizable with regards to what fields it searched, and searched whole contact strings.  I feel the default android dialer (especially on my 4.3" screen) could do with some vertical squishing to create the viewing pane at the top.  My dialer currently is HUGE, and could do with being about half its height, as long as the button widths were maintained.

To-do:

  • Create viewing pane.
  • Squish dialer.
  • Build search function that searches contact array fields.
  • Integrate options pane.
  • Learn EVERYTHING
0 Replies Reply 59 Referrals

or, how the hell do I get repo/git watching what I do

Oct 5, 2011 4:13 PM by Discussion: Mobile Tech

I'm trying to get started in Android development, and I thought that building CyanogenMod 7 from source, for my Galaxy S II, would be a good start.  Well, between Google's android development site, and the CM wiki, I got it built and started poking around. My biggest problem so far was the Kernel.org outage, since everything android and open-source on the net is based around that.  It meant that in order to install repo, I had to use a third-party mirror of it (which is identical, it was just hard to find references on how to change where it was updating from)

Basic steps were:

  • Download prerequisites
  • Install Repo (which was a total pain, since its hosted on kernel.org)
  • Initialize repo using CM7 as a source (easier, since CM7 is hosted on github)
  • Sync (Big undertaking, wasnt expecting 7 GIGABYTES of data)
  • Brunch (actually builds the image to flash onto your device... and took 5 hours on this netbook)

But now I need to figure out the next step... Because I know I cant just throw myself into changing files in the various directories... I need to use Git for that.  However, my problem lies in the fact that I dont know how interchangable repo and git are.  Some commands overlap, but having repo doesnt mean you can just start using git in the same directory. No '.git' is built by repo, so I need to figure out the best way to track changes properly, for eventual submission to the Gerrit code review system.

Which brings me to my next problem:  How do I pull down changes from Gerrit, in order to review them?  It seems like git needs to be initialized in the correct directory for testing, but is the correct directory /android/system, or the actual location of the patch in the directory structure?  Its hard to google search for repo and git, since the word repo is in repository, which is in every single 'just git' article on the internet.

EDIT: It seems that there is a .git directory initialized in each of the 'projects' (which is basically a subdirectory) already. Good to know!

Its really frustrating, since I'm trying to make some progress, but I figured I'd start blogging what I was working on, so that I could map out my learning a bit, and help others that are trying to get started as well, assuming I actually make some progress.

Project Ideas:

  • Better dialer that supports T9 (I know a guy who is working on this, but I dont like his button layout, and development is slow.)
  • Ringlock Lockscreen tweaks (there are two competing projects for this, I want the lock/volume rings to be on a fixed horizontal track)

Equipment:

  • Samsung Galaxy S II
  • HTC Desire Z (HTC Vision)
  • Compaq netbook
  • Ubuntu 11.04
1 Reply Reply 62 Referrals

A story of dual-booting ease

Jan 7, 2009 1:17 AM by Discussion: OS Customization

Like my previous article, this one begins with a hard-drive crash.  A friend of mine has now managed to crash two Apple-supplied hdd's in less than a year.  This time, I told her not to bother with Apple support...  Why pay those Geniuses, when I'm waiting in the wings to try my magic touch on a Mac.

Our first stop was Memory Express, a local computer parts supplier.  We picked up a 320 gig Sata drive for only $85, which seemed to be a reasonable price.  I'm familiar with seagate drives, and I figured it was an acceptable piece of hardware for use in this project.

When my friend first approached me with the task, the consensus was that we were just going to reinstall OSX, and then be done with things.  However, she also had passing familiarity with Ubuntu due to the starving-student effect... ("Whaaaat?  I can get software for free, LEGALLY???")  As a result of this, I figured that there was no way that OSX was going to need all 320 gigs of space, and felt that Ubuntu would make a nice filler.  Also, as an alternate OS, its customizable nature, and large community of support, made it a very enticing choice.

Step One: Slice 'n Dice

Booting to the first OSX install disc (Pushing C at the startup bong) allows us to run the disk partitioner.  From here, I split the main drive into two sections.  The first was a 300 gig slice, partitioned and formatted for the Apple journaling filesystem.  The second slice was the remaining 20 gigs, which I left alone... Ubuntu will deal with that later.

Step Two: OSX Install

Nothing special about this, aside from the fact that it takes forEVER.  Make sure you're installing to your OSX partition, which shouldnt be an issue.  If you're doing this on a (formerly) blank hdd, it should only let you choose the 300 gig parititon during the installation.

Step Three: Ubuntu Install

Now boot to your Ubuntu cd the same way we got to the OSX one... C key during the bong.  Once you're into the Ubuntu live environment, you can select install. A couple steps in, it should ask where you want to install Ubuntu.  You *can* use guided, just make sure that its placing the entirity of Ubuntu on the 20 gig parition (including the swap partition).

Step Four: Sticking Point... rEFIt = Hero!

This was the magic bit for me... the Macbook firmware will NOT let Grub manage all the OS's like you can on a regular PC with multiple OS's.  Instead, it uses its own bootloader to force OSX to take priority over everything.  Fortunately for everyone, its not hard to convince that bootloader to accept a few enhancements.  Installing rEFIt, a tweaked version of Apple's bootloader, makes any multi-boot system on an OSX-based computer a snap.  It auto-detects available operating systems, and displays a list of them when you press C during the Mac-bong at system start.

Step Five: Touchpad Tweaks

"Out of the box", Ubuntu works pretty well on the first (or second) generation Macbook that I was installing this on.  All the essentials work fine; Sound, network, display, etc..  The problem that I ran into was the touchpad.  It technically worked exactly how it was supposed to, but only had one button.  Turns out that there is a HUGE following of Ubuntu/Mac users out there who have found some excellent solutions to this hiccup.  Taking advantage of the multi-touch abilities of the touchpad, there are some interface configuration files you can easily copy-paste into your own configuration.  These enable all kinds of awesome gestures, such as: Two-finger tap = right click, three-finger tap = middle click, two-finger slide = scroll.

Implementing this tweak takes about two lines in the Terminal, as well as the ability to copy-paste.  Even a novice Ubuntu user should have no problems getting tapping and swiping working.  An issue I have found, though, with the large size of the Apple trackpad, is the consistant taps and clicks that my palms generate.  I'm still tweaking my own configuration to avoid this, but I'm sure I'll find a happy-medium.

Step Six: Eye Candy

Well, since this *is* a macbook we're talking about, I had to make sure that I had the prettiest UI around, so I enabled the enhanced visuals from the System->Preferences->Appearance dialog in Ubuntu.  I wanted more!  By default, CompizConfig (the full editor for Compiz/Fuzion special effects) does NOT come installed.  To install it, you need to find it in the Synaptics Package Manager (Settings->Administration->Synaptics) and install it.  I couldnt find it by searching, I had to go look it up under "Miscellaneous - Graphical (Universe)", and its called CompizConfig.  Installing that gets us our effects UI under Settings->Preferences.

Now for themes!  The associated theme manager that works well with CompizFusion is the Emerald manager.  It's located in the same area of Synaptics as CompizConfig was.  Its listed as "Emerald".  Installing this will grant you the ability to use themes, after one small tweak in CompizConfig.  Open CompizConfig and search for "Window Decoration", and click your way into the full dialog.  I replaced what was in the "Command" box with this: "emerald --replace".  To get this fully working, I had to log out of my user, and log back in.  Knowing how Ubuntu works, this is likely not required in all cases...

Once Emerald is installed, browse around online to find themes!  There are plenty out there... I prefer ones with a bit of glass in them, but theres certainly more than just that.

Final Word

Well, having had a few days on Mac/Ubuntu to play around, I can honestly say its a smoother experience than I thought it would be.  The UI looks sharp, the graphics work well, and its a pretty robust platform.  The gestures on the multi-touch pad are excellent, and they allow for easier navigation than with my other (non multitouch) laptop.  I was considering a new purchase of a laptop, but if Ubuntu works this well on older Apple hardware, I might have to see if I can pick up an older Macbook for cheap.  They almost fit into my netbook qualifications! 

Helpful Links

2 Replies Reply 27 Referrals

... or why Telus' email solution doesnt work

Jan 6, 2009 8:57 AM by Discussion: Living in Cyberspace

My mother is reasonably computer-literate, and is fairly careful with keeping backups of important data and things like that.  However, recently, her main computer suffered a hard drive crash resulting in the loss of the majority of her recieved emails.  In a modern Web 2.0 world, this wouldnt be a problem, however my family has long used the Telus-provided email address that comes with the internet subscription.  We discovered very early-on that it has limited storage capacity, so we were unable to keep a copy of recieved messages on the main server, and instead had to rely on our own archiving and backup solutions.

After the drive failure, I decided there had to be a better way to manage all these emails, without having to copy large archive files on her computer.  My own experience with Gmail has been very good, and I've been using the web-based email account since the first couple weeks it was in beta.  In this instance, the attraction was the massive storage that is available (and continuing to increase).

For my mother's new email solution, we needed to achieve the following:

  1. Large storage capacity.
  2. Ability to recieve mail from the old account (by default)
  3. Ability to send mail from the old address (by default)
  4. Needed to be able to use Outlook for all email work.
  5. Access from anywhere, for vacations and mobile work.

Naturally, I knew that Gmail could achieve goals 1, 3, and 5.  I use gmail's ability to send from multiple addresses for work, and for educational purposes (school emails are just irritating).  As for 2 and 4, I forsaw complications.  However, Gmail (and Outlook) proved remarkably easy to set up, and I'll show you how its done!

Step One: Make your Gmail account

Google makes it easy to create your new email account!  Simply visit Gmail.com and follow the steps.

Step Two: Set up Outlook to work with Gmail

The first part of our Outlook configuration is fairly straight-forward.  Gmail offers guidance on setting up POP3 from the "Forwarding and IMAP/POP" tab of the Settings.  We want to leave a copy in Gmail's inbox, for future web-access, and we want ALL mail to be available via POP.  After these settings are applied, follow the configuration instructions for your client (link is at the bottom of the POP section of that tab).

Step Three: Set up Gmail to retrieve mail from current address

At this point, we can send and recieve messages from our Gmail account, using the Gmail address that we set up.  This satisfies goals 1, 4, and 5.  Now to achieve number 2!

By going to the "Accounts" tab in the Settings section, you will see a section where you can add a POP3 account to Gmail.  This will allow Gmail to download the emails from that account, delete them from the remote server, and hold its own copy in the inbox.  Click on the "add another mail account" link, and follow the instructions.  Remember, we dont want Gmail to leave a copy on the old server.  Gmail seems pretty good at figuring out all the POP and SMTP server information, so it shouldnt be too much trouble.

If there is a point in the configuration of this where it asks if you want to be able to send mail using your old address, DO IT.  This will allow for you to email (from the web-gui of Gmail) using your old email address.

Step Four: Outlook Finalization

Currently, your Outlook setup will be configured to send/recieve email from Gmail AND from your old account.  This is no good!  We need to disable the RECIEVING of mail from your old account, and disable the SENDING of mail from Gmail.  (Essentially, using Gmail's POP setup, you can only send using the Gmail address, even if you've configured others inside the webUI)  To do this, we're going to go into Tools->Send/Recieve->Send/Recieve Settings.  We're going to "Define Send/Recieve Groups".  In this dialog, we can choose which accounts are Send Only, and which are Recieve Only.  We want the Gmail account to only Recieve, and your old address to only Send.

As a final step, in the Tools->Accounts dialog, we need to set (if not already) the old account to be the default account.

Step Five: Gmail WebUI Tweaks

Since the overall goal of this excersize is simply to use Gmail as a storage solution for email (and an emergency mobile mail client), we should make sure that you can send mail from the WebUI using the old address.  In the Settings section, go to the Accounts tab.  From there, you should see a "Send Mail As" section.  If your old email address is listed, then its a simple matter to set it as the default.  If its not listed, we need to add it using the on-screen instructions.

Final Thoughts

What we've essentially done at this point is created a gmail account for the purposes of storage, and nothing else.  The people sending you mail, and the ones recieving mail from you, should never even notice that you have a gmail account in between you.  It might take a few send/recieves in Outlook to get everything all synced up, but my mother has had no issues at all since I first set this up the week before Christmas.  Best of all, she'll never have to worry about storage or archiving again!

Helpful Links:

20 Replies Reply 28 Referrals

Hiccups on the path to greatness...

Apr 3, 2007 2:59 AM by Discussion: Docks
Well, we're now into the beta testing phase for the popular graphical shortcut and taskbar replacement, ObjectDock!  However, with all developement, there are growing pains as well.  Its best to get them all gathered together here in one place, where the developer can pop in and keep us all up to speed on changes and fixes.

Without further ado, I declare this thread open for business!
172 Replies Reply 16 Referrals

Fun at the workplace...

Feb 5, 2007 6:05 PM by Discussion: WinCustomize Talk
Should you be doing productive things right now?

At the moment, I'm at school, and I should be working on some homework.  Since its a group assignment though, and my group hasnt shown up yet, its looking like its going to be put off for a day or two.  I'm also supposed to be working on a newsletter for the school.  That I'm putting off just cause its a bigger project that I'd rather not do, but I'll give it a go after this post.

How about you guys?  Are you at work, secretly surfing?  At home, reading and relaxing?  Lets hear it!
22 Replies Reply 6 Referrals

Someone dropped a spanner into the works...

Jan 28, 2007 7:10 PM by Discussion: WinCustomize Site Issues
In the last twelve hours, I'm sure many of you have come to notice that the Galleries and Personal Pages are experiencing major slowness, or downright broken-ness.  Its an issue that Stardock knows about, but unfortunately it likely wont be fixed until Monday [tomorrow].  It may just require a server reboot (which would be excellent) or they may be other issues afoot.  Just letting you know that Stardock is NOT ignoring the problem.

In the meantime, lets all frolick amongst each other here on the forums!
20 Replies Reply 8 Referrals

Zooooomba speaks!

Aug 6, 2006 12:29 AM by Discussion: WinCustomize News
With our special guest, Mike Crasweller (aka Zoomba), we talk quite a bit about how the community has been changing recently, and also what will be happening in the near future. Theres lots of little goodies in store for our listeners from WinCustomize! We pick out some great skins, including one incredible WindowBlind theme by an up-and-coming author!

Although we had minimal technological glitches in this session, someone forgot to unplug their phone! Therefor, we got a little bit of ringing in a couple of places... you'd think we'd have learned the process by now! Overall though, a GREAT show, and we were glad to have Zoomba join us!

UnderTheSkin.net!
4 Replies Reply 14 Referrals

 
Page 1 of 9