Showing posts with label geek. Show all posts
Showing posts with label geek. Show all posts

Thursday, November 21, 2013

Chrome's new New Tab Page

Edit: apparently this is just news to me. There was a blog post about the OS X Chrome App Launcher back in September. It is still interesting that the launcher promo was in a hidden div tag on the now defunct newtab page.

So the only way I could get Chrome to allow me to access the old "new tab page" was through an internal extension call. Typing chrome-internal://newtab into the address bar simply triggers a search for that term. But on that page I was looking at the source to get the internal sources for some image files to customize the iOS 7 New Tab Page extension when I noticed a hidden div that looked interesting...

<div id="app-launcher-promo" hidden>

Remove that hidden attribute and you get this little gem.


Following the "Learn more" link quietly (really no downloads or installs etc.) adds an application drawer to the OS X dock. This is all you see in the browser, and note that there are no links to download or install anything.



I am using Chrome Canary which explains why the icon is all yellow.




I still don't like that they removed the ability to disable the to disable the Instant Extended API or as I like to call it the wasted clicks page, but having the app drawer will mitigate the issues on my laptop for a while. I am not sure that this will work on my Ubuntu desktop. This does not work on Linux, and you just get redirected to the chrome web store. This is a shame since I spend a lot of time working on my Linux desktop.

On a side note the iOS 7 New Tab Page is interesting, but I am not a fan of iOS, there are some extensions that it fails to open and the bookmarks bar is missing. Also it is a little cheesy at points - the fake wifi signal and battery indicators...

Monday, October 28, 2013

Making an OS X Mavericks USB Installer

I have put off updating my OS X install since Snow Leopard. All the applications I have wanted to use were supported on Snow Leopard, and even people I know who worked for Apple were unable to give a compelling reason to upgrade. Very recently (within the last two weeks) I have found just two applications that I was interested in, but unable to install on my vintage OS X. So I began looking to upgrade, and to my surprise the most recent version of OS X (10.9 Mavericks) was a free upgrade.

There were some things that I had done to my existing installation that I wanted purged, and it had collected clutter since Snow Leopard was first released - yeah it has been a very stable OS.  The solution was to make a bootable USB drive.  There are no shortage of tutorials on various pages for doing this, and a number of developers have even created applications to take care of the dirty work for you. The problem was that none of those methods were working for me.

It seems that they were all running into problems formatting the drive I was using, and I am still not sure what the problem was.  After running the following command

$ sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ OS\ X\ Mavericks.app --nointeraction

And entering the necessary credentials I got the following error (complete with an grammatical error).

Failed to start erase of disk due to error (-9999, 0).
A error occurred erasing the disk.

Several Google searches for an explanation or workaround yielded little help. Luckily I stumbled onto a macworld tutorial that offered a more manual way to create a Mavericks USB drive.  The section of interest is the one labeled "Option 2: Use Disk Utility."  I was able to use these instructions when nothing else would work.  Here is a simplified set of instructions:

  1. Mount InstallESD.dmg - once you have downloaded Mavericks to your main Applications folder, right-click the installer, and choose Show Package Contents from the resulting contextual menu.  In the folder that appears, open Contents, then open Shared Support; you'll see a disk image file called InstallESD.dmg.  Double-click InstallESD.dmg in the Finder to mount its volume.
  2. Mount BaseSystem.dmg - using Terminal with the command
    $ /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg
  3. Restore BaseSystem.dmg to the destination partition - launch Disk Utility and Select BaseSystem.dmg in Disk Utility’s sidebar, and then click the Restore button.  Drag the BaseSystem.dmg icon into the source field on the right, and the properly formatted destination partition into the destination field.  Click Restore, and wait for the restore procedure to finish.
  4. Replace the Packages alias with the real thing - open the destination drive, open the System folder and then open the Installation folder. Delete the alias called Packages.  Open the mounted OS X Install ESD volume, and drag the Packages folder into the Installation folder on your destination drive (you are replacing the deleted Packages alias with this Packages folder). 

I now have a clean installation of OS X, and so far it is OK.  I have had some issues with Google Chrome's Flash process keeping my MBP awake and draining the battery, but so far nothing earth shaking. That's how it should be; operating systems should be boring. To quote Linus Torvalds:

Guess what? Wheels have been round for a really long time, and anybody who "reinvents" the new wheel is generally considered a crackpot. It turns out that "round" is simply a good form for a wheel to have. It may be boring, but it just tends to roll better than a square, and "hipness" has nothing what-so-ever to do with it.

This isn't to say that performance and security updates are not necessary and welcome improvements, but who cares about the latest iOS/OS X blah feature that will change your life.  For me a good terminal and a decent browser have been almost all I have needed for the last three years...especially on a laptop. On a side note I did upgrade to an SSD at the same time, and that was an amazing performance upgrade.

Tuesday, April 02, 2013

Designing tests that scale - or what I do all day

It has been a long time since I have posted anything here, but I feel like sharing a bit of what we have been up to.  We have been working on improving the quality of our tests, and increasing what we can measure while reducing the amount of data that we need to transfer to do the measurements.  Part of this work has been developing a custom web server written in Go that uses a highly efficient packet capture mechanism (golibpcap).  All this is wrapped up in something we call the net-score diagnostic test server (nsdt-server).

Without the nsdt-server we are limited to only looking at timings exposed at the application level (HTTP) as this is all the browser gives us.  This data is great for looking at end-to-end performance that applications can expect, because it is performance at the application.  It encompases everything between the server and the client giving a complete measurement - how long did an object take to get from server to client.  Simple and useful.  But what it does not tell us is why?

A lot can happen in the 30 ms between when the server sends the data and when it actually is received by the client.  The browser tells us that an object has finished downloading only after it has arrived in full - every last bit.  Before that last bit arrives there could have been packets that were lost, sent out of order, malformed and retransmitted.  This can mean that instead of one round trip to the server to get our object we may have had to make many smaller requests to make up for mishaps along the way.  Lucky for us TCP takes care of all the messy work but knowing what lengths TCP had to go through to get a complete copy of the data can tell us a lot about possible inefficiencies in the connection.

To learn about how TCP works hard so that applications don't have to you can use tools that capture streams of packets like wireshark.  This is great if you want to see one connection (your own), but we needed something that was going to scale to global proportions.

Part of our nsdt-server is a RESTful interface for starting packet traces.  Without going into too much detail here our server can manage many traces at once and when a trace completes it sends the results to a central control server to be processed.  Even with a highly efficient server we are going to need hundreds of these spread all over the world so we also developed a decentralized load balancer to send clients to a server that has a light load.  This decentralized load balancing server also keeps track of what servers are online and allows new servers to join without any human interaction.

I keep using the word global because even in our very quiet beginning we have data coming in from six continents!  Which is great because we are trying to build a globally representative picture of broadband access, but we still need more data.  Here is an interactive sample of some of the data we have collected so far.  You can see that western Europe and the eastern United States have the best coverage, but with more reach we hope to illuminate some of the darker corners of the global broadband market (like our tests from Fiji and Bermuda).  Here is a bigger interactive view of the map below.

net-score test locations

The hope at this point is that you are interested in getting involved.  If you have a blog or website no matter how small or obscure (actually the more obscure the better) you can help by putting a small snippet of our code in your website/blog.  We have widgets that can be installed into Google sites and Blogger, and JavaScript that can be pasted into other sites.  We would love for you to install a visible version of the tool (like in the top right corner of this page), but if you want something low-key we have a version that runs completely in the background too.  Detailed instructions can be found here, and if they are not clear or you need help we are glad to help.

Cross posted on the net-score blog.

Wednesday, August 22, 2012

Why you old phone is slow


I was recently asked by a great friend, "So do you know why Droid's go to shit when they are old?  Is the hardware breaking down?"  I did not work for Android, and this is my personal (if somewhat educated) view on the subject.

A desktop and a laptop to an extent can be over provisioned in terms of hardware with no adverse consequences.  Mobile devices don't have the same luxury - they have to balance performance with the available battery technology at the time of production.  So to give people the best battery life (something they complain about a lot) they have to build the phone with just enough horse power to run the OS at time of design with 1+ years of design time...  They try to anticipate needs when the device will actually be built, but that's hard.  you are trying to design a product that will use a CPU that may not even physically exist yet, with a battery you hope will exist, and an operating system that is being built by a separate team (maybe even a different company) that you can estimate will need more resources that the state of the art.

So with all that in mind it becomes more clear why it is easier for companies that control the hardware and software to build a device that works for a long time.  This is why I have come to appreciate the Nexus Android devices, because the software is designed with the hardware.  Think about the team that was building ICS, they were developing and testing it on Nexus S devices - hence even though it premiered on the Galaxy Nexus it runs very well on the Nexus S.  This is why even though these devices may not have the fastest processor or bells and whistles they will operate better for longer than other devices.

That said, the fact that Android is open source allows the community of developers to make up for the shortcomings of the companies that originality produced the Driod Something.  Custom ROMs can be tweaked and fit to run well on legacy devices, but locked boot-loaders (not the case on Nexus devices) and grumpy wireless carriers hinder this process.

So how about not installing any updates and keeping the exact same software that was on the phone when it was purchased?  First realize that the phone that was on the phone when it was purchased is not the software that was used to design the device (software updates for pre-production code come rapidly and they are generally non-trivial changes).  second you cannot get away with not installing software updates both for your own safety/privacy/happiness, but also as a responsible user of the network that we call the Internet (I don't want SMS spam from your phone).

So if you want to have a good long term relationship with your phone get a Nexus device, iPhone, or look for phones with unlocked boot-loaders and be prepared to tinker with it yourself.

Wednesday, February 29, 2012

Cloud Storage Solutions

My belabored attempt to break down the practicality of using cloud based backup solutions.  There are probably services out there that I have not mentioned but this is just a few that come to mind.


Edited 3/7/2011 to reflect Google Storage for Developers lower prices.

Friday, January 13, 2012

A Google/Facebook blackout might not kill SOPA

Abstract: At least one person (a must read post) in Washington explicitly wants to censor the Internet and our attempts to stop it may just be giving them more motivation to do it. 



This is the kind of thing that I could do without knowing, but it kind of confirms my thoughts on the subject.  SOPA and PIPA may have started out with big money from the entertainment industry as a way to protect an aging business model, but soon Washington realized what an opportunity this was.  The first step down a slippery slope where a central body has control over what gets published on the Internet, and they get to do it under the guise of protecting an industry's "intellectual" property.  The technically literate community is irate...

Let's think about that for a minute.  Does everybody have their tinfoil hats on?  Great, let's begin.



The Internets are pissed 
(how we see things)


Who are the Internets for the purpose of this discussion?  They are the people that are active participants in the web of information exchange.  That is they use message boards, social media sites, and other means of exchanging ideas with others like them.  For examples see postings on Slashdot, reddit, Hacker News, and the list could go on and on...

Somehow (it does not really matter how at this point) the Internets got wind of these really bad pieces of legislation that were trying to get pushed through.  It was shared among us and the shared response was like something out of a scene in Braveheart.  In my mind reddit is as close to a William Wallace as we've come, but our reaction has been in general to attempt to stir up as much dissent among the Internets and hopefully the average American as possible.  Why not?  After all it has worked pretty well in the past.  

We have done a good job about voicing to the technical among us that SOPA and PIPA is bad and there is none that I know of that are in support of it (or at least that dare to mention it).  Something strange was happening though, none of the major news outlets (read - things my parents would see) were covering it at all.  It wasn't that we were not being loud enough about it; they don't want to cover it.  They want to bring as little attention to it as possible, and that means not trying to spin it as positive (a hard feat indeed) but not talking about it at all.  Recognizing this issue reddit is leading the charge with a way to make sure that we are getting everyone's attention - make people mad.  The claim is that by blacking out popular Internet services that you can illustrate to people what a censored Internet would feel like and prod them to action.  As Forbes pointed out blocking reddit wouldn't be enough and is in a sense preaching to the choir.  They claimed that Google and/or Facebook needed to join in to make this truly effective.  I thought this just might work.  

Imagine if everyone in the US got a message to call or visit their representatives when they visited Google or Facebook.  The response would be unprecedented.  It would show for the first time how powerful the Internet could be - the "nuclear option."  How could it not work right?  If most of the country is calling you really irate and threatening to throw you out of office if you vote for SOPA, are you going to take that chance?


The Internets are causing trouble again
(how they see things)


There is a certain amount of smug pride in being a member of the old guard in Washington and some representatives use the fact that they don't use the Internet and don't care to know how it works as something of a bragging right.  For most of them the Internet is something of a toy or an annoyance.  Then comes the Arab Spring.  All of a sudden the Internet becomes a force for leveling the playing field not only in business, but also in the struggle and dissemination of governing power.

Imagine that you are a representative and people are calling you left and right telling you that they don't want you to support SOPA/PIPA.  On one hand the entertainment industry has a lot of power in the US and they are stuffing your pockets with wads of cash if you are willing to play ball, but on the other hand if people are angry enough you might loose your job.  The tension really starts to heat up when you start hearing about the "nuclear option," and you realize that larger portions of your votes are at risk.  

If you vote against SOPA/PIPA then you are going to lose the support of the massive entertainment industry, and make your constituents really happy (until the next thing that comes along they don't like).  But doing this confirms for those pesky Internet folks that they have a lot of power, and sets a precedence that threatens your future income from lobbyists and their clients.  

If you vote for SOPA/PIPA then you are assuring long term support from the entertainment industry, and the framework will be in place to silence whatever critics might arise in the future.  Since the majority of your voters will move on to whatever reality TV bullshit is trending or the latest shiny toy in a few days anyways, what's to risk?  Possible short-term lost, but a very substantial long term gain.


This is just crazy talk!


By doing what we thought was best at the time - raising awareness about an important issue - I fear that we may have given the politicians more incentive to implement a framework for shutting us up.  

Think about it - the more the Internet flexes its muscles the more the politicians see it as a threat and the harder they will fight to cripple it.  They are getting closer to the point where they risk losing everything and may result to extreme measures to protect their position of power.

The truth is at this point that at least one of our leaders see this as a golden opportunity to silence a very vocal minority.  Civil liberties are rarely lost over night, but it is a gradual descent.  We will not be North Korea over night, but as Benjamin Franklin put it, "those who would give up essential liberty, to purchase a little temporary safety, deserve neither liberty nor safety."  I can't help but think about that now every time I have to fly.




I hear myself and know how crazy all of this sounds.  Hopefully this will all disappear soon, but this one didn't.

Thursday, November 17, 2011

We are researchers not lobbyists...


Dear fellow academics,

Many of us try to distance ourselves from politics - we are researchers not lobbyists I was once told, but now is not the time to assume that your absence in the debate will not be missed. There are two pieces of legislation being proposed in Washington that will drastically alter the Internet as we know it. Because the Internet in the US (as of right now) is uncensored I would encourage you to spend a few minutes researching the Protect IP Act and the Stop Online Piracy Act. My point is not to sway you with this email to support or oppose either of these items (I will do that in person). I want to remind everyone that even if we are not lobbyists we still have a responsibility as researchers to make our voices heard so that some logic and thoughtful reasoning goes into the laws that govern the country we all share.

~Eric Gavaletz

Tuesday, March 08, 2011

Are you making a better world for your kids?

This is the question that I asked myself the other day while sitting at a desk and lamenting my present employment situation.  Since I work for a big company (one of the biggest of the biggest) there is a lot of overhead involved in my work.  Imagine if your workday were like Groundhog Day (the film) set at Initech...

Studying computers at a theoretical level to solve all kinds of interesting problems that have the potential to offer great benefit to society is a legacy that I can feel good about.  A lot of the work that is done in academia is done with the sole purpose of making the world a better place.  A few projects in our department that come to mind are medical image analysis, scientific visualization, and motion planning algorithms for micro-surgery.  This is all to say that computers can and should be used to make the world a better place.  

Though the United States and its fine universities have long lead the field on innovation in the sciences, this may not always be true and it is looking like the future of pure research is limited at best.  Pure research is not easily incorporated into a profitable business model, and in a profit driven capitalistic to a fault society where money talks academia is losing the good fight.  Some may argue that corporate research is a viable alternative, and that it has the added benefit of being privately funded -- not a burdon on the tax payers.  You shouldn't believe for one minute the corporate pretense that they are working to make the world a better place.

Private research groups used to be among the most innovative think tanks that the world has ever known, but those days seem to be but a distant memory.  While there are sure to be exceptions, today's "research" groups at major corporations have been reduced to nothing more than prototyping groups.  Where research used to be concerned with 10-20 years into the future, they now look at projects that are a mere two years out at best.  What is worse is that the big players of the golden years have been hobbled by top heavy management oversight who are risk averse and care little about the long term viability of a company.  

These companies develop their projects by selling them first, and only after they have a buyer they then target the project to the buyer's wants.  This limits the exposure of the company to the risk of expending resources on research and development work that may never turn into a profitable product.  The flip side of this is that the products tend to be mundane rehashes of existing technologies crammed into the latest buzz worthy fad of a template.  Today that means "the cloud."  Take the same applications that we have been writing for decades and do the same things in a browser instead of a desktop client.  Don't get me wrong I am a big fan of software as a service and while I have grown tired of hearing the word cloud tossed around as a catch all phrase for something that runs on a server, I do like the possible benefits.  Alas I digress...

The point is that these companies are not innovating and yet our research institutions are shrinking and dealing with massive budget cuts.  In the midst of these budget cuts the companies that are repackaging old ideas with clouds and calling it new want to charge municipalities and businesses exorbitant fees for using this "new" software with the promise of saving them lots of capital.  They want to sell your city management software that an undergrad with some PHP and mySQL could write in a summer for the wages of an internship, but they want to charge upwards of a million dollars for it!  Now that you bought the software the system is designed so that you are not going to be happy with the performance of the system, because it was written to run in a data-center and not on existing hardware.  Then they tie you into a service contract or into buying more servers (which they luckily sell).  

You might be saying that the big company hires lots of people who need to work too, and you are right.  The people that work on this software are very deserving of the jobs, and generally they do a pretty good job at it.  What they are not telling you is that they are off-shoring the jobs as fast as they can to make the company more profitable.  I wish I could say that the developers in these foreign countries are not being taken advantage of, but they are discussed as commodities.  You hear managers talking about them like heads of cattle, "did you hear that we are getting 3 to 1 in Ireland right now?"  "Yeah, but I am getting 10 to 1 in India!"  Those people deserve to get the same level of compensation as the developers with similar skills in the US.  What is not right is that these companies are using tax dollars (directly or indirectly) to pay the foreign developers after they fire the more costly developers in the US.

So my job is actively sending jobs and our tax dollars overseas, and as a computer scientist a large application of the technologies that we develop is used to automate repetitive processes.  This means that the jobs that were available to those people with low to moderate intelligence are disappearing quickly.  That software that is used to reduce labor costs just put a middle manager out of work, but the guy who empties his trash is still needed because he works for less than what it would cost to build a robot to do his job.  Where we are going with this is a ever widening wealth gap.  Even as a engineer that designs the stuff it is hard to stay on the right side of the gap, the non-unemployment side.

I was interrupted in writing this by a very good friend that reminded me of a recent talk that we attended by Srinivasan Keshav and a very nice essay on the goal of systems research.  I will not attempt to reduce an already concentrated essay here, but I will say that if you have made it this far in reading this post that you should read the essay in its entirety.  Though you probably will not agree with everything that he says, he has a very honest and straight forward style that can be refreshing, and what is the point of reading something that you agree with without some sort of mental accommodation anyways?

While I don't feel like I am doing very much to make the world a better place for my kids right now, it is important that I view this as a means to an end and not the entirety of my life.  I just need to get out of school and not chase a paycheck.  At least I can set an example of not being motivated by profit right?

Thursday, December 30, 2010

My First Android Tablet

I recently purchased an Android tablet, and I wanted to share some of my initial thoughts and reactions.  I did a good bit of research and finally decided on the Viewsonic gtablet.  The reason I decided on this tablet was that the hardware in the unit looked great on paper.  I was able to pick it up at the last minute from a Sears for cheap ($370 at the time I bought it).  But anything that I can list out here can be found at the above link.  There seem to be a lot of varying images for the tablet, but the one we ended up with looked like this


My motivation for this purchase was to entertain our twins (1 year old boys) on a long drive (28 hours in the car spread out over 4 days of driving).  We had borrowed a in car DVD player from one of my wife's co-workers, but the engineer in me spotted some immediate problems.  

  1. Keeping up with, changing, and dealing with fragile (prone to scratches) DVDs was not going to make our drive any easier.  
  2. They each get their own screen, but the screens are poor quality, only 7 inches, and only show the same image.
  3. There are a lot of wires running all over the place with these things, and if you have a toddler you know how irresistible a draping cable is!
  4. They don't have a battery (stopping for gas?) so turning off the car resets everything.
  5. While I could go on -- they are just pretty lame too...


What  you see on the screen above is the Tap-n-tap firmware that comes loaded on the tablet.  This is probably the source of most of the issues, but more about that in a bit.  For now here are some of the pros and cons for this tablet.

Pros:

  • Resolution - The screen looks great when viewing it close up or even at a modest distance at a narrow viewing angle.
  • Speed - Compared to my first generation Motorola Droid and even when compared to my wife's second generation Droid the hardware (at least on paper) is quite adept.
  • Size - This thing is stylish and svelte even compared to the iPad.  The screen ratio is even better for viewing widescreen movies.
  • Battery life - The battery on this thing lasted for about 6 hours of continuous use.  We were either playing mp3s on it or playing a movie for the kids, and we did not have to charge it in the car once.
  • Sound - My wife and I watched a movie on the tablet at the in-laws one evening and much to our surprise the tiny speakers on this made a reasonable sound.  We were impressed enough that we even used it to play some holiday tunes one morning.  
But for all the pros that this tablet has there are some problems that one has to contend with.

Problems:
  • The software on the tablet as it comes out of the box is not usable.  This is not and exaggeration, and keep in mind that I bought the first Android phone with the first version of the software.
  • The touch screen has issues with sensitivity.  Even once the available adjustments are set such that the screen is at its most sensitive, it is difficult to get it to register a touch.  This is especially true around the edges of the tablet.  Given the wide spread nature of this issue and the fact that it is consistent across different versions of software, I believe that there are obvious hardware limitations at play.
  • While the screen looks fantastic from strait on, the viewing angle is somewhat limited.  If you have never owned or used a slate style tablet before, then you probably aren't expecting that the tablet is a social instrument.  I was surprised by the fact that unlike a phone, the tablet provides a comfortable opportunity for collaboration.  The twins were far enough away from the tablet so that it wasn't too much of a problem, but when viewing a movie with my wife I found that the angle needed to be fine tuned frequently.

The update from Viewsonic was a vast improvement over the firmware that was on it out of the box, but the interface was still very poor.  I used a couple custom roms (Cyanogenmod and TNT-lite) and I am sure that more can be found with a quick Google search.  They made the tablet much better, but there were some lingering issues like the battery meter always reading 100% and force closes.  One piece of software that I did not get to test, but that sounded very cool was GPS tethering.  The idea is that you can take advantage of the large screen for navigation.

In preparation for our trip we needed to find a good mounting location that provided easy access from the passenger seat with a good view from the back seat.  I thought long and hard, and finally I decided that the front sunroof of our Discovery II was the solution.  I bought a cheap cell phone mount at a box retailer, and cut off the part that held the cell phone.  Then I cut a piece of plywood so that it was about 1/2 inch bigger on all four sides of the tablet.  I drilled holes at the four corners of the wood to thread elastic straps through.  The last step was to mount the stub of the phone mount to the back of the plywood.  This allowed for a lot of flexibility in placement, and held sturdily.  I will be making another one, but this time I will not be using a cheap phone mount.  The one I had used a stiff, but pliable adjustment.  The next one I build will have a hinged mechanism.

For a car charger you can't use a USB charger (not even with some custom wiring) because the output is too low.  SO I had to buy one at Radio Shack.  Not a big deal, but still an annoyance.


All in all I think the tablet fulfilled it purpose of entertaining our twins, but the thought of trying to use it for anything other than viewing media was going to be a nightmare.  The touchscreen issues killed it for me, and in the end it was returned.  Sears was great at returning it.

When I left Sears though I stopped by the Apple store to play with an iPad.  I still don't care for iOS, and the arrogant Apple clerk made me want to run screaming out of the store (full disclosure we have 4 macs at home and two more at our jobs).  That being said, there is no comparison between the responsiveness, and how smooth the iPad operates.  Maybe jailbreaking would make me feel better about the closed nature of the iPad, but that won't help me swallow the price.  Still this just reinfoces the idea that you get what you pay for, and after this experience I am going to have a hard time buying another Android tablet.  I just don't feel good about being an iPad owner.

Monday, May 31, 2010

It's Quit Facebook Day

While hanging out with friends this weekend we passed around an article that highlights the privacy and ethical shortfalls of Facebook.  Many of us commented on our intention to delete our accounts.  I have followed through on this and I hope that many of them will as well.  I have found a couple of things that will make the transition to a non-Facebook me easier.

Keeping your contacts:

This process allows you to get all of the email and other information from Facebook into other programs.  The point here is that while Facebook has allowed us to get in touch with many old friends that may not be the way we want to continue to keep track of them.  The process involves using a yahoo email account which has the option for importing your contact information from Facebook.  Then export that information to your service/application of choice.

Microbloging -- Status Updates:

While Twitter is not the perfect solution it is simple and there is little mistake about what is public and what is not.  I have a Twitter account that I will continue to use (http://twitter.com/gavaletz)

Bigger Posts:

I plan on using my blog (you are here now) for posts that are to lengthy to fit into the character limit for the Twitter API.  Here again there is little confusion about what is private or not.

Chat and Messages:

Email and instant messaging has worked for almost a decade and there seems little reason to think that it is not capable of working again.  I don't plan on posting an email address here, but if you are/were one of my friends on Facebook you have received a email from me explaining that I have left Facebook behind with my contact information including a link to this blog.

Photos and Videos:

This is somewhere that I found Facebook to be particularly weak anyways.  For video we use youtube and for photos we have always preferred Flickr.  Both of these sites offer free accounts to receive updates when your friends post new photos, but offer RSS feeds as well (more on that in a minute).

Private Posts:

There are some posts that are private in nature that I would like to share with family and friends but maybe not the entire Internet.  There is not an immediately clear solution to this, but then again there might be a problem with trying to post something that is partially protected to the internet.  It is possible to make a protected blog that requires users to register to see the posts and that may be the solution.

Aggregating the Information:

One of the selling points of Facebook is that it has everything in one convenient place.  I don't have to check n different blogs for my n friends.  There is a solution for this too.  And you have your choice in providers!  I personally use Google Reader, but there are many other options.  Most blogs, twitter feeds etc. have the option of subscribing to an RSS feed.  You may recognize it by the small orange square with the white curved lines...  Clicking on this button will allow you to follow this feed in your RSS reader.  This way you have one place to look to all of the most recent blog/twitter updates from your friends.

What is Missing:

There are some features of Facebook that are not replicated in my plan, but that may be for the better.  I will be so glad to never hear about the sheep that wandered off someone's farm.  The social network is missing, but lets be honest about that.  Most of us have filled in our social network from our past more than we would like to, and if someone wants to find my blog or twitter feed then they can simply search for me on Google.

There are plans in the works for a open source solution to Facebook.  Without a centralized entity controlling our data we can share and feel more in control, but the honest truth is that once shared we are never in control.  These guys are well funded and have some great ideas about an alternative to Facebook that puts 100% of the control in the user's hands.

What you Gain:

Following this type of plan does not put all of your digital "eggs" in one basket.  Facebook is not alone, and many of the services that I have described above are corporate entities completely capable of making bad decisions with your data.  BUT, by not relying on one for everything you are free to move one bit to another provider without having to change everything.  Further by not having everything in one place you are doing less to empower one company with all of your data.

To Conclude:

It is important that we share our information responsibly, and that means taking a long hard look at the companies that we are trusting with our data.  The biggest reason for me taking the steps to deactivate my account is that even though I have taken the time and the care to set privacy settings for my account Facebook has a history of setting those to a conveniently open default when it wants to roll out an "update."  There is no opt-in for Facebook because they survie on me sharing more and more private and personal information.  I would encourage you to have a look at the article in Time Magazine that made me and many of my friends realize that Facebook was not something that we wanted to be a part of.

Wednesday, April 21, 2010

My Google Phone Interview

A researcher in networking contacted my advisor a couple weeks ago requesting any leads on possible summer interns.  My advisor recommended me for the job based on the fact that the research that was being done at Google is very similar to my recent work.  I polished my resume and sent it off.  A day later I was contacted by a recruiter who took some more information and scheduled me for two technical phone interviews.  These are not the "where do you see yourself in 5 years" type of interviews.  These are the "prove P=NP and write up a C function to solve all the NP problems while you are at it" kind of interviews.  This meant that my immediate concern was preparing for the possible onslaught of questions.  

While preparing for the interview I was also preparing for a presentation in my networking class on "why use delay based protocols?"  One of the assigned papers (the one that I spent the most time working on) was the TCP Vegas paper, written by Larry Brakmo.  I found the paper very interesting and in fact there are a lot of similar issues in the paper that I worked on most recently.  So I know this paper, and I mean I REALLY know this paper well.  Guess who was my second interviewer of the day, and guess who was so focused on the interview that he failed to make the connection?  I had the opportunity to talk about  using delays to the guy who invented the idea!  Doh!

Both of my interviewers were exceptionally sharp, and polite.  While I would be supper excited to get an internship at Google I am flattered just to have had the chance to interview.  If I am not offered a position I think I will continue to try again, because the interview was challenging in a good way.  Not to mention the fact that you just may have the opportunity to speak with someone that you otherwise would not.

So Dr. Brakmo if you ever happen to see this, just know that when I said I didn't have any questions about Google that I should have taken the opportunity to ask at least one of my questions about Vegas.  No I am not going to list them here just incase I will get the chance to talk with him again.

The bottom line on the interview is this, as far as TCP goes I know my stuff, but that does not mean I know everything there is to know about networking and I will work hard to figure out the answer.  That being said, lets just hope that makes up for me pulling Null for my programming question.

Friday, September 18, 2009

One of the best T-Shirts ever...

I am not a big fan of Facebook, and more and more I find that it just highlights the aspects of humanity that annoy me. Today it did offer something good...


This site has a few more, and based on a recommendation from my friend Robert I also found a couple good ones here too.