In a previous post I walked through some of the new features Facebook has launched for us third-party websites. In a nutshell, facebook users can share their friends' information. That means under normal privacy permissions, your friends can share your likes, your posts, your birthday, etc to third party sites. The example is the birthday card site, it needs to know all of a user's friends' birthdays in order to send them all cards on the right day.

When facebook launched "Places", I was curious, so I dugg in a big and sure enough, the same thing exists. Friends can share the check-in locations that their friends have posted. If you don't want this functionality, find this screen:

Go to "Account" -> "Privacy Settings"

At the bottom of the page is a section called "Applications and Websites" click "Edit Settings".

Next, find the section called "Info accessible through friends". This is the information you grant friends to share with third party sites. You might want some of these, like, you may not get a birthday card if you don't share your birthday. Choose wisely though, if you use "Places" and you check in to places you'd rather nor broadcast (why are you putting them on facebook anyways?) you should uncheck this box.

Google gives the web some new fonts

19 May 2010 In:

Today at Google I/O, Day 1, Google realeased some great new development platforms, APIs, and productivity tools, but what shouldn't be overlooked is a slick new way that Google is bringing some new fonts to the web. Websites now either need to turn custom fonts in to un-indexable / searchable images, or utilize a small set of fonts that all browsers and computers have installed. And it is pretty boring looking at the same few fonts (here's looking at you Verdana, Arial, Times New Roman), so there have been a lot of hacks done over the years by sites who want to use cool looking fonts.

Google is providing a single line of code, a CSS link tag, which automatically supplies the viewing browser the correct styles it needs to make the font a reality. Then, in the site's CSS you can reference the font by name. This is perfect, and since all these fonts are free / open-source they'll be part of newer browsers and eventually not need that previously mentioned single line of code.

In 5 minutes I changed the title of this blog and the title of all blog entries to a font named Vollkorn and the sub-title to a font named Yanone Kaffeesatz (I'm going to forgive the names, they're free everyone).

Before:

 

After:

 

And here are the rest of the fonts you'll see all over the web I predict:
http://code.google.com/webfonts

Yesterday Facebook launched a whole bunch of new tools for web developers with the idea being that outside sites can taylor better to you, the user, with more information about you. Indeed, this has always been the idea; a website could look different, suggest different things, and show you what your friends have been up to on the site. To do this, facebook gives developers simple things that show up if you are already signed in to facebook: the "like" button, comments boxes, and list of friends who liked or commented on that site.

Beyond that, we, the web developers, have to ask you to log in with those blue facebook buttons. When we set up that login feature, we get to decide how much from your facebook account you are authorizing us to see.

SO... read VERY carefully these kinds of dialog boxes, they tell you what the developer has requested access to:

Great, so YOU know to be careful... but do your friends? That's not a trivial question, because with that same "Allow" button above users can approve third party sites to access the profile, photos, statuses, comments, likes, friends, groups, notes of all their friends! In fact, here is the full list, see the column called "Friends permissions": http://developers.facebook.com/docs/authentication/permissions

As a result, everyone you are currently friends with have a lot of power to share YOUR information with websites outside facebook -- a little scary if you ask me.

I encourage everyone to review the following new privacy permissions by following these instructions:

1) Log in to Facebook and go to "Account", then "Privacy Settings"

2) Click on "Applications and Websites"

3) Find the section "What your friends can share about you" and click the "Edit Settings" button.

 

4) On this screen you should decide what your friends can share about you to third party sites. THINK ABOUT THIS CAREFULLY.

Ultimately, you are the owner of your content so be careful what you post about yourself. Third party websites can store your data once they have it, so deleting stuff you don't want about you on facebook doesn't delete it from existence.

Keep in mind, this is new, so we have to see how things go. The notion that a website can personalize to you means that it needs some info. AND, facebook is leading the way towards a single sign on for all sites so that you don't have to recycle those 3 passwords all over the web which is a big security issue. My two cents though is that these particular privacy settings are too burried for how important they are.

Points, points, gimme points

5 Mar 2010 In: Technology, Social Media

In my new job I'm fascilitating a small team to decide on some strategy and deisgn of our overall social / mobile platform to reduce weight. It seems all the discussions come back to this new model of real world points (think Farmville, Mafia Wars, Nike+, or many common games). We came across the following video which really brings it home. I think this presentation is both interesting and scary -- the last 8 minutes are the best. So the question I have is how does Farmville succeed in getting so many people to work for points and can we leverage that for positive behavior change? Jesse Schell imagines a world where your points are automatic, but can we get the same result if there are a few steps involved to report your accomplishments and the positive result beyond the points is just better health and fitness? I guess we'll see...

 

 

My Ubuntu Linux Experiment

12 Nov 2009 In: Technology, Linux

Ubuntu Linux

Despite my enthusiasm for C# and ASP.NET, I'm actually a big fan of open source technologies. I love the concept of community driven projects and the freedom a developer has to add to a project and give it back. Software Utopia.

I'm not a fan of any one company, not devoted to any platform, and I don't mind paying for good software or tools. It's simple: I'm for what works. I program in Microsoft languages at work, I run a Mac at home  and virtualize Windows, and Linux. I love my Macbook Pro, and did all my work in school on Unix, have set up FreeBSD servers and Linux web servers as well as Windows Servers with IIS. If it makes my life easier, then that's what I'm going with, it just has to work.

What wasn't working were the 3 home computers of my parents, my Aunt and Uncle, and my Grandmother all of whom have Dell Dimension 3000 Pentium 4 computers with 1-2 gigs of RAM. All 3 user groups (family members) had been asking me to please recommend them a new system to buy because after 3 years of use Windows had slowed down to unuseable states. Literally, Grandma's computer took 5 minutes to boot and 3 minutes after double clicking her web browser it would open.  This drives me nuts because my Mac laptop from college, a 12'' powerbook G4 works just fine without any OS re-install. My wife uses it now, no problems. Why does Windows XP slow down? Is it rogue registry keys, "helper" toolbars, fragmentation in NTFS? 

Last year I attended a 3 day open source conference, SCALE 7x in Los Angeles. I highly recommend this conference even if you don't use Linux. I do use Linux for certain projects and for web servers. I've been messing around with Linux since high school when I got my first install on 10x 3.5'' Floppy disks from a friend named Eric who had a faster internet connection than I did. So, from that conference I hatched this experiment to test Ubuntu Linux on my family and delay the looming new system purchases.

I decided I'd start with the slowest computer -- Grandma's. She getting Ubuntu 8.10 (latest at the time). I used her existing Dell computer, installed Ubuntu and she went from a snail-crawling 5 minute boot time to a respectable 1 minute boot. Not only that, firefox loads in a few seconds, not the 3 minutes IE took before. She was so excited and since then we've bought her a Canon digital camera and a new printer to print photos and has been using both -- importing and managing her photos in F-Spot. I helped her migrate her Quicken finance data to GNU Cash and she says she likes GNU Cash even better. 9 months later she's still as happy as can be, I have had very little need to show her stuff and things just work -- one new computer purchase saved. 

A couple months after that my parent's Dell was on the way out. They got Ubuntu 9.04. It didn't take long to show them the differences, the only thing I really needed to do was change Open Office's settings to default to the .doc and .xls formats because they both still email those formats to collegues. My dad's iPod even works with Rhythm Box and has been importing CDs and filling it up.

Lastly, my Uncle and Aunt got wind of this new "Linux thing" from my parents who were raving about their computer being revived. So, I went up to L.A. and did an install for them on their Dell as well. That computer was also terribly slow. My only issues here was that they had a Lexmark printer whose drivers are all proprietary and just plain don't exist for Linux (check out the Open Printing database for what works in Linux). They mentioned it was "acting up", so the suggestion we go buy the new $69 Epson at Staples was not a hard sell. After that, no problems! I even found equivalent games for my Aunt for, "Spider Solitare" and Hearts in the Ubuntu app repositories.

All said and done, the experiment was a success. Linux isn't for everyone, but it  has gotten much friendlier. What Ubuntu has done for the Linux desktop is amazing. Really, there had to be something to fill the void for computers like these that just need to do the basics and maybe a bit more. Pentium 4, 2.8ghz, 2 gigs of RAM -- that's not a throw-away computer, but it's also not something you want to spend $200 on for the latest OS (looking at you Windows 7). We're trying to be "green" these days, stuff should last a little longer and not end up in the landfill so I'm glad this worked out. I'm also glad to not be dealing with Anti-Virus renewals, spyware showing up or malware taking over the browser, because someone clicked on a link they shouldn't have. 

One additional note, on a couple of these systems I replaced the hard drives with the cheapest ATA ones I could find. Hard drives die. In my opinion after 3 years you're on borrowed time, so I figure if I'm doing a full re-install might as well make it last with a fresh drive. If you plan on doing something like this for your family, check out the Fry's ad or newegg.com for good deals.

So, 9 months in to this experiment and I've gotten far fewer calls than I normally did. I will keep you all updated with how it goes!

These errors were commonplace. Every time she shut down or started up it seemed like we'd get a ton of weird errors.

 

Wow, grandma's internet experience has lost half the monitor to bars that got installed without her understanding over the years...

I used the Ubuntu installer to partition her 40 gig drive in to 2x 20 gig drives so we could boot back to Windows in case we needed to. This is a good idea, especially for a user not yet convinced to switch to Linux. You can always go back and delete a partition. In our case, we deleted Windows later.

Grandma's new desktop, complete with background of her dog.

Grandma eagerly trying out her new desktop. She was shocked how quickly things opened and closed.  

UPDATE (11/15/2009) : I'm visiting my parents this weekend and figured I'd update their Ubuntu 9.04 install to Karmic Koala 9.10 -- they did it themselves! Apparently they were prompted that it would take over an hour and they followed the steps to auto upgrade. The install screens and messages were in human-understandable language so they knew what they were doing and what to expect from the process.  

I'm going to PDC

14 Oct 2009 In: ASP.NET, Technology

Despite not winning the INETA grand prize, I won some great licenses to Telerik, ComponentOne, and SyncFusion components. I already use the Telerik Ajax controls on a daily basis, I'm excited to try out the ComponentOne suite and the MVC tools from SyncFusion.

And even more good news, I found out I will still be attending Microsoft PDC this year (Nov 17-19) thanks to my boss. In fact, our small team will be going -- awesome. Looking forward to learning about all the new stuff that is coming out. It seems like this year has seen more new technologies than most so it should be interesting. Plus, my brother-in-law lives 3 blocks from the LA convention center and has an extra parking space -- how perfect is that?

If anyone has any suggestions for which talks to make sure to attend please let me know! I'm halfway through a Wrox ASP.NET MVC book, and playing with LINQ and of course JQuery and fun ASP.NET 3.5 Ajax things. I'm also hoping to finish the Silverlight labs that I didn't finish at the Irvine Microsoft training. Silverlight 3 already? MVC 2.0? Geez.. it's to easy to get behind.

See you there!

My INETA Code Challenge Entry

21 Sep 2009 In: ASP.NET, Wedding Planning
Besides planning a wedding, packing for the honeymoon, getting all loose ends tied up at work, and generally being overwhelmed getting everything for the wedding I entered the INETA Component Code Challenge contest with a chance at a PDC scholarship. Due date was the week before the wedding, but we had some stuff we still had to take care of like table assignments, table tent cards, and making sure we knew who was coming / who was staying. Check out the video above -- I used some cool controls from Telerik and DevExpress. 
 
You can see the top 10 entries (including mine!) here: http://www.inetachamps.com/codechallenge
 
Aside from the bragging rights of being in the top 10 I apparently win a "prize pack" of components. Hey, that's pretty cool! 

If you're a web person, and you use Google Analytics, you probably take advantage of a mode called "overlay", where you can visually see by percentage which links on your site are being clicked by percentage. It's probably the most useful thing, but there's 1 small annoyance I came across and that is the bar that google thinks they've cleverly positioned on your page at the top of the window sometimes covers up stuff you need to see. In my case, it covers the entire navigation bar, which I really need to see!

So, I was looking around in the google settings on that bar position: nothing. Then I did a little searching and some folks have the same problem but no solutions. So, I opened up my web tools and got work. The problem happens if your site has a navbar positioned "absolute" to the top, because google inserts a spacer at the top of about 50 pixels to scoot your content down and out of the way of the 50px bar they fix position at the top. If your navigation bar is absolutely positioned, it's going to end up behind the analytics bar (see illustration, then solution below)

Here's what I had to do to move the bar to the bottom of the page and how it works.

1) The google analytics javascript you embed in all your pages adds a few DOM objects on the page when you're in overlay mode, the ones you care about are 2 DIVs: ga_control and ga_control_spacer.

2) You want to get rid of the spacer, it just shifts everything down (but only static and relatively positioned content, doh!) and then override all the inline styles that it sets via the javascript for the bar. To do that, we use the !important CSS tag. So first we set ga_control_spacer to "display: none;", easy.

3) We want to move the bar, which is contained in ga_contol, so we override the top offset and set it to auto, set the bottom offset to zero, and then I put a 1 pixel top border so on the bottom you can tell where that bar ends and your page begins in case you have a white background page.

Putting it all together, if you add this CSS site-wide you'll have your analytics bar on the bottom! It worked in both IE and Firefox for me. Hope this saves someone else the time it took me to figure out.

#ga_control
{
    bottom: 0px !important;
    height: 50px !important;
    overflow: hidden !important;
    top: auto !important;
    border-top: solid 1px #c0c0c0;
    position: fixed;
    margin-bottom: 0px !important;
}
 
 
#ga_control_spacer
{
    display: none !important;
}

Sí Se Puede

18 Jan 2008 In: Barack Obama

“Sí Se Puede” is not a new concept for me. It’s not something abstract or removed like you’d assume from looking at this 24 year old white computer programmer from Long Beach, California. If anything, I long to return somehow to “Sí Se Puede”, like a traveler who has been away so long, he yearns more to be home than he can even remember the particulars.

I’ll sometimes jump into a conversation with a couple of people speaking Spanish to one another at work, or any other random encounter. With confident fluidity that you only get from being taught a language from birth, I’ll interject a few sentences and get greeted with a look similar to the one you might get having just mystified an audience with a magic trick. They’re thinking: ‘what’s this white kid’s story?’

The story for me begins with a colorfully decorated tin container on my mom’s dresser filled with old and worn buttons. They say simple slogans: “Uvas No”, “No Grapes”, “La Huelga”, “Nixon eats lettuce”, and of course “Si Se Puede”. Throughout her life she may add another pin for a cause she believes in, but rarely does it match up to the years she and my dad spent learning, teaching, organizing, and fighting for the United Farm Workers union.

My dad never finished college, having gotten so involved in the anti-war movement during the Vietnam era that he never found the direction to take to continue on that path. Instead, he’d learn a trade and become an auto mechanic, only then to take that sorely needed skill with him as one of two UFW mechanics. It wasn’t long though that he learned to organize, lead petition drives, and take on a leadership role in the union. My mom would start a school for children of the farm workers, making it a mission to make sure these kids could get an education where the public schools would reject them for not speaking English.

“Sí Se Puede” would be the mantra for their lives during the years living in Delano with the UFW, and it would be the foundation for their work after the union; my dad becoming a civil rights lawyer, and my mom working within the LA Unified School District for 30 years on behalf of English Learner students. But would there ever be that movement for me? Is our country so disenfranchised and the issues holding us back so vague that we couldn’t create a movement I’d be able to tell my children about?

I knew there’d always be a cause to get behind, a way to continue the work my parents had begun, but would I have a “Sí Se Puede” moment in time to look back on as my foundation?

On February 10th, 2007, I’d get my call. In Springfield Illinois, Barack Obama would challenge us to believe again in the country we could be. He’d remind us that we have more in common than we have differences. He’d say that his story, your story, and my story is part of the bigger American narrative, and that together ordinary people could accomplish extraordinary things. But most of all, he’d remind me of what my parents would tell me on their motivations for picking up and joining “La Causa”; that we have a stake in one another.
I’d find another link to my past at “Camp Obama” in LA, meeting a longtime organizer of the UFW named Marshall Ganz. After his inspirational introduction to the three day workshop, I walked over to him and thanked him for being with us, then, tell him that my parents were organizers in the UFW as well. Marshall would look down at my name tag and examine my last name. “Coleman….what’s your dad’s name?” “Marc”, I’d say as he’d say the name with me following my lips “Oh my god, you’re Marc Coleman’s son? Your father was the king of petition drives.” I spent the next three days enjoying the organizing styles that I’d heard about from my parents, where everyone was involved and everyone was in charge of teaching as well as learning. Listening to Marshall, I could easily have been in the organizing hall in Delano with poster board sized paper on the walls and organizing strategies and team building filling the air as Cesar rallies his troops to be ready for all that the growers would throw at them.
All this brings me to where we stand now. Last week I was at a volunteer meeting where I was reminded by a friend, Andrea, that we’d met at that first meeting nearly one year ago. “Has it really been a year?” I’d say, thinking maybe it’d just gotten started a month ago. We’d all stuck through it, despite polls, our day jobs, miscommunications, money, and all the other obstacles that have gotten in our way. While we’d never vocalized it so, “Sí Se Puede” was always the mantra of our group, and indeed this movement. It was there on day one, when we began with a candidate hardly anyone had heard of, with a name we’d have to help people pronounce, and seemingly steep competition in every aspect. Yet, the hope and the vision of this country coming together to finally solve the bigger problems we’d never been able to was both our mission and our motivation. It was never a question of if we could, it was how we’d do it.

Win or lose (and win we will), I’ve found a way to carry on “Sí Se Puede”. More than just the persistence or the urgency of those three words, it was about unity and humility – a gracefulness of knowing that there were better times ahead, we’d just have to find the path to get there.

Thanks for readying everyone, I’m off to Nevada to help in any way I can and delight in “Sí Se Puede” with the Culinary Union and the organizers in Las Vegas!

Dad and Cesar Chavez

 

Mom and Delores Huerta

 

Mom in front of the Huelga School 

 

(Menno, Krish, Dorothy, Lolly, Darwin, Marsha, Marshall, Me)

SD Fires Update

24 Oct 2007 In: San Diego

Wednesday is here and as you can see the fires have spread and continue to threaten a large area of San Diego. I'm working from home again today trying not to go stir crazy. Jesica, Ben and I went and saw The Darjeeling Limited. Jes and Ben went to Qualcomm yesterday to see if they could help out but there are so many San Diegans needing a hand they've actually told people not to come, there are too many volunteers. They also have too much food / water for now, but they need cots, air mattresses, and portable showers.


For those of you still concerned about where I am, here's a map to re-assure you a bit:

 



The yellow areas are evacuation areas, the red are areas that fire have been / are.

Jesica and I are heading out of town tomorrow night -- we've had a trip planned to San Francisco on the books so we've got plane tickets for Thursday night through Sunday which will be nice to get out of the bad air.

Thanks for the concern everyone.