What is the goal of facebook?

This guy seems to have captured what I thought I’d been seeing over the past couple of months on facebook. It is not surprising as many pundits predicted issues for facebook users when it went public due to profit pressures.

According to the Facebook website, you also have a goal, and it is “to give people the power to share and make the world more open and connected”

As an advertising tool, Facebook will still connect millions around the world, but only as a consequence of a different goal and guiding principle. A goal to monetize its user-base by managing, controlling and limiting the way people share and connect. The exact opposite of its stated mission.

Full post here: http://www.bewareofimages.com/blog/2012/11/open-letter-to-mark-zuckerberg/#more-200

While I love the micropublishing, aggregation and discovery capabilities of what facebook can offer, the way they choose to filter and limit is becoming unpleasant to me as a “consumer” and “producer”. I recently paid $7 for promoting a post for my wife’s recently opened etsy shop and it certainly seems like the rest of my posts suddenly got a lot less views. Or at least less feedback. It is also possible that I’m just not posting interesting things too. I don’t mind paying to get people who aren’t my “friends” to see my posts. That’s advertising and is reasonable. But paying to show my posts to people who are my “friends” feels like extortion of the data we gave to facebook.

Anyway, enough complaining. If facebook isn’t a good place to form and build networks of friends, we can always go back to email, or RSS readers and private blogs. That certainly wouldn’t be the end of the world. I guess we could all try google+, but that might be a bit extreme ;-)

Comments on document scanner

A question came up from somebody interested in document scanners, so I thought it might be good to write it up real quick and post it as well…

I’ve got a Fujitsu ScanSnap 510m http://www.fujitsu.com/us/services/computing/peripherals/scanners/scansnap/s510m.html that I bought over 3 years ago and it’s been really great. I do a scan to PDF+OCR so that they are searchable. Each document (may be multiple sheets) is a single file in a big folder and then I use Spotlight (file search on OSX) to find what I need. I very rarely need to find things, but when I do, it has worked fine. I do keep my tax documents unscanned and in a “tax” folder until I do my taxes and then scan all of them as a group, but that’s just my tax workflow.

Specific questions:

– You can just throw 50 sheets in (I’ve done 100+) but if it’s a group, it will store them as a group, not individual documents. If the sheets are irregular in size that can be an issue and need a little intervention to stabilize them going in.

– I’ve got 3+ years on mine and it’s still working fine. I’ve certainly pushed thousands of pages through each year with a minimal failure rate.

– In my case, it’s just a folder of PDFs, so it backs up like anything else. I happen to use Time Machine cause I’m on a Mac with both an onsite and an offsite disk, but any other backup would be fine.

While a document scanner is fairly expensive (I paid $400). It’s been worth it in terms of the time and effort savings. The real key feature is scanning both sides at once. Other solutions are just too slow to provide good ROI. I just scan stuff and shred it. I got rid of my 4-drawer filing cabinet over 2 years ago, so I’ve got more space and I don’t stress about where to file things, they all go in a big folder and search enables me to find anything I’ve needed.

ifttt and wordpress

http://ifttt.com is a very clever site that basically allows high level event-based scripting between web sites. I’ve known about it for a long time, but didn’t really have a lot of use for it until now that I’ve got a WordPress site up and running. It’s nifty in that I can now cross-post automatically between WordPress and Facebook. I’ve got two recipes, one to post to FB when I do a post on WordPress and one to copy my photo posts from FB to WordPress.

Importing txt to WordPress

After getting basic wordpress set up, I figured that I should populate it with whatever stuff I had around from previous plan/blog/etc stuff. I had a pretty big set of note-like material in text with either a light wiki or restructured text markup, so I figured that importing them would be good to give the site some real content. There’s some good stuff, and some lame stuff too.

After some quick poking around, the simplest solution appeared to be to export the site using it’s export to xml feature and use that as a template to reformat my text files into for reimport. Turns out it was pretty easy to get working. The code is pretty ugly and relies on the docutils package: http://docutils.sourceforge.net/

I just need the basic restructured text to html conversion, which this person was nice enough to document: http://stackoverflow.com/questions/6654519/python-parsing-restructuredtext-into-html There are a few additional issues, mostly removal of css elements to make it play nice, but some quick regexps clean those up.

It appears to have basically worked and spot checks of various entries show that the conversion appears to have resulted in mostly-readable text, so I’m happy.

The code is below, I did not code it using Test Driven Development style since I intend to only use it once, so it’s a little ugly…

from docutils.core import publish_parts
import re, glob

def format_file(post_id, filename):


    title = "notes-"+str(post_id)
    date = ""
    year = 0
    month = 0
    month_string = ""
    day_of_week = "Sat"
    text = ""
    html = ""
    site_url = "http://www.3cats.us/blog"

    match=re.search('(?P<year>\d+)\s+(?P<month_string>\w+)\s+(?P<day>\d+)', filename)
        year = int(match.groupdict()['year'])
        month_string = match.groupdict()['month_string']
        month = {'January':1,'February':2,'March':3,'April':4,'May':5,'June':6,'July':7,'August':8,'September':9,'October':10,'November':11,'December':12}[month_string]
        day = int(match.groupdict()['day'])

    match=re.search('\s\-\s+(.*)\.[tT][xX][tT]', filename)
        title = match.groups(0)[0]

    title_no_whitespace = re.sub('\s+', '-', title)

    text = ''.join(fh.readlines())
    html = publish_parts(text,writer_name='html')['html_body']
    striped_html = re.sub('class=".*?"','',str(html))
    striped_html = re.sub('<\/?div.*?>', '', striped_html)

    return """<item>
    <pubDate>%(day_of_week)s, %(day)2.2d %(month_string)s %(year)d 00:00:00 +0000</pubDate>
    <guid isPermaLink="false">%(site_url)s/?p=%(post_id)d</guid> <description/>
    <wp:post_date>%(year)d-%(month)2.2d-%(day)2.2d 00:00:00</wp:post_date>
    <wp:post_date_gmt>%(year)d-%(month)2.2d-%(day)2.2d 00:00:00</wp:post_date_gmt>
    <category nicename="uncategorized" domain="category">
"""% vars()

if __name__ == '__main__':

<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="WordPress/3.4.2" created="2012-10-04 17:36" -->
<rss xmlns:wp="http://wordpress.org/export/1.2/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/" version="2.0"> -<channel> <title>3Cats.us</title> <link>http://www.3cats.us/blog</link> <description>4 Kids, 3 Cats, 2 Parents, 1 God</description> <pubDate>Thu, 04 Oct 2012 17:36:15 +0000</pubDate> <language>en-US</language> <wp:wxr_version>1.2</wp:wxr_version> <wp:base_site_url>http://www.3cats.us/blog</wp:base_site_url> <wp:base_blog_url>http://www.3cats.us/blog</wp:base_blog_url> -<wp:author><wp:author_id>1</wp:author_id><wp:author_login>admin</wp:author_login><wp:author_email>mikem@3cats.us</wp:author_email>-<wp:author_display_name>
</wp:author_last_name></wp:author> <wp:author><wp:author_id>2</wp:author_id><wp:author_login>Mike</wp:author_login><wp:author_email>mike@3cats.us</wp:author_email><wp:author_display_name>
</wp:author_last_name></wp:author> <generator>http://wordpress.org/?v=3.4.2</generator>

    files = glob.glob('./Log/*')
    for file in files:
</channel> </rss>

Cultivating Focus

A couple of things have been going on that are causing me to think about discipline and focus. There’s this really great article on cultivating focus: http://www.aholyexperience.com/2012/09/how-to-cultivate-the-habit-of-focus-in-an-age-of-distraction/ Also, I’ve been working on some unusual and “outside of the box” issues at work that have been particularly challenging and I recently pulled down a little app called “Tiny Tower” in addition to switching to google reader for a lot of web browsing stuff.

Basically, I realized that I’ve been allowing little distractions to creep in and steal my time and attention instead of dealing with the hard issues head on. I’ve listened to way too much of Merlin Mann’s stuff http://www.merlinmann.com/ to not be aware that I’m doing this stuff. Unfortunately, getting out of this mode is really hard.


Things to go do right now:

  • Delete Tiny Tower. This has got to be one of the worst examples of a game that is designed to consume your attention and your time. The game is set up so that you can give them money for the in-game resources that you can otherwise only get by giving it time and attention. It is in the category of “virtual pet” games which all have the same basic tradeoff.
  • Get inboxes to zero. The real difficulity I’m having with this is that I don’t trust my todo lists right now. So I have to go back to classic David Allen http://www.davidco.com/ and get trust back in my system so that I can get my inboxes to zero. This is tricky.
  • Close google reader. This is not a fix-all. The real underlying issue is that I’m polling “inboxes” to find the latest interesting nugget, which isn’t a good use of my time and attention. I need to stay focused on larger, difficult tasks.

Longer term:

  • Need to construct some ceremony in the day/week to reenforce important, but not urgent tasks like a weekly review, spending time in the Bible, other relational activites, reading and writing longer form materials and thinking about them.
  • Particularly at home, I need to not be as driven by urgent issues. Part of this is getting over the push of the urgent things to get at the source of urgent things and getting things clear enought to be able to easily respond to new needs. Check out Proverbs 15:19 “The way of a sluggard is like an hedge of thorns, but the path of the upright is a level highway.” By doing the work to keep things, clean, organized and uncluttered, it is much easier to respond to needs. Around the house, we’ve got a lot of this “technical debt” http://en.wikipedia.org/wiki/Technical_debt that needs to be paid down.

Hello world!

First post…

I’ve been looking around at lots of different options for website creation and hosting. I’m very curmudgeonly about putting all my content on places that I don’t pay for under the “if you aren’t paying for it, you are the product” concept, as well as being paranoid about not being able to extract the content later for future transitions.

Anyway, after creating family websites with handcoded HTML, Gallery 1 and  2 and iWeb, I’m giving WordPress a shot. The real key is being able to very quickly get content up on the web with a minimal amount of effort and long-term overhead.

Retail Real Estate

I’m certainly not an expert on retail real estate, but I suspect that there are some fairly obvious trends. The nearly complete collapse of Video/DVD rental stores is probably the largest example. Borders folding nearly all their stores recently is another. Clearly there needs to be a rethinking of how space is used and what value the retailers are bringing to the customer. I’m not sure I see the same point that Stephen Gordon sees for educational instituations, but certainly the longer term visions seems plausible given current trends. But things change, people and instituations adapt to those changes and maybe something even better will emerge.


Inventing on Principle

Inventing on Principle – Bret Victor
Video: http://vimeo.com/36579366
Victor’s website: http://worrydream.com

Inventors need an immediate connection to what they are creating. They need a feedback loop. Agile guys know this really well. Very clever visulization tools.

Makes me think about how abstract and latency heavily our work currently is and how we really could use better feedback…

His example on binary search is interesting, but I prefer TDD for the ‘instant feedback’ because it creates useful artifacts that can be kept. I’m also concerned that any problem of magnitude might not have a reasonable visual representation.

To some degree active annotation in debussy has some of these kind of capacity, but not much. And the problems of magnitude require simulations that are too extensive to simulate in realtime.

It seems really good, but for only for things that are well understood and easily modelable at high speeds.

Visulization: Show data, show comparisons.

Larry Tesler – remove modes from software – "no person shoudl be traped in a mode" (xerox park in 1970s) he created click and drag, cut and paste, etc.
Doug Engelbart – interactive computer usage
Alan Kay – amplify human reach – Graphical UI, OOP
Richard Stallman – software must be free as in freedom – GNU

You need a specific insight to use as a principle. Make SW simpler isn’t enough. "get rid of modes" is enough. "Can you immedately see the effects of what you did" is enough.

Driving Technical Change

Chapter 5:
I agree that cynics are trying to make themselves look good and that they are rewarded for that behavior. But the solution space doesn’t seem terribly helpful. Maybe I need a better example of how to position a solution as "the smart solution" in a way that makes it a non-target for the cynic.

Page 39 in the sidebar:
"But be aware that the Crazies are out there, and out there." – an interesting play on words, but unnecessairly hard to read.

Page 43 second paragraph:
I’m not so sure that custom solutions really "have success built into them". I’ve seen plenty of custom solutions fail miserably and be replaced with off-the-shelf "good enough" solutions. And it it should be clear that "premium product" equals high costs.

Tony Robbins 2006 TED presentation

Tony Robbins

How do you turn vision into reality

Art of fulfillment (appreication and contribution)

Emotion is the most powerful resource and determines the rest of your resources
* what are you going to focus on
* what does it mean, what are you feeling about it.
* what are you going to do about it

6 Human Needs:
* Certantity/security
* Uncertanity/Variety
* Significance
* Connection and Love
* Grow
* Contribute beyond ourselves

We all need all 6, but some people value some more than others, and people do whatever they need to to satisfy those needs.