September 6, 2010
-
by teebes
In June, AT&T finally added a tethering plan for iPhone users, which allows a computer to use the phone's internet connection to get online. It works over USB and Bluetooth and costs $20 extra on the $25 2GB monthly plan. I've had the opportunity to test it out a couple times this summer, first in July when I moved to a new home and had to wait a week and a half for Comcast to hook up the internet, and again in August when I was on vacation in the Outer Banks and the internet was down the entire week.
The installation is extremely easy: you can add the feature to your account right on your phone using AT&T's myWireless iPhone app (under Features) and you turn it on in Settings (General > Network > Internet Tethering). You don't have to call an AT&T rep and wait on hold to have your plan changed.
The connection quality was very good for me, even though I get mediocre signal at home (usually 2 bars). Web pages would usually instantly display and I regularly experienced download speeds of over 250K. I checked speedtest.net and the reported results were about 2 megabits download and .5 megabits upload. For day-to-day use, it's really pretty good.
read more...
June 24, 2010
-
by teebes
Recently, I visited a friend of mine that, Jeff, who was thinking about buying a computer. He's never owned one before but uses his partner's Laptop in the evenings to do e-mail, browse Facebook and watch a few YouTube videos. Of course more and more the two find themselves fighting over who gets to use the Laptop and an extra dedicated device would solve the problem. I was there with my iPad and after spending half an hour with it Jeff concluded that this did everything he needed and, since it was cheaper than a MacBook, bought one. He's been glued to it ever since.
This is of course a common tale, and a very encouraging one because an iPad is a lot easier to use and maintain than a Mac. That, combined with the lower price points, mean we have a whole new class of users that are now part of the game. To those users, the Laptop is still the benchmark because it comes down to what this new device can do, more than its specs and features. If Tablets are to truly succeed as a long-term consumer product, they'll have to empower users to similar degrees as traditional Operating Systems have. Simple questions like "can I save the video that was attached to this e'mail" will need to be answered, eventually. Likewise, users will need a way to input text to the device at an acceptable speed, and a way to watch content on it without holding the device up yourself.
read more...
May 5, 2010
-
by teebes
Facebook is a poster-child for exponential-growth Silicon Valley startups, and it has been furiously innovating and morphing its product over the last 5 years. About a year ago, it reached that critical mass where your parents and grandparents start being aware of its existence and even mentioning it in every day conversations. Some might even be fortunate enough to now be Facebook friends with your Mother-in-law, as I am.
When web applications start to reach the 'rest of the world' is usually when things start getting seriously profitable. And there we are, with TechCrunch first reporting just last September that Facebook had become profitable, with a whopping 300 million users. I think it's safe to say that it has reached that critical mass.
read more...
April 4, 2010
-
by teebes
To just view or download the code, click here.
I love SQLite, I really do. For any quick and dirty development, there is no other relational database like it: it's fast, lightweight, ultra portable, DB-API 2.0 compliant, and baked right into any distro of Python 2.5 or higher.
Using it is generally a very positive experience right up until the point where you need to make any changes to a table's schema. I distinctly remember that when learning Django it was particularly annoying to have to do a little SQLite dance every time I would need to edit or remove a model field.
It is to scratch that itch that I've created Squeak, which is a python module that can be used as a script from the command line or as a library that lets you:
- Drop a table column
- Rename a table column
- Change the definition of a table column (for example foreign key relationships or constraints)
Here is a test scenario where a column gets dropped from a table schema:
$ sqlite3 db
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE "my_table" (
...> "id" integer NOT NULL PRIMARY KEY,
...> "name" varchar (20) NOT NULL DEFAULT ""
...> )
...> ;
sqlite> .quit
$ ./squeak.py db my_table drop_column name
Column 'name' dropped
$ sqlite3 db .schema
CREATE TABLE "my_table" (
"id" integer NOT NULL PRIMARY KEY
);
For more examples and further details, please visit the project's GitHub page at http://github.com/teebes/squeak
Disclaimer:
Squeak should be used for development purposes only. It is not meant to be used on production systems and is nowhere near fool proof.
January 19, 2010
-
by teebes
Git-Goggles: A series of Git utilities to streamline working with remote branches and reviewing code.
The development team I am in at PBS has adopted a new methodology over the last few months that includes using Git, frequent (2 weeks) release cycles and rigorous code reviews. We spend a reasonable amount of time reviewing every iteration since every line of code gets critiqued by at least 2 members of the team before it gets pushed to production.
We also have a lot of branches. Since git makes branching so inexpensive and easy to manage, we use them to group tasks by functional area. We generally have in between 10 to 15 branches at once that regularly get merged into our master repo, which is the production code.
What is tricky in all this is keeping track of what code still needs to be reviewed versus what is good to go. We wanted a way to get both a nice visual, tabulated view of the state of our branches along with their status from a code review standpoint. It was to scratch that itch that our team lead, Nowell Strite, created git-goggles. The project was open sourced last week under the MIT license.
Here's a demonstration of git-goggles using a basic scenario that utilizes this type of workflow. The goal here is to push a new piece of code to a production repository, while making sure that it has been reviewed and that the branches are merged in.
First I create a new repo, a test file, and push it to github.
read more...