mirror of
https://github.com/kennethreitz-archive/.com.git
synced 2026-06-21 15:51:00 +00:00
2551 lines
206 KiB
XML
2551 lines
206 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Kenneth's log</title><link href="http://kennethreitz.com/blog/" rel="alternate"></link><link href="http://kennethreitz.com/blog//feeds/all.atom.xml" rel="self"></link><id>http://kennethreitz.com/blog/</id><updated>2011-01-03T01:24:27Z</updated><entry><title>Tablib</title><link href="http://kennethreitz.com/blog//tablib.html" rel="alternate"></link><updated>2011-01-03T01:24:27Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2011-01-03:/blog//tablib.html/</id><summary type="html"><p>Tablib is an extensive Python module for working with tabular datasets. It allows you create tables of data using standard Python datatypes, manipulate them, and easily export to Excel, JSON, YAML, and CSV.</p>
|
||
<p>Basic Usage:</p>
|
||
<pre class="literal-block">
|
||
import tablib
|
||
|
||
headers = ('first_name', 'last_name', 'gpa')
|
||
data = [('John', 'Adams', 90), ('George', 'Washington', 67)]
|
||
|
||
data = tablib.Dataset(*data, headers=headers)
|
||
</pre>
|
||
<p>You can manipulate your data like a standard Python list:</p>
|
||
<pre class="literal-block">
|
||
&gt;&gt;&gt; data.append(('Henry', 'Ford', 83))
|
||
|
||
&gt;&gt;&gt; print data['first_name']
|
||
['John', 'George', 'Henry']
|
||
|
||
&gt;&gt;&gt; del data[1]
|
||
</pre>
|
||
<p>You can easily export your data to JSON, YAML, XLS, and CSV.</p>
|
||
<pre class="literal-block">
|
||
&gt;&gt;&gt; print data.json
|
||
[{&quot;first_name&quot;: &quot;John&quot;, &quot;last_name&quot;: &quot;Adams&quot;, &quot;gpa&quot;: 90},
|
||
{&quot;first_name&quot;: &quot;Henry&quot;, &quot;last_name&quot;: &quot;Ford&quot;, &quot;gpa&quot;: 83}]
|
||
|
||
&gt;&gt;&gt; print data.yaml
|
||
- {age: 90, first_name: John, last_name: Adams}
|
||
- {age: 83, first_name: Henry, last_name: Ford}
|
||
|
||
&gt;&gt;&gt; print data.csv
|
||
first_name,last_name,age
|
||
John,Adams,90
|
||
Henry,Ford,83
|
||
|
||
&gt;&gt;&gt; open('people.xls', 'w').write(data.xls)
|
||
</pre>
|
||
<p>Excel files with multiple sheets are also supported (via the DataBook object).</p>
|
||
<p>[Source on GitHub] [PyPi Listing]</p>
|
||
</summary></entry><entry><title>GitHub Syncer in Python</title><link href="http://kennethreitz.com/blog//github-syncer-in-python.html" rel="alternate"></link><updated>2010-10-10T19:24:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-10-10:/blog//github-syncer-in-python.html/</id><summary type="html"><p>Today I rewrote a little utility I've been using for a while to
|
||
keep all of my GitHub repos up to date and organized. It updates /
|
||
clones all private, public, and watched repositories from your
|
||
account. It also detects if your repo is a mirror or fork, and
|
||
files it accordingly. My watched list is huge, but I like to have a
|
||
local copy of my favorite libraries. You never know if the owner
|
||
will take it down, or worse, move it to another SCM! ;-) The script
|
||
depends on the <strong>GitHub2</strong> module. If you don't have it, you
|
||
can install it easily.:</p>
|
||
<pre class="literal-block">
|
||
$ pip install github2
|
||
</pre>
|
||
<p>I recommend running this from <tt class="docutils literal">~/repos/</tt>.</p>
|
||
<dl class="docutils">
|
||
<dt>::</dt>
|
||
<dd><p class="first">#!/usr/bin/env python #
|
||
-<em>- coding: utf-8 -</em>-</p>
|
||
<p>&quot;&quot;&quot;Kenneth Reitz's GitHub Syncer</p>
|
||
<p>This script uses the GitHub API to get a list of all forked, mirrored, public, and
|
||
private repos in your GitHub account. If the repo already exists locally, it will
|
||
update it via git-pull. Otherwise, it will properly clone the repo.</p>
|
||
<p>It will organize your repos into the following directory structure:</p>
|
||
<ul class="simple">
|
||
<li>repos
|
||
├── forks (public fork repos)
|
||
├── mirrors (public mirror repos)
|
||
├── private (private repos)
|
||
├── public (public repos)
|
||
├── watched (this script)
|
||
└── sync.py (this script)</li>
|
||
</ul>
|
||
<p>Requires Ask Solem's github2 (<a class="reference external" href="http://pypi.python.org/pypi/github2">http://pypi.python.org/pypi/github2</a>).</p>
|
||
<p>Inspired by Gisty (<a class="reference external" href="http://github.com/swdyh/gisty">http://github.com/swdyh/gisty</a>).
|
||
&quot;&quot;&quot;</p>
|
||
<p>import os
|
||
from commands import getoutput as cmd</p>
|
||
<p>from github2.client import Github</p>
|
||
<p># GitHub configurations
|
||
GITHUB_USER = cmd('git config github.user')
|
||
GITHUB_TOKEN = cmd('git config github.token')</p>
|
||
<p># API Object
|
||
github = Github(username=GITHUB_USER, api_token=GITHUB_TOKEN)</p>
|
||
<p># repo slots
|
||
repos = {}</p>
|
||
<p>repos['watched'] = [r for r in github.repos.watching(GITHUB_USER)]
|
||
repos['private'] = []
|
||
repos['mirrors'] = []
|
||
repos['public'] = []
|
||
repos['forks'] = []</p>
|
||
<p># Collect GitHub repos via API
|
||
for repo in github.repos.list():</p>
|
||
<blockquote>
|
||
<dl class="docutils">
|
||
<dt>if repo.private:</dt>
|
||
<dd>repos['private'].append(repo)</dd>
|
||
<dt>elif repo.fork:</dt>
|
||
<dd>repos['forks'].append(repo)</dd>
|
||
<dt>elif 'mirror' in repo.description.lower():</dt>
|
||
<dd># mirrors owned by self if mirror in description...
|
||
repos['mirrors'].append(repo)</dd>
|
||
<dt>else:</dt>
|
||
<dd>repos['public'].append(repo)</dd>
|
||
</dl>
|
||
</blockquote>
|
||
<dl class="last docutils">
|
||
<dt>for org, repos in repos.iteritems():</dt>
|
||
<dd><p class="first">for repo in repos:</p>
|
||
<blockquote class="last">
|
||
<p># create org directory (safely)
|
||
try:</p>
|
||
<div class="system-message">
|
||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 88)</p>
|
||
Unexpected indentation.</div>
|
||
<blockquote>
|
||
os.makedirs(org)</blockquote>
|
||
<div class="system-message">
|
||
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 89)</p>
|
||
Block quote ends without a blank line; unexpected unindent.</div>
|
||
<dl class="docutils">
|
||
<dt>except OSError:</dt>
|
||
<dd>pass</dd>
|
||
</dl>
|
||
<p># enter org dir
|
||
os.chdir(org)</p>
|
||
<p># I own the repo
|
||
private = True if org in ('private', 'fork', 'mirror') else False</p>
|
||
<p># just <cite>git pull</cite> if it's already there
|
||
if os.path.exists(repo.name):</p>
|
||
<div class="system-message">
|
||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 100)</p>
|
||
Unexpected indentation.</div>
|
||
<blockquote>
|
||
os.chdir(repo.name)
|
||
print('Updating repo: %s' % (repo.name))
|
||
os.system('git pull')
|
||
os.chdir('..')</blockquote>
|
||
<div class="system-message">
|
||
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 104)</p>
|
||
Block quote ends without a blank line; unexpected unindent.</div>
|
||
<dl class="docutils">
|
||
<dt>else:</dt>
|
||
<dd><dl class="first last docutils">
|
||
<dt>if private:</dt>
|
||
<dd>print('Cloning private repo: %s' % (repo.name))
|
||
os.system('git clone <a class="reference external" href="mailto:git&#64;github.com">git&#64;github.com</a>:%s/%s.git' % (repo.owner, repo.name))</dd>
|
||
<dt>else:</dt>
|
||
<dd>print('Cloning repo: %s' % (repo.name))
|
||
os.system('git clone git://github.com/%s/%s.git' % (repo.owner, repo.name))</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
<p># return to base
|
||
os.chdir('..')
|
||
print</p>
|
||
</blockquote>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
<p><a class="reference external" href="http://gist.github.com/619473">Source on GitHub</a> Enjoy!</p>
|
||
</summary></entry><entry><title>OS X Trash Freedom</title><link href="http://kennethreitz.com/blog//os-x-trash-freedom.html" rel="alternate"></link><updated>2010-09-22T19:46:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-09-22:/blog//os-x-trash-freedom.html/</id><summary type="html"><p>I noticed today that i had 120GiB of data in my Mac's Trashcan. I
|
||
had enough. so I tried to kill it, and discovered a nice hidden
|
||
feature. rm -fr ~/.Trash ln -s /dev/null ~/.Trash</p>
|
||
<p>Now, when you delete a file in Finder, you get a nice pop-up
|
||
warning that the file will be permanently deleted.
|
||
<a class="reference external" href="http://media.kennethreitz.com/blog/wp-content/uploads/Screen-shot-2010-09-22-at-3.44.33-PM.png">|image|</a>
|
||
Bliss. ### Update (Setember 25th, 2010): As it turns out, OS X
|
||
defaults to this behavior whenever ~/.Trash is unwritable as a
|
||
folder. If you were to place any file in ~/.Trash, you would see
|
||
the same behaviour. Oh well, it's still rather useful in function.</p>
|
||
</summary></entry><entry><title>ShowMe v1.0.0 Released</title><link href="http://kennethreitz.com/blog//showme-v100-released.html" rel="alternate"></link><updated>2010-09-16T05:41:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-09-16:/blog//showme-v100-released.html/</id><summary type="html"><p>This weekend, I released a new Python module to PyPi: ShowMe
|
||
v1.0.0. ShowMe is a simple set of function decorators that give you
|
||
easy diagnose common problems in your Python applications. Basic
|
||
Usage: ---------- &#64;showme.trace def complex_function(a, b, c,
|
||
**kwargs): ....</p>
|
||
<pre class="literal-block">
|
||
&gt;&gt;&gt; complex_function('alpha', 'beta', False, debug=True)
|
||
calling haystack.submodule.complex_function() with
|
||
args: ({'a': 'alpha', 'b': 'beta', 'c': False},)
|
||
kwargs: {'debug': True}
|
||
</pre>
|
||
<p>It currently supports: * Argument call tracing * Execution Time
|
||
(in seconds) * CPU Execution Time * Docstrings Roadmap: * Add
|
||
&#64;showme.locals Support * Add &#64;showme.globals Support Installation
|
||
pip install showme
|
||
[<a class="reference external" href="http://github.com/kennethreitz/showme">Source on GitHub</a>]</p>
|
||
</summary></entry><entry><title>Tablib Dataset Library v0.6.1 Released!</title><link href="http://kennethreitz.com/blog//tablib-dataset-library-v061-released.html" rel="alternate"></link><updated>2010-09-13T01:22:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-09-13:/blog//tablib-dataset-library-v061-released.html/</id><summary type="html"><p>I'm pleased to announce a new Python module:
|
||
<a class="reference external" href="http://github.com/kennethreitz/tablib">Tablib</a>. Tablib is a
|
||
simple module for working with tabular datasets. It allows you
|
||
create tables of data using standard Python datatypes, manipulate
|
||
them, and easily export to Excel, JSON, YAML, and CSV. **Basic
|
||
Usage**: import tablib</p>
|
||
<pre class="literal-block">
|
||
headers = ('first_name', 'last_name', 'gpa')
|
||
data = [('John', 'Adams', 90), ('George', 'Washington', 67)]
|
||
|
||
data = tablib.Dataset(*data, headers=headers)
|
||
</pre>
|
||
<p>You can maniuplate your data like a standard Python list: &gt;&gt;&gt;
|
||
data.append(('Henry', 'Ford', 83))</p>
|
||
<pre class="literal-block">
|
||
&gt;&gt;&gt; print data['first_name']
|
||
['John', 'George', 'Henry']
|
||
|
||
&gt;&gt;&gt; del data[1]
|
||
</pre>
|
||
<p>You can easily export your data to JSON, YAML, XLS, and CSV. &gt;&gt;&gt;
|
||
print data.json [{&quot;first_name&quot;: &quot;John&quot;, &quot;last_name&quot;: &quot;Adams&quot;,
|
||
&quot;gpa&quot;: 90}, {&quot;first_name&quot;: &quot;Henry&quot;, &quot;last_name&quot;: &quot;Ford&quot;, &quot;gpa&quot;:
|
||
83}]</p>
|
||
<pre class="literal-block">
|
||
&gt;&gt;&gt; print data.yaml
|
||
- {age: 90, first_name: John, last_name: Adams}
|
||
- {age: 83, first_name: Henry, last_name: Ford}
|
||
|
||
&gt;&gt;&gt; print data.csv
|
||
first_name,last_name,age
|
||
John,Adams,90
|
||
Henry,Ford,83
|
||
|
||
&gt;&gt;&gt; open('people.xls', 'w').write(data.xls)
|
||
</pre>
|
||
<p>Excel files with multiple sheets are also supported (via the
|
||
`DataBook` object).
|
||
[<a class="reference external" href="http://github.com/kennethreitz/tablib">Source on GitHub</a>]
|
||
[<a class="reference external" href="http://pypi.python.org/pypi/tablib">PyPi Listing</a>]</p>
|
||
</summary></entry><entry><title>The Setup</title><link href="http://kennethreitz.com/blog//the-setup.html" rel="alternate"></link><updated>2010-08-03T00:43:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-08-03:/blog//the-setup.html/</id><summary type="html"><p>I'm Kenneth Reitz, one of the two co-founders of Züm Hosting. I'm a
|
||
passionate Python developer for <a class="reference external" href="http://netapp.com">NetApp</a>. I
|
||
typically spend my nights developing a number of open source
|
||
projects, and my weekends architecting the web.</p>
|
||
<div class="section" id="what-hardware-are-you-using">
|
||
<h2>What hardware are you using?</h2>
|
||
<p>My sole machine is a 2010 MacBook Pro running a Core i7 processor
|
||
at 2.66 GHz w/ 8GB of DDR3
|
||
RAM. It's 15&quot; non-reflective screen runs at a beautiful 1680 x
|
||
1050. It features both a 250GB SSD and 500 GB HDD, for a total of
|
||
750GB of local storage, thanks to the
|
||
<a class="reference external" href="http://www.mcetech.com/optibay/">OptiBay</a>. I often have it
|
||
hooked up to one of many 23&quot; LCD monitors. For general audio, I
|
||
sport a pair of Bowers &amp; Wilkins P5 Headphones. If I'm in a
|
||
high-fidelity mood, I listen through a pair of open-backed SR-60s
|
||
from Grado Labs. For telephony, I have an HTC Supersonic (EVO)
|
||
running running the Nighty Android 2.2 (Froyo) CyanogenMod v6. This
|
||
also functions as a perfectly portable hotspot. I read
|
||
documentation and play arcade games on a 64GB Apple iPad (wifi). I
|
||
play a PSP Go solely for Castlevania: Symphony of the Night. I have
|
||
a large number of very powerful
|
||
<a class="reference external" href="http://www.linode.com/?r=7bd5ecafdec13147c6019ca1c90884dbf994d67f">Linode</a>
|
||
servers at my disposal for various projects and builds. My system
|
||
is backed up regularly to a cheap 1TB Western Digital drive. My
|
||
media archives are backed up to a 1.5TB Seagate drive. My media
|
||
exists on a NAS attached to my Netgear WNR3500L router. My code is
|
||
backed up to various Git repositories local and across the net. All
|
||
web projects and databases of relevance are backed up to Amazon S3
|
||
on a nightly basis, along with all my tweets, Flickr photos, and
|
||
Gmail messages.</p>
|
||
</div>
|
||
<div class="section" id="and-what-software">
|
||
<h2>And what software?</h2>
|
||
<p>I develop and
|
||
live on the latest build of Snow Leopard. My main Python
|
||
environment is the latest 2.7 release, along with well managed
|
||
virtualenvs for all other releases
|
||
<a class="reference external" href="http://blog.mfabrik.com/2010/07/16/easily-install-all-python-versions-under-linux-and-osx-using-collective-buildout-python/">via Buildout</a>.
|
||
I also employ a very large number of virtual machines, via VMWare
|
||
Fusion 3. I have a particularly efficient XP VM that is always up,
|
||
providing me with OneNote 2010. I'd do anything for Mactopia to
|
||
port OneNote to OS X. Anything. My development environment consists
|
||
of TextMate + PeepOpen, [most recently] PyCharm, SequelPro,
|
||
Titanium Mobile, Transmit, and GitX. I love using
|
||
<a class="reference external" href="http://www.tuffcode.com/">HTTPScoop</a> for request sniffing. My
|
||
favorite command-line utilities are: Terminal.app w/ Zsh + Git,
|
||
JoelTheLion's <a class="reference external" href="http://github.com/joelthelion/autojump">autojump</a>,
|
||
Defunkt's <a class="reference external" href="http://github.com/defunkt/hub">Hub</a> and
|
||
<a class="reference external" href="http://github.com/defunkt/gist">Gist</a>, Mcxl's
|
||
<a class="reference external" href="http://mxcl.github.com/homebrew/">homebrew</a>, nicksieger's
|
||
<a class="reference external" href="http://github.com/nicksieger/jsonpretty">jsonpretty</a>, and
|
||
Rtomayko's <a class="reference external" href="http://github.com/rtomayko/bcat">bcat</a>. On servers, I
|
||
typically run the latest Ubuntu Server release, or CentOS (but only
|
||
if I have to). I carry out heavy-duty writing with
|
||
<a class="reference external" href="http://www.the-soulmen.com/ulyssescore/">Ulysses Core</a>.
|
||
<a class="reference external" href="http://www.acqualia.com/soulver/">Soulver</a> is the best
|
||
number-crunching application around. I don't know how I lived
|
||
without it. My audio production work is carried out in Adobe
|
||
Audition CS3 and FL Studio 9. I use Adobe CS5 Master Collection for
|
||
light design work and photo retouching. Photoshop Lightroom for
|
||
kosher photography dark room work. I've been meaning to get into
|
||
Fireworks for wireframing, but haven't had the time as of late. As
|
||
for architecture work, I utilize OmniGraffle for diagraming,
|
||
Mockingbird / Balsamiq for mockups, and MindNode Pro for
|
||
mind-mapping. For note taking, as mentioned, I use OneNote 2010.
|
||
Nothing compares, except my Soft Large Squared Moleskine Notebook.
|
||
My tasks are managed with
|
||
<a class="reference external" href="http://culturedcode.com/things/">Things.app</a>. I can't wait till
|
||
they roll out proper syncing. If they don't do it fast enough, I'll
|
||
be switching to Macman's
|
||
<a class="reference external" href="http://www.taskforceapp.com/">Taskforce</a>. I use Kindle for
|
||
purchased books, and iBooks for PDF reading on the iPad. I consume
|
||
Google Reader via <a class="reference external" href="http://reederapp.com/ipad/">Reeder</a>, the most
|
||
beautiful application I have ever used. For Remote Desktop I use
|
||
<a class="reference external" href="http://cord.sourceforge.net/">CoRD.app</a>. Backups are performed
|
||
by <a class="reference external" href="http://arrsync.sourceforge.net/">arRsync.app</a>, a beautiful
|
||
interface for rsync. My desktop's windows are managed well with
|
||
<a class="reference external" href="http://www.irradiatedsoftware.com/cinch/">Cinch.app</a>. My music
|
||
library is provided by Spotify at offline, 320KBPS Ogg Vorbis
|
||
goodness. In the rare occasion that Spotify is missing an artist, I
|
||
use 320KBPS MP3s and FLAC recordings for the ultra-special tracks
|
||
(e.g. Liquid Tension Experiment). I buy my MP3s from the
|
||
(wonderful) Amazon MP3 Store. I keep my video library nice and
|
||
organized in iTunes, regardless of format, with
|
||
<a class="reference external" href="http://www.iflicksapp.com/">iFlicks</a>. I stream 1080 videos,
|
||
NetFlix, and BlueRay Disks with a Play Station 3 Slim. I play
|
||
emulated retro video games Wii. Best $200 I've ever spent. For
|
||
communication, I use iChat + Chax, Linkinus, Echofon, and Skype.</p>
|
||
</div>
|
||
<div class="section" id="what-would-be-your-dream-setup">
|
||
<h2>What would be your dream setup?</h2>
|
||
<p>No more chords.</p>
|
||
</div>
|
||
</summary></entry><entry><title>OS X Development Tool: RegExihbit</title><link href="http://kennethreitz.com/blog//os-x-development-tool-regexihbit.html" rel="alternate"></link><updated>2010-07-26T03:12:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-07-26:/blog//os-x-development-tool-regexihbit.html/</id><summary type="html"><p>Working with overly complex Regular Expressions can quickly become
|
||
quite an ordeal of trial and error. RegExhibit is a fantastic tool
|
||
for OS X users that allows you to see matches as you type.
|
||
<a class="reference external" href="http://media.kennethreitz.com/blog/wp-content/uploads/Screen-shot-2010-07-25-at-11.08.55-PM.png">|image|</a>
|
||
[<a class="reference external" href="http://homepage.mac.com/roger_jolly/software/">Reg Exibit</a>]
|
||
[<a class="reference external" href="http://homepage.mac.com/roger_jolly/software/downloads/regexhibit/RegExhibit.zip">Download</a>]</p>
|
||
</summary></entry><entry><title>Unix Exit Status Code Reference</title><link href="http://kennethreitz.com/blog//unix-exit-status-code-reference.html" rel="alternate"></link><updated>2010-07-13T19:51:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-07-13:/blog//unix-exit-status-code-reference.html/</id><summary type="html"><p>I always find myself constantly Googling the list of unix status
|
||
codes (typically defined in `sysexits.h`). 0 # successful
|
||
termination 64 # base value for error messages 64 # command line
|
||
usage error 65 # data format error 66 # cannot open input
|
||
67 # addressee unknown
|
||
68 # host name unknown 69 # service unavailable 70 # internal
|
||
software error 71 # system error (e.g., can't fork) 72 # critical
|
||
OS file missing 73 # can't create (user) output file 74 #
|
||
input/output error 75 # temp failure; user is invited to retry 76 #
|
||
remote error in protocol 77 # permission denied 78 # configuration
|
||
error</p>
|
||
</summary></entry><entry><title>Terminal Productivity App: AutoJump</title><link href="http://kennethreitz.com/blog//terminal-productivity-app-autojump.html" rel="alternate"></link><updated>2010-07-07T03:20:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-07-07:/blog//terminal-productivity-app-autojump.html/</id><summary type="html"><p>On average, I'd say I spend 65% of the workday in a terminal
|
||
session. About 95% of that time is within the same same 4
|
||
directories. `cd foo` &amp; `cd bar` can get old. **AutoJump**
|
||
is a &quot;cd command that learns&quot;. It tracks shell history to detect
|
||
which directories you spend the most time in, and allows you to
|
||
*jump* to them without any directory context. It even supports
|
||
Zsh tab completion. :) From this: `cd
|
||
/Users/kreitz/repos/public/gistapi` To this: `j gistapi` Life is
|
||
good.
|
||
[<a class="reference external" href="http://wiki.github.com/joelthelion/autojump/">Project Page</a>]
|
||
[<a class="reference external" href="http://github.com/joelthelion/autojump">Source on GitHub</a>]</p>
|
||
</summary></entry><entry><title>Ventures: Python Development at NetApp</title><link href="http://kennethreitz.com/blog//ventures-python-development-at-netapp.html" rel="alternate"></link><updated>2010-05-26T18:15:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-05-26:/blog//ventures-python-development-at-netapp.html/</id><summary type="html"><p>For the past year I've been employed at
|
||
<a class="reference external" href="http://clutch-inc.com">Clutch, Inc</a> in Winchester, Virginia, as
|
||
a Systems Engineer and Web Developer. I've spent most of my time
|
||
there developing content-based websites and web applications in
|
||
PHP, advanced JavaScript, Grails, and the like. I even had the
|
||
opportunity to develop the occassional Python application for
|
||
server-side data manipulation/migration. But alas, all good things
|
||
must come to an end.</p>
|
||
<p>To that end, I have accepted a new position as a Senior Python Developer at
|
||
<a class="reference external" href="http://www.netapp.com">Network Appliance</a> (RTP Campus), starting
|
||
next week.</p>
|
||
<p>One of the best parts of this opportunity will be my
|
||
ability to work remotely from my hometown of Winchester, Virginia.
|
||
I'll be setting up office in
|
||
<a class="reference external" href="http://brightcowork.com">Bright Cowork</a> on the walking mall.</p>
|
||
<p>While moving from service-oriented web development to internal
|
||
tool/application development will be a change of pace, it's a very
|
||
welcome one, and I look forward to every moment of it.</p>
|
||
<p>I plan to leave my web development efforts to my various open source projects
|
||
and client work, but on an as-need basis. My next step is to to
|
||
focus my personal efforts on a new market entirely: iPhone app
|
||
development &amp; the iTunes store.</p>
|
||
</summary></entry><entry><title>GistAPI.py v0.1 Released</title><link href="http://kennethreitz.com/blog//gistapipy-v01-released.html" rel="alternate"></link><updated>2010-05-16T21:41:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-05-16:/blog//gistapipy-v01-released.html/</id><summary type="html"><p>Today I released GistAPI.py v0.1.2. It features a highly-optimized
|
||
Gist object model and API wrapper which allows you to consume Gists
|
||
in your next Python application. GitHub just rolled out a miniature
|
||
pre-release of the
|
||
<a class="reference external" href="http://develop.github.com/p/gist.html">Gist API</a> last month, so
|
||
API functionality is pretty limited at the moment. More features
|
||
will be added as soon as the API is updated. ## Usage from gistapi
|
||
import *</p>
|
||
<pre class="literal-block">
|
||
gist = Gist('d4507e882a07ac6f9f92')
|
||
|
||
gist.description # 'Example Gist for gist.py'
|
||
gist.created_at # '2010/05/16 10:51:15 -0700'
|
||
gist.public # False
|
||
gist.filenames # ['exampleEmptyFile', 'exampleFile']
|
||
gist.files['exampleFile'] # 'Example file content.'
|
||
</pre>
|
||
<p><a class="reference external" href="http://github.com/kennethreitz/gistapi.py/">Source on GitHub</a></p>
|
||
</summary></entry><entry><title>Notes on git-svn</title><link href="http://kennethreitz.com/blog//notes-on-git-svn.html" rel="alternate"></link><updated>2010-05-13T21:42:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-05-13:/blog//notes-on-git-svn.html/</id><summary type="html"><p>I'm forced to use SVN at the office. It's not THAT bad. OK, so
|
||
maybe it's absolutely horrible. But it's more than understandable
|
||
on their end. Those darn `.svn` folders drove me crazy. So, I use
|
||
git-svn. Git-svn allows me to harness all the power of git with a
|
||
subversion server. Perfect. (Or at least it's the best of a bad
|
||
situation.) ### Setup `git svn clone repo://url` ### Commands
|
||
`git svn dcommit --` commit your changes `git svn rebase --`
|
||
update your working copy `git stash --` stash your changes `git
|
||
stash apply --` take back your stash `git stash clear --` clear
|
||
the stash #### See Also:
|
||
<a class="reference external" href="http://github.com/jcoglan/svn2git">svn2git</a></p>
|
||
</summary></entry><entry><title>Semantic Versioning</title><link href="http://kennethreitz.com/blog//semantic-versioning.html" rel="alternate"></link><updated>2010-05-09T08:46:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-05-09:/blog//semantic-versioning.html/</id><summary type="html"><p>While listening to this week's episode of
|
||
<a class="reference external" href="http://thechangelog.com">The Changelog</a>, I came across Tom
|
||
Preston-Werner's
|
||
<a class="reference external" href="http://semver.org/">Semantic Versioning Specification</a>. I love
|
||
what I found. For many years, the open source community has been
|
||
plagued with version number dystonia. Numbers vary so greatly from
|
||
project to project, they are practically meaningless. This
|
||
specification seeks to put an end to this madness with a small set
|
||
of practical guidelines for you and your colleagues to use in your
|
||
next project. Included is a helpful guideline for correlating
|
||
repository tagging. In good taste, Mojombo also opened up the
|
||
website. If you'd like to contribute to the site, just fork the
|
||
repository, make your changes, and send a pull request. The way it
|
||
should be. [<a class="reference external" href="http://semver.org/">Semantic Versioning</a>]
|
||
[<a class="reference external" href="http://github.com/mojombo/semver.org">Source on GitHub</a>]</p>
|
||
</summary></entry><entry><title>iPad Apps Worth Lusting For</title><link href="http://kennethreitz.com/blog//ipad-apps-worth-lusting-for.html" rel="alternate"></link><updated>2010-04-04T17:57:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-04-04:/blog//ipad-apps-worth-lusting-for.html/</id><summary type="html"><p>The distaste hackers and developers have towards the iPad was
|
||
initially understandable. Now that it's out, I think everyone
|
||
should hold one in their hand before they make any outlandish
|
||
statements against it. Eric Sink sums it up pretty perfectly. &gt;
|
||
Computers, by and large, are still designed for geeks. This is why
|
||
we all buy T-shirts that say “No, I will not fix your computer”.
|
||
The genius of the iPad is that it cannot get things like viruses.
|
||
It is a closed platform. You can’t put apps on it. You can’t write
|
||
and distribute software for it without Apple’s permission. This is
|
||
why geeks hate it and normal people will love it.</p>
|
||
<p>— Eric Sink</p>
|
||
<p>I have yet to succumb to the temptation to buy an iPad. I haven't
|
||
been able to justify the steep $499 price tag. I might end up
|
||
forcing myself to get one. If I do, here's why: ##
|
||
<a class="reference external" href="http://culturedcode.com/things/ipad/">Things</a> by
|
||
<a class="reference external" href="http://culturedcode.com/">Cultured Code</a> ##
|
||
<a class="reference external" href="http://blog.instapaper.com/post/469281634">Instapaper</a> <img alt="image" src="http://media.tumblr.com/tumblr_kzrjkt6sQr1qz4rgr.png" /></p>
|
||
</summary></entry><entry><title>Crash IE6 WordPress Plugin</title><link href="http://kennethreitz.com/blog//crash-ie6-wordpress-plugin.html" rel="alternate"></link><updated>2010-03-31T16:34:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-03-31:/blog//crash-ie6-wordpress-plugin.html/</id><summary type="html"><p>## I decided to have a little fun today during lunch, so I wrote a
|
||
WordPress + jQuery plugin for Crashing IE 6. ### Once activated, IE
|
||
6 will instantly crash on page load. Enjoy :)</p>
|
||
</summary></entry><entry><title>Getting Started with Python</title><link href="http://kennethreitz.com/blog//getting-started-with-python.html" rel="alternate"></link><updated>2010-03-29T06:38:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-03-29:/blog//getting-started-with-python.html/</id><summary type="html"><p>## For the past couple of weeks, I've been working on a Python
|
||
tutorial series for beginners. They just went live.
|
||
<a class="reference external" href="http://www.vtc.com/products/QuickStart!-Python-Tutorials.htm">Give them a watch</a>
|
||
and let me know what you think!</p>
|
||
</summary></entry><entry><title>Basic Authentication protected files (htpasswd)</title><link href="http://kennethreitz.com/blog//basic-authentication-protected-files-htpasswd.html" rel="alternate"></link><updated>2010-03-29T04:58:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-03-29:/blog//basic-authentication-protected-files-htpasswd.html/</id><summary type="html"><p>## Here's a snippet for password protecting a directory served by
|
||
Apache To set this up, just add `.htaccess` and `.htpasswd` to
|
||
the desired directory being served by Apache . Make sure to
|
||
<a class="reference external" href="http://www.htaccesstools.com/htpasswd-generator/">generate your own .htpasswd file</a>.
|
||
For more `htaccess` snippets, checkout PerishablePress'
|
||
<a class="reference external" href="http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/">Stupid .htaccess Tricks</a>.</p>
|
||
</summary></entry><entry><title>Apache GZip Deflate Compression</title><link href="http://kennethreitz.com/blog//apache-gzip-deflate-compression.html" rel="alternate"></link><updated>2010-03-29T04:05:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-03-29:/blog//apache-gzip-deflate-compression.html/</id><summary type="html"><p>Here's a quick Apache `.htaccess` file for adding server-side
|
||
data compression.</p>
|
||
</summary></entry><entry><title>Baconfile: Awesome Public S3 Bucket Frontend</title><link href="http://kennethreitz.com/blog//baconfile-awesome-public-s3-bucket-frontend.html" rel="alternate"></link><updated>2010-03-09T02:28:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-03-09:/blog//baconfile-awesome-public-s3-bucket-frontend.html/</id><summary type="html"><p><a class="reference external" href="http://baconfile.com">|baconfile-sticker.png|</a> ## Amazon S3 is a
|
||
fantastic data storage platform — I use it for everything. It's
|
||
perfect for sharing data with friends. The only disadvantage is the
|
||
interface: there is none. You can manage your buckets files with
|
||
REST requests, along with a number of desktop clients. That's fine,
|
||
but what about your visitors? The only way to show them what you
|
||
have to offer is to build a frontend system that ties into the API.
|
||
### The Solution <strong>Baconfile</strong>: Simple S3 Frontend. You'll never be
|
||
happier. Check out me out at
|
||
<a class="reference external" href="http://baconfile.com/KennethReitz/">Baconfile</a>.</p>
|
||
</summary></entry><entry><title>Dev Tool: Ghost #manage /etc/hosts</title><link href="http://kennethreitz.com/blog//dev-tool-ghost-manage-etchosts.html" rel="alternate"></link><updated>2010-03-08T08:15:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-03-08:/blog//dev-tool-ghost-manage-etchosts.html/</id><summary type="html"><p>## The Ruby community has really been blowing me away lately with
|
||
their array of indispensable web development tools. **Ghost**
|
||
is no exception to this rule. It is a simple command line
|
||
application for adding and removing 127.0.0.1 entries in your
|
||
`/etc/hosts` file. I can't believe I hadn't thought of this
|
||
sooner. ###Example Usage $ ghost add mydevsite.local [Adding]
|
||
mydevsite.local -&gt; 127.0.0.1 $ ghost add staging-server.local
|
||
67.207.136.164 [Adding] staging-server.local -&gt; 67.207.136.164 $
|
||
ghost list Listing 2 host(s): mydevsite.local -&gt; 127.0.0.1
|
||
staging-server.local -&gt; 67.207.136.164 $ ghost delete
|
||
mydevsite.local [Deleting] mydevsite.local ### Installation sudo
|
||
gem install ghost</p>
|
||
<hr class="docutils" />
|
||
<p>Yes, it's really that easy. Make sure to checkout the
|
||
<a class="reference external" href="http://github.com/bjeanes/ghost">GitHub Repo</a> to contribute!</p>
|
||
</summary></entry><entry><title>Change of Heart &amp; Moleskine</title><link href="http://kennethreitz.com/blog//change-of-heart-amp-moleskine.html" rel="alternate"></link><updated>2010-03-08T06:08:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-03-08:/blog//change-of-heart-amp-moleskine.html/</id><summary type="html"><p>## I've always been a huge fan of
|
||
<a class="reference external" href="http://media.kennethreitz.com/blog/wp-content/uploads/moleskine.jpg">Mokeskine notebooks &lt;http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=https://www.amazon.com/s?ie=UTF8&amp;x=0&amp;ref_=nb_sb_ss_i_0_9&amp;y=0&amp;field-keywords=moleskine&amp;url=search-alias=aps&amp;sprefix=moleskine&amp;tag=bookforkind-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=390957&gt;`_|image|
|
||
&amp; I use them for everything—from product ideas to mockup sketching.
|
||
It all started when I was a student at George Mason University. The
|
||
student book store had a small selection by the checkout counter. I
|
||
bought a pocket-sized ruled notebook to keep track of my todo list.
|
||
As soon as I unravelled the shrink wrap, my attention was brought
|
||
to the informational leaflet. I was instantly hooked. After three
|
||
years of using the Hard Lined Large Notebooks, I've recently
|
||
migrated to a notebook that better suits my needs: The *Soft
|
||
Squared Large Notebook* is the ultimate Moleskine.
|
||
`|image1|</a></p>
|
||
</summary></entry><entry><title>It's All a Matter of Perspective</title><link href="http://kennethreitz.com/blog//its-all-a-matter-of-perspective.html" rel="alternate"></link><updated>2010-02-27T20:56:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-02-27:/blog//its-all-a-matter-of-perspective.html/</id><summary type="html"><p>An incredible reminder to look at the other side of things. <img alt="image" src="http://web.mit.edu/persci/people/adelson/images/checkershadow/checkershadow_illusion4med.jpg" />
|
||
The squares marked <strong>A</strong> and <strong>B</strong> are the same shade of
|
||
grey.`(proof) &lt;<a class="reference external" href="http://web.mit.edu/persci/people/adelson/images/checkershadow/checkershadow_double_med.jpg">http://web.mit.edu/persci/people/adelson/images/checkershadow/checkershadow_double_med.jpg</a>&gt;`_</p>
|
||
</summary></entry><entry><title>The Future of Social Media is Here: Google Buzz</title><link href="http://kennethreitz.com/blog//the-future-of-social-media-is-here-google-buzz.html" rel="alternate"></link><updated>2010-02-11T18:40:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-02-11:/blog//the-future-of-social-media-is-here-google-buzz.html/</id><summary type="html"><p>I'm all over Google Buzz. It's exactly what I've been looking for.
|
||
&gt; Imagine taking elements of Twitter, Yammer, Foursquare, Yelp, and
|
||
other social services, and shoving them together into one package.
|
||
Now imagine covering that package in a layer that looks a lot like
|
||
FriendFeed. Now imagine shoving that package inside of Gmail.
|
||
That’s Buzz. — MG Siegler of
|
||
<a class="reference external" href="http://techcrunch.com/2010/02/09/if-google-wave-is-the-future-google-buzz-is-the-present/">TechCrunch</a></p>
|
||
<p>I couldn't say it any better myself. I highly encourage anyone and
|
||
everyone to start using it as your main social aggregator
|
||
immediately. This is software sophistication at it's finest. Check
|
||
out
|
||
<a class="reference external" href="http://google.com/profiles/thepythonist#buzz">my latest buzz</a>.</p>
|
||
</summary></entry><entry><title>Snowpocalypse</title><link href="http://kennethreitz.com/blog//snowpocalypse.html" rel="alternate"></link><updated>2010-02-11T13:46:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-02-11:/blog//snowpocalypse.html/</id><summary type="html"><p><a class="reference external" href="http://www.acriddle.com/wp-content/uploads/2010/02/100206_Blizzard_of_2010-39_450.jpg">|100206_Blizzard_of_2010-39_450.jpg|</a>
|
||
<a class="reference external" href="http://www.acriddle.com/2010/02/06/portfolio-photography/landscape-and-nature-photography/blizzard-of-2010-photographs-in-winchester-virginia/">See more photosby Aaron Riddle</a>
|
||
Snow, snow, snow, snow. I've never been so tired of the word. My
|
||
small town of Winchester, VA suffered from over 3 feet of snow over
|
||
the past week. Everything shutdown. I am reminded importance of
|
||
infrastructure. I lived in Minnesota for 5 years, and have never
|
||
seen so much panic from some simple snow. They have the
|
||
infrastructure in place there. They can handle the snow. Winchester
|
||
was totally unprepared for it. It's amazing.</p>
|
||
</summary></entry><entry><title>Spotify in the US? Yes please.</title><link href="http://kennethreitz.com/blog//spotify-in-the-us-yes-please.html" rel="alternate"></link><updated>2010-01-17T19:03:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-01-17:/blog//spotify-in-the-us-yes-please.html/</id><summary type="html"><p>##I spent about 8 hours last night obtaining a Premium Spotify
|
||
account in the US, and I've never been happier. As you know,
|
||
<a class="reference external" href="http://spotify.com">Spotify</a> is only available in the UK, Spain,
|
||
and France. So, the only way to signup for an account it to take a
|
||
trip overseas... virtually. ## Step 1: Signup for a virtual private
|
||
server Signup for a <a class="reference external" href="http://linode.com">Linode</a> account, and buy
|
||
a 360 VPS. Linode allows you to choose a datacenter when you buy a
|
||
VPS, and luckily, they have a datacenter in the UK. This will run
|
||
you $20 a month. ## Step 2: Install Ubuntu and Boot Your VPS
|
||
Install Ubuntu Server on your new british hackbox. You can SSH in
|
||
to test it out. Have fun. Make sure openssh-server is installed. ##
|
||
Step 3: Edit Hosts File Append the following lines to your
|
||
<tt class="docutils literal">/etc/hosts</tt> file: 127.0.0.1 spotify.com 127.0.0.1
|
||
www.spotify.com [your vps ip] hackbox</p>
|
||
<p>## Step 4: Open a Reverse SSH Forwarding Tunnel sudo ssh -C
|
||
<a class="reference external" href="mailto:root&#64;hackbox">root&#64;hackbox</a> -L 443:spotify.com:443 sudo ssh -C root&#64;hackbox -L
|
||
80:spotify.com:480</p>
|
||
<p>Congratulations. You're now a Brit. ## Step 5: Create an Account
|
||
While creating an account, you are prompted for you postal code. I
|
||
did some
|
||
<a class="reference external" href="http://www.google.com/search?hl=en&amp;safe=off&amp;client=safari&amp;rls=en&amp;q=winchester+hampshire+office&amp;aq=f&amp;oq=&amp;aqi=">google-fu</a>
|
||
and used <tt class="docutils literal">SO23 8TH</tt> as my postal code for Winchester, Hampshire
|
||
UK. <a class="reference external" href="http://spotify.com/en/download/">Download the client</a>. ##
|
||
Step 6: Enjoy :) You now have unlimited access to a library of
|
||
~8,000,000 tracks, as if they were on your own computer. Once every
|
||
two weeks, you'll have to reopen your SSH tunnels and login at
|
||
<a class="reference external" href="http://spotify.com">spotify.com</a> to proveyou'll be good to go.
|
||
This restriction is lifted if you signup for a Premium account. I
|
||
highly recommend this, as it allows you to listen to your music at
|
||
320 kbps. I'd tell you how, but I'd rather enjoy the fruits of my
|
||
hard labor.</p>
|
||
</summary></entry><entry><title>Google Docs Now Supports All Filetypes</title><link href="http://kennethreitz.com/blog//google-docs-now-supports-all-filetypes.html" rel="alternate"></link><updated>2010-01-12T17:45:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-01-12:/blog//google-docs-now-supports-all-filetypes.html/</id><summary type="html"><p>For an extra $5 a month, <a class="reference external" href="http://evernote.com">Evernote</a> lets you
|
||
upload a file of any extension to their servers. This is a
|
||
fantastic feature for developers who like to keep their random psd
|
||
and 3ds files in sync with the cloud. Looks like Google finally
|
||
took the hint. Within the next few weeks, they will be rolling out
|
||
(in the typical staggered unveiling) the ability to upload up to 1
|
||
GB of files to Google Docs. Additional storage space will be $0.25
|
||
/ GB / Year. That's one tenth the price of Amazon S3! [
|
||
<a class="reference external" href="http://googledocs.blogspot.com/2010/01/upload-and-store-your-files-in-cloud.html">Google Press Release</a>
|
||
]</p>
|
||
</summary></entry><entry><title>Google AdWords for TV. Yes, TV.</title><link href="http://kennethreitz.com/blog//google-adwords-for-tv-yes-tv.html" rel="alternate"></link><updated>2010-01-11T16:57:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-01-11:/blog//google-adwords-for-tv-yes-tv.html/</id><summary type="html"><p>Today, Google unveiled their latest technology:
|
||
<a class="reference external" href="http://www.google.com/adwords/tvads/index-b.html">AdWords for TV</a>
|
||
and
|
||
<a class="reference external" href="https://www.google.com/adsense/www/en_US/tv/">AdSense for TV</a>.
|
||
This totally blows my mind. They are about to totally revolutionize
|
||
the television industry. You can manage TV ads just like you manage
|
||
AdWords ads for the web. You enter the amount you're willing to pay
|
||
per impression, and your daily budget, and Google does the rest.
|
||
Google is the future of all advertizing. NBC, be afraid. From
|
||
Google: The results were extraordinary. Web traffic to ooVoo.com
|
||
increased by 500% and ooVoo-related search queries rose by more
|
||
than 200% over pre-campaign levels.&quot;
|
||
<em>- Lisa Abourezk, VP of marketing, ooVoo</em></p>
|
||
</summary></entry><entry><title>My Standard CSS Attributes</title><link href="http://kennethreitz.com/blog//my-standard-css-attributes.html" rel="alternate"></link><updated>2010-01-10T18:20:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-01-10:/blog//my-standard-css-attributes.html/</id><summary type="html"><p>This is my minimal set of CSS Attributes that I use on nearly every
|
||
project I work on. If you have any improvement suggestions, feel
|
||
free to share.</p>
|
||
</summary></entry><entry><title>New Years Resolutions for Startups</title><link href="http://kennethreitz.com/blog//new-years-resolutions-for-startups.html" rel="alternate"></link><updated>2010-01-03T20:07:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2010-01-03:/blog//new-years-resolutions-for-startups.html/</id><summary type="html"><p>Here's a small list of 2009 <em>New Year's Resolutions</em> for your
|
||
startup. ### 1. Simplify Anyone can make something complex. It
|
||
takes thoughtful planning, consideration, and discipline to make
|
||
something simple. Simple = elegant. The same applies to your
|
||
business. ### 2. Get some Humility Don't assume you know what your
|
||
audience wants.
|
||
<a class="reference external" href="http://www.fourhourworkweek.com/blog/2009/12/13/how-to-create-a-global-phenomenon-for-less-than-10000/">Find out first</a>.
|
||
### 3. Release a Real Product 10,000 great ideas are worthless if
|
||
you never act upon them. Pick one. Pick three and mix. Release. ###
|
||
4. The Opposite is Also True Your product can be enormously
|
||
successful for a single feature. Someone else's product will be
|
||
even more successful for excluding that same feature. ### 5. Loose
|
||
the Bulk Startups
|
||
<a class="reference external" href="http://cdixon.tumblr.com/post/311546950/things-startups-do-and-dont-need">don't need much</a>.
|
||
The more you spend, the less you earn. Keep things small. Keep
|
||
things simple. You'll thrive.</p>
|
||
</summary></entry><entry><title>Why Ruby Scares Me</title><link href="http://kennethreitz.com/blog//why-ruby-scares-me.html" rel="alternate"></link><updated>2009-12-20T08:33:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-20:/blog//why-ruby-scares-me.html/</id><summary type="html"><p>Ruby scares me. It's not the language that strikes fear in my
|
||
heart, however; it is the community. <img alt="image" src="http://s3.amazonaws.com/media.kennethreitz.com/scared-smaller-87.jpg" /> ## The Reasons 1. They
|
||
treat Ruby as the Messiah — there is nothing better. There is
|
||
nothing else. Only Ruby. 2. Community Leader Idol Wordship — did
|
||
anyone catch the (online presence) death of
|
||
<a class="reference external" href="http://en.wikipedia.org/wiki/Why_the_lucky_stiff">_why</a>? 3.
|
||
&quot;Now we can finally get things done&quot;. — See next question. 4. Have
|
||
you ever seen Ruby code? Look at below. 5. See Reason # 4. def
|
||
remember(&amp;a_block) &#64;block = a_block end</p>
|
||
<pre class="literal-block">
|
||
remember {|name| puts &quot;Hello, #{name}!&quot;}
|
||
|
||
&#64;block.call(&quot;Jon&quot;)
|
||
# =&gt; &quot;Hello, Jon!&quot;
|
||
</pre>
|
||
<p>Can you really tell me, with a degree of certainty, what that's
|
||
supposed to do? Please, just shoot me now.</p>
|
||
</summary></entry><entry><title>Do You Develop Software or Experiences?</title><link href="http://kennethreitz.com/blog//do-you-develop-software-or-experiences.html" rel="alternate"></link><updated>2009-12-20T07:05:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-20:/blog//do-you-develop-software-or-experiences.html/</id><summary type="html"><p>I read an
|
||
<a class="reference external" href="http://www.antipope.org/charlie/blog-static/2009/12/21st_century_phone.html">interesting article</a>
|
||
today on Apple's marketing strategy. A certain section stood out to
|
||
me, regarding their hardware manufacturing: &gt; Apple is an
|
||
experience company. They're a high-end marque; if they &gt; were in
|
||
the automobile business, they'd be BMW, Mercedes, and &gt; Porsche
|
||
rolled into one. They own about 12% of the PC market in the &gt;
|
||
USA... but 91% of the high end of the PC market (laptops over $999,
|
||
&gt; desktops over $699).</p>
|
||
<p>— Charlie Stross of
|
||
<a class="reference external" href="http://www.antipope.org/charlie/blog-static/2009/12/21st_century_phone.html">Antipope.org</a>.</p>
|
||
<p>## The Point: <a class="reference external" href="http://sethgodin.typepad.com/">Seth Godin</a> and
|
||
<a class="reference external" href="http://37signals.com/">37Signals</a> both recommend marketing
|
||
yourself to the early adopters and geeks. Apple, however, does the
|
||
opposite. They market themselves to the middle market — the
|
||
incredibly non-technical. The geeks come on their own, with no
|
||
marketing needed. They love it. And this makes Apple *enormously*
|
||
successful. **Develop your software/experience for the
|
||
masses**. Make the geeks love it, but make them find it on their
|
||
own. Just a thought.</p>
|
||
</summary></entry><entry><title>Best CSS Reset Around</title><link href="http://kennethreitz.com/blog//best-css-reset-around.html" rel="alternate"></link><updated>2009-12-20T03:09:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-20:/blog//best-css-reset-around.html/</id><summary type="html"><p>Lets face it, cross-browser CSS can be a real pain. This helps.</p>
|
||
</summary></entry><entry><title>MediaTemple (dv) Backup to S3 Script</title><link href="http://kennethreitz.com/blog//mediatemple-dv-backup-to-s3-script.html" rel="alternate"></link><updated>2009-12-18T14:38:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-18:/blog//mediatemple-dv-backup-to-s3-script.html/</id><summary type="html"><p>## The Problem <a class="reference external" href="http://mediatemple.net">MediaTemple</a> servers run
|
||
the *Plesk Control Panel*, which *has* a reputation for having
|
||
*useless backups*. ## The Solution * MySQL Dumps of all
|
||
Databases and Tables * All configured vhosts, zipped up * Pushes
|
||
it all to either S3 or FTP Stick it in <tt class="docutils literal">/etc/cron.daily/</tt>, and
|
||
you'll be good to go. No more worries. No more headaches. Ever.
|
||
**Note:** Standard FTP is also supported. ### The Code:</p>
|
||
</summary></entry><entry><title>Fizz Buzz in Python</title><link href="http://kennethreitz.com/blog//fizz-buzz-in-python.html" rel="alternate"></link><updated>2009-12-17T16:53:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-17:/blog//fizz-buzz-in-python.html/</id><summary type="html"><p>Jeff Atwood of <a class="reference external" href="http://codinghorror.com">Coding Horror</a> has
|
||
developed a sure fire test to filter out <em>good programmers</em> from
|
||
<em>bad ones</em>. It's called
|
||
<a class="reference external" href="http://www.codinghorror.com/blog/archives/000781.html">the FizzBuzz test</a>,
|
||
and it's a very simple problem to solve. Enjoy! If you'd like to
|
||
learn more about programming, <a class="reference external" href="/contact-me/">contact me</a> for a
|
||
one-on-one lesson. for i in range(1,101): if not i % 15: print
|
||
&quot;FizzBuzz&quot; elif not i % 3: print &quot;Fizz&quot; elif not i % 5: print
|
||
&quot;Buzz&quot; else: print i</p>
|
||
</summary></entry><entry><title>Facebook and Google Launch Url Shortners</title><link href="http://kennethreitz.com/blog//facebook-and-google-launch-url-shortners.html" rel="alternate"></link><updated>2009-12-14T23:51:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-14:/blog//facebook-and-google-launch-url-shortners.html/</id><summary type="html"><p><a class="reference external" href="http://goo.gl">goo.gl</a> and <a class="reference external" href="http://fb.me">fb.me</a>,
|
||
respectively.</p>
|
||
</summary></entry><entry><title>Google Launches Public DNS Service</title><link href="http://kennethreitz.com/blog//google-launches-public-dns-service.html" rel="alternate"></link><updated>2009-12-03T17:18:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-03:/blog//google-launches-public-dns-service.html/</id><summary type="html"><p>Google just launched a
|
||
<a class="reference external" href="http://code.google.com/speed/public-dns/">Public DNS Service</a>,
|
||
much like OpenDNS. ###Let me Try! To give it a try, change your
|
||
computer (our router)'s DNS servers.
|
||
<tt class="docutils literal">DNS Servers: 4.3.2.1, 8.8.8.8, 8.8.4.4</tt> I expect this to have
|
||
significantly greater adoption rates than OpenDNS, since the IP
|
||
Address of the servers are much easier to remember.</p>
|
||
</summary></entry><entry><title>Yahoo to Introduce Full Facebook Connect</title><link href="http://kennethreitz.com/blog//yahoo-to-introduce-full-facebook-connect.html" rel="alternate"></link><updated>2009-12-02T18:42:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-02:/blog//yahoo-to-introduce-full-facebook-connect.html/</id><summary type="html"><p>Yahoo, Inc
|
||
<a class="reference external" href="http://yhoo.client.shareholder.com/press/releasedetail.cfm?ReleaseID=427720">just announced</a>
|
||
that it will integrate Facebook Connect for all accounts. I love
|
||
this.</p>
|
||
<p>Continuing its commitment to be the center of people's online
|
||
lives, Yahoo! Inc. (NASDAQ:YHOO) today announced further
|
||
integration with Facebook that unites social experiences from
|
||
across the Web to provide a place for consumers to enjoy meaningful
|
||
content and stay in touch with the people they care about most.
|
||
&quot;With this integration, we are opening the door for two of the
|
||
Internet's largest online communities to make it easier for people
|
||
to stay connected,&quot; said Jim Stoneham, vice president of
|
||
Communities for Yahoo!. &quot;It also enables us to further the Yahoo!
|
||
Open Strategy, which is aimed at making experiences dramatically
|
||
more open, social and personally relevant for the more than 500
|
||
million people that visit Yahoo! each month.&quot;</p>
|
||
</summary></entry><entry><title>Asynchronous Google Analytics!</title><link href="http://kennethreitz.com/blog//asynchronous-google-analytics.html" rel="alternate"></link><updated>2009-12-02T13:29:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-02:/blog//asynchronous-google-analytics.html/</id><summary type="html"><p>Google Analytics now supports Asyncronous loads, which allow the
|
||
browser to continue loading content while <strong>ga.js</strong> is being
|
||
loaded. Now it's safe to put the script tag in the <tt class="docutils literal">&lt;head&gt;</tt> for
|
||
you XHTML STRICT junkies.</p>
|
||
<p><strong>Here's the new code to do so:</strong></p>
|
||
<pre class="literal-block">
|
||
var _gaq = _gaq || [];
|
||
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
|
||
_gaq.push(['_trackPageview']);
|
||
|
||
(function() {
|
||
var ga = document.createElement('script');
|
||
ga.src = ('https:' == document.location.protocol ?
|
||
'https://ssl' : 'http://www') +
|
||
'.google-analytics.com/ga.js';
|
||
ga.setAttribute('async', 'true');
|
||
document.documentElement.firstChild.appendChild(ga);
|
||
})();
|
||
</pre>
|
||
<p>## WordPress Plugin Update I love this new code clip so much, I
|
||
decided to write a WordpPress Plugin for it. Enjoy! -
|
||
<a class="reference external" href="http://github.com/kennethreitz/async-google-analytics-wordpress-plugin">GitHub Project Page</a>
|
||
-
|
||
<a class="reference external" href="http://github.com/kennethreitz/async-google-analytics-wordpress-plugin/zipball/master">Direct WordPress Plugin</a></p>
|
||
</summary></entry><entry><title>How's My Code?</title><link href="http://kennethreitz.com/blog//hows-my-code.html" rel="alternate"></link><updated>2009-12-01T19:56:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-01:/blog//hows-my-code.html/</id><summary type="html"><p><a class="reference external" href="http://howsmycode.com">How's My Code?</a> is a new service for peer
|
||
code review that is decentralized, and available wherever you are.
|
||
Perfect for indie development teams. Oh, and did I mention Seamless
|
||
GitHub integration?</p>
|
||
</summary></entry><entry><title>User Interface: Content vs. MetaContent</title><link href="http://kennethreitz.com/blog//user-interface-content-vs-metacontent.html" rel="alternate"></link><updated>2009-12-01T17:38:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-12-01:/blog//user-interface-content-vs-metacontent.html/</id><summary type="html"><p>Trey of lopsa.org wrote a
|
||
<a class="reference external" href="http://lopsa.org/node/1566">fantastic article</a> on the the techie
|
||
vs. non-techie divide. If you are in the user-interface market, I
|
||
suggest you read this. It sheds some wonderful light on this great
|
||
divide. ## In Short Ordinary Users only see and understand content
|
||
in a system. Developers and Techies implicitly understand the
|
||
Metadata that surrounds that content at such an intimate level that
|
||
they build systems that subconsciously further the divide. Good
|
||
Stuff.</p>
|
||
</summary></entry><entry><title>Google Analytics + Intellegence</title><link href="http://kennethreitz.com/blog//google-analytics-intellegence.html" rel="alternate"></link><updated>2009-11-30T17:53:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-30:/blog//google-analytics-intellegence.html/</id><summary type="html"><p>Google's super-star flagship cloud-based visitor tracking software,
|
||
<a class="reference external" href="http://google.com/analytics">Google Analytics</a>, released a
|
||
<a class="reference external" href="http://1.bp.blogspot.com/_J20OFghLIP0/Sv2bgjlDn8I/AAAAAAAAAMA/kI-VHM7VRD0/s400/Intelligence_Report.jpg">new feature</a>
|
||
recently. It's called
|
||
<a class="reference external" href="http://analytics.blogspot.com/2009/11/new-feature-spotlight-analytics.html">Intelligence</a>.
|
||
##What They Have To Say Your new hardworking assistant, Analytics
|
||
Intelligence, can't replace you or a professional analyst. But, it
|
||
can find key information for you and your professional analysts --
|
||
so that your team can focus on making strategic decisions, instead
|
||
of sifting through an endless sea of data. Intriguing.</p>
|
||
</summary></entry><entry><title>Google Wave Interface FAIL</title><link href="http://kennethreitz.com/blog//google-wave-interface-fail.html" rel="alternate"></link><updated>2009-11-30T17:43:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-30:/blog//google-wave-interface-fail.html/</id><summary type="html"><p>I had the opportunity to see a non-technical friend's first
|
||
reaction to Google Wave today.</p>
|
||
<p><img alt="image" src="http://media.kennethreitz.com/stephanie-85.png" /> I can't help but laugh.</p>
|
||
<p>Also, If you'd like to experience this mess of an interface for
|
||
yourself, please
|
||
<a class="reference external" href="http://kennethreitz.com/contact-me/">contact me</a>.</p>
|
||
</summary></entry><entry><title>The SEO Rapper</title><link href="http://kennethreitz.com/blog//the-seo-rapper.html" rel="alternate"></link><updated>2009-11-30T17:21:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-30:/blog//the-seo-rapper.html/</id><summary type="html"><p>SEO Tactics are typically a dime a dozen, written by people
|
||
interested in BlackHat PageRank Hacking and Link Farming. Surprise,
|
||
Surprise: an SEO Rap.</p>
|
||
<p>Surprisingly, he knows what he's talking about, and offers decent
|
||
advice.</p>
|
||
</summary></entry><entry><title>DRY and Pythonic jQuery?</title><link href="http://kennethreitz.com/blog//dry-and-pythonic-jquery.html" rel="alternate"></link><updated>2009-11-30T17:16:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-30:/blog//dry-and-pythonic-jquery.html/</id><summary type="html"><p>Apparently, <strong>groovy:spring:java</strong> as <strong>jabs:jquery:javascript</strong>.
|
||
As if jQuery wasn't short enough already.</p>
|
||
<p><a class="reference external" href="http://github.com/collin/jabs">Jabs</a> lets you write this jQuery
|
||
code:</p>
|
||
<pre class="literal-block">
|
||
jQuery(function() {
|
||
var $ = jQuery;
|
||
|
||
$(&quot;[default_value]&quot;)
|
||
.blur(function() {
|
||
var self = $(this);
|
||
if(self.val() === &quot;&quot;) {
|
||
self.val(self.attr(&quot;default_value&quot;));
|
||
}
|
||
})
|
||
.focus(function() {
|
||
var self = $(this);
|
||
if(self.val === self.attr(&quot;default_value&quot;)) {
|
||
self.val(&quot;&quot;);
|
||
}
|
||
})
|
||
.blur();
|
||
});
|
||
</pre>
|
||
<p>By typing this:</p>
|
||
<pre class="literal-block">
|
||
$ [default_value]
|
||
:blur
|
||
if &#64;value === &quot;&quot;
|
||
&#64;value = &#64;default_value
|
||
:focus
|
||
if &#64;value === &#64;default_value
|
||
&#64;value = &quot;&quot;
|
||
.blur
|
||
</pre>
|
||
<p><a class="reference external" href="http://haml-lang.com/">HAML</a> tactics FTW.</p>
|
||
</summary></entry><entry><title>The Power of a Clean API</title><link href="http://kennethreitz.com/blog//the-power-of-a-clean-api.html" rel="alternate"></link><updated>2009-11-30T12:29:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-30:/blog//the-power-of-a-clean-api.html/</id><summary type="html"><p>The folks over at <a class="reference external" href="http://mozillalabs.com/">Mozilla Labs</a> never
|
||
cease to amaze me with their unique ideas. They strive to transform
|
||
the way users interact with the web forever.</p>
|
||
<p><a class="reference external" href="https://jetpack.mozillalabs.com/">**Mozilla JetPack**</a> is a bit
|
||
different, though. This tool allows web developers to make
|
||
incredibly powerful Firefox Extentions with the layout languages
|
||
they already know and love.</p>
|
||
<p>My god, this is amazing.</p>
|
||
</summary></entry><entry><title>Google's Gotta New Face</title><link href="http://kennethreitz.com/blog//googles-gotta-new-face.html" rel="alternate"></link><updated>2009-11-30T12:05:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-30:/blog//googles-gotta-new-face.html/</id><summary type="html"><p><img alt="image" src="http://blogoscoped.com/files/google-everything/2.png" /> Want to try it? Go to <a class="reference external" href="http://google.com">google.com</a> and
|
||
paste this into your browser's address bar:</p>
|
||
<pre class="literal-block">
|
||
javascript:void(document.cookie=&quot;PREF=ID=20b6e4c2f44943bb:U=4bf292d46faad806:
|
||
TM=1249677602:LM=1257919388:S=odm0Ys-53ZueXfZG;path=/;domain=.google.com&quot;);
|
||
</pre>
|
||
</summary></entry><entry><title>jQuery Snippet #1: URL Parameter Fetching</title><link href="http://kennethreitz.com/blog//jquery-snippet-1-url-parameter-fetching.html" rel="alternate"></link><updated>2009-11-30T09:08:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-30:/blog//jquery-snippet-1-url-parameter-fetching.html/</id><summary type="html"><p>I've decided to provide you with a new data stream. The jQuery
|
||
Snippet of the Week. Enjoy.</p>
|
||
<p>When executed, this function will return a beautiful string-indexed
|
||
array of your hacking pleasures.</p>
|
||
<p>Thanks, <a class="reference external" href="http://snipplr.com/users/Roshambo/">Roshambo</a> and
|
||
<a class="reference external" href="http://jquery-howto.blogspot.com/">jQuery HowTo</a>!</p>
|
||
</summary></entry><entry><title>jQuery Snippet #1: URL Parameter Fetching</title><link href="http://kennethreitz.com/blog//jquery-snippet-1-url-parameter-fetching.html" rel="alternate"></link><updated>2009-11-30T09:08:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-30:/blog//jquery-snippet-1-url-parameter-fetching.html/</id><summary type="html"><p>I've decided to provide you with a new data stream. The jQuery
|
||
Snippet of the Week. Enjoy.</p>
|
||
<p>When executed, this function will return a beautiful string-indexed
|
||
array of your hacking pleasures.</p>
|
||
<p>Thanks, <a class="reference external" href="http://snipplr.com/users/Roshambo/">Roshambo</a> and
|
||
<a class="reference external" href="http://jquery-howto.blogspot.com/">jQuery HowTo</a>!</p>
|
||
</summary></entry><entry><title>Blog &lt; Effort</title><link href="http://kennethreitz.com/blog//blog-lt-effort.html" rel="alternate"></link><updated>2009-11-25T07:06:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-25:/blog//blog-lt-effort.html/</id><summary type="html"><p><strong>Word to the wise</strong>: blogs take effort to maintain.</p>
|
||
</summary></entry><entry><title>OSX + MAMP + Python + PHP + MySQL</title><link href="http://kennethreitz.com/blog//osx-mamp-python-php-mysql.html" rel="alternate"></link><updated>2009-11-05T18:15:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-05:/blog//osx-mamp-python-php-mysql.html/</id><summary type="html"><p>If you're a web developer who uses MAMP in conjunction with
|
||
anything other than PHP,
|
||
I'm sure you've had quite a large bit of frustration involving
|
||
multiple MyQL instances.</p>
|
||
<p>Not any more! This simple chain of commands will save you days upon
|
||
days of troubles:</p>
|
||
<pre class="literal-block">
|
||
sudo rm /tmp/mysql.sock
|
||
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
|
||
</pre>
|
||
<p>I only wish I had found this sooner. Enjoy.</p>
|
||
</summary></entry><entry><title>Cloud Computing: Yin and Yang</title><link href="http://kennethreitz.com/blog//cloud-computing-yin-and-yang.html" rel="alternate"></link><updated>2009-11-03T14:32:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-11-03:/blog//cloud-computing-yin-and-yang.html/</id><summary type="html"><p>Cloud computing enables us. Amazon's EC2 allows anyone in the world
|
||
to have instant access to incredibly powerful high-end servers that
|
||
would usually cost tens of thousands of dollars for pennies on the
|
||
dollar. ##Life is good. Of course, people use this technology for
|
||
both good and bad. In fact, a few days ago, someone wrote a
|
||
tutorial
|
||
for`Cracking PGP with an Amazon EC2 instance &amp; EDPR &lt;<a class="reference external" href="http://news.electricalchemy.net/2009/10/cracking-passwords-in-cloud.html">http://news.electricalchemy.net/2009/10/cracking-passwords-in-cloud.html</a>&gt;`_.
|
||
Again, life is good. <strong>Remember:</strong> if you create an successful open
|
||
door web service, all people, good and bad, will come. <img alt="image" src="http://s3.amazonaws.com/media.kennethreitz.com/black-hattitude-82.jpg" /></p>
|
||
</summary></entry><entry><title>GitHub + Strategy</title><link href="http://kennethreitz.com/blog//github-strategy.html" rel="alternate"></link><updated>2009-10-30T16:12:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-10-30:/blog//github-strategy.html/</id><summary type="html"><p>GitHub is currently <a class="reference external" href="http://github.com">down</a>. And that is very
|
||
sad. However, they have an
|
||
<a class="reference external" href="http://github.com/images/error/angry_unicorn.png">Awesome Angry Unicorn</a>.
|
||
And this unicorn makes me smile, even though I can't get to any of
|
||
my projects. If you're going to make a web application, give it
|
||
some personality. This will not only keep your userbase
|
||
entertained, but will serve as a nice insurance package when you
|
||
let them down. <img alt="image" src="http://s3.amazonaws.com/media.kennethreitz.com/image.axd-96.png" /></p>
|
||
</summary></entry><entry><title>imo.im &gt; meebo</title><link href="http://kennethreitz.com/blog//imoim-gt-meebo.html" rel="alternate"></link><updated>2009-10-27T22:50:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-10-27:/blog//imoim-gt-meebo.html/</id><summary type="html"><p>I've been a long-time user of <a class="reference external" href="http://meebo.com">meebo</a>, a
|
||
web-based chat client.
|
||
I'm not going to use it anymore now. I found...
|
||
{ <a class="reference external" href="https://imo.im/">imo.im</a> }</p>
|
||
</summary></entry><entry><title>Apple + Developers = Earnings</title><link href="http://kennethreitz.com/blog//apple-developers-earnings.html" rel="alternate"></link><updated>2009-10-25T16:52:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-10-25:/blog//apple-developers-earnings.html/</id><summary type="html"><p><strong>Apple, Inc</strong> reported their
|
||
<a class="reference external" href="http://www.businessweek.com/technology/ByteOfTheApple/blog/archives/2009/10/apple_stock_hit.html">highest earnings ever</a>
|
||
today.
|
||
But, Why? Because they have proven that thoughtful design and
|
||
attention to every minute detail will always win in the end.</p>
|
||
<p>Because they have shown that designing with both developers and
|
||
users equally in mind is essential.</p>
|
||
<p>Because they noticed that being remarkable isn't about being the
|
||
go-to guy all the time.</p>
|
||
<p>Because they realized that it's okay to do not have the biggest
|
||
market share.</p>
|
||
<p>Because they realized there is a balance. And they found it.</p>
|
||
<p>Because they make the best laptops around.</p>
|
||
<p>Because they lead a tribe of people.</p>
|
||
<p>So, Congratulations Apple.</p>
|
||
<p>You deserve it.</p>
|
||
<p>Really.</p>
|
||
<p>Kenneth Reitz</p>
|
||
</summary></entry><entry><title>OpenDNS Finally Monetizes</title><link href="http://kennethreitz.com/blog//opendns-finally-monetizes.html" rel="alternate"></link><updated>2009-10-25T16:52:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-10-25:/blog//opendns-finally-monetizes.html/</id><summary type="html"><p>I've been a long-time fan and user of
|
||
<strong>`OpenDNS &lt;http://www.opendns.com&gt;`_</strong>, the free and
|
||
often-superior DNS Server. I've always noticed drastic improvements
|
||
in my site loading speeds when using the service (due to
|
||
drastically improved domain name lookups). There's really no
|
||
downside to using the system. It's significantly faster than most
|
||
ISP's own DNS servers, and it's updated far more frequently.
|
||
##Announcing OpenDNS Monetization OpenDNS now offers a new service
|
||
called <strong>OpenDNS Deluxe</strong>, which is tailed for the average
|
||
household as well as smaller companies. ###Premium Support It
|
||
allows users to have an ad-free experience and have priority over
|
||
free members. The price for this service is only $9.95 a year. Not
|
||
too bad! ###For Power Users They are also offering a very robust
|
||
<strong>OpenDNS Enterprise</strong> edition for medium to fortune 500 companies.
|
||
It has many advanced features such as: delegated administration,
|
||
advanced reporting, and malware site protection. ###Pricing That
|
||
price isn't listed :)
|
||
<a class="reference external" href="http://www.opendns.com/start/">Sign up today!</a></p>
|
||
</summary></entry><entry><title>DISQUS 2 Is Awesome</title><link href="http://kennethreitz.com/blog//disqus-2-is-awesome.html" rel="alternate"></link><updated>2009-09-13T06:51:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-09-13:/blog//disqus-2-is-awesome.html/</id><summary type="html"><p>I have to admit, for a while I really disliked DISQUS.</p>
|
||
<p>I’m a huge fan of WordPress, and do a signifiant amount of my
|
||
development within it. I’d work on a new site, and then install the
|
||
DISQUS plugin, and to my avail, commenting on my sites instantly
|
||
sucked. Within the comment box, images rarely loaded correctly, and
|
||
the layout was very much sucktastic.</p>
|
||
<p>While doing a super-casual mini-mashup for
|
||
<a class="reference external" href="http://louisfabrizi.com">&#64;LouisFabrizi</a>, I discovered a lovely
|
||
piece of code that lets you embed DISQUS commenting on any page
|
||
period:</p>
|
||
<pre class="literal-block">
|
||
View the discussion thread.
|
||
blog comments powered by Disqus
|
||
</pre>
|
||
</summary></entry><entry><title>Facebook vs Facebook Lite: Loading Time</title><link href="http://kennethreitz.com/blog//facebook-vs-facebook-lite-loading-time.html" rel="alternate"></link><updated>2009-09-11T01:31:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-09-11:/blog//facebook-vs-facebook-lite-loading-time.html/</id><summary type="html"><p>I live in the middle of nowhwere. My internet connection (when I'm
|
||
not in a
|
||
<a class="reference external" href="http://kennethreitz.com/blog/dear-borders-group/">free-wifi café</a>)&nbsp;sucks.
|
||
Terribly.&nbsp;<em>and Facebook doubly so</em>. Thankfully, Facebook just
|
||
opened up
|
||
<a class="reference external" href="http://kennethreitz.com/blog/facebook-lit-open-to-public/">Facebook Lite</a>,
|
||
so my life just got alot easier. Here's the side-by-side
|
||
comparison... ### <a class="reference external" href="http://www.facebook.com">Regular Facebook</a>:</p>
|
||
<div class="system-message">
|
||
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 2); <em><a href="#id1">backlink</a></em></p>
|
||
Duplicate explicit target name: &quot;facebook lite&quot;.</div>
|
||
<p><img alt="image" src="http://media.kennethreitz.com/fblite-before-80.png" /> ### <a class="reference external" href="http://lite.facebook.com">Facebook Lite</a>:</p>
|
||
<p><img alt="image1" src="http://media.kennethreitz.com/fblite-after-46.png" /> ## QED.</p>
|
||
</summary></entry><entry><title>Facebook Lite Open to Public!</title><link href="http://kennethreitz.com/blog//facebook-lite-open-to-public.html" rel="alternate"></link><updated>2009-09-10T22:05:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-09-10:/blog//facebook-lite-open-to-public.html/</id><summary type="html"><p>It's official, <a class="reference external" href="http://lite.facebook.com">Facebook Lite</a> was
|
||
opened up to the US public about 10 minutes ago.</p>
|
||
<p>This slimmed down version of Facebook is wonderful for those of us
|
||
on slow internet connections (or tethering from our iPhones), this
|
||
is a dream come true.</p>
|
||
<p>Reminds me of the good ol' days, when I had to go to
|
||
<a class="reference external" href="http://gmu.facebook.com">http://gmu.facebook.com</a> to see my facebook friends.</p>
|
||
<p>Here you can see it in action:</p>
|
||
<p><a class="reference external" href="http://s3.amazonaws.com/media.kennethreitz.com/facebook-lite-1.png">|image|</a></p>
|
||
<p><a class="reference external" href="http://lite.facebook.com">Try it out now!</a></p>
|
||
</summary></entry><entry><title>Dear Borders: I hate you</title><link href="http://kennethreitz.com/blog//dear-borders-i-hate-you.html" rel="alternate"></link><updated>2009-09-10T18:26:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-09-10:/blog//dear-borders-i-hate-you.html/</id><summary type="html"><p>Dear Borders (and Starbucks subidary Seattle's Best Coffee), You
|
||
have a lovely book store. Quite lovely. I love the books you sell.
|
||
I love the music you play. I love the coffee you serve. I <strong>love</strong>
|
||
the Moleskine Notebooks you sell. Everything about your store
|
||
tailors itself perfectly to people like me. You strive to make a
|
||
person feel intellectual and important, and that is marketed almost
|
||
flawlessly. You seem to have forgotten one key demographic,
|
||
however. If a tech-savvy web developer wants to go and play with
|
||
his newly-developed web design skills he obtained from books out of
|
||
<em>your</em> technology section, he is free to bring his laptop into your
|
||
lovely café. Awesome. You even offer power outlets. All the
|
||
sweeter. So, he decides to bring his laptop in one day to play with
|
||
his newly purchased python web development book. He connects to
|
||
your aptly named “Borders” network, and types “<a class="reference external" href="http://google.com">http://google.com</a>”
|
||
into his address bar, excited to be connected to his world in such
|
||
a convenient location. His face of joy then abruptly changes,
|
||
however, when he realizes that he has to fork out SEVEN DOLLARS to
|
||
use the network. <strong>Seven Dollars</strong>. You could feed a starving child
|
||
in Africa for a WEEK with $7. There is no justification. There is
|
||
no excuse. This is downright stupid on your part. Do you have any
|
||
idea how much business you are turning down by doing this? If your
|
||
stores offered free wifi, chances are, I’d be there three to four
|
||
times every week, buying coffee every time, and most likely a book
|
||
every other time. That is a LOT of business. And there are many
|
||
more people like me. Many more. People like me love your stores. We
|
||
love the atmosphere. We love the books. We love the knowledge. We
|
||
love the Moleskines. And we also love the internet. Apparently,
|
||
more than you know. I understand that you have an agreement with
|
||
AT&amp;T, and i’m sure they have wonderful salesman that assure that
|
||
you are offering a service to your employees. They are wrong. Very
|
||
wrong. I know for a fact that I’d be a customer time and time again
|
||
if you offered this service for free. And I’m sure your café and
|
||
book sales would go up at least 15%. From what I understand, your
|
||
profits are decreasing heavily at the moment. I believe your stock
|
||
is currently worth $3.34 a share. Impressive. So what do you have
|
||
to lose? In the meantime, I’ll be taking my daily $7 coffee
|
||
excursions to Panera, where wifi is free. Kindest Regards, Kenneth
|
||
Reitz # Border's Respnse Dear Kenneth, Thank you for contacting
|
||
Borders Customer Care regarding Wifi service. We welcome your
|
||
comments, as we rely on feedback from customers to improve on the
|
||
services and products we provide. Borders stores will be offering
|
||
free Wifi service and all of the stores will have it by mid
|
||
October. We appreciate your positive comments about Borders stores.
|
||
We are always glad to hear from customers, but it is especially
|
||
nice when a happy customer takes the time to let us know that
|
||
they're enjoying the rewards and services we offer. If you have any
|
||
other questions or concerns, please don't hesitate to contact us.
|
||
Sincerely, Kathy Borders Rewards Customer Care ## My Reaction Well,
|
||
I didn't see that coming.</p>
|
||
</summary></entry><entry><title>Your Degree Is Worthless; Collaborate.</title><link href="http://kennethreitz.com/blog//your-degree-is-worthless-collaborate.html" rel="alternate"></link><updated>2009-09-01T21:17:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-09-01:/blog//your-degree-is-worthless-collaborate.html/</id><summary type="html"><p>I’ve always been a self-motivated learner as well as a free
|
||
thinker. I was never one to get involved in cliques or social
|
||
ladders. Despite the fact that I was raised being constantly told
|
||
that grades were the single most important thing in my life, I
|
||
could never accept that. So I didn’t. I just did enough to get by.
|
||
I didn’t pay attention much in class. I had no reason to. Class was
|
||
beyond boring. So I’d spend all hours of the night hacking away on
|
||
my computer, soaking in all I could, and most of the school day
|
||
sleeping during class when I could get away with it. When there was
|
||
a test, I’d try my hardest to stay awake, answer the questions as
|
||
best I could – typically earning a low C in my Honors/AP Classes,
|
||
and a low B in my “Ordinary” Classes. I found a good balance. Why
|
||
would I study for 30 hours a week to get better grades when I could
|
||
get by with 0 hours? So, I graduated. And I did the next logical
|
||
thing: I went to college. Ahh, college. The most important decision
|
||
you could ever make in your life. The time to “make it or break
|
||
it”. Where every young man goes to be become a man. So I went.
|
||
While high-school never engaged me, I assumed that courses about
|
||
career-relevant subjects would interest me in a university setting.
|
||
I was wrong. I was very, very wrong.</p>
|
||
<div class="section" id="college-life">
|
||
<h2>College Life</h2>
|
||
<p>I studied Plato, Homer, and Socrates, Turing Machines, and
|
||
Single-State-Automata. I analyzed the progression of American
|
||
Popular Music from the 1920s to today. I learned how to draw, play
|
||
the marimba properly, and splatter paint on walls. I attempted
|
||
jujitsu. Wonderful life experience. But what does any of this have
|
||
to do with setting the foundation of a career? Nothing. At all. Of
|
||
course, the higher up you go, the more relevant the courses get to
|
||
your chosen major. But I didn’t want to wait. Especially when I was
|
||
paying $20,000 a year for this. It was mostly useless information.
|
||
The average college education in America costs 9 cents a minute.
|
||
Every minute. Every day. A complete waste. And I was working 35
|
||
hours a week as a graphics design intern, working at odd hours of
|
||
the night, attempting to pay for all of this. It was impossible,
|
||
and I was unengaged.</p>
|
||
</div>
|
||
<div class="section" id="the-plunge">
|
||
<h2>The Plunge</h2>
|
||
<p>So, after totally losing
|
||
interest in class or anything related to it, I gave up and dropped
|
||
out. I didn’t want to get further in debt. So I moved back home,
|
||
defeated, and tried my hardest to get my life back in order. I got
|
||
my high-school job back at McDonald’s. I worked harder than I ever
|
||
have in my life. I didn’t have anything else better to do, so I
|
||
worked as much as I could all the time. I worked one 65 hour week -
|
||
but that got old really fast. I was again, unengaged. Then, one
|
||
day, I quit McDonald’s without notice. Not best practice of
|
||
course, but I didn’t want to spend any more time there. It’s
|
||
strange what a terrible work environment it is. After a few short
|
||
weeks, you begin to think there isn’t anything outside those walls.
|
||
It was clear that it wasn’t getting me anywhere, so I set out with
|
||
my laptop to try to find something better.</p>
|
||
</div>
|
||
<div class="section" id="how-it-all-turned-around">
|
||
<h2>How It All Turned Around</h2>
|
||
<p>I spent a lot of time on some freelance
|
||
websites, where you bid for odd jobs, usually settling for some
|
||
ridiculously low amount of money here and there. That didn’t last
|
||
long. I remembered coming across a guy on Twitter from my hometown,
|
||
Winchester, Virginia, who was quite into the internet and
|
||
technology. That’s pretty rare in these parts, so I looked him up.
|
||
What I found was a local <a class="reference external" href="http://brightcowork.com">cowork</a>
|
||
center. I went and checked out the cowork, and what I found blew my
|
||
mind. In this little building off the historic old-town walking
|
||
mall was a room. Inside: the COO of a major internet company, tech
|
||
consultants, graphic designers, writers, author, bloggers,
|
||
freelancers, and so much more. I met everyone in and around town. I
|
||
sat in on think tank lunches. People cared about what I had to say.
|
||
We collaborated.</p>
|
||
</div>
|
||
<div class="section" id="collaboration-is-everything">
|
||
<h2>Collaboration is Everything.</h2>
|
||
<p>For the first time in my life, I was meeting
|
||
interesting people with awesome experience, willing to share and
|
||
collaborate what they have learned with me. And I did the same. I
|
||
soaked in endless amounts of information. One simple room full of a
|
||
few people turned on some switch in me that the education system
|
||
had failed to do year after year after year: teach me something. I
|
||
was finally engaged. *Fully* engaged. As soon as I realized that,
|
||
my entire life changed. I started thriving on my own, getting
|
||
dozens of clients. Suddenly, I had a life with significantly less
|
||
stress and worry. No tuition fees! I realized how valuable my
|
||
skills were and how I didn’t have to be part of the institution if
|
||
I didn’t want to be. I rose above. I am now a Web Applications
|
||
Developer at a respectful technology firm. No degree. No debt. Only
|
||
an open mind. I gain more knowledge and experience in a single
|
||
workday than I did during my entire college career. I’m in the real
|
||
world. And I’m loving every minute of it.</p>
|
||
</div>
|
||
<div class="section" id="in-conclusion">
|
||
<h2>In Conclusion</h2>
|
||
<p>Looking back, I’m comfortable saying that dropping
|
||
out of college has been the best decision I’ve ever made. If I
|
||
would have gone through the entire education program, what would I
|
||
have to show for it? $150,000 in debt, a piece of paper, and four
|
||
years less of your life. No real experience. No connections. Just a
|
||
piece of paper. And nothing more. Please bear these things in mind
|
||
before you decide to spend $150,000 on a bachelor’s degree in a
|
||
field you’re not so certain about. Personally, I’d rather spend
|
||
that money on something that will actually benefit me: like a
|
||
house.</p>
|
||
</div>
|
||
</summary></entry><entry><title>Amazon AWS Introduces Virtual Private Cloud</title><link href="http://kennethreitz.com/blog//amazon-aws-introduces-virtual-private-cloud.html" rel="alternate"></link><updated>2009-08-26T12:07:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-26:/blog//amazon-aws-introduces-virtual-private-cloud.html/</id><summary type="html"><p>Dear Amazon EC2 Customer,</p>
|
||
<p>We are excited to announce the limited beta of Amazon Virtual
|
||
Private Cloud (Amazon VPC), a secure and seamless bridge between
|
||
your existing IT infrastructure and the AWS cloud. Amazon VPC
|
||
enables you to connect your existing infrastructure to a set of
|
||
isolated AWS compute resources via a Virtual Private Network (VPN)
|
||
connection, and to extend your existing management capabilities
|
||
such as security services, firewalls, and intrusion detection
|
||
systems to include your AWS resources. Amazon VPC integrates today
|
||
with Amazon EC2 compute resources, and we will integrate Amazon VPC
|
||
with other AWS services in the future.</p>
|
||
<p>Here are some service highlights:</p>
|
||
<p>Isolated Network Access - Amazon VPC provides end-to-end network
|
||
isolation by utilizing an IP address range you specify, and by
|
||
routing all network traffic between your VPC and datacenter through
|
||
an industry-standard encrypted IPsec VPN. This allows you to
|
||
leverage your pre-existing security infrastructure, such as
|
||
firewalls and intrusion detection systems to inspect network
|
||
traffic going to and from a VPC.</p>
|
||
<p>Flexible - You control your VPC in much the same way you control
|
||
your datacenter, using familiar network concepts such as subnets
|
||
and gateways. With Amazon VPC, you can 1) freely create subnets to
|
||
organize your resources based on the criteria you define, 2) assign
|
||
an IP address range for Amazon EC2 instances within subnets, and 3)
|
||
configure secure connectivity to determine who can access your AWS
|
||
cloud-based resources.</p>
|
||
<p>Best of Both Worlds - Amazon VPC enables you to build a bridge
|
||
between your existing IT resources and your isolated resources
|
||
within the AWS cloud, enabling you to use both worlds in concert.
|
||
Now, you can build hybrid architectures that allow you to take full
|
||
advantage of the benefits of the AWS cloud - true elasticity
|
||
without owning the capital expense of the hardware or datacenter
|
||
(given AWS's pay-as-you-go pricing) - and yet still have the
|
||
network isolation and secure connectivity you would enjoy if all
|
||
the resources were in your own datacenter. With Amazon VPC, you can
|
||
gradually move to the AWS cloud, replicate your entire data center,
|
||
or anywhere in between.</p>
|
||
<p>Reliable - Amazon VPC is built using Amazon's own world-class
|
||
technology infrastructure. Like other Amazon Web Services, the
|
||
service runs within Amazon's proven global network infrastructure
|
||
and datacenters.</p>
|
||
<p>Amazon VPC is available on a pay-as-you-go basis with no up-front
|
||
fee, minimum spend or long-term commitment required. Please see the
|
||
Amazon VPC product page for more information on this exciting new
|
||
service, and for details on how to request access to the limited
|
||
beta. We will admit participants over time, but wanted to let you
|
||
know about it now, seeing that this has been a much-requested AWS
|
||
capability.</p>
|
||
<p>Sincerely,</p>
|
||
<p>The Amazon Web Services Team</p>
|
||
</summary></entry><entry><title>Django ORM for Online Payment Systems?</title><link href="http://kennethreitz.com/blog//django-orm-for-online-payment-systems.html" rel="alternate"></link><updated>2009-08-21T23:26:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-21:/blog//django-orm-for-online-payment-systems.html/</id><summary type="html"><p>I’ve been spending an increasingly large amount of time with some
|
||
rapid development frameworks, primarily Django (Python!), Grails
|
||
(Groovy / Java), and Symfony (PHP). I’ve been enjoying it. Alot.
|
||
Life has never been better.</p>
|
||
<p>DRY tactics. Code portability. Who likes to repeat themselves
|
||
anyway? It’s a great idea.</p>
|
||
<p>My favorite concept to date is the Object Relational Model (ORM).
|
||
Database-agnostcisty is fantastic. Not sure what database you want
|
||
to use? Worry about it later. A client wants to switch to MySQL
|
||
because SQLServer is costing too much? No problem. How much of my
|
||
codebase will I have to change? About six charecters. Wow.</p>
|
||
<p>So why not take this concept, and apply it elsewhere? I’m currently
|
||
doing some work for a startup, and we are having trouble deciding
|
||
which online payment service to use/support: PayPal, Amazon
|
||
Payments, or Google Checkout.</p>
|
||
<p>My solution is to write a webPaySystem module that integrates all
|
||
of these payment systems into one single class. But, before I spend
|
||
the time to write this, I’d like to extend this question to the
|
||
Python / Django community:</p>
|
||
<p>Would you find this useful in your web (and business desktop)
|
||
applications?</p>
|
||
<p>Comment and let me know what you think!</p>
|
||
</summary></entry><entry><title>Louis Fabrizi</title><link href="http://kennethreitz.com/blog//louis-fabrizi.html" rel="alternate"></link><updated>2009-08-20T16:52:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-20:/blog//louis-fabrizi.html/</id><summary type="html"><p>A good friend of mine,
|
||
<a class="reference external" href="http://twitter.com/mrgandrews">&#64;mrgandrews</a>, is in
|
||
the&nbsp;<a class="reference external" href="http://louisfabrizi.com">Louis Fabrizi</a> band.&nbsp; I'm loving
|
||
the music so far! Here's a few clips: -
|
||
<a class="reference external" href="http://louisfabrizi.com/audio/needs-prayer.mp3">Everybody Needs a Prayer</a>
|
||
- <a class="reference external" href="http://louisfabrizi.com/audio/tonight.mp3">Tonight</a> -
|
||
<a class="reference external" href="http://louisfabrizi.com/audio/soon.mp3">Soon</a> -
|
||
<a class="reference external" href="http://louisfabrizi.com/audio/why-wait.mp3">Why Wait?</a></p>
|
||
<p>If you like what you here, then you should
|
||
<a class="reference external" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http://www.amazon.com/s?ie=UTF8&amp;x=0&amp;ref_=nb_ss_dmusic&amp;y=0&amp;field-keywords=louis%20fabrizi&amp;url=search-alias=digital-music&amp;tag=bookforkind-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=390957">buy the album</a>!</p>
|
||
</summary></entry><entry><title>CSS With a Hint of DRY</title><link href="http://kennethreitz.com/blog//css-with-a-hint-of-dry.html" rel="alternate"></link><updated>2009-08-20T02:57:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-20:/blog//css-with-a-hint-of-dry.html/</id><summary type="html"><p>I am a DRY (<em>Don’t Repeat Yourself</em>) programmer. I’m not positive,
|
||
but I most likely inherited my love for this concept from my
|
||
intensive Python immersion. I'm so grateful for it. Anyway, DRY is
|
||
an essential stage of any developer's workflow. It drastically
|
||
enforces good structure, and significantly increases your logical
|
||
skills. As with everything in life, there’s a time and place for
|
||
DRY. Object oriented programming is one of those places. ## CSS Is
|
||
Not DRY Let it be said: CSS is <em>not</em> a programming language. It is
|
||
<em>not</em> a programmer’s language. It is not supposed to be. It is a
|
||
styling markup language. But for those of us who like to take a
|
||
more structured and programmatic approach, CSS is far from ideal. I
|
||
want my CSS to do math. I want it to be dynamic. So, that's where
|
||
fun little libraries come in to play that generate CSS on the fly
|
||
based on logic and rules! I implore you to take a look at
|
||
<a class="reference external" href="http://sandbox.pocoo.org/clevercss">CleverCSS</a>. The awesome
|
||
Python CSS generator. It supports variables, code manipulation,
|
||
inheritance, and oh, so much more. I’ll be writing a Django helper
|
||
module soon that generates this CSS on the fly. ###See Also: There
|
||
is also <a class="reference external" href="http://sass-lang.com">SASS</a>, or
|
||
<a class="reference external" href="http://sass-lang.com">Syntactically Awesome StyleSheets</a>. I must
|
||
credit it: it seems to be the originator of the concept, has a
|
||
significantly cooler name, and is a bit more widely accepted in the
|
||
world. Oh, but that’s not written in Python, is it?</p>
|
||
</summary></entry><entry><title>The Call for an Open Source Social Network</title><link href="http://kennethreitz.com/blog//the-call-for-an-open-source-social-network.html" rel="alternate"></link><updated>2009-08-16T20:16:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-16:/blog//the-call-for-an-open-source-social-network.html/</id><summary type="html"><p>Lately, I've been tossing some ideas around that I feel would
|
||
benefit the Social Web as a whole. It’s been going through some
|
||
rough times lately, and I think it’s time for a change. Or so I
|
||
thought. My first idea was to create a site that was rather
|
||
decentralized, allowing all of your content to exist on other
|
||
sites, but still allowing for you to interact without locking a
|
||
user in. As it turns out, this site already exists. It is called
|
||
<a class="reference external" href="http://friendfeed.com/kennethreitz">FriendFeed</a>.
|
||
<em>`I love FriendFeed &lt;http://kennethreitz.com/blog/friendfeed-is-awesome/&gt;`_</em>.
|
||
About a week after I decided that I wanted to get into it,
|
||
<a class="reference external" href="http://kennethreitz.com/blog/friendfeed-is-awesome/">Facebook decided to purchase it</a>.
|
||
How sad. They claim that it will still be up and running, but we’ll
|
||
see if that proves to be the case (I have my fingers crossed).
|
||
Pownce (which was powered by Python / Django) was shut down when it
|
||
was purchased. I pray this not be the case. Think about this now:
|
||
<strong>Why is that even an option</strong>? Social networking is all about
|
||
community and building tribes – So why do we need to have an
|
||
organization in charge of our chosen communication platform?
|
||
<strong>Here is my proposal</strong>: Create a community-driven,
|
||
community-developed, and community-controlled social networking
|
||
site that is truly open source. The community could take care of
|
||
everything from feature development to content control. No random
|
||
shutting down, buy-outs, or merges. No more random change of
|
||
Privacy Policies or Content Ownership battles. No more worries. The
|
||
only group of people who would be benefitted would be the community
|
||
itself, not some company. An open minded network full of open
|
||
minded people working for the better of the community. # The Open
|
||
Web of Flow</p>
|
||
<div class="section" id="step-one-solid-platform-choice">
|
||
<h2><strong>Step One</strong>: Solid Platform Choice</h2>
|
||
<p>The platform choice is the most important. You've seen what happens
|
||
when the wrong tool is chosen for the job: look at Twitter: Bad
|
||
Planning. We're all familiar with the Fail Whale but we shouldn't.
|
||
At all. So what do we use? There's an array of options. .NET? HAHA!
|
||
Did you know that there's even
|
||
<a class="reference external" href="http://membertomember.com/">a social platform built on top of Microsoft's Sharepoint</a>?
|
||
I bet you didn't. I've installed it a number of times. It's
|
||
fantastic (for people who need it). But we don't. At all. What type
|
||
of open source project aside Mono is driven by NET developers
|
||
anyway? They are in an entirely different mindset than us. Anyway,
|
||
the answer is obvious: Django on a LAMP Stack (Linux + Apache +
|
||
MySql + Python). We can all agree that Python is freaking amazing.
|
||
And it's certianly not going anywhere any time soon. I think google
|
||
has proven time-and time again that Python is the language for just
|
||
about any job. And when Google's unlayden-swallow project is
|
||
complete, all (typically negligible) performance issues will be
|
||
eliminated. Done. ### <strong>Step Two</strong>: Basic Information Architecture</p>
|
||
<p>We need to decide how the whole system will work. FriendFeed has an
|
||
excellent system in place. Lets use it. Users can tie everything in
|
||
from all of their other websites and steam it on their profile, and
|
||
display it all on one page. Everything's streamlined, commentable,
|
||
hookable, and readily accessible. Google Profiles rock. But that is
|
||
definitely an abandoned project. Lets mix that with a
|
||
FriendFeed-style activity stream. Done. ### <strong>Step Three</strong>:
|
||
Sustainability, Audience, and Accessibility</p>
|
||
<p>How will we pay for it? How will we get people to contribute? How
|
||
will be get people to use it? Answer: Twitter is getting old and
|
||
it's getting old fast. It's time for something new. Lets blow them
|
||
away and they will ALL hop on board. Allow for easy
|
||
external-account migration and account creation and we'll be
|
||
golden. ### <strong>Step Four</strong>: Technical Planning and Engineering</p>
|
||
<p>This is all the stuff end users don't have to worry about.
|
||
Performance. Design. System Administration. Database Engineering.
|
||
The geek stuff. I mean come on guys, how awesome would it be to be
|
||
able to make a commit to the Twitter live SVN Branch? Epically
|
||
awesome. ### <strong>Step Five</strong>: Community + Collaboration</p>
|
||
<p>Once the community gets going, there will be no stopping it. In
|
||
conclusion, think about what we have to lose? Are you with me?</p>
|
||
</div>
|
||
</summary></entry><entry><title>Facebook Plugin for WordPress</title><link href="http://kennethreitz.com/blog//facebook-plugin-for-wordpress.html" rel="alternate"></link><updated>2009-08-16T14:38:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-16:/blog//facebook-plugin-for-wordpress.html/</id><summary type="html"><p><a class="reference external" href="http://twitter.com/RealNerd">Blake</a>, a PHP engineer at
|
||
<a class="reference external" href="http://squidoo.com">Squidoo</a>, has a blog called
|
||
<a class="reference external" href="http://www.thewhyandthehow.com/">The Why and the How</a>. You
|
||
should check it out, he writes really good articles and shares
|
||
great</p>
|
||
<p>My friend and coworker
|
||
<a class="reference external" href="http://aaroncollegeman.com/">Aaron Collegeman</a> decided to write
|
||
a WordPress plugin that automatically replaces the built-in
|
||
WordPress commenting system with Facebook’s.</p>
|
||
<p>It is under active development and will eventually it will s
|
||
backend upport storage of comments, but for now you can do
|
||
everything from Facebook. In the meantime, you should a
|
||
<a class="reference external" href="http://code.google.com/p/wpfb/">grab a copy</a> and see it in
|
||
action for yourself.</p>
|
||
<p><a class="reference external" href="http://code.google.com/p/wpfb/">Facebook Comments for Wordpress</a>.</p>
|
||
</summary></entry><entry><title>Google Lets Users Opt Out</title><link href="http://kennethreitz.com/blog//google-lets-users-opt-out.html" rel="alternate"></link><updated>2009-08-12T17:59:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-12:/blog//google-lets-users-opt-out.html/</id><summary type="html"><p>Hilarious. embed
|
||
src=&quot;<a class="reference external" href="http://www.theonion.com/content/themes/common/assets/onn_embed/embedded_player.swf">http://www.theonion.com/content/themes/common/assets/onn_embed/embedded_player.swf</a>&quot;type=&quot;application/x-shockwave-flash&quot;
|
||
allowScriptAccess=&quot;always&quot; allowFullScreen=&quot;true&quot;
|
||
wmode=&quot;transparent&quot; width=&quot;480&quot;
|
||
height=&quot;430&quot;flashvars=&quot;image=http%3A%2F%2Fwww.theonion.com%2Fcontent%2Ffiles%2Fimages%2FGOOGLE_VILLAGE_article.jpg&amp;videoid=97279&amp;title=Google%20Opt%20Out%20Feature%20Lets%20Users%20Protect%20Privacy%20By%20Moving%20To%20Remote%20Village&quot;&gt;</p>
|
||
<p><a class="reference external" href="http://www.theonion.com/content/video/google_opt_out_feature_lets_users?utm_source=videoembed">Google Opt Out Feature Lets Users Protect Privacy By Moving To Remote Village</a></p>
|
||
</summary></entry><entry><title>Smoothy TextMate Theme</title><link href="http://kennethreitz.com/blog//smoothy-textmate-theme.html" rel="alternate"></link><updated>2009-08-11T14:31:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-11:/blog//smoothy-textmate-theme.html/</id><summary type="html"><p>I've said it before and I'll say it again:
|
||
<a class="reference external" href="http://kennethreitz.com/blog/if-textmate-42/">TextMate</a> is one
|
||
fantastic text editor.</p>
|
||
<p>Now, I won't bore you with my passion for it, but if you've been
|
||
reading my blog for long, you know how I feel.I do the majority of
|
||
my development in TextMate, so theme choice is pretty important
|
||
(others beg to differ but I disagree – aesthetics are everything).
|
||
I tried a number of themes and found some really great ones. I'm
|
||
always partial to darker schemes, so I settled on using Vibrant
|
||
Ink. Fantastic theme. After a while, I needed a break from the dark
|
||
background, and decided to find a more minimalist white-based theme
|
||
online. Much to my avail, I discovered that there are no good
|
||
ligher-colored themes out there for TextMate. Some come close, but
|
||
nothing hits the nail on the head. So I made one.</p>
|
||
<p>I call it <strong>Smoothy</strong>
|
||
(<a class="reference external" href="http://media.kennethreitz.com/themes/Smoothy.tmTheme.gif">screenshot</a>,
|
||
<a class="reference external" href="http://media.kennethreitz.com/themes/Smoothy.tmTheme">download</a>).</p>
|
||
<p><a class="reference external" href="http://media.kennethreitz.com/themes/Smoothy.tmTheme">TmTheme Download it here (65KB)</a>
|
||
So, after a great number of hours, and realizing that making things
|
||
coordinate on black is far easier than white, I settled on a theme
|
||
that was colorful, functional, useful, triatic, and
|
||
most-importantly, not a piece of crap. Enjoy!</p>
|
||
</summary></entry><entry><title>The Truth of Facebook's FriendFeed Acquisition</title><link href="http://kennethreitz.com/blog//the-truth-of-facebooks-friendfeed-acquisition.html" rel="alternate"></link><updated>2009-08-11T00:53:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-11:/blog//the-truth-of-facebooks-friendfeed-acquisition.html/</id><summary type="html"><p>As I'm sure most of you know, <a class="reference external" href="http://facebook.com">Facebook</a>
|
||
decided today that it was going to buy
|
||
<a class="reference external" href="http://friendfeed.com/kennethreitz">FriendFeed</a>.</p>
|
||
<p>My opinion might be a little biased... I just discovered FF
|
||
<a class="reference external" href="http://kennethreitz.com/blog/friendfeed-is-awesome/">recently</a>,
|
||
and I must say that I've been thoroughly impressed with the service
|
||
so far. I've been spending an increasing amount of time on it every
|
||
day, and It's most certainly a breath of fresh air from the clogged
|
||
mob-congestion of Twitter.</p>
|
||
<p>So apparently someone at Facebook realized this and decided to join
|
||
forces.</p>
|
||
<p>So what is Facebook after? Absorbing the competition? I don't think
|
||
so. Did you know FriendFeed is operated by only 11 people? and it
|
||
rocks! That's definitely 11 people who are extremely talented and
|
||
know exactly what they are doing. Something Facebook needs. They
|
||
have been trying to put something together that works as well as FF
|
||
for while now. The two merging might not be that bad, as long as FF
|
||
marches on. My last favorite social site,
|
||
<a class="reference external" href="http://pownce.com">Pownce</a>, was shut down when
|
||
<a class="reference external" href="http://sixapart.com">Six Apart</a> purchased them for the creation
|
||
of <a class="reference external" href="http://www.movabletype.com/motion/">Motion</a> – an utter
|
||
failure.</p>
|
||
<p><strong>UPDATE</strong>:</p>
|
||
<p>Luckily, the two companies announced today that FriendFeed will
|
||
continue to remain a separate, fully functional entity from
|
||
Facebook. Facebook will be integrating features of FriendFeed. Good
|
||
news! Lets see if it happens.</p>
|
||
<div class="system-message">
|
||
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 2); <em><a href="#id1">backlink</a></em></p>
|
||
Duplicate explicit target name: &quot;friendfeed&quot;.</div>
|
||
<div class="system-message">
|
||
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 2); <em><a href="#id2">backlink</a></em></p>
|
||
Duplicate explicit target name: &quot;facebook&quot;.</div>
|
||
<p><a class="reference external" href="http://technorati.com/tag/FriendFeed">FriendFeed</a>,
|
||
<a class="reference external" href="http://technorati.com/tag/Facebook">Facebook</a>,
|
||
<a class="reference external" href="http://technorati.com/tag/FaceFeed">FaceFeed</a>,
|
||
<a class="reference external" href="http://technorati.com/tag/FriendBook">FriendBook</a></p>
|
||
</summary></entry><entry><title>FriendFeed is Awesome</title><link href="http://kennethreitz.com/blog//friendfeed-is-awesome.html" rel="alternate"></link><updated>2009-08-09T07:10:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-09:/blog//friendfeed-is-awesome.html/</id><summary type="html"><p>I wanted to make a new social website that tied the knot on every
|
||
site that's out there now – but it looks like it's already been
|
||
done! Awesome!</p>
|
||
</summary></entry><entry><title>What's In a Design?</title><link href="http://kennethreitz.com/blog//whats-in-a-design.html" rel="alternate"></link><updated>2009-08-09T05:16:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-09:/blog//whats-in-a-design.html/</id><summary type="html"><p>Disclaimer: I am <strong>not</strong> an Apple fanboy. Apple makes a fortune off
|
||
of <a class="reference external" href="http://www.squidoo.com/sheeple">speeple</a>. An Apple FanBoy
|
||
blindly follows everything the cult leader, Steve Jobs has to say.
|
||
They go out and purchase every iProduct that Apple realeases and
|
||
does so with a smile on their face, not realizing that over the
|
||
course of four years, they have
|
||
<a class="reference external" href="http://calacanis.com/2009/08/08/the-case-against-apple-in-five-parts/">spent about $20,000</a>
|
||
on Apple products alone. They leak photos of an upcoming product
|
||
with incredibly low resolution so the masses can pick and decipher
|
||
the image, spending countless hours just trying to imagine what
|
||
that mysterious new button does. And people do it! They completely
|
||
take advantage, but rightfully so. Who could blame them? They are,
|
||
after all, a business. It would be foolish for them not to, because
|
||
that FanBoy pays thousands of dollars to watch a 3 hour long
|
||
commercial, and they love it! They love OSX for no apparent reason
|
||
other than they are told to. They go out and buy every single new
|
||
iPhone the day that it comes out, when there's clearly nothing
|
||
wrong with the one they had. Year after year, they pour more and
|
||
more money into their investment in nothing more than a brand that
|
||
they thing will change who they are as a person. They want to be
|
||
Steve Jobs. They write endless posts about how much money they
|
||
spend on Apple products every month, and just can't wait to get
|
||
their hands on the next one. This is not that post and I am not
|
||
that guy. <img alt="image" src="http://pcmacsmackdown.com/wp-content/uploads/2009/01/apple-logo1.jpg" /> I do, however, believe that my recently purchased
|
||
<a class="reference external" href="http://kennethreitz.com/blog/i-finally-got-a-macbook/">13&quot; Unibody MacBook Pro is the greatest laptop ever manufactured</a>
|
||
on Earth to date. But not because Apple made it. That's irrelevant.
|
||
Now please, don't get me wrong: I love Apple. And that's because,
|
||
they have a <strong>superior</strong> operating system and they put an
|
||
extraordinary amount of design and thought into every nook and
|
||
cranny of every system that they release. This system is designed
|
||
well. <em>Incredibly</em> well. On a side note, I firmly believe that OSX
|
||
is the greatest desktop operating system of all time, and I see no
|
||
chance of this changing any time soon. From many different
|
||
standpoints (End User, Prosumer, Developer, Newbie) this holds
|
||
true. I am a fan and follower of one thing and one thing only:
|
||
Design. And, for now, Apple hands-down has the greatest sense of
|
||
design, both software and hardware in my opinion. But if something
|
||
else comes along made by someone else, I'll be sure to give that a
|
||
try with an open mind. :)</p>
|
||
</summary></entry><entry><title>I Finally Got a MacBook</title><link href="http://kennethreitz.com/blog//i-finally-got-a-macbook.html" rel="alternate"></link><updated>2009-08-07T05:56:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-08-07:/blog//i-finally-got-a-macbook.html/</id><summary type="html"><p>Yesterday I stopped by the Apple store in Fair Oaks Shopping Center
|
||
in Fairfax, VA and finally purchased a MacBook. I've been wanting
|
||
one for quite a while – ever since I fell deeply in love with OS X
|
||
after adopting an old 12&quot; G4 PowerBook I've been using for the past
|
||
5 months.</p>
|
||
<p>I decided to get the 2.5 GHz 13&quot; MacBook Pro. This will be my
|
||
full-time machine for the next 4+ years hopefully. With specs this
|
||
good and a case this sturdy, I see no reason why it shouldn't last
|
||
me for years to come.</p>
|
||
<p>I am thoroughly pleased with the purchase so far. If you've been
|
||
planning on getting a MacBook, <em>now is the time to get one</em>. The
|
||
base line 13&quot; Aluminum Pro model is only $1100 right now –&nbsp;cheaper
|
||
than most of the refurbished polycarbonates with lower specs.
|
||
Anyway, I'll post lists of my software choices (including TextMate
|
||
Plugins and Bundles) soon for those interested. Stay tuned!</p>
|
||
</summary></entry><entry><title>Aesthetics: More Than Meets the Eye</title><link href="http://kennethreitz.com/blog//aesthetics-more-than-meets-the-eye.html" rel="alternate"></link><updated>2009-07-24T05:28:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-24:/blog//aesthetics-more-than-meets-the-eye.html/</id><summary type="html"><p>I was doing some routine poking around the
|
||
<a class="reference external" href="http://wiki.macromates.com/Main/HomePage">TextMate Wiki</a>
|
||
tonight, and I came across an
|
||
<a class="reference external" href="http://jason-evers.com/code/code-like-i-do">amazing mod</a>.
|
||
Amazing. After installing it, my favorite editor looked brand new,
|
||
and I started hacking away at code for hours.</p>
|
||
<p>Customized (yet clean) interfaces really help me focus on my work.
|
||
Working in an IDE with a black background just feels right to me. I
|
||
wasn't nearly as satisfied with my .NET development when using the
|
||
default
|
||
<a class="reference external" href="http://weblogs.asp.net/infinitiesloop/archive/2006/08/06/Join-the-Dark-Side-of-Visual-Studio.aspx">Visual Studio color scheme</a>.
|
||
I found the dark and everything became better. I felt more at home.
|
||
I looked at it and it made me smile.</p>
|
||
<p>Just a thought.</p>
|
||
</summary></entry><entry><title>Django 1.1 RC Released</title><link href="http://kennethreitz.com/blog//django-11-rc-released.html" rel="alternate"></link><updated>2009-07-22T05:46:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-22:/blog//django-11-rc-released.html/</id><summary type="html"><p>Django 1.1's Release Candidate was released today! Whoot. Here's
|
||
the official release: &gt; As part of the Django 1.1 release process,
|
||
tonight we've released &gt; Django 1.1 release candidate 1, a
|
||
preview/testing package which, &gt; hopefully, is quite close to what
|
||
will constitute the final Django &gt; 1.1 release. As with all
|
||
pre-release packages, this is not for &gt; production use, but if
|
||
you'd like to try out some of the new &gt; goodies coming in 1.1, or
|
||
if you'd like to pitch in and help us fix &gt; bugs before the final
|
||
1.1 release (due in approximately one week), &gt; feel free to grab a
|
||
copy and give it a spin. You can get a copy of &gt; the 1.1 RC from
|
||
our downloads page, and we recommend you read the &gt; release notes.
|
||
Also, for the security conscious, signed MD5 and &gt; SHA1 checksums
|
||
of the 1.1 release candidate package are available. &gt; If no
|
||
show-stopping bugs are found, the Django 1.1 final release &gt; will
|
||
take place in one week. In the meantime, only critical &gt;
|
||
release-blocking bugs will be considered for the final release. &gt;
|
||
Django 1.1 is also now in string freeze; strings marked for &gt;
|
||
translation will not change between now and the final release, so &gt;
|
||
if you have translations to contribute now's the time. With luck, &gt;
|
||
we'll see you back here in a week for the release of Django 1.1.</p>
|
||
</summary></entry><entry><title>Back to What I Really Love</title><link href="http://kennethreitz.com/blog//back-to-what-i-really-love.html" rel="alternate"></link><updated>2009-07-21T11:46:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-21:/blog//back-to-what-i-really-love.html/</id><summary type="html"><p>A couple of months ago, I took a position at a company that tailors
|
||
Microsoft SharePoint solutions. The business model was very strong
|
||
(and successful), the work was challenging, and there was lots of
|
||
opportunity. At the end of the day though, I just couldn't get past
|
||
one thing: Microsoft and.NET. This is not stuff that I wanted to
|
||
spend the rest of my life. The company offered very generous
|
||
compensation for Microsoft Certification – but what good does that
|
||
do me? I could do it, but it would only be for the money. I love
|
||
working with software of all kinds, but the development I was doing
|
||
did not sharpen my skills in any way. So, I decided that the longer
|
||
I stayed, the more I would simply be delaying my leaving. So
|
||
another opportunity came up, and I decided to take it. I am now a
|
||
developer working with PHP, Symfony, Java, Groovy, Grails, Apache,
|
||
and more. The list grows every day. Now life is good. It's never
|
||
been better in fact.</p>
|
||
</summary></entry><entry><title>Moleskine Notebooks</title><link href="http://kennethreitz.com/blog//moleskine-notebooks.html" rel="alternate"></link><updated>2009-07-17T19:12:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-17:/blog//moleskine-notebooks.html/</id><summary type="html"><p>I no longer have an iPhone (for now), so lately I've been utilizing
|
||
my good old Moleskine Notebook. Man I love this thing.</p>
|
||
<p>I had been recording everything in
|
||
<a class="reference external" href="http://evernote.com">Evernote</a>, which was epically amazing
|
||
(esspecially since I have so many computers). There's just
|
||
something about actually writing things down physically in one of
|
||
these notebooks.</p>
|
||
</summary></entry><entry><title>The Microsoft Reaction Experience</title><link href="http://kennethreitz.com/blog//the-microsoft-reaction-experience.html" rel="alternate"></link><updated>2009-07-16T06:39:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-16:/blog//the-microsoft-reaction-experience.html/</id><summary type="html"><p>It seems like Microsoft base its entire product line nowadays on
|
||
reactions.</p>
|
||
<p>They will be apparently be opening Microsoft Retailer stores across
|
||
the nation soon. Why? I mean, I know they have the Zune, the XBox,
|
||
and, well, Windows. But why a store? It works great for Apple – But
|
||
Apple and Microsoft are two very different companies. Nowadays,
|
||
Apple is an innovator. Microsoft is a copy-cat essentially. A few
|
||
things are excluded from this of course (Sharepoint), but in
|
||
general, the company just isn't all that Creative. I mean
|
||
Silverlight? Flash has been out for well over 8 years. Why even try
|
||
to compete? Sure Flash is a ridiculous resource hog and it's great
|
||
that you want to make something better. But Microsoft: please, for
|
||
once, try to make something NEW for a change?</p>
|
||
</summary></entry><entry><title>Wasted Talent II</title><link href="http://kennethreitz.com/blog//wasted-talent-ii.html" rel="alternate"></link><updated>2009-07-15T18:34:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//wasted-talent-ii.html/</id><summary type="html"><p>To elaborate on my
|
||
<a class="reference external" href="http://kennethreitz.com/blog/wasted-talent/">last post</a>:</p>
|
||
<p>Here's an example of some wasted talent:</p>
|
||
<p>I know a guy who says he wants to be an Engineer. He loves
|
||
engineering, but, for various reasons, he is no longer attending
|
||
Virginia Tech this semester. Very sad. So what is he doing now?
|
||
He's been applying for a job at Old Navy and Target. Why? He just
|
||
spent over $20,000 for a year and a half of top-knotch schooling in
|
||
his desired field! You'd think he'd at least apply for an
|
||
internship at some Engineering firm or something.</p>
|
||
<p>When I presented the idea to him, he said that the thought had
|
||
never crossed his mind.</p>
|
||
</summary></entry><entry><title>Wasted Talent</title><link href="http://kennethreitz.com/blog//wasted-talent.html" rel="alternate"></link><updated>2009-07-15T18:30:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//wasted-talent.html/</id><summary type="html"><p>I'd say that 95% percent of the students that I met at George Mason
|
||
University my Freshman year had <em>no idea</em> why they were even there.
|
||
This is so sad.</p>
|
||
<p>For me, going to college was more about getting out of the house
|
||
than anything else. And it worked. I did get out of the house. And
|
||
I learned a lot. I found my passion.</p>
|
||
<p>Other students worked their butts off trying to take as many
|
||
credits as possible, and when asked what they want to do for a
|
||
living they don't have the slightest idea. Why would you go to
|
||
college if you don't even know what you want to major in? I would
|
||
think that spending all that money would be in order to achieve a
|
||
goal, but apparently not.</p>
|
||
<p><em>They are just along for the ride.</em></p>
|
||
</summary></entry><entry><title>Fallibilism</title><link href="http://kennethreitz.com/blog//fallibilism.html" rel="alternate"></link><updated>2009-07-15T05:11:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//fallibilism.html/</id><summary type="html"><p>Everyone seems to think that they are always right. It's pretty
|
||
funny when you think about it. Because they aren't. At all. That's
|
||
why I'm a falliblist. I believe that others are often right, and
|
||
since I'm human, and prone to error, I'll always consider
|
||
<em>anything</em> that anyone else has to say.
|
||
But hey, <em>I could be wrong</em>. :)</p>
|
||
<p><a class="reference external" href="http://xkcd.com/610/">|image|</a></p>
|
||
</summary></entry><entry><title>What's in a Language?</title><link href="http://kennethreitz.com/blog//whats-in-a-language.html" rel="alternate"></link><updated>2009-07-15T04:13:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//whats-in-a-language.html/</id><summary type="html"><p>What do developers want in a language?</p>
|
||
<ul class="simple">
|
||
<li>Lots of Available Resources / Documentation</li>
|
||
<li>Large Standard Library</li>
|
||
<li>Portability</li>
|
||
<li>Speed of Development</li>
|
||
<li>Easy to Read</li>
|
||
<li>A Community of Developers</li>
|
||
</ul>
|
||
<p>Yes, Easy to read. You'd really be surprised how much this helps a
|
||
developer. Well over half the time a C++ Developer spends writing
|
||
code is actually time spent deciphering what he's already written.
|
||
Certainly the amount of time spent doing this decreases over time,
|
||
but even if you've been reading C++ for 20+ years, there still is
|
||
and always will be a lot of junk in the middle that subconsciously
|
||
slows you down.</p>
|
||
<p><strong>Solution?</strong> Whitespace.</p>
|
||
<p>Whitespace is fantastic. It's standard practice to use indenting
|
||
all over the place. Why not use that as block delimiters? We do it
|
||
anyway. Lets get rid of Curly Braces.</p>
|
||
<p>Here is a clip of C#. No shortcuts taken:</p>
|
||
<pre class="literal-block">
|
||
String output = new String();
|
||
output = &quot;Hello, World!&quot;;
|
||
try {
|
||
System.Console.WriteLine(output);
|
||
}
|
||
catch (Exception e) {
|
||
raise;
|
||
}
|
||
</pre>
|
||
<p>Here is the same clip of code in Python:</p>
|
||
<pre class="literal-block">
|
||
output = &quot;Hello, world!&quot;
|
||
try:
|
||
print(output)
|
||
except:
|
||
raise
|
||
</pre>
|
||
<p>Nicer, eh?</p>
|
||
</summary></entry><entry><title>Media Temple and My Hosting</title><link href="http://kennethreitz.com/blog//media-temple-and-my-hosting.html" rel="alternate"></link><updated>2009-07-15T03:53:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//media-temple-and-my-hosting.html/</id><summary type="html"><p>While I haven't used many hosting services, I must admit that I
|
||
cannot imagine any being much better than Media Temple.</p>
|
||
<p>Alot of other people use terrible hosting that is less than $5 a
|
||
month. Don't waste your time. Why are you even on the internet if
|
||
you are only willing to invest $5 a month for your website?</p>
|
||
<p>MediaTemple's Dedicated Virtual server simply cannot be beat. For
|
||
$50 a month, I get 20GB of storage, 1TB of transfer, and 2x 3GHz
|
||
Xeon Processors. I have full root access to the machine, and can do
|
||
whatever I want with it.</p>
|
||
<p>Now thats a hosting company. And that's a server. I'll host you on
|
||
it if you want – you'll get all the benefits of the $50 a month
|
||
server, without all the overhead - plus one geek who's at your
|
||
service 24/7. And all for $20 a month.</p>
|
||
</summary></entry><entry><title>Windows Mobile and iPhone OS</title><link href="http://kennethreitz.com/blog//windows-mobile-and-iphone-os.html" rel="alternate"></link><updated>2009-07-15T03:49:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//windows-mobile-and-iphone-os.html/</id><summary type="html"><p>I've owned about 5 WIndows Mobile devices, 3 Palm Devices, and 1
|
||
iPhone.</p>
|
||
<p>What we all need:</p>
|
||
<ul class="simple">
|
||
<li>Simplicity</li>
|
||
<li>Power</li>
|
||
<li>Reliability</li>
|
||
<li>Speed</li>
|
||
<li>Integration</li>
|
||
</ul>
|
||
<p><strong>Palm OS</strong> (Pre-Pre haha):</p>
|
||
<ul class="simple">
|
||
<li>Simple. Very Simple.</li>
|
||
<li>Does what it needs to do and doesn't falter.</li>
|
||
<li>Not much in terms of applications.</li>
|
||
<li>Most certainly not designed for a mobile professional.</li>
|
||
<li>It's a glorified rolodex.</li>
|
||
</ul>
|
||
<p><strong>Windows Mobile</strong> (5, 6, 6.1):</p>
|
||
<ul class="simple">
|
||
<li>Attempts to satisfy someone who needs to read spreadsheets on
|
||
the go.</li>
|
||
<li>Very slow and unstable. Not good for phone use. At all.</li>
|
||
<li>Integration is sub-par.</li>
|
||
<li>Lots of work-arounds for lots of things, nothing is simple.</li>
|
||
<li>Fonts are ugly.</li>
|
||
<li>Interface is clunky.</li>
|
||
</ul>
|
||
<p><strong>iPhone OS</strong>:</p>
|
||
<ul class="simple">
|
||
<li>Smooth, and very nice looking.</li>
|
||
<li>Font rendering is exceptional.</li>
|
||
<li>Web browsing is a dream.</li>
|
||
<li>Did I mention how good it looks?</li>
|
||
<li>Fantastic applications, integration, and standards.</li>
|
||
<li>Apps need approval (good and bad).</li>
|
||
<li>Very fast. Very slick. Problem free.</li>
|
||
</ul>
|
||
<p><strong>Verdict</strong>:</p>
|
||
<p>iPhone OS simply cannot be beat. It's perfect. I haven't used
|
||
Android, but it's more of a platform than an intended
|
||
out-of-the-box Mobile OS. You aren't intended to use the built-in
|
||
Window Manager if you don't want to. Windows Mobile: pay
|
||
attention.</p>
|
||
</summary></entry><entry><title>Early Adoption</title><link href="http://kennethreitz.com/blog//early-adoption.html" rel="alternate"></link><updated>2009-07-15T03:10:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//early-adoption.html/</id><summary type="html"><p>The world is full of people who wait for people to tell them what
|
||
to use next. Especially on the internet.</p>
|
||
<p>Find (or create) something great before it's popular and show
|
||
others – if your recommendation holds true, they will respect you
|
||
for it. They will trust you. They will go to you when needed.</p>
|
||
<p>And that's why this site exists.</p>
|
||
</summary></entry><entry><title>Microsoft Software Running in Linux</title><link href="http://kennethreitz.com/blog//microsoft-software-running-in-linux.html" rel="alternate"></link><updated>2009-07-15T02:55:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//microsoft-software-running-in-linux.html/</id><summary type="html"><p>A few months ago, I wrote a small article for
|
||
<a class="reference external" href="http://programmerfish.com/">ProgramerFish</a> that was
|
||
<a class="reference external" href="http://tech.slashdot.org/article.pl?sid=09/03/17/2235215">featured on SlashDot's Front Page</a>.
|
||
It was amazing. Within hours, my post had thousands of views and
|
||
hundreds of comments. People both loved and hated the idea.</p>
|
||
<p>But what made
|
||
<a class="reference external" href="http://tech.slashdot.org/article.pl?sid=09/03/17/2235215">my post</a>
|
||
so popular? The fact that I showed people how to run a very popular
|
||
piece of proprietary software in Linux. And this made a very large
|
||
number of people very angry. Why though? Half the users of linux
|
||
are openly against proprietary software.</p>
|
||
<p>But Certainly software is just a means to an end, not and end
|
||
itself.</p>
|
||
<p>They failed to see the point. All they cared about was letting
|
||
everyone else know how much they hated my idea.</p>
|
||
<p>I inadvertently started a mini-controversy. And it got attention.</p>
|
||
<p>Sometimes the best way to be heard is to say something people don't
|
||
like to hear.</p>
|
||
</summary></entry><entry><title>Revolution vs. Innovation</title><link href="http://kennethreitz.com/blog//revolution-vs-innovation.html" rel="alternate"></link><updated>2009-07-15T01:08:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//revolution-vs-innovation.html/</id><summary type="html"><p>I've been thinking alot about this cloud-computing &quot;movement&quot; that
|
||
has been a buzz word for the past year and half or so. Being able
|
||
to access anything from anywhere? Awesome, but
|
||
<em>I can do that now</em>.</p>
|
||
<p>I don't really get it why everyone's like &quot;oh this will totally
|
||
change computing as we know it&quot;. I beg to differ. Perhaps it will
|
||
change the way we develop, or organize. But not how Desktops sell.
|
||
Or eliminate the need for desktop software. The desktop is not
|
||
going to die. Not from Azure, at least.</p>
|
||
<p>Amazon has EC2, Microsoft has Azure, and Google has AppEngine.
|
||
These are fantastic tools, <em>but they are nothing new –</em> Just
|
||
something someone else thought up, executed properly – followed
|
||
through and improved upon.</p>
|
||
<p>Bill Gates came up with the idea of a true Software Company. This
|
||
was revolutionary. Apple took Bill's model, and innovated. They
|
||
improved upon it. And look at what's happening.</p>
|
||
<p>I really doubt that Google's new OS is going to bring us anything
|
||
we don't have already. I do think, however, that
|
||
<em>it will build on things we already have.</em></p>
|
||
<p>When Chrome came out, it didn't offer anything that we didn't
|
||
already have. Sure it's a fantastic browser, and I don't want to
|
||
discount that. But the ability to run &quot;web apps&quot; as applications is
|
||
nothing new. I had been using
|
||
<a class="reference external" href="http://labs.mozilla.com/2007/10/prism/">Mozilla's Prism</a> for at
|
||
least a year before Chrome was announced. And on OSX I had been
|
||
using <a class="reference external" href="http://fluidapp.com/">FluidApp</a>, which is like Prism on
|
||
Crack.</p>
|
||
<blockquote>
|
||
It seems like the smart thing to do in the tech world nowadays is
|
||
to follow through with great ideas – even if they aren't yours.</blockquote>
|
||
<p>Mozilla's team came up with the idea of running web apps at
|
||
application with SSB's (single site browsers), but implementation
|
||
of Prism was slow, and incredibly buggy. They didn't follow
|
||
through. Google did. and Google won.</p>
|
||
<p>Maybe I don't need to come up with a revolutionary idea. Maybe I
|
||
just need to be innovative.</p>
|
||
</summary></entry><entry><title>Amazon is Amazing... Most of the Time</title><link href="http://kennethreitz.com/blog//amazon-is-amazing-most-of-the-time.html" rel="alternate"></link><updated>2009-07-15T00:51:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//amazon-is-amazing-most-of-the-time.html/</id><summary type="html"><p><a href="#id1"><span class="problematic" id="id2">|</span></a>image|Again and again I'm really amazed at Amazon. I discovered
|
||
<a class="reference external" href="http://aws.amazon.com/s3/">Amazon S3</a> a few months ago, and was
|
||
really impressed with the service. For mere pennies a month, you
|
||
can have literally an unlimited amount of &quot;cloud&quot; storage.
|
||
Phenomenal. After using the service for a while, I realized that
|
||
they allow you to name an S3 bucket a domain name, and if the DNS
|
||
Zone File of that domain contains an A record that points to
|
||
Amazon's AWS servers, your bucket will automatically be available
|
||
at that domain. This is amazing.
|
||
<em>[media.kennethreitz.com is actually an S3 Bucket]</em></p>
|
||
<div class="system-message" id="id1">
|
||
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 8); <em><a href="#id2">backlink</a></em></p>
|
||
Inline substitution_reference start-string without end-string.</div>
|
||
<p>A few other services allow you to do this and I've never seen it go
|
||
wrong: Amazon S3 and Cloud Front,
|
||
<a class="reference external" href="http://posterous.com">Posterous</a>, <a class="reference external" href="http://tumblr.com">Tumblr</a>,
|
||
and <a class="reference external" href="http://blogger.com">Blogger</a>, to name a few.
|
||
<em>[http://posts.kennethreitz.com is a Posterous site].</em></p>
|
||
<p>After being blown away by the offering of unlimited storage, I was
|
||
introduced to unlimited computing power:
|
||
<a class="reference external" href="http://aws.amazon.com/ec2/">Amazon EC2</a>. All I can say is about
|
||
this is this is every Hacker's dream come true. I mean seriously. I
|
||
can instantly command 500 Xeon-powered linux machines to do
|
||
whatever I like for an hour, and then suddenly have them all
|
||
disappear off the grid and it will cost me a total of about $10.
|
||
Seriously. Wow.</p>
|
||
<blockquote>
|
||
All excuses are now gone. The possibilities are <strong>limitless</strong>. Why
|
||
aren't more people taking advantage of this wonderful service?</blockquote>
|
||
<p>I then was introduced to their Affiliate program. If you provide a
|
||
link to an Amazon.com sales listing, and someone purchases
|
||
something from your link, you will receive a percentage of that
|
||
sale. Genius! Screw using Google Adwords, this is a great idea. I
|
||
did a few tests on Twitter. I posted one link, and within about 15
|
||
minutes, I had over 100 clicks to the Amazon listing.</p>
|
||
<p>I'm pretty surprised at what i've read recently, however.
|
||
Apparently Amazon doesn't want you to use their affiliate links on
|
||
mobile devices? What a missed opportunity. I wonder why this is? It
|
||
must be some legal issues... I mean, Amazon makes money from
|
||
affiliate links - why would they want to limit them?</p>
|
||
<p>Leave a comment if you have any thoughts on this.</p>
|
||
</summary></entry><entry><title>What Seperates?</title><link href="http://kennethreitz.com/blog//what-seperates.html" rel="alternate"></link><updated>2009-07-15T00:28:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-15:/blog//what-seperates.html/</id><summary type="html"><p>I want my thoughts to be heard. I want to share the things I find
|
||
on the web every day. I want to be a part of a community. I want to
|
||
lead the community.</p>
|
||
<p>That's why I'm here, and that's why I'm writing this.</p>
|
||
</summary></entry><entry><title>if (TextMate == 42)</title><link href="http://kennethreitz.com/blog//if-textmate-42.html" rel="alternate"></link><updated>2009-07-14T23:13:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-14:/blog//if-textmate-42.html/</id><summary type="html"><p><strong>{</strong> I've had some pretty extensive experience using every major
|
||
OS for various forms of development and end-user work. And just
|
||
like every other programmer in the world, I certainly have my
|
||
opinions, likes, and dislikes of every platform (some are a lot
|
||
closer to perfection than others of course). Text editors are the
|
||
same way. Everyone loves one or two, and hates all the others.
|
||
There are others of course: I actually know a guy who edits his
|
||
live &quot;enterprise-level php applications&quot; with Pico. And he says he
|
||
has been for 10 years (Note that Pico has only been out for 9
|
||
years). What a joke. &gt; Pico is not a programmer's tool.</p>
|
||
<p>But anyway: For literally decades, there has been a great war
|
||
between unix developers.
|
||
<a class="reference external" href="http://en.wikipedia.org/wiki/Editor_war">VI(m) vs. Emacs</a>. I am
|
||
most certainly a proponent of VI, and probably always will be. It's
|
||
a fantastic editor, and it suits my needs pefectly. And for those
|
||
of us who need something a little more streamlines there's always
|
||
<a class="reference external" href="http://cream.sourceforge.net/">CREAM</a>, which is a fantastic
|
||
implementation of a heavily customized GVIM that can handle
|
||
literally anything you throw at it with little or no fuss. Now all
|
||
software, in any context, is a tool. Nothing more. VI and EMACS and
|
||
all others exist for one reason: to make a programmer's life
|
||
easier. That's why they were invented, and that's why they are
|
||
maintained. Now, I still use VIM all the time in my day-to-day
|
||
life. Its wonderful to SSH into just about any *nix server on the
|
||
planet, and have VIM sitting there, waiting for me to tell it what
|
||
to do. It helps me to feel at home. I used to use it full-time for
|
||
all of my coding on my workstations as well. I was passionate about
|
||
it. I'd tote VIM all the time. VIM is great. It seemed so. It used
|
||
to. <a href="#id1"><span class="problematic" id="id2">|</span></a>image|Used to. And then there was TextMate. TextMate.
|
||
TextMate. Have a mac?
|
||
<a class="reference external" href="http://download-b.macromates.com/TextMate_1.5.8.dmg">Try it</a>.
|
||
Now.
|
||
<a class="reference external" href="http://download-b.macromates.com/TextMate_1.5.8.dmg">Download it</a>.
|
||
<a class="reference external" href="http://license.macromates.com/">Buy it</a>. Pirate it, I don't
|
||
care. <strong>Your life will never be the same.</strong> TextMate is seriously
|
||
the best piece of software I have come across in a very very long
|
||
time. I can code incredibly fast with it. It helps me to become a
|
||
better programmer. We all agree that you should NEVER Copy and
|
||
Paste code: but using code snippets is different. It's like... An
|
||
experience I cannot describe. I'll be purchasing a new laptop soon,
|
||
and to be honest with you, the fact that I'll have TextMate on a
|
||
mac makes me sure without a doubt to get an Apple computer. That
|
||
and the fact that Mac OS X is a FANTASTIC operating system) &gt;
|
||
TextMate is a text editor like no other.</p>
|
||
<div class="system-message" id="id1">
|
||
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 19); <em><a href="#id2">backlink</a></em></p>
|
||
Inline substitution_reference start-string without end-string.</div>
|
||
<p>There's nothing better. And there never will. I know that's quite
|
||
an extreme statement, but it's true. I'll do a full review
|
||
eventually. I'm just so blown away. Sorry for my thoughts being all
|
||
over the place in this post. I can't think strait.
|
||
<a class="reference external" href="http://macromates.com/">Textmate</a>. <strong>}</strong></p>
|
||
</summary></entry><entry><title>Instapaper: Best Web App Ever Created</title><link href="http://kennethreitz.com/blog//instapaper-best-web-app-ever-created.html" rel="alternate"></link><updated>2009-07-13T22:54:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-13:/blog//instapaper-best-web-app-ever-created.html/</id><summary type="html"><p>Out of all the startup applications that I have ever used,
|
||
<a class="reference external" href="http://instapaper.com">Instapaper</a> (from the creators of
|
||
micro-blogging site <a class="reference external" href="http://tumblr.com">Tumblr</a>) is by far the
|
||
most innovative and useful. I use it on a daily basis. It not only
|
||
saves me hours upon hours of time, but it allows me to focus more
|
||
on the task at hand and boosts my productivity levels through the
|
||
roof.</p>
|
||
<p>Whenever I'm surfing the web, I have a bad habit of clicking open
|
||
new tabs almost constantly. It's not uncommon for me to easily have
|
||
over 60 tabs open, and in the process of sorting through all these
|
||
wonderful links, the task at hand drowns in a sea of information.</p>
|
||
<p>Well, I don't have this problem anymore, thanks to Instapaper. When
|
||
I find something interesting online now, and it's not related to
|
||
the task at hand, I hit the nifty &quot;read later&quot; bookmarklet. This
|
||
ads it to my list of unread marertial on Instapaper.com. I can go
|
||
there at any time and read any of the pages that I didnt' have time
|
||
to read before!</p>
|
||
<p>Seriously guys, this is amazing.</p>
|
||
<p>What's better yet, is that they have an iPhone app. I can read my
|
||
synched list of hundreds of unread pages at any time in
|
||
Kindle-quality formated pages. Even without an internet
|
||
connection.</p>
|
||
<p><strong>Surely life doesn't get better than this.</strong></p>
|
||
<p><strong>`Instapaper &lt;http://instapaper.com&gt;`_</strong></p>
|
||
</summary></entry><entry><title>Best iPhone App: Byline</title><link href="http://kennethreitz.com/blog//best-iphone-app-byline.html" rel="alternate"></link><updated>2009-07-12T03:47:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-12:/blog//best-iphone-app-byline.html/</id><summary type="html"><p><img alt="image" src="http://www.phantomfish.com/Resources/bylineicon.png" /> A couple months ago, I wrote a real simple post on
|
||
<a class="reference external" href="http://kennethreitz.com/blog/the-ultimate-rss-feed-reader/">Google Reader</a>,
|
||
so you know why I love it so. Well, having an iPhone is wonderful,
|
||
but coming up with great reading material isn't the best when
|
||
you're trying to use mobile safari. What happens if you don't have
|
||
internet access?
|
||
<strong>Problem Solved</strong>
|
||
Byline is a fantastic iPhone app that works as a google reader
|
||
client. Once a post is read on the device, it is marked as read on
|
||
google reader, so you'll never have to go back and check which
|
||
posts you read. This is a massive time saver, and reading with it
|
||
is a breeze. I highly Recommend! It is well worth the <strong>$1.99</strong> I
|
||
spent for it. It makes my world a better place to live. :)</p>
|
||
<p><a href="#id1"><span class="problematic" id="id2">|Byline for iPhone|`|image2|</span></a> &lt;<a class="reference external" href="http://click.linksynergy.com/fs-bin/stat?id=9yyTS5BfMus&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;RD_PARM1=http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware">http://click.linksynergy.com/fs-bin/stat?id=9yyTS5BfMus&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;RD_PARM1=http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware</a>?id=284946773&amp;mt=8&amp;partnerId=30&gt;`_</p>
|
||
<div class="system-messages section">
|
||
<h2>Docutils System Messages</h2>
|
||
<div class="system-message" id="id1">
|
||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 22); <em><a href="#id2">backlink</a></em></p>
|
||
Undefined substitution referenced: &quot;Byline for iPhone|`|image2&quot;.</div>
|
||
</div>
|
||
</summary></entry><entry><title>My Pitch for SocialWeb 2.0</title><link href="http://kennethreitz.com/blog//my-pitch-for-socialweb-20.html" rel="alternate"></link><updated>2009-07-12T03:10:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-12:/blog//my-pitch-for-socialweb-20.html/</id><summary type="html"><p>The social web is severely flawed. I like to fix it. Who's in?</p>
|
||
</summary></entry><entry><title>The Universal Flaw in Commercial-Based OS's</title><link href="http://kennethreitz.com/blog//the-universal-flaw-in-commercial-based-oss.html" rel="alternate"></link><updated>2009-07-10T21:24:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-10:/blog//the-universal-flaw-in-commercial-based-oss.html/</id><summary type="html"><p>Designers and Developers around the world, I present to you the
|
||
flaw prevalent in all of today's commercial operating systems. This
|
||
is not a security hole, nor is it a CPU-capping bug. It's more of a
|
||
world-view. We're simply looking at things the wrong way.
|
||
<strong>What ever happened to the days when a computer was a *tool*, rather than an *experience*?</strong>
|
||
Nowadays, computers are viewed by the public as a way of expressing
|
||
oneself. Don't get me wrong, a computer can be all of that and
|
||
more. Certainly, I find a level of solace and self-identity in my
|
||
software/hardware setup. But, a computer, more primarily, is so
|
||
much more than that. A computer, in today's modern consumerist
|
||
mindset, is a box that runs applications that are made by other
|
||
people. You will use the applications either because you think it
|
||
will enhance your quality of life, make you more productive, cure
|
||
you from boredom, or just be plain <em>neat</em>. No other options exist,
|
||
just the software that big-name companies produce. Sure, this
|
||
method does sell well and, in the scheme of things, makes a company
|
||
a large amount of money in a short amount of time (which is the
|
||
point of a business, is it not?), but perhaps those big-name
|
||
companies should think a little more long-term for the sake of us
|
||
all. What does this method truly accomplish? It makes people buy
|
||
lots of computers that have power way beyond practicality. This, in
|
||
term, makes software development freeze. In case you haven't
|
||
noticed, we can't do much with computers nowadays that we couldn't
|
||
do 10 years ago, except perhaps check our bank accounts online, and
|
||
that's hardly a major breakthrough rather than an new-found
|
||
application to keep everyone's interest. It self-destructs in the
|
||
end when you think about it. And this, my friends, is the central
|
||
heart of our problem. In our &quot;ever-changing&quot; world of computer
|
||
software, there is little to be found that is truly new or
|
||
exciting. We have a bad habit of putting a new face on an old
|
||
concept and calling it by a different name, when, in reality, we've
|
||
run out of good ideas.</p>
|
||
</summary></entry><entry><title>Video Blog Series</title><link href="http://kennethreitz.com/blog//video-blog-series.html" rel="alternate"></link><updated>2009-07-10T15:46:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-10:/blog//video-blog-series.html/</id><summary type="html"><p>Well, I'm thinking of doing a series of video posts. This seems to
|
||
work pretty well for some people.
|
||
I'm looking for some good topic ideas.</p>
|
||
<p><strong>Ideas so far:</strong> - Gadget Reviews - Emotional posts that just
|
||
can't be captured by words - In general thoughts on the tech world</p>
|
||
<p>I'll see what I can do about posting one this week.</p>
|
||
</summary></entry><entry><title>Not Acting on Ideas</title><link href="http://kennethreitz.com/blog//not-acting-on-ideas.html" rel="alternate"></link><updated>2009-07-10T10:08:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-10:/blog//not-acting-on-ideas.html/</id><summary type="html"><p>As of yesterday, my second idea that I actually thought would work
|
||
well was thought up by someone else. The first instance was a game
|
||
that me and my friend <a class="reference external" href="http://twitter.com/mikeXocon/">&#64;MikeXocon</a>
|
||
came up with. After reading up on some man laws one day back at
|
||
college, we thought of the idea of making a game where the player
|
||
needs to strategically pick the correct urinal to use (men will
|
||
understand). It was decided that we would work on it this summer.
|
||
We were really serious. I almost bought the domain name.
|
||
Well, you can see a screenshot below of one of the top apps on the
|
||
AppStore now. Epic fail.</p>
|
||
<p>The second idea I had was creating a site that allows you to
|
||
prebuffer and schedule tweets. All the time I log on to Twitter and
|
||
post 5-10 things right in a row, which is just annoying. There's
|
||
not other solution though. If I don't tweet immediately, I won't
|
||
remember. So, I was going to make a site that would allow you to do
|
||
just that, API and all. Well,
|
||
<a class="reference external" href="http://twitter.com/collegeman">&#64;collegeman</a> sent me a link today
|
||
to <a class="reference external" href="http://hootsuite.com">HootSuite</a>, a Twitter client on crack
|
||
that offers a large array of features, including the ability to
|
||
have pending tweets. Yay.
|
||
I'm upset or anything of course. Its pretty cool that I came up
|
||
with these ideas, and someone else did as well. Next time I'll have
|
||
to jump the shark I suppose!</p>
|
||
<div class="figure align-center">
|
||
<img alt="image" src="http://www.whatsoniphone.com/screen_dumps/Urinal_Test.jpg" />
|
||
<p class="caption">image</p>
|
||
</div>
|
||
</summary></entry><entry><title>New Design!</title><link href="http://kennethreitz.com/blog//new-design.html" rel="alternate"></link><updated>2009-07-10T09:24:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-07-10:/blog//new-design.html/</id><summary type="html"><p>KennethReitz.com now has a new, rich theme, ready to take on a new
|
||
life. And now iPhone friendly! My gloal? To become more well known
|
||
that both <a class="reference external" href="http://joelonsoftware.com">Joel Spolsky</a> and
|
||
<a class="reference external" href="http://chris.parillo.com">Chris Parillo</a>. Nothing wrong with
|
||
them, of course. I'm just as qualified though. And I think I might
|
||
bring more to the table. Think I can do it?</p>
|
||
<p>I built the site with PHP on top of Wordpress with a hint of
|
||
Coreylib and jQuery. A nice mix, if you ask me. I ditched
|
||
<a class="reference external" href="http://disqus.com/">DISQUS</a> in favor of IntenseDebate (as you
|
||
can see below). DISQUS has a terrible media server that fails
|
||
constantly. I can't stand that.
|
||
<a class="reference external" href="http://intensedebate.com">IntenseDebate</a> comes pre-themed too,
|
||
and, I must say, it looks <em>nice</em>.</p>
|
||
<p>The design was inspired by <a class="reference external" href="http://haveamint.com">haveamint.com</a>.
|
||
They did a phenomenal job and I wanted to take what they had and
|
||
build from it. Expect this to be update much more frequently.
|
||
Hopefully daily.</p>
|
||
</summary></entry><entry><title>Django Remote Development Server</title><link href="http://kennethreitz.com/blog//django-remote-development-server.html" rel="alternate"></link><updated>2009-05-08T04:03:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-05-08:/blog//django-remote-development-server.html/</id><summary type="html"><p><img alt="image" src="http://media.kennethreitz.com/images/django-logo.png" /> If you've worked with Django much at all, I'm sure you've
|
||
had this problem: wanting to access the built-in development
|
||
webserver remotely. Typically, this integrated mini-server ignores
|
||
all requests from any IP Address other than 127.0.0.1 . If you run
|
||
the following command, however, it will be accessible remotely.
|
||
VERY useful for remote dev work.</p>
|
||
<pre class="literal-block">
|
||
./manage.py runserver 0.0.0.0:8000
|
||
</pre>
|
||
<p>Enjoy!</p>
|
||
<p><a class="reference external" href="http://technorati.com/tag/Development">Development</a>,
|
||
<a class="reference external" href="http://technorati.com/tag/Django">Django</a>,
|
||
<a class="reference external" href="http://technorati.com/tag/Python">Python</a></p>
|
||
</summary></entry><entry><title>Remote TextMate Development via SSH and Rsync</title><link href="http://kennethreitz.com/blog//remote-textmate-development-via-ssh-and-rsync.html" rel="alternate"></link><updated>2009-05-08T00:39:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-05-08:/blog//remote-textmate-development-via-ssh-and-rsync.html/</id><summary type="html"><p>I am a huge fan of
|
||
<a class="reference external" href="http://kennethreitz.com/blog/if-textmate-42/">TextMate</a>. In my
|
||
opinion, it is by far the greatest text editor ever conceived by
|
||
mankind. It has a couple of shortcomings, however. One of which is
|
||
that it has no built-in FTP or SFTP support. Remote file editing is
|
||
a bit of a bear here if you like to view folders in the project
|
||
drawer on the side. <img alt="image" src="http://media.kennethreitz.com/images/textmate-logo.png" />
|
||
<strong>Options for remote editing with TextMate:</strong> - Cyberduck FTP
|
||
client - MacFUSE + SSHFS - Rsync + SSH</p>
|
||
<div class="section" id="cyberduck">
|
||
<h2>Cyberduck</h2>
|
||
<p><strong>The `Cyberduck &lt;http://david.olrik.dk/files/Synchronize_remote_directory_rsync_ssh.zip&gt;`_ option is very very useful. While in the FTP client, you simply click &quot;Edit in TextMate&quot; and the client will download the file for you, open it in your editor, and – here's the awesome part – it automatically uploads the file every time you save it. This works great when working with one file at a time. The drawback, however, is when working with large projects. Toggling between many files can be an albatross without the project drawer (cyberduck understandably doesn't allow you to edit an entier folder), so MacFUSE is the next logical choice.</strong>
|
||
## MacFUSE + SSHFS</p>
|
||
<p><a class="reference external" href="http://www.pqrs.org/tekezo/macosx/sshfs/">MacFUSE</a> + SSHFS works
|
||
great, and allows you to mount an SSH folder as a mountpoint on
|
||
your local system. VERY USEFUL. You can open this folder with
|
||
TextMate. This is perfect for smaller projects. However, with
|
||
larger projects, this makes opening the folder in TextMate almost
|
||
unbearable as it checks the status of every single file. Too slow
|
||
:P ## Rsync + SSH</p>
|
||
<p><strong>So here's the final solution: Rsync + SSH. This allows me to automatically sync my working copy with my server and allow for snappy file interactions without having insane latencies for starting up and bandwidth hogging!</strong>
|
||
To remotely sync over SSH, run the following code: rsync -avz -e
|
||
ssh <a class="reference external" href="mailto:remoteuser&#64;remotehost">remoteuser&#64;remotehost</a>:/remote/dir /target/dir/</p>
|
||
<p><strong>Hint</strong>: If your remote working copy is a subverson checkout, you
|
||
can add --cvs-exclude</p>
|
||
<div class="system-message">
|
||
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 2); <em><a href="#id1">backlink</a></em></p>
|
||
Duplicate explicit target name: &quot;textmate&quot;.</div>
|
||
<p>into the rsync parameters, and it will exclude the &quot;.svn&quot; folders!
|
||
You can then open this directory in TextMate and make all the
|
||
changes you want, and then sync after ! There is also a wonderful
|
||
TextMate Bundle for
|
||
<a class="reference external" href="http://david.olrik.dk/files/Synchronize_remote_directory_rsync_ssh.zip">Remote Rsync + SSH within TextMate</a>.
|
||
<a class="reference external" href="http://technorati.com/tag/Development">Development</a>,
|
||
<a class="reference external" href="http://technorati.com/tag/OSX">OSX</a>,
|
||
<a class="reference external" href="http://technorati.com/tag/rsync">rsync</a>,
|
||
<a class="reference external" href="http://technorati.com/tag/TextMate">TextMate</a></p>
|
||
</div>
|
||
</summary></entry><entry><title>uNetBootin: The Utility Belt for OS's</title><link href="http://kennethreitz.com/blog//unetbootin-the-utility-belt-for-oss.html" rel="alternate"></link><updated>2009-05-06T13:57:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-05-06:/blog//unetbootin-the-utility-belt-for-oss.html/</id><summary type="html"><p>If you're in the mood to try a new operating system or two, I
|
||
highly reccommend you try this little utility: uNetBootin. It is an
|
||
image downloader that lets you easily select which Linux distro
|
||
you'd like to install and it instantly starts fetching it from the
|
||
cloud for you. Once the download is complete, it will allow you to
|
||
put that bootable image on a jump-drive for super easy and quick
|
||
installs.</p>
|
||
<p><img alt="image" src="http://upload.wikimedia.org/wikipedia/en/f/ff/Unetbootin_on_Windows.png" /> And it runs in both Linux and Windows. I have yet to
|
||
attempt to get it to work in OS X yet. I'm sure it's not too hard
|
||
though :)</p>
|
||
<p>[<a class="reference external" href="http://unetbootin.sourceforge.net">uNetBootin</a>]</p>
|
||
</summary></entry><entry><title>Crossing Over to the Dark Side</title><link href="http://kennethreitz.com/blog//crossing-over-to-the-dark-side.html" rel="alternate"></link><updated>2009-05-06T13:49:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-05-06:/blog//crossing-over-to-the-dark-side.html/</id><summary type="html"><p>Well, I've done it. I've crossed over. To .NET.</p>
|
||
<p>I will continue to be a complete open-source junkie of course, but
|
||
during the work hours, I will no longer be working with PHP and
|
||
Python. I will now be working with .NET and SharePoint.</p>
|
||
<p>I was presented with a rather good reason for this actually:</p>
|
||
<p>&quot;Using SharePoint gives our clients a tremendous amount of security
|
||
– they can trust that if, for whatever reason, something were to
|
||
happen to us, their software could still be serviced by someone
|
||
else.&quot; That's certainly justifiable and understandable. That's a
|
||
pretty good idea actually. I like it.</p>
|
||
<p>After looking into ASP.NET, I was actually quite surprised. The
|
||
code is a lot cleaner than PHP. It looks rather powerful actually.</p>
|
||
<p>Anyway, that's why I've crossed over. No hard feelings :)</p>
|
||
</summary></entry><entry><title>Reflections on Windows 7</title><link href="http://kennethreitz.com/blog//reflections-on-windows-7.html" rel="alternate"></link><updated>2009-05-06T04:01:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-05-06:/blog//reflections-on-windows-7.html/</id><summary type="html"><p>While I have not had the opportunity to try the latest Windows 7
|
||
Release Candidate, I have done a bit of reading on the subject. In
|
||
my research, I have made the following observances</p>
|
||
<p>Vista was truly the worst operating system I have ever used in my
|
||
life. It had some wonderful features, but everything was tied
|
||
together so inefficiently It could bring the fastest computer
|
||
around to its knees. I have used Vista on a rather powerful quad
|
||
core system with over 4 GB of RAM, and it still responded poorly.
|
||
There were a few things in Vista that were wonderful ideas, but
|
||
executed horribly:</p>
|
||
<ul class="simple">
|
||
<li>Integrated Search and Indexing</li>
|
||
<li>ReadyBoost for superior caching</li>
|
||
<li>Windows XP Compatibility Mode</li>
|
||
<li>Application Pre-Caching based on Observed User Activity</li>
|
||
<li>Bending over backwards for old API compatibility</li>
|
||
</ul>
|
||
<p>Windows 7 looks promising, however. Take a look at the list of new
|
||
improvements:</p>
|
||
<ul class="simple">
|
||
<li>Transparent Windows XP Virtualization Compatibility Layer</li>
|
||
<li>Responsiveness existent</li>
|
||
<li>Advanced Window Management Abilities</li>
|
||
<li>New Version of ReadyBoost</li>
|
||
<li>Integrated ClearType Tuning (about time)</li>
|
||
<li>Feature-Packed Application Bar</li>
|
||
</ul>
|
||
<p>Windows 7 is what Vista was supposed to be from what I understand.
|
||
I'm keeping my fingers crossed, but I do look forward to this new
|
||
Operating System. I sincerely hope that it truly is a great
|
||
improvement. We'll see.</p>
|
||
<p><a class="reference external" href="http://xkcd.com/528/">|Disclaimer: I have not actually tried the beta yet. I hear its quite pleasant and hardly Hitler-y at all.|</a>
|
||
<a class="reference external" href="http://technorati.com/tag/Microsoft">Microsoft</a>,
|
||
<a class="reference external" href="http://technorati.com/tag/Vista">Vista</a>,
|
||
<a class="reference external" href="http://technorati.com/tag/Windows%207">Windows 7</a></p>
|
||
</summary></entry><entry><title>Software Development vs. Computer Science</title><link href="http://kennethreitz.com/blog//software-development-vs-computer-science.html" rel="alternate"></link><updated>2009-05-05T20:52:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-05-05:/blog//software-development-vs-computer-science.html/</id><summary type="html"><p>Most developer job applications that I see have a &quot;BS in Computer
|
||
Science or equivalent experience&quot; requirement.</p>
|
||
<p>During my studies in Computer Science at
|
||
<a class="reference external" href="http://kennnethreitsz.com/was-college-worth-it/">George Mason University</a>,
|
||
though short, I learned a number of things. One of them was what a
|
||
waste it was to learn such higher math in my field. I want to
|
||
develop software, not develop the most cunning-edge
|
||
earth-shattering algorithms. I don't want to reinvent ssh or find a
|
||
better way to implement pgp keys. Of course, those things are
|
||
necessary in certain fields, but not in mine.</p>
|
||
<p>I was taught that Programming is to Computer Science as a Telescope
|
||
is to Astronomy. Its a tool to get to a means. If this is true,
|
||
than why wasn't I thought how to make software?</p>
|
||
<p>Many Software Developers also have degrees in Electrical
|
||
Engineering. Why is this? A CS degree doesn't seem to quite fit
|
||
either. Perhaps we should make a separate degree for Software
|
||
Development?</p>
|
||
<p>Computer Science should be separated from Software Development.
|
||
They should be two different Degrees.</p>
|
||
<p>When I realized this, I started spending my time focusing on design
|
||
rather than math. I learned a great deal of things from color
|
||
theory to relational spacing and I found myself a new home: web
|
||
design. It's a beautiful field. I started to spend my own time
|
||
learning software development, rather than spending hours studying
|
||
Calc 2.</p>
|
||
</summary></entry><entry><title>The Ultimate RSS Feed Reader</title><link href="http://kennethreitz.com/blog//the-ultimate-rss-feed-reader.html" rel="alternate"></link><updated>2009-04-23T01:35:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-04-23:/blog//the-ultimate-rss-feed-reader.html/</id><summary type="html"><p>What would the ultimate RSS Reader have? Hmmm.... <strong>Features:</strong> -
|
||
Easy-to-manage import/export - Available anywhere and in a variety
|
||
of formats - Easy access to both urls and inline-viewing abilities
|
||
- Customizable fonts - Takes up less than 200 MB of RAM (this rules
|
||
out all Adobe Air Applications) - Auto feed sniffing from urls -
|
||
The ability to play podcasts and other media that is thrown at it
|
||
(unlike the PSP) - Syncing for offline viewing - Expendable</p>
|
||
<p><em>Closest contender</em>: <strong>Google Reader</strong>! It offers all of this
|
||
functionality and more. It makes my world a better place to live.
|
||
<strong>`Google Reader &lt;http://reader.google.com&gt;`_</strong></p>
|
||
</summary></entry><entry><title>Facebook vs Twitter: A Critical Synopsis</title><link href="http://kennethreitz.com/blog//facebook-vs-twitter-a-critical-synopsis.html" rel="alternate"></link><updated>2009-04-06T08:51:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-04-06:/blog//facebook-vs-twitter-a-critical-synopsis.html/</id><summary type="html"><p>For the sake of us all, lets take a look at two major social
|
||
networks on the web today: <a class="reference external" href="http://facebook.com">Facebook</a> and
|
||
<a class="reference external" href="http://twitter.com/kennethreitz">Twitter</a>.</p>
|
||
<p>Twitter is an information-streaming application that is used by
|
||
people in all walks of life. It functions, sometimes in roundabout
|
||
ways, as an instant messenger, email client, alert system, and
|
||
social networking connectivity tool. It also offers fantastic,
|
||
powerful searching and heavily encourages all-in-all openness.</p>
|
||
<p>Facebook, when I was introduced to it, was an application that
|
||
allowed users to create a simple page with information about
|
||
themselves, and connected them with people they knew in real life.
|
||
Users could send messages to one another, both privately and
|
||
publicly, post links, and upload an unlimited number of photos. Or
|
||
at least it was.</p>
|
||
<p>Recently, Facebook revamped their interface and introduced a
|
||
reinforced concept of status updates being a &quot;life-stream&quot; rather
|
||
than a &quot;summary of my week&quot;. Much emphasis is placed on what is
|
||
going on <em>right now</em>, not what happened yesterday. This is great in
|
||
my opinion – however, it totally changes what Facebook is for me.
|
||
Prior to the change, when adding a friend, much emphasis was placed
|
||
on adding relationship details for all of your friends. If you
|
||
didn't know someone, Facebook wouldn't even allow you to keep them
|
||
as a friend. Now, Facebook auto-suggest people that it thinks you
|
||
might know, and encourages the meeting of people through Facebook
|
||
itself. Nothing wrong with that of course... I'm just showing how
|
||
it has been changed.</p>
|
||
<p>There's a fundamental difference here:
|
||
<strong>Twitter changes with its users.</strong></p>
|
||
<p>It changes according to the trends of it's users. Twitter does
|
||
absolutely nothing to influence they way its users use its
|
||
services. In fact, it evolves <em>with</em> them. For example, Twitter
|
||
allowed users to view when people &#64;replied to their tweets by going
|
||
to the &#64;replies section of the user interface. In this section, you
|
||
could see a list of all the latest tweets that started with
|
||
<a class="reference external" href="mailto:'&#64;yourtwittername">'&#64;yourtwittername</a>' and see what people had to say to you. After a
|
||
while, users started adding &#64;replies everywhere in tweets, not just
|
||
the beginning. So, twitter changed the algorithm, and now you can
|
||
see when <a class="reference external" href="mailto:'&#64;yourtwittername">'&#64;yourtwittername</a>' is mentioned anywhere in a tweet.
|
||
Genius.</p>
|
||
<p><strong>Facebook tries to change its users.</strong></p>
|
||
<p>When was the last time you heard a bunch of Twitter users complain
|
||
about a newly implimented feature? and when was the last time you
|
||
heard a Facebook user complain of a new feature or interface
|
||
change?
|
||
Yes, they complain constantly.</p>
|
||
<p>So, what is Facebook's purpose? To deliver useful content and
|
||
introduce you to new people (while delivering ads), or providing a
|
||
nice platform for friends to connect with eachother? If you ask me,
|
||
Facebook's intended purpose is becoming less and less clear the
|
||
longer that I use it.</p>
|
||
<p>Go Twitter.</p>
|
||
</summary></entry><entry><title>New Blog</title><link href="http://kennethreitz.com/blog//new-blog.html" rel="alternate"></link><updated>2009-04-05T22:09:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-04-05:/blog//new-blog.html/</id><summary type="html"><p>Well, I decided to go ahead and do away with the old and bring on
|
||
in the new. KennethReitz.com is now new. I the theme myself and
|
||
implemented many new feature, all thanks to
|
||
<a class="reference external" href="http://coreylib.com">CoreyLib</a>! I hope to see alot of great
|
||
comments and discussions in the posts to come. :)</p>
|
||
</summary></entry><entry><title>Was College Worth It?</title><link href="http://kennethreitz.com/blog//was-college-worth-it.html" rel="alternate"></link><updated>2009-03-26T06:13:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-03-26:/blog//was-college-worth-it.html/</id><summary type="html"><p>George Mason University (at which I'm currently a non-studying
|
||
student) is a fantastic environment for a student in their 20's.
|
||
Never before have I felt so <em>enabled</em>. The campus allowed me to
|
||
have a completely restriction-free place to live with peers of my
|
||
own age, and millions of resources an average American could only
|
||
dream of having free access to:</p>
|
||
<ul class="simple">
|
||
<li>Olympic-sized swimming pool minutes away</li>
|
||
<li>Every restaurant under the sun within walking distance</li>
|
||
<li>Free Kitchens and items promoting every brand under the sun</li>
|
||
<li>You don't go to stores – they come to you</li>
|
||
<li>Free food. Alot of it.</li>
|
||
<li>Functions and for everything under the sun.</li>
|
||
<li>Seminars from the Brightest Minds in Computer Science</li>
|
||
<li>Professors willing to go the extra mile for you</li>
|
||
<li>Dozens of cultures fused into one working student-body</li>
|
||
<li>An incredibly Culturally-Diverse Campus (taco bell and Islamic
|
||
meditation lounge in the same building)</li>
|
||
</ul>
|
||
<p>These are the things that I miss. I crave the &quot;college experience&quot;
|
||
so much, but that makes me realize something: I didn't go to
|
||
college for an education – I went there to get away. And I did so.</p>
|
||
<p>I failed. I had my heart broken (ish). I got into trouble. I
|
||
reached out to the needy and regretted it. I worked for notable
|
||
causes. I got a job. I strayed from truth. I got severely addicted
|
||
to Caffeine. I was forgiven. I slept in. I researched. I learned to
|
||
discern from someone who's worth my time and someone who's not. I
|
||
learned to prioritize. Lateralus. I wasted people's time. I was
|
||
used. I experimented. I fell asleep every morning during an
|
||
all-you-can-eat breakfast fit for a king. I relieved my childhood.
|
||
I saw others lives fall apart. I learned to drive. I went way too
|
||
fast. I forgot to prioritize. I found the most breathtaking music
|
||
on earth. I made mistakes. I connected. I had a fantastic night. I
|
||
played live shows. I was shot down. I failed miserably at Ju Jit
|
||
Su. I was accused of Harrassment–I was totally innocent. I had the
|
||
worst sleeping schedule on earth. I didn't try Salvia. I saw the
|
||
best movies. I met the most amazing people. I shook Bill Clinton's
|
||
hand. I got first-hand internet experience I couldn't have dreamed
|
||
of having before. I found my true passions. I learned without being
|
||
taught. I saw some funny videos. I made some awesome friends. I
|
||
lost some too. I joined a riot. I learned that I do way too many
|
||
things at once. I lost a job. I learned to sell myself. I learned
|
||
how to present myself. And, most importantly,
|
||
<em>I learned what was truly important in life</em>.</p>
|
||
<p>So, here I stand, $10,000 dollars in debt with a GPA of 1.14 and 8
|
||
credit hours – and I've never been happier. That was a $10K well
|
||
spent.</p>
|
||
<blockquote>
|
||
And I have never been happier.</blockquote>
|
||
<p>Regards,</p>
|
||
<p>Kenneth Reitz</p>
|
||
</summary></entry><entry><title>Contact Syncing for Massive Productivity Booster</title><link href="http://kennethreitz.com/blog//contact-syncing-for-massive-productivity-booster.html" rel="alternate"></link><updated>2009-03-25T06:12:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-03-25:/blog//contact-syncing-for-massive-productivity-booster.html/</id><summary type="html"><p>Google significantly increased my quality of life recently. How?
|
||
Let me explain. While I am a firm believer that cloud computing
|
||
should <em>never</em> be viewed as a replacement for the current desktop/
|
||
model, I must say that I am now a <strong>huge</strong> fan of storing my data
|
||
on the internet. Not all of my data, keep in mind, but information
|
||
that needs to be accessed by multiple computers, of course – but
|
||
that goes without saying.</p>
|
||
<p>I have always had the problem of not being able to keep track of
|
||
all my data. I switch computers and operating systems so often, I
|
||
can't keep track of my contacts at all. And when I update one, I
|
||
have to go through and update many different databases – not the
|
||
most efficient method.</p>
|
||
<p>So, the ultimate solution is – obviously – to consolidate all of my
|
||
contacts into one database. I used to keep all of my contacts on my
|
||
Samsung Blackjack cellphone. This worked well, since I could easily
|
||
sync it with a computer. This caused a problem, however: I could
|
||
only sync it with one system. If I was at work or on another
|
||
system, I had no way to get to my friend's email addresses.</p>
|
||
<p>Last month, Google Contacts started to support Exchange Syncing,
|
||
which happens to work <em>flawlessly</em> with my Windows Mobile 6.1
|
||
install.</p>
|
||
<p>My life will never be the same. Thank you, Google. I am eternally
|
||
grateful.</p>
|
||
<p>More details soon!</p>
|
||
</summary></entry><entry><title>Free Incredible Color Scheme Designer</title><link href="http://kennethreitz.com/blog//free-incredible-color-scheme-designer.html" rel="alternate"></link><updated>2009-03-17T22:44:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-03-17:/blog//free-incredible-color-scheme-designer.html/</id><summary type="html"><p><img alt="Picture 3.png" src="http://www.programmerfish.com/wp-content/uploads/2009/03/color-wheel.png" /> Being the programmers that we are, design isn't
|
||
always listed as one of our stronger abilities. Every programmer
|
||
should have a sense of design, however. Otherwise, every
|
||
application you would ever use would be far less useful and be much
|
||
less appealing. <em>Aesthetics are everything</em>. ColorSchemeDesigner
|
||
allows any user to create breathtaking Color Schemes for any
|
||
purpose in it's quick and easy-to-use interface. It allows you to
|
||
use the color wheel to make precisely correct schemes. Options
|
||
include: monochrome, complimentary, traids, tetrads, analogical,
|
||
and accented analogical schemes. All are fully customizable and
|
||
mathematically correct.The site even allows you take your color
|
||
scheme and test it out on a test page for web design. You can do
|
||
anything from sharing the exact scheme to your friends, to
|
||
downloading it as a Photoshop of Gimp Color Scheme, XML, or
|
||
plaintext file.
|
||
<strong>It even will allow you to download your ColorScheme as HTML / CSS !</strong>
|
||
What a time saver! Other services (like Adobe's
|
||
<a class="reference external" href="http://kuler.adobe.com/">Kuler</a>), aren't nearly this functional,
|
||
and do not offer nearly as many features to its users. The best
|
||
thing of all is it's <em>free</em>. Give
|
||
<a class="reference external" href="http://colorschemedesigner.com">ColorSchemeDesigner</a> a try!</p>
|
||
</summary></entry><entry><title>Free Direct Download: Microsoft Office 2007</title><link href="http://kennethreitz.com/blog//free-direct-download-microsoft-office-2007.html" rel="alternate"></link><updated>2009-03-17T19:14:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-03-17:/blog//free-direct-download-microsoft-office-2007.html/</id><summary type="html"><p>Have you ever had the problem of losing an installation CD? This
|
||
happened to me the other day when I needed to install Microsoft
|
||
Office 2007. I found an easy solution, however, and I'd like to
|
||
share it with you: Direct Downloads of Microsoft Office 2007 in
|
||
<em>all</em> flavors. Completely legal! All you need is your legitimate
|
||
key to install!</p>
|
||
<div class="section" id="microsoft-office-2007-installer-direct-downloads-200903171513-jpg">
|
||
<h2>Microsoft Office 2007 Installer Direct Downloads|200903171513.jpg|</h2>
|
||
<ul class="simple">
|
||
<li><a class="reference external" href="http://download.microsoft.com/download/7/c/4/7c49b09b-d6f9-431d-9738-4c00aff11fc7/Enterprise.exe">Microsoft Office Enterprise 2007</a></li>
|
||
<li><a class="reference external" href="http://msft-dnl.digitalrivercontent.net/msoffice/pub/X12-30196/X12-30196.exe">Microsoft Office Professional 2007</a></li>
|
||
<li><a class="reference external" href="http://msft-dnl.digitalrivercontent.net/msoffice/pub/X12-30283/X12-30283.exe">Microsoft Office Small Business 2007</a></li>
|
||
<li><a class="reference external" href="http://msft-dnl.digitalrivercontent.net/msoffice/pub/X12-30107/X12-30107.exe">Microsoft Office Home and Student 2007</a></li>
|
||
<li><a class="reference external" href="http://msft-dnl.digitalrivercontent.net/msoffice/pub/X12-30263/X12-30263.exe">Microsoft Office Standard 2007</a></li>
|
||
<li><a class="reference external" href="http://msft-dnl.digitalrivercontent.net/msoffice/pub/X13-40152/X13-40152.exe">Microsoft Office Accounting Professional 2007</a></li>
|
||
<li><a class="reference external" href="http://msft-dnl.digitalrivercontent.net/msoffice/pub/X12-30093/X12-30093.exe">Microsoft Office Groove 2007</a></li>
|
||
<li><a class="reference external" href="http://msft-dnl.digitalrivercontent.net/msoffice/pub/X12-30151/X12-30151.exe">Microsoft Office OneNote 2007</a></li>
|
||
<li><a class="reference external" href="http://msft-dnl.digitalrivercontent.net/msoffice/pub/X12-30247/X12-30247.exe">Microsoft Office Publisher 2007</a></li>
|
||
<li><a class="reference external" href="http://msft-dnl.digitalrivercontent.net/msoffice/pub/X12-30351/X12-30351.exe">Microsoft Office Visio Professional 2007</a></li>
|
||
</ul>
|
||
<p>Enjoy!</p>
|
||
<p>NOTE: this is for <strong>legal</strong> installs only! You need a key to use
|
||
any of these installers! If no key is provided, it will still be
|
||
fully functional, but will be working in trial-mode for a total of
|
||
30 runs.</p>
|
||
</div>
|
||
</summary></entry><entry><title>Python + Regular Expressions</title><link href="http://kennethreitz.com/blog//python-regular-expressions.html" rel="alternate"></link><updated>2009-03-17T05:30:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-03-17:/blog//python-regular-expressions.html/</id><summary type="html"><p>Have you ever needed to parse through large amounts of text looking
|
||
for a specific pattern? Patterns like “one capital letter followed
|
||
by three numbers” or “dd/mm/yyyy”? This is known as Pattern
|
||
Matching. Regular Expressions allow easy syntax for pattern
|
||
matching, and is an invaluable skill to add to one’s toolkit, no
|
||
matter what your area of expertise/practice is. Whether you’re
|
||
writing a Compiler, Form Validator, Text Editor, Django Project, or
|
||
Language Translator, Regular Expressions will always prove to be
|
||
invaluable. Here is a very basic overview of some syntax: ‘\d’
|
||
represents a digit. ‘\s’ represents whitespace. ‘.’ represents any
|
||
character. If you have worked with Python for very long, you are
|
||
probably already familiar with the concept. Take a look at the
|
||
following code: print(“Rounded = %05d” % (42))</p>
|
||
<p>This makes sure that the digit printed has 5 digits, and will
|
||
automatically add 0’s to compensate. If you understand this
|
||
concept, then you shouldn’t have a problem. Perl-style Regular
|
||
Expressions are a very widely-accepted implementation, and Python
|
||
has built in support for this mini-language! It’s easily
|
||
accessible, so let’s get started. The included ‘re’ module will
|
||
give us everything we need to get started: import re</p>
|
||
<p>Lets give our new module a try! It will enable you to do anything
|
||
you could ever want with regular expressions. Here’s a quick
|
||
example of some basic use. import re</p>
|
||
<pre class="literal-block">
|
||
string0 = 'Kenneth Reitz is a cool guy!'
|
||
regExp = r’kenneth[- ]?reitz’
|
||
|
||
if re.match(regExp, string0, re.IGNORECASE):
|
||
print “True”
|
||
else:
|
||
print “False”
|
||
</pre>
|
||
<p>This script takes the string ‘Kenneth Reitz is a cool guy’, and
|
||
searches for ‘kenneth reitz’ inside of it. If ‘kenneth reitz’ is
|
||
found within string0 (re.match compares the expression with the
|
||
string), the script will print “True”, if not, it will print
|
||
“False”. Additional parameters can be passed to the re.match
|
||
function when needed. Note the ‘re.IGNORECASE’ flag used here –
|
||
This tells the function be case-insensitive. Once you master the
|
||
regular expression syntax, you’ll realize how truly powerful they
|
||
can be. The options become limitless and the usefulness becomes
|
||
undeniable. Here’s another example: import re</p>
|
||
<pre class="literal-block">
|
||
string0 = '10.03.1988'
|
||
regExp = r'^\d\d[./]\d\d[./]\d\d\d\d?$'
|
||
|
||
if re.match(regExp, string0):
|
||
print 'True'
|
||
else:
|
||
print 'False/
|
||
</pre>
|
||
<p>When run, this script prints out “True”. If we were to change
|
||
string0 to ‘10.03.88’, it would print “False”. Simple, isn’t it?
|
||
Now, while a True/False return could be useful in certain
|
||
applications (i.e. form validation), most of the time, we’re going
|
||
to want to have a bit more information in order for our checks to
|
||
be useful. We can tell Python to show us the data that matches our
|
||
query. To do this, we’re going to have to break our expression up
|
||
into different groups. In the date we have defined, there are three
|
||
obvious groups we could separate this into: the day, month, and
|
||
year. While defining a Regular Expression, you can use parentheses
|
||
‘()’ to define groups: regExp = r’^()././$’</p>
|
||
<p>This separates our expression into 3 separate groups. Python also
|
||
supports turning a Regular Expression string into an
|
||
heavily-supported object with the re.compile() function. Once you
|
||
define a string as a Regular Expression object, you can use the
|
||
built in methods to preform powerful parsing. Now we can ask python
|
||
what is in those groups: import restring0 = ‘10.03.1988’ regExp =
|
||
re.compile(‘^()././$’) regExpMatches = regExp.match(string0)</p>
|
||
<pre class="literal-block">
|
||
if re.match(regExp, string0):
|
||
print(“Day: %s\nMonth: %s\nYear: %s” % (regExpMatches.group(1), \
|
||
regExpMatches.group(2), regExpMatches.group(3)))
|
||
else:
|
||
print(“Invalid Date.”)
|
||
</pre>
|
||
<p>When executed, this script parses through our validated date,
|
||
breaks it down into groups, and prints the following: &gt; Day: 10 &gt;
|
||
Month: 03 &gt; Year: 1988</p>
|
||
<p>The possibilities are limitless! Here’s a quick run-down of the re
|
||
module’s functions, strait from the Python documentation for
|
||
reference: match: Match a regular expression pattern to the
|
||
beginning of a string. search: Search a string for the presence of
|
||
a pattern. sub: Substitute occurrences of a pattern found in a
|
||
string subn: Same as sub, but also return the number of
|
||
substitutions made. split: Split a string by the occurrences of a
|
||
pattern. findall: Find all occurrences of a pattern in a string.
|
||
compile: Compile a pattern into a RegexObject. purge: Clear the
|
||
regular expression cache. escape: Backslash all non-alphanumerics
|
||
in a string.</p>
|
||
<p>Remember, you can always type help(re) (after importing the re
|
||
module) into the Python interpret to take a quick look at the
|
||
module’s built-in documentation. Good luck and happy coding!</p>
|
||
</summary></entry><entry><title>How to Run Microsoft Office 2007 in Ubuntu Linux 8.10</title><link href="http://kennethreitz.com/blog//how-to-run-microsoft-office-2007-in-ubuntu-linux-810.html" rel="alternate"></link><updated>2009-03-16T19:12:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-03-16:/blog//how-to-run-microsoft-office-2007-in-ubuntu-linux-810.html/</id><summary type="html"><p><img alt="ms-office-2007" src="http://www.programmerfish.com/wp-content/uploads/2009/03/msoffice2007.gif" /> Wouldn't it be lovely to have a nice, clean
|
||
installation of Microsoft's Office 2007 Suite to run on your Ubuntu
|
||
Linux Distribution? For some people, this is the only thing that
|
||
truly holds them back from an all-Linux environment... But not
|
||
anymore! We have compiled a nice, concise set of instructions to
|
||
help guide you along. ### Install Wine:</p>
|
||
<p>WINE (<strong>W**ine **I**s **N**ot an **E**mulator) is an application
|
||
layer for Linux that interprets the Windows API and DLLs into
|
||
native Linux commands. This allows for programs made for Windows to
|
||
be run in Linux! In order to run Office 2007, Wine 1.1.9 (or newer)
|
||
is **required.</strong> It is currently in a development release. If you
|
||
don’t have it installed already (this is very likely), go ahead and
|
||
type the following commands, which will set it up for you: wget -q
|
||
<a class="reference external" href="http://wine.budgetdedicated.com/apt/387EE263.gpg">http://wine.budgetdedicated.com/apt/387EE263.gpg</a> -O- | sudo
|
||
apt-key add -</p>
|
||
<pre class="literal-block">
|
||
sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/intrepid.list -O /etc/apt/sources.list.d/winehq.list
|
||
|
||
sudo apt-get update
|
||
|
||
sudo apt-get install wine cabextract
|
||
</pre>
|
||
<p><strong>NOTE</strong>:
|
||
<em>On non-Debian based systems, this will not work. Please refer to</em>
|
||
<a class="reference external" href="http://www.winehq.org/site/download-deb">*this site*</a>
|
||
<em>for installation instructions.</em> You should now have an
|
||
installation of Wine 1.1.9 installed on your system. To confirm the
|
||
version of Wine installed, type the following: wine --version</p>
|
||
<div class="section" id="install-winetricks">
|
||
<h2>Install winetricks:</h2>
|
||
<p><a class="reference external" href="http://www.kegel.com/wine/winetricks">Winetricks</a> is a small SH
|
||
script which will go on the internet and automatically fetch and
|
||
install Microsoft DLLs and Libraries into Wine with almost no
|
||
hassle at all! To download it directly, type the following
|
||
commands: wget <a class="reference external" href="http://www.kegel.com/wine/winetricks">http://www.kegel.com/wine/winetricks</a></p>
|
||
<pre class="literal-block">
|
||
chmod +x ./winetricks
|
||
</pre>
|
||
</div>
|
||
<div class="section" id="utilize-winetricks">
|
||
<h2>Utilize winetricks:</h2>
|
||
<p>This will setup all necessary libraries and DLLs that Office 2007
|
||
will need to run properly: ./winetricks gdiplus riched20 riched30
|
||
msxml3 msxml4 msxml6 corefonts tahoma vb6run vcrun6 msi2</p>
|
||
<p>Please be patient while the downloads complete. This script is
|
||
working hard and is saving hours of your time. ### Insert Office
|
||
2007 Disk and Run Setup!</p>
|
||
<p>Now that we have all of the DLLs necessary to run the Installer,
|
||
let us do so! wine pathToCD/setup.exe</p>
|
||
<p>From here on out, you should be good to go! The installer should
|
||
run and install everything just as if it was a Windows system! If
|
||
you have any problems, ask, and we'll try to help you out as much
|
||
as possible! UPDATE: Lost your CD?
|
||
<a class="reference external" href="http://www.programmerfish.com/free-direct-download-microsoft-office-2007">Download the installer</a>
|
||
for free!</p>
|
||
</div>
|
||
</summary></entry><entry><title>Recession: A University Perspective</title><link href="http://kennethreitz.com/blog//recession-a-university-perspective.html" rel="alternate"></link><updated>2009-02-26T06:12:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-02-26:/blog//recession-a-university-perspective.html/</id><summary type="html"><p>Newest update on the recession:</p>
|
||
<blockquote>
|
||
<p>To the George Mason University Community:</p>
|
||
<p>For over a year now the global financial situation has steadily
|
||
worsened, and many aspects of life have become more difficult for
|
||
many Americans. There is little evidence that the world or national
|
||
economies are rebounding or showing signs of an imminent recovery.</p>
|
||
<p>We share the hope that was so profoundly expressed by President
|
||
Obama during his inaugural speech of a better day in the months and
|
||
years ahead, and his resolve to view this financial situation as an
|
||
opportunity for improvement. How long the economic crisis will
|
||
persist is unknown to any of us. The road ahead will not be easy,
|
||
but if we keep our focus and reaffirm our commitment to protect the
|
||
core, we will endure and be well positioned when the economy
|
||
rebounds.</p>
|
||
<p>Our institutional vital signs are stronger than ever as we have
|
||
assembled a teaching and research faculty who continuously advance
|
||
the reputation of the institution. We have achieved national
|
||
recognition for our teaching excellence, as well as several
|
||
breakthrough discoveries in various areas of research. The number
|
||
of student applications is higher than ever, and the quality of
|
||
incoming undergraduate, transfer, and graduate students is superior
|
||
to any previous year. Our retention rate and graduation rate are at
|
||
all-time highs. We award more degrees annually than any other
|
||
college or university in the Commonwealth of Virginia, and our
|
||
alumni are increasingly being tapped as highly respected regional,
|
||
national, and international leaders. National publications have
|
||
acknowledged our institutional advancement and our outstanding
|
||
value to our students. These rankings and accomplishments are a
|
||
direct reflection of the effort and commitment made by you.</p>
|
||
<p>As we are currently expending approximately $250 million per year
|
||
on new construction and improvements, we are not only changing the
|
||
face of our campuses but serving as a major contributor to the
|
||
Northern Virginia economy at a time when so many other economic
|
||
drivers are either stagnant or declining. By any measurement, we
|
||
are highly efficient and effective in how we manage the university,
|
||
and this is true of both our academic administration and our
|
||
support services. However, as state support declines and day-to-day
|
||
responsibilities increase, certainly you must question how we can
|
||
possibly do more. Yet we know we must. We must continue to find
|
||
ways to work smarter and more effectively.</p>
|
||
<p>The provost and senior vice president have held informational
|
||
sessions to explain our budget reduction strategies as we have
|
||
absorbed a 5 percent General Fund reduction in FY 2008; another 7
|
||
percent budget reduction in FY 2009 with the high probability of a
|
||
deeper cut in state support next year (FY 2010). As you probably
|
||
know, the governor recommended another 8 percent General Fund
|
||
reduction for FY 2010. Operating plans for FY 2010 are currently
|
||
being developed which will provide us with the necessary
|
||
information to make the wisest possible resource allocation
|
||
decision.</p>
|
||
<p>As the state continues to struggle financially, we must focus our
|
||
efforts on keeping higher education accessible to new and returning
|
||
students. This will be a monumental task as we brace ourselves for
|
||
what will most likely be a substantial reduction in state support
|
||
this coming year. Therefore, I have decided to establish an Adverse
|
||
Economy Assistance Fund to assist students whose family’s economic
|
||
situation has been dramatically weakened by job loss or other
|
||
catastrophic incidents as a result of the economic crisis.
|
||
Established at $150,000 and to be used by the Office of Financial
|
||
Aid in conjunction with other available assistance to help
|
||
students, this fund will hopefully make the difference between
|
||
either continuing their studies or withdrawing from George Mason
|
||
University for many students.</p>
|
||
<p>The university’s endowment performance for the past year, though
|
||
experiencing a double-digit decline, achieved a top quartile peer
|
||
ranking. A priority for Mason is to continue to build on the
|
||
success of the recently completed capital campaign that raised more
|
||
than $140 million for George Mason University. In 2008 we raised
|
||
more dollars, gifts, and pledges than ever in the history of Mason.
|
||
We are enormously grateful to the thousands of Mason supporters who
|
||
continue to invest in the future of this great institution. Your
|
||
support is more important than ever.</p>
|
||
<p>Our university culture is marked by a commitment to improvement, a
|
||
relentless search for best practices, and a quest for excellence.
|
||
We know that only through the alignment of a shared vision and a
|
||
university spirit that embraces diversity and civility can we
|
||
advance those actions that will strengthen the core values of this
|
||
great university. There is no easy answer to maintaining
|
||
institutional momentum during difficult financial times, but being
|
||
resilient and optimistic is the foundation of our plan.</p>
|
||
<p>Our strength is our people. Several university community members
|
||
have already made significant contributions by volunteering to
|
||
accept salary reductions, deferring compensation package increases,
|
||
individually absorbing costs that otherwise would be eligible for
|
||
state reimbursement, and contributing larger amounts of
|
||
unrestricted donations to the George Mason University Foundation. A
|
||
different person seems to step up every day to lead us on this
|
||
journey. That is what makes George Mason University so special.</p>
|
||
<p>We will emerge a better university after these turbulent times
|
||
because each of you believes that you can make a difference at
|
||
Mason—and you can—and you do. Although challenged by these
|
||
financial constraints, we will rally together to build an
|
||
institution that will withstand today’s economic downturn and be
|
||
prepared to meet any future challenges. It is our responsibility,
|
||
our opportunity, to take advantage of this economic downturn and do
|
||
whatever we can to lift tomorrow’s leaders onto our shoulders so
|
||
they may view a horizon that inspires hope and promise and the
|
||
opportunity to fulfill their dreams of a better tomorrow. We in
|
||
higher education hold the key to their success. Together we can do
|
||
this! We are Mason.</p>
|
||
<p>Alan G. Merten</p>
|
||
</blockquote>
|
||
</summary></entry><entry><title>To Someone Special...</title><link href="http://kennethreitz.com/blog//to-someone-special.html" rel="alternate"></link><updated>2009-02-14T06:13:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-02-14:/blog//to-someone-special.html/</id><summary type="html"><p>While I doubt that you'll never read this... I can't help but
|
||
imagine that one day you might. I know that blogging isn't your
|
||
thing, and you could probally care less about my website - it's
|
||
just something that takes me away from you at times.</p>
|
||
<p>But perhaps one day these things will mean something to you... And
|
||
when that one day comes, I hope to put a smile on your face.</p>
|
||
<p>You mean more to me than anything on this earth, Bessie. We're
|
||
supposed to meet around 1pm today. I can't wait! It's going to be
|
||
wonderful.</p>
|
||
<p>I love you with all of my heart, and will cherish you forever.</p>
|
||
<p>Sincerely Yours,</p>
|
||
<p>Kenneth Reitz</p>
|
||
</summary></entry><entry><title>Mint.com: Money Management 2.0</title><link href="http://kennethreitz.com/blog//mintcom-money-management-20.html" rel="alternate"></link><updated>2009-01-30T12:42:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2009-01-30:/blog//mintcom-money-management-20.html/</id><summary type="html"><p>There are a few things in life that I am naturally not good at.
|
||
Some people fail at communication skills, while others
|
||
<a class="reference external" href="http://jwhsband.tripod.com/">get angry and lash out at others for no reason</a>.
|
||
I, however, like to spend all of my money. ALL of it. Every
|
||
paycheck.</p>
|
||
<p>But thanks to this lovely website, that is going to stop now:
|
||
<a class="reference external" href="http://www.mint.com">mint.com</a>.</p>
|
||
<p>Mint is an online budgeting and expense tracking system, which
|
||
links to your bank account, credit cards, investments, and loan
|
||
agencies. It's truly amazing what a little web 2.0 site like that
|
||
can do to change things around for you. I'm now saving my money and
|
||
actually following a budget! Whenever I go over budget in a certain
|
||
category, Mint notifies me immediately (via text message or email)
|
||
of the indescrepency. And best of all, It shows me a pretty
|
||
flow-chart of what I spend all my money on! Data presentation is
|
||
such a powerful tool.</p>
|
||
<p>I spend $53 a month on McDonalds? I had no idea!</p>
|
||
<p>So, come on! Go to <a class="reference external" href="http://www.mint.com">Mint.com</a>! Give it a
|
||
try! You might save a few bucks (or, like me, a few pounds!).</p>
|
||
</summary></entry><entry><title>Twitter Authority? Number of Followers vs. ReTweets</title><link href="http://kennethreitz.com/blog//twitter-authority-number-of-followers-vs-retweets.html" rel="alternate"></link><updated>2008-12-30T00:51:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2008-12-30:/blog//twitter-authority-number-of-followers-vs-retweets.html/</id><summary type="html"><p><a class="reference external" href="http://twitter.com">Twitter</a> is by far the market leader of the
|
||
so-called &quot;micro-blogging&quot; scene. Is this a bad thing? A number
|
||
people think that
|
||
<a class="reference external" href="http://www.neuro-vision.us/ad/Article/How-Twitter-is-Destroying-Your-Mind/4970">Twitter is destroying us</a>.
|
||
Others seem to find it to be a wonderful
|
||
<a class="reference external" href="http://www.ehow.com/how_2263342_market-business-twitter.html">marketplace</a>
|
||
and even a source for
|
||
<a class="reference external" href="http://www.whatsyourtweetworth.com/">revenue</a>, if allowed. In
|
||
order for any of these things to come to realization though,
|
||
Twitter must make some serious decisions. And fast. The initial
|
||
idea is to value a twitterer's rank based upon the number of
|
||
followers a user has. This seems like a good, strong idea for a
|
||
while, but when you look a little deeper under the skin, it's
|
||
apparent that this is not a good system. Most users send an update
|
||
every so often about themselves, their lives, and their homes. What
|
||
worth is that? Yes, a message would be delivered to a larger number
|
||
of people, but the relevancy of the people being reached would be
|
||
very low. However, if one was to write a quality tweet that is
|
||
<a class="reference external" href="http://www.techcrunch.com/2008/12/29/its-not-how-many-followers-you-have-that-counts-its-how-many-times-you-get-retweeted/">re-tweeted over and over again</a>,
|
||
that user will reach an even larger group of people, either
|
||
directly or in-directly, and the relevancy of the users reached
|
||
would be much, much greater. The more people who reTweet what you
|
||
have to say not only reach more users than meaningless-tweeters,
|
||
but the people who would take the time to listen to what you have
|
||
to say would be immensely more common. More relevant readers mean
|
||
more clicks, which mean more visits to linked sites, which means
|
||
more revenue for a company and even more potential customers. What
|
||
do you think?</p>
|
||
</summary></entry><entry><title>Pownce: Shut Down December 15!</title><link href="http://kennethreitz.com/blog//pownce-shut-down-december-15.html" rel="alternate"></link><updated>2008-11-30T06:14:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2008-11-30:/blog//pownce-shut-down-december-15.html/</id><summary type="html"><p>Chances are, this news will either have you screaming at the top of
|
||
your lungs or making you shake your head saying &quot;Wah&quot;? And to the
|
||
Web 2.0 world/micro-blogosphere, shame on you. #Shame! This is a
|
||
wonderful internet startup that was built on a framework framework
|
||
and has more features than you can shake a stick at, yet still you
|
||
use Twitter.</p>
|
||
</summary></entry><entry><title>A New Spin to Software Platform Design</title><link href="http://kennethreitz.com/blog//a-new-spin-to-software-platform-design.html" rel="alternate"></link><updated>2008-11-11T19:31:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2008-11-11:/blog//a-new-spin-to-software-platform-design.html/</id><summary type="html"><p>*I wrote this article two years ago, before I found OS X. I wish I
|
||
would have known then.* As I've said before, I find many reasons
|
||
to believe that modern commercialized software platforms are
|
||
severely lacking in many, many areas. This should not come as a
|
||
surprise to anyone. Perhaps basic utility-inclusion is not the only
|
||
solution though. Perhaps the basic priority structure and ethics
|
||
that development and marketing teams utilize should be forced into
|
||
question.</p>
|
||
<p>Essentially, most major computer software corporations, are, all in
|
||
all, trying to make money. No matter how hard you try to find a way
|
||
around this, or justify why these companies try to do the things
|
||
that they do, the only answer is money. These companies are simply
|
||
trying to make a quick buck. This concept has worked incredibly
|
||
well for years, but we seem to have a bit of a problem with
|
||
foresight. After a while, people get rather bored with the same old
|
||
concepts being presented to them in new and exciting ways. This is
|
||
why Microsoft needs to release a new operating system every once in
|
||
a while. Microsoft's current problem is that the masses are
|
||
beginning to realize their other options.</p>
|
||
<p><strong>So here's my proposal for the long-term design and marketing strategy 2.0:</strong></p>
|
||
<p>An operating system should first be a place of power, consistency,
|
||
stability, scalability, and flexibility. Included would be a robust
|
||
and fully scriptable toolset which can be manipulated and presented
|
||
both graphically and statistically.</p>
|
||
<p>Second, the user interface should be very well thought out and
|
||
planned, with ample room for improvement down the road. Its purpose
|
||
should first be a place of usability, workflow, and creativity.
|
||
Task-related workflow and presentation customization, accessible to
|
||
all types of users, is crucial to the success of the UI. Second,
|
||
the User Interface should be a mode of personal expression and
|
||
aesthetic preference. This should never take precedence over the
|
||
overall stability, usability, or general usefulness of a desktop
|
||
system, for any given reason.</p>
|
||
<p>Lastly, the user application platform system needs to be designed.
|
||
A centralized repository of applications is an incredibly efficient
|
||
method for application distribution. This repository would be a
|
||
dynamic, centralized database of application software and packages
|
||
that are intended for different groups of people. Most major Linux
|
||
distributions use this heavily, as well as Apple for it's iPod and
|
||
iPhone applications, and it has been proven to work well.</p>
|
||
<p>Any of these rules should have the ability to be broken easily by
|
||
advanced power users for technical reasons/needs. This should be in
|
||
no way advertised or demonstrated.</p>
|
||
<p>Anyone up for the challenge?</p>
|
||
</summary></entry><entry><title>The FBI Releases Code Challenge to Hackers</title><link href="http://kennethreitz.com/blog//the-fbi-releases-code-challenge-to-hackers.html" rel="alternate"></link><updated>2008-11-11T06:13:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,2008-11-11:/blog//the-fbi-releases-code-challenge-to-hackers.html/</id><summary type="html"><p>The Federal Bureau of Investigation, that's right, the FBI, has
|
||
just released a
|
||
<a class="reference external" href="%20http://www.networkworld.com/community/node/36704">Code Challenge</a>
|
||
for hackers around the world! Here are the details:</p>
|
||
<blockquote>
|
||
A relatively basic form of substitution cipher is the Caesar
|
||
Cipher, named for its Roman origins. The Caesar Cipher involves
|
||
writing two alphabets, one above the other. The lower alphabet is
|
||
shifted by one or more characters to the right or left and is used
|
||
as the cipher text to represent the plain text letter in the
|
||
alphabet above it.</blockquote>
|
||
<p>Plain Text</p>
|
||
<blockquote>
|
||
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z</blockquote>
|
||
<p>Cipher Text</p>
|
||
<blockquote>
|
||
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A</blockquote>
|
||
<p>In this example, the plain text K is enciphered with the cipher
|
||
text L. The phrase 'Lucky Dog' would be enciphered as follows:</p>
|
||
<p>Plain Text: L U C K Y D O G</p>
|
||
<p>Cipher Text: M V D L Z E P H</p>
|
||
<p>Ciphers can be made more secure by using a keyword to scramble one
|
||
of the alphabets. Keywords can be placed in the plain text, the
|
||
cipher text, or both, and any word can be used as a key if repeated
|
||
letters are dropped. Here the word SECRETLY (minus the second E) is
|
||
used as the plain text keyword.</p>
|
||
<p>Plain Text</p>
|
||
<p>S E C R T L Y A B D F G H I J K M N O P Q U V W X Z</p>
|
||
<p>Cipher Text</p>
|
||
<p>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z</p>
|
||
<p>The FBI of course doesn't always invite folks to break code on its
|
||
site. In fact last spring a consultant managed to access the
|
||
bureau's National Crime Information Center database.</p>
|
||
<p>Is this a ploy to get the hacker community back to its roots? Most
|
||
certainly we seem to loose touch to what this is all about. Or
|
||
perhaps just an elaborate way to recruit future employees due to
|
||
the inability to advertise for positions?</p>
|
||
<p>What do you think?</p>
|
||
</summary></entry><entry><title>Auto Draft</title><link href="http://kennethreitz.com/blog//auto-draft.html" rel="alternate"></link><updated>1970-01-01T00:00:00Z</updated><author><name>Kenneth Reitz</name></author><id>tag:kennethreitz.com,1970-01-01:/blog//auto-draft.html/</id><summary type="html"></summary></entry></feed> |