Google Charts API, examples.
Posted by Ben on April 7, 2008 at 3:12 pmI was finally playing with the Google Charts API so I could learn it… I will forgo the hurdles and issues I have with it… I just wanted to dump out the examples I made while learning it– for future reference.
A simple line chart.
Line XY chart with two lines. The first line has Circle markers at each point.
A Sparkline, which uses Line Chart parameters
Horizontal Bar Chart
Vertical Bar Chart
Vertical Bar Chart with TWO sets of data.
A pie chart.
Scatter chart
LineXy chart with 2 colored lines… colored points. and with legend
Posted in Google | No Comments »
Linked Data
Posted by Ben on April 6, 2008 at 6:49 pmLinked Data has been defined for almost two years now:
- Use URIs as names for things
- Use HTTP URIs so that people can look up those names.
- When someone looks up a URI, provide useful information.
- Include links to other URIs. so that they can discover more things.
But I think it’s just only now that people are starting to do it… about time.
Posted in REST | No Comments »
The evolution of communication, we made email social.
Posted by Moe on March 22, 2008 at 9:00 amI hate yahoo mail. I hate hotmail even more. In fact, I used to hate email in general. I began hating it less when I switched over to gmail a year or two ago. I thought by now everyone would have joined the “hate hotmail” revolution, but I was mistaken. I was sadly mistaken. In fact, the number of gmail users are dwarfed by yahoo and hotmail users by millions. Why? Identity.
People are tied to their email address like an insulin pump is to a 150 pound eight year old.
“But everyone has this email address”
“I have all my contacts stored there and emails that I still need.”
“How else will my cousin in South Africa, who has actually inherited a bunch of money and needs my help to get it out of a US account, notify me about all natural penis cream.”
Ok, maybe not the last one as much. Fact is, people want to move on to better email services but feel they can’t.
Will the same happen with social sites?
The debate regarding the future of social sites is two fold. One, a new social site will emerge that all the facebook and myspace users will switch to. Two, users won’t move onto a new social sites because they have made all their friends on one of the major social sites and it would be cumbersome to switch over. Hmmm, sounds familiar.
Personally, I agree with the second train of thought. Unless a new social site does something unique , by unique I actually mean unique features and not design, it will never be successful. I’m tired of reading about a new “unique social network” that turns out to be bad version of facebook with more AJAX. Would a new email service would be good idea? Of course not.
A social site is just email on steroids (which it probably got from Clemens former trainer). The basis of both services is communication. Social sites just makes your email address book viewable by the contacts in it.
Is email getting outdated?
Yes it is. Kids don’t send emails to each other. They write on each other’s “walls”, poke or send messages. Remember when you used to email pictures? Now you throw them up on picassa, flikr or facebook. In my opinion social sites will lead to the end of email. However, this won’t happen until two things occur.
1. A small culture change towards social messaging. Users perceive sending an email and sending a message on a social site as professional an non professional interfaces. Sites like LinkedIn are tackling this culture problem.
2. Social sites upgrades their current messaging system. This is probably Facebook and Myspaces’ weakest feature. Although Facebook has some great features, their messaging feature isn’t all that great. The input textarea box is way too small for me to send a 1000 word message to someone. No form of organization. I can’t search, tag or archive messages. I can’t send a message to more then 12 recipients or attach a file off my computer.
Posted in Technology | 1 Comment »
Ruby and Amazon SimpleDb
Posted by Ben on December 21, 2007 at 2:17 pmI am a lazy person. I am also a lazy person that loves the idea of leveraging lots of computing power (as a hobby) on demand for cheap. Wow Amazon, you’re really helping me out here… especially now with your SimpleDb.
Of course we’ve all read everyone’s take on the product. Why should I add to the noise… but we’ve got projects registered at ruby forge without any files released… dammit…
Show me the code!
Well, the NY Times peeps have posted about their SimpleDb project.
Links:
SimpleDb Ruby Forge Project Page
NY Times SimpleDb SVN Repository
So will this project be the winner of the ruby bindings mind share? I think first to market gives Jacob Harris (NY Times) a very strong position in my book.
As for mind share… I am fond of two other rubyforge projects (above the rest) for Amazon.
For Ruby S3: http://amazon.rubyforge.org/
For Ruby EC2: http://amazon-ec2.rubyforge.org/
Posted in Technology | 1 Comment »
Social Adwords vs Regular Adwords
Posted by Moe on October 30, 2007 at 5:48 amRemember when you only saw Google content after a web search? You know, before they basically took over the internet. Google introduced or rather made popular the concept of adwords but it seems facebook might be throwing their hat.
Adwords Crash Course
Google is really good at indexing websites and labeling them with certain keywords. Let’s say you have a blog about Ronaldihno. Google might tag your website with keywords such as “soccer”, “sports”, “ronaldinho” and so forth. How they do it doesn’t matter, the fact is that they can do it. Then they thought, “hmmm since we know what the page is about, we could show the best ad on it.” By “best ad” I mean an advertisement that has a high chance of getting clicked on. For example, ads selling a poster of Ronaldihno would probably do better on your blog then the limited edition Jane Austin novel. That’s ad words is in a nutshell. People purchase ad words and Google shows them on various pages across the internet.
The key here is page content. It has little or nothing to do with the actual user. What if you were on the blog and happened to be looking for new soccer cleats? The best ad would probably be for cleats. What if the ad module knew that you were a huge fan with the popular soccer game Fifa by EA? Here is where social adwords becomes really interesting. Facebook has data and collects data all the time. If they launch a social adwords service it could be amazing. They could show an ad based on the content of the site but also by the user. As of right now facebook has 50 million users and counting and I doubt anyone thinks it is going to slow down anytime soon. They’ll dominate Tom’s social site soon enough. Probably by the time he is 30. Or is it 40? I forget how old he is saying he is this week.
Don’t think they can do it?
The newsfeed module can be seen as the building blocks for the ad module. It basically shows you content of what you should be interested in. Facebook could use these same algorithms and just run with them to display ads. Read this great article for more about new feeds.
There are two important things to realize. First, facebook is thinking far far ahead then anyone gives them credit for. Second, data is great but organized data is the key.
I’m sure you are wondering how much facebook could know about you? The first seven are from the great article I mentioned above.
- Whose profile pages you visit - and how frequently, how recently, and how often
- Who you message, and who messages you
- Whose walls you write on, and who writes on yours
- Who/what you search for
- Who you invite to events and groups, who accepts, and who invites you
- Who you tag in photos, and who tags you
- Which News Feed items you’ve clicked on before.
- What you are trying to get rid of or looking to buy (Marketplace).
- What types of links you are sharing.
- What type of videos you watch and how often.
- What groups you are in and what discussions you take part in.
- What type of people do you befriend and how often do you make new friends.
- What you are blogging about (Notes).
- Which events have you attended and plan to attend.
- Possibly know where you tavel to often based on your picture locations and names. For example, if you are tagged in a lot albums with “Las Vegas” then it’s safe to assume you travel to Vegas a lot.
- What locations you usually use the internet from and what times are you most active.
- More data can be pulled from the Polling application.
- Which applications you use the most (they are categorized).
- Profile
- Activities
- Affiliations (Networks)
- Age
- Books
- Current Location
- Education History
- Interests
- Desired Relationship or status
- Movies
- Music
- Poltical Status
- Religion
- Sex
- Television Shows
- Work History
Privacy
Privacy as we used to know it disappeared a long time ago. Probably some time after credit cards and a little before Google Earth. I don’t think facebook is doing anything wrong from a business standpoint. They aren’t selling the data they collect rather using it build another technology. It is a bit scary when I imagine the ads could but I would rather see relevant ads on sites I visit rather then have my email address sold to the highest bidder.
If you want to read more about the facebook ad-words rumors, check out facebook launching the google adwords killer.
Posted in Facebook, Technology, Web | 1 Comment »
facebook, or any other site, isn’t responsible for raising your child
Posted by Moe on September 30, 2007 at 5:48 pmI was having a great day today. Back from a birthday weekend in Vegas and ready to spend countless hours in front of my laptop. I hop on google reader and begin to catch up on tech news. Apple bricked the Iphone for customers who are smarter then Apple would like, youTube launched adsense (so I guess they make money now) and facebook might face consumer fraud charges. Huh? Consumer fraud. For what?
The Internet social networking site Facebook Inc. that promotes its safety for young teens from sexual predators and promises prompt responses to concerns has been warned by the New York attorney general that it may face a consumer fraud charge for failing to do either, a Cuomo official confirmed Sunday…..
But it’s now a much larger and growing social networking site and the safeguards and apparently the response times for complaints aren’t what they were a year ago, Lerner said. Cuomo is calling on the site to revise its claims.
http://www.newsday.com/news/local/wire/newyork/ny-bc-ny–cuomo-facebook0930sep30,0,3857577.story
Wow. Revise their claims? Have these people been on My(Slut/Space) or any of other social networks? Facebook has great privacy policies that restrict people’s profiles to a point where you can’t even see a person’s picture. Which sucks sometimes cause you want to see if a chick is hot. She adds you as a friend and turns out to be a whale. However, that’s another topic all together. Maybe facebook should roll out a “pee in a cup to make friends” option or something.
Bad Parents
People need to stop expecting the internet to raise their children. Get your kid’s password and log on their account from time to time. Stop handing off the responsibility of raising your kid to other people. I bet these are the same people that send their kids to school and complain that they sweet little billy is ill mannered.
Come on Cuomo
I knew facebook was getting big but I didn’t know it got to the “If I can get my name in the same headline as facebook it will help my political career” status. Come on Cuomo…there are a lot better ways for the Attorney General of New York to get his name in the paper then riding the facebook wave. You tried to run for governor and had your ass handed to you, since then have made insane claims to get your name out there with some avail. You’re like a D-list celebrity that does stupid things to get into the tabloids. Just release a sex tape, it worked for other spoiled kids.
…Criticism was much more heated, however, in a series of lawsuits and investigations surrounding a Florida based S&L institution in which he was accused of illegal, hostile take-over maneuvers among other things. This problem tapered off after Attorney General Janet Reno declined to initiate a full investigation. A spectrum of excuses and accusations were offered to explain this situation.
In tandem with this last situation is the extremely sharp and heavily documented criticism coming from Catherine Fitts, former HUD Assistant Secretary and FHA Administrator under Jack Kemp and HUD independent contractor under Henry Cisneros and Andrew Cuomo. She, basically, accuses him of fraud and links his name to HUD vendors who also provided him with lucrative benefits of various types.
http://en.wikipedia.org/wiki/Andrew_Cuomo
Posted in Facebook, Politics | 1 Comment »
Notes on Git
Posted by Ben on September 23, 2007 at 5:27 pmSo, it’s been a while since Linus gave a Git talk at Google. Since then, I’ve been playing around with it. In truth, it’s still a bit rough around the edges, but it is so much smoother running than darcs.
Why? Because, it supports a distributed workflow such as:
- Create N number of branches to work off of in your local repository.
- Make N number of commits to those branches, only merging the polished patches into your own main line branch.
- The expose your own main line branch to other developers via an exposed repository on some webserver somewhere.
- Other developers will pull down your changes into their own repository, from which they work one the code (creating their own branches and commits).
- Other developers expose their own main line branches in their own public repositories, from which you can pull down their changes.
So, here are my notes about getting setting up one’s own Git repositories. Note that you will generally have at least two repositories: Personal development one, and one exposed for your own published commits. In Git, the public directory is generally a “bare” repository sans a working directory. Whereas your private repository has a working directory… for your work.
Here are steps (rough notes) for creating the public and private repository for a project:
# Create your area to store the public repositories
mkdir -p ~/repo
# — CREATE THE PROJECT
mkdir -p ~/projects/myprojectname
cd ~/projects/myprojectname
git init-db
# Commit something first, like a README.txt
touch README.txt
git add README.txt
git commit -a
# — CREATE PROJECT’S PUBLIC REPOSITORY
# NOTE: Git bombs out if there are Zero commits in the project you are
# making public. Make sure there’s at least one commit in that repository.
# The reason I committed an empty README.txt. But also, one could have
# created a bare Git repository without the clone.
cd ~/repo/
# copy the repository in bare form– sans working directory.
git clone –bare ~/projects/myprojectname myprojectname.git
# make the repository available for reading.
touch myprojectname.git/git-daemon-export-ok
cd myprojectname.git
# update the server info for remote clients, tracking branches.
git –bare update-server-info
# post-update executes everytime there is a push to this public repository;
# it executes an update-server-info by default.
chmod a+x hooks/post-update
# — MAKE THE REPOSITORIES VISIBLE
# NOTE: Put it on a dumb (read only) webserver of your choice.
# I rsync it to my dreamhost account; this command is a cron job.
# The following makes the assumption that the public_html directory
# is the web root for the exposed ~username/ directory for the
# webhost.example.com webhost.
cd ~
rsync -av -e ssh ~/repo username@webhost.example.com:public_html/
# — UPDATE THE PUBLIC REPOSITORY
# NOTE: This updates your local copy of the project’s public repository;
# where the next run of the rsync cron job will update the public
# webserver.
cd ~/projects/myprojectname
git push ~/repo/myprojectname.git master:master
# — OTHERS DEVELOPERS CLONE PROJECT’S EXPOSED REPOSITORY
# NOTE: On another machine, another developer.
mkdir ~/projects
cd ~/projects
git clone http://webhost.example.com/~username/repo/myprojectname.git
# This developer now has his own copy at ~/projects/myprojectname;
# this developer will then work and create patches to send to you.
# If you have pushed updates to your public repository, this other
# developer may pull down your changes using:
git pull
Now, only if I could better figure out how I’d like to work on managing my own branches, and tracking remote branches.
Posted in Technology | 1 Comment »
privacy policy or the lack of it
Posted by Moe on August 29, 2007 at 11:24 amA few months ago I signed up for a SharedReviews beta account. The idea behind the site is to get solid reviews of products and pay the community 50/50 on certain revenue. Sounds pretty cool huh? Well it may be but as I was signing up I came across the privacy policy. Usually I just breeze through it but I decided to read this one.
“We protect your privacy with a passion!”
First, I want to say that I think ShareReviews is a cool site and I hope their business model works out. However, the privacy policy was kind of weird. It was actually amusing. Why do sites even have privacy policies? They should just come out and say “Yea, we’ll use your information for whatever we damn well please.” Below are some lines right of the policy.
“For the purposes of this policy, “Personal Information” means any information about you except your business title, address, e-mail address, telephone number or facsimile number. It also does not include your home address and telephone number if these are published in a telephone or other directory, and does not include any Review, content or other materials that you post or submit to use for possible publication. “
Umm….so what else is there? What exactly is private then?
“We do not sell your Personal Information to third parties. We may share some or all of your Personal Information with our third party business partners”
Hmmm ok. I shouldn’t be surprised. It’s a “review” site and to make money they are probably selling data. For that data to be worth anything they have to include user data with it. So why throw in the line about “we protect your privacy with a passion.” Half the business model is actually based upon doing the exact opposite.
Most users caring less is the worst part. We’ll go crazy if a telemarketer calls our house but we don’t blink while registering for a new site. Personally, I’m not against a website data mining to show relevant ads. Let’s take facebook for example. They will look at your profile and use that to display an advertisement. An advertiser will pay more to know that their ad is getting to their target demographic. I’m fine with that. I’m going to see an ad anyway, might as well see one that I might actually like. That’s how Google makes all their money.
What I don’t like is when companies sell information they collect. To me thats like selling hot pictures your ex girlfriend took for you. The ones she would dress up like a tiger and act like she is…ok getting off topic. The pictures were meant for you not the public or your favorite “rate this chick” website. Just because you don’t care about her anymore doesn’t mean you should go and sell something she wouldn’t want sold. However, let’s say you analyze the pictures. After hours of analyzing, and frequent naps, you say to yourself “hey i bet she would really like this lingerie site.” You contact her the usual way you two communicate and let her know that you are an affiliate for an animal lingerie site. Nothing wrong with that, right?
Posted in Business, Life Stuff, Satire, Web | 3 Comments »
libxml default namespace
Posted by Moe on August 25, 2007 at 4:21 pmCan’t find your nodes? Neither could we. So it turns out that Xpath doesn’t behave well with default namespaces. This is what Corey and I figured out…hope it helps.
Example XML
<Response xmlns=”http://www.badpopcorn.com/solutions”>
<solutions>
<solution>Don’t got any</solution>
<solutions>
</Response>
Although you can load it into a document, you can’t find any nodes without a little hack (using the word little loosely). Ruby example.
doc = XML:Document.file(’http://badpopcorn.com/file.xml’)
dn = ‘dn: http://www.badpopcorn.com/solutions’
doc.find(’//dn:solutions’,dn).each do |node|
r = node.find(”dn:solution,dn).first.content
Yea, we know how you feel. Way to go Corey.
Posted in Life Stuff | No Comments »
WoW to Go
Posted by on August 20, 2007 at 7:20 pmPosted by mobile phone:![]()
I got a new thing to do while carpooling to work.
File info:
Type: image jpg
Size: 202.44 kb
WoW to Go
Posted in MoBlog | 4 Comments »