0

Facebook iframe ajax with IE

During my journey in creating Friend Dashboard, this was a major problem I ran into, and it seems to be a pretty common one. Internet Explorer seems to have issues with ajax requests in an iframe Facebook application. The problem I was seeing was that there seemed to be no Facebook session when the ajax call was made so there would be a 302 redirect to authorize the application.

If you search google for this specific problems, you see a lot of answers regarding IE’s cookie security settings. The only solution I saw was to set P3P headers to something and for each time I saw this answer posted, I saw “it didnt” work responses. This solution didn’t work for me even trying multiple P3P header settings.

Luckily there is an easy work around. Since these are just ajax calls we are dealing with, theres always going to be an active Facebook session with the user. All you have to do is pass around the session key.

I use Facebooker, and made a fork of it adding a 3rd optional param to Facebooker::Session.create where you can specify a session key.
Example:

Facebooker::Session.create(nil, nil, "92._dCBMpo06FZpYozYh_bi_Q__.3600.1266554900-593863437")

Just pass the session key between methods any way you want. Since I was already utilizing memcahed, I used that.

This may not be the “right” way to solve this problem, but it definitely works and fighting with browser compatibility is already a pain as is.

http://github.com/abronte/facebooker

0

Introducing Friend Dashboard Facebook App

The other week I noticed that there wasn’t a real way to just quickly view your friends on Facebook. If you want to access somebodies profile page, they either have to be online recently, type there name in directly, or bring up Facebook’s tiny little “See All Friends” modal that lists friends one by one. None of these methods that are provided is what I want. I want a big, easy to view table of my friends. There are about 4 or 5 of their profiles I write on and check regularly and I wanna be able to visually access them with ease.

So I did exactly that, and Friend Dashboard is born.

The way I describe this application on its fan page, is that it is

an easy way to view all your friends in one nice table. No lists, and no searching, just an easy to view table.

You can also easily order your friends by simply dragging and dropping. Hover over your friend’s name to view their last status.

I felt that there is possibly a need for this in the Facebook community (there was for me), and that I could possibly expand on this idea of a “Friend Dashboard” by including other information.

Also in case you are interested, here are the techonlogies I utilized when making this app:

  • Ruby on Rails
  • Facebooker (ruby facebook api)
  • jQuery
  • Simpletip (jquery tooltip plugin)
  • Memcached
  • CouchDB

If you think this may be of some use to you, I suggest checking it out.

Friend Dashboard

0

2nd gen iPad

If you haven’t heard (and with every single tech blog and social media sites being completely saturated with Apple news, I can’t see why the hell not) Apple announced their latest and greatest [citation needed] handheld product, the iPad. I think this announcement took a lot of people off guard and wasn’t what many were expecting. It was long rumored that Apple was coming out with a tablet mobile device. When the word tablet is heard, people think of a fully functional touch screen PC, and this didn’t make a lot of people happy.

A lot of complaints is that this new device lacks a lot of basic functionality and some hardware. Some of the top complaints included:

  • The huge bezel
  • No camera
  • 4:3 force aspect ratio
  • No multitasking

If we have learned anything from Apple is that the first generation of any device is going to lack features on purpose. Theres more money to be made in making 3 devices instead of 1 device that does it all. The 1st gen iPhone is a great example with no 3g, copy paste, or video.

With that being said, I think there might be some great promise with later generations of the iPad that would cure some of these “OMG APPLE YOU ARE SO STUPID FOR NOT HAVING THIS” mentality. In later generations I would expect to see:

  1. Better price for storage
  2. Included 3g support in the price
  3. Make the bezel smaller and overall slicker looking device, aka something that doesn’t look like its for your grandma or 2 year old.
  4. Widescreen support, not being forced into 4:3
  5. Multitasking (I would love to see Apple put OSX on it, but more money is to be made with their app store so that will just have to stay a dream)
  6. Camera (If an ipod nano can have one, why not this?)

All in all, I’m not trying to courage or discourage anyone from getting this device. If you have a use for it and like, great, get one. If you are on the fence about getting one, and if history has taught us anything, I would suggest waiting a year or so. Let the OS updates to come out, let more iPad apps to come out, and maybe there will be a price drop or a 2nd gen iPad in a year or so.

0

Barcamp SD 6

This year was my very first Barcamp ever, let a lone first sort of tech unconfrence.  To say the least, I had a blast. If you don’t know what Barcamp is, it’s basically a meetup of people who want to learn, or who want to teach others. The whole idea behind it is its completely open to the attendee, they get to decide what they want to do and listen to. Best part of all, its  free. You also get exposed to a wide range of topics. This year there were talks from brewing your own beer, there was a straight coding session where everyone participated, to social engineering NASA and open source hardware hacking.

Now while I enjoyed every talk I sat in on, there were 3 that I liked the most.

  1. “Improving Education through Costanza’s Rules of Opposites” via @paulandersen
  2. “How not to be a freelancer” via @viss Video
  3. “Social Engineering NASA” via @n8foo

My favorite was the “Social Engineering NASA” talk by far. It was more of just a story, but what a story it was.

Barcamp was a lot of fun this year, and I can’t wait for next year’s.

Photo Cred: Tomasthanes

Update: Added video link to “How not to be a freelancer”

0

Ipredator is now open to the public!

The Pirate Bay founders started a VPN service side project quite a bit ago and was invite only from a giant email waiting list.. until now. The Ipredator VPN server is now open to the public. This is a completely anonymous and encrypted VPN service. Theres no contracts, bandwidth limits, or any restrictions (that I know of) and it only costs 5 euro/mo, or about $7 USD per month. Subscriptions are purchased in 3 month blocks.

If you know the Pirate Bay guys at all, they believe in a free and open internet. Where internet access is considered a natural born right that nobody can hinder. Unfortunately, big bad ISP’s, Governments (*cough* China *cough* Iran) , and other corporations are starting to meddle in internet affairs. This meddling is shown most commonly in the form traffic shaping (Comcast), and censorship (China and Iran). The internet is a valuable resource needed by all. Certain groups of people shouldn’t be able to control something that is suppose to belong to everybody.

If you really want to browse anonymously and know that you are safe and know nobody is screwing around with your data I would recommend this VPN service. I’ve used it myself, I’ve torrented through it, I’ve browsed through it, I think its really great. If you believe in a free and open internet, then you are supporting that ideal when using this service.

Ipredator

0

Spending the holidays as a freelancer

I felt kind of weird, I’m not used to having so much time off. The weeks leading up to holiday I was staying very busy trying to manage my time between 3 projects all belonging to different clients. When the holidays hit, the sudden change left me feeling sort of lost and with CES being this week too, I still don’t feel like things have really picked up yet either. I get the one or two emails trickle in, but things still don’t feel back to normal. Part of that is due to 2 of my 3 projects ending right before everyone went on vacation, but I also feel like the holiday has something to do with it. Probably because if I tried to get a hold of someone, they wouldn’t respond until they got back into the office.

Now all work and no play does make Jack a dull boy, so I guess some time off isn’t all a bad thing. It does give me some more time in other things I like to do like gaming, and my endless conquest to come up with the next Google. The time off to chill out and turn my brain off has been nice, though I wouldn’t mind getting back in the swing of things.

When I found Magic Prefs which is a Magic Mouse preference and configuration utility for OSX. Without this program, the mouse only comes with 2 touch sensitive gestures. I have no idea why Apple wouldn’t want to capitalize on more features with this fully functional multi touch surface. But the good news is, with Magic Prefs you can configure a very broad range of clicks, touches, swipes, and pinches to actions with your mouse making it a true multi touch surface.

I have had my Magic Mouse for a couple weeks now and my biggest pet peeve with is was the physical click. It’s not like other mice where its easy to press down on left and right click, the Magic Mouse is very noticeably harder and you really tend to notice it after couple hours of use. With each click I seem to be more and more conscious of my physical ability to left and right click. Lucky for me with Magic Prefs you can configure tap left and right tap clicks just like the multi-touch pad on the Macbook Pro. It’s a very little and simple feature, but has made me a much happier Magic Mouse user.

I highly suggest checking out Magic Prefs if you own a Magic Mouse.

The night before I left to travel for the holidays, I was very excited to receive my beta invite for Liquidweb’s new cloud hosting platform, Storm on Demand. I have been in the beta invite queue since Liquidweb first announced this new venture. To say the least, my excitement has not yet been let down.

Since I first signed up, I’ve been able to play with everything and the best way I can describe it is it’s a mix between Rackspace cloud and Amazon EC2. Liquidweb strongly pushes their support and service as does Rackspace and also include a backup feature but have also taken note on VPS’s CPU and memory and bandwidth pricing from Amazon. Then of course, they have thrown a few features of their own in too.

These are some of the features I’ve run into so far:

  • Instance Backups
    These are entire images of your Xen VPS. You can pay for backup space by the GB at $0.10/gb a month, or you can buy bulk backup space sort of like Amazon’s EBS starting at $10/mo for 100gb. Backups are executed daily and you can retain up to a maximum of 90 days of backups.
  • Extra Instance Addons
    Storm on demand offers managed hosting for your virtual servers as well as CPanel and Fantastico pre-installed on your server.
  • Ability to scale up
    This is something I think Rackspace got right and where Amazon is lacking. Sometimes you just need more memory or more CPU to a single instance. Scaling out is usually the right thing to do, but for small to medium sized deployments, that just adds extra headache.
  • Easily create custom server images
    This can all be done through the management console very easily and quickly. You can also launch a new from your saved image. Pricing for storing server images is $0.15/per gb per mo
  • Firewall
    Like Amazon’s EC2, you can create your own  firewall settings and apply them to each instance and have multiple different sets of firewall rules etc. This takes one less hassle out of setting up a new instance and dealing with iptables accross multiple instances.
  • Virtual Networks
    I really like what Storm did here with the networking. It allows you to create virtual networks between instances. This is pretty useful because you can isolate different machines. On Rackspace cloud and EC2 (though I guess you can isolate them with VPC, but that is more of a VPN product), basically all the instances on your account are networked together.
  • Better pricing for large instances
    This is where I think Storm on Demand is a great value. Hardware is getting dirt cheap, and the whole point of having your server in the cloud is to cut costs. I think the huge value here starts at the 8gb instances for $200/mo. On Rackspace this same setup costs $350/mo and on EC2 is costs $248.20/mo (standard on-demand).

When a instance is created it basically is assigned certain number of CPU’s based on the size of the instance. Each virtual CPU is a 2.2ghz Xeon. They don’t advertise this on the Storm on Demand front page, but is displayed when you create a new instance. 2gb instance has 1 VCPU, 4gb 2 VCPU’s, 8gb 4 VCPU’s, 16gb 4 VCPU’s, 32gb 8 VCPU’s.

The control panel is very slick and responsive.

No host is perfect, so I want to talk about some of the downsides I’ve run into so far.

Major Issues:

  1. No API
    Seeing as this isn’t even available to the public yet, it’s not really a big deal. The API is actually done but is in testing now and will probably be released in a couple weeks.
  2. No full DNS
    There is some sort of sudo DNS. All it seems to do is create an A record pointing to your instance IP. What about subdomains or MX records or CNAME records I possibly need for my apps and/or customers? This is something I really like about Rackspace’s cloud is that they give you full DNS support that you can do anything you want with.
  3. Weird/confusing billing
    They state that all charges are hourly and “Any terminated services are charged only for the time they were active.” but on the bottom when you create a instance they state “Payment due today, for service now through 2010-01-15″. I think they charge you a pro-rated usage for the rest of the month because I have a $38 charge on my credit card from Liquidweb from what I’m assuming was from the first test instance I created. They charged me $38 but when those resources were canceled and weren’t used up, my account was credited the $38 for future usage. I have no idea why on earth they would decide to do something like this. It basically is false advertising with all their “pay as you go” stuff, when it’s clearly not pay as you go. I should be charged at the end of each month for resources used during that month.

Minor things:

  1. Only 64-bit images
    You don’t really need 64-bit support unless you need > 4gb ram. Using 64-bit libraries also uses up a bit more memory. While this isn’t a deal breaker because you can install 32-bit libraries with ease, I would just like to see some other choices out there.
  2. Instance names require a fully qualified domain name
    You can’t just name your instances one word, it has to be a full domain

Overall impression

I’m always excited to see new hosting technologies come out and see what competitors come up with next. I think Storm’s big advantages are their price’s of larger instances and the ease of use of some key features such as backups and creating server images. I’m also excited to see what their API is going to look like. My biggest peeve of Storm so far is why I was billed $38 for something that I’m suppose to pay for only what I use by the hour.

0

The droid has been rooted

verizon-droid-phone-76ca6b81ec4c0d36_large

Only about an hour ago it was announced that the droid has been rooted.

Alldroid.org post with download + instructions etc.

Authors Post:

md5sum of initial exploit zip: 94a0c30ea9104c2776d042e760bfd716

URL: http://rapidshare.com/files/318204448/d … t.zip.html (Down now?)
URL2: http://www.4shared.com/file/168496608/8 … -root.html (thanks, blunden)
URL3: http://www.mediafire.com/?ydaqjmditjh (thanks, blunden)
URL4: http://www.multiupload.com/XYPZLK4K22
Also attached in a thread post.

The exploit provides a /system/bin/su from AOSP (that is, you can only use it from adb shell).
Other payloads can be arranged, but I’m too lazy to make them myself.

Provide a decent payload and I will turn it in to an update.zip that the Droid will apply.
Restrictions: The payload zip must be <63k
I can add files already in the official update to it (update-binary).

Some possible install instructions (unconfirmed):

md5sum of the boot partition:
3e49d99b320cf5c20bedf09343c1155c /dev/mtd/mtd2

HOWTO

Download the zip file (see mirrors in posts below)
Rename to “update.zip” and copy to the sdcard

Power off the DROID and power back on while holding the X key
When you see a “/!\” symbol, press both vol+ and camera
Use the onscreen menu to install update.zip

Once installed you will be able to run “su” from your adb shell.

0

A first look at Chrome OS

Thursday Chrome OS, Google’s new web only OS, was just released. Basically Google is seeing that 90% of our time on the computer is being spent on the internet. All our email, pictures, music, videos social network, etc are all on the web. In this sense everything else on your computer is bloatware.

Heres a quick video from Google explaining their new lightweight os.

Immediately with the release of a the code, copies began flying around the net. Specifically a virtual disk with the OS built (download) that you can just pop into a new VM on VMWare or Virtualbox and you are up and running. When it boots up you are prompted for your Google account login, after logging in its basically just like chrome. The tabs are a little more customized, and
Screen shot 2009-11-20 at 7.25.35 PMthe rest is just a browser. And thats the thing, its just a browser, its very far from an OS. Chrome “OS” is chrome, on top of a very stripped down ubuntu. In fact thats how you build it, take a copy of Ubuntu 8.04 or later, get all the pre-requisites, build chrome and you are done. It still feels a lot like linux, and you can easily tell it uses GTK for all the gui stuff.

I know this is just a dev build and its the very first source open to the public, but how exactly is Google’s vision going to pan out for this? There are some key things missing here such as being able to change the display resolution. Is the OS going to be useless if you can’t connect to the internet? If you are at all anything like me, you don’t like having all your eggs in one basket, having an offline copy is a must. I think Google gears is going to be a key player into making a local copy of the “cloud”. Though with all these features that a lot of people see that are lacking from chromium, does Google really have any intention of putting these sorta things in? I think a fine line is being walked right here between being simple, and being too simple. Being simple is good, yes. Keep things lightweight, fast, and too the point, but neglecting adding in more features, nobody is going to use it.