About Craig Webb


Come through the front door

There is a phrase you may have heard, “Close your back doors”. It relates to a parable about commitment versus addiction.

The story goes something like this: A man is on his couch drinking beers and watching the football game when a knock comes on the front door. The man peeks through the curtain and sees some cops outside, plus a firetruck, a T.V. and news truck. Some nosey neighbors are starting to assemble.

Out The Back Door

“Oh Jeezuss!” the man cries, and he knocks over the coffee table, runs into the kitchen, through the back door, out the back yard, jumps over the fence and runs down the alley. Presently he finds himself on a bar stool in Tijuana Mexico and he wonders how he got there.

In the second scenario the man knocks over the coffee table, runs through the kitchen, opens the back door and stops. He hesitates for a moment and then he quietly closes the back door. He turns and walks back to the front door. He turns the knob, opens the front door and steps out to face the light of day.

Coming through the front door is a metaphor for facing tough realities squarely, overcoming fear and not running away. It is about taking responsibility and taking a risk to live in integrity. Have you ever faced a tough challenge and “come through the front door”? Write and tell us about it.

Craig Webb
Originally published October 31st, 2017 in Motomomen.com

Rootscamp 2013 – fieldworkers, strategists and the urgency of progressive organizing

12/16/13 @cwebba1

I just returned from the Rootscamp 2013 Conference, hosted by New Organizing Institute (NOI) in Washington DC. Rootscamp is a conference for progressive organizers held every year in the post-election / pre-inauguration season. This is my second year attending.

I saw the Rootscamp review posted by Slate so I thought I would post my own. Slate has argued that Rootscamp ignored the Affordable Care Act as both an issue to address and as an achievement. I disagree and I think that Slate misses the point. Rootscamp isn’t about specific issues or about supporting the administration, although those things happen too. Rootscamp is about progressive organizing and the lessons and tactics learned by professionals in the field.

Rootscamp is about fieldworkers and the strategists who love them. A non-fieldworker can feel like an outsider in a cloistered society. Everyone seems to know everyone else from previous battles. I volunteered and helped to work the registration table and monitor a few sessions. As a volunteer, I had a great opportunity to meet people and get to see the NOI staff in action.

Rootscamp is run as a “un-conference” where session subjects are offered and produced by attendees. Each Rootscamp conference is a mashup of funk, new voices and sophisticated strategic planning.

As a technology specialist, I attended some sessions about technologies for organizers. Fieldworkers are big on programs to sort data, parse email lists and APIs. One session went over various technologies available for organizers. Some were specialized web apps, but GoogleDocs was mentioned as a valuable resource as well. Attendees were encouraged to contribute and I offered that everyone should explore Lanyrd.com.

Other sessions attracted me. Sessions like What we need to do now to win in 2014; another session was about creating defining stories to drive engagement; and another was about creative agit-prop tactics. With an interest in content development and story telling, these strategic subjects really got my juices going.

Two things about Slate’s argument about Obamacare: First, Slate’s article seemed to come with an agenda. Coming to #Roots13, I wondered if Valerie Jarrett would show up and get heckled again about global warming. I wondered as well what attendees think about the NSA spying scandal and the genocide in Syria. Valerie didn’t show and I did not hear about the NSA or Syria although with 16 sessions per hour I may have missed it. Rootscamp was not about my pre-conceived list of grievances.


Not Valerie Jarrett

The focus of the conference is organizing and the structure of conversation revolves accordingly. Maybe “Obamacare” did not specifically take focus because it is no longer an organizing issue.

Fieldworkers and organizers are focused on fresh battles. The Affordable Care Act as an organizing issue is now embodied by dozens of Planned Parenthood organizers. Obamacare as an issue has transformed into the clarion call for gun reform and the need to defend transgendered people.

Urgency has currency at Rootscamp. Progressive issues compete in the Rootscamp idea market to gain traction and support. Up-coming off-year elections are organizing battles worthy of focused attention.

Maybe Slate will write a second article that goes into depth about issues that were discussed at Rootscamp instead of a boorish diatribe about what was not discussed. #Justsaying.

My message to Google

Hi, I recently applied for a User Interface Design position at Google. Call me.
You really need help.

I just found a missed work opportunity buried in a “conversation”. Can I turn this format off? I want to see a new link in my email list whenever someone sends me an email, next in the linear time line, like other emails do.

Also, I suggest that you get out of China. They have major human rights violations. There is more to life than the almighty yen, you know.

Don’t forget to call me about the User Interface position. You had better do it quick.

The format for Google Gmail is hard to read.
The format for Google Gmail is hard to read.

Social Networking needs “Spam-within” filters

Like many people, I work with craigslist for work search as well as to advertise my services. Unfortunately, also like many people, I receive a lot of spam messages through the craigslist system. I do not want to block craigslist messages, but I do want an easy way to mark spammers, many of whom create accounts with big email hosts like gmail or hotmail, from within the craigslist message, so that they can be eliminated both from the craigslist community and from the gmail community. Administering this could be as simple as a “Spammer” button embedded within the craigslist email. Everyone would benefit from eliminating spammers, so I wonder why the large email hosts are not working with the craigslist team to implement this?

After that, include Twitter, LinkedIn and FaceBook “Spam-within” filters (there I named it) and viola – you’ve got it. As more and more business is conducted from within social networking sites, a method to mark and shut down spammers needs to be implemented. It is too blunt an instrument to block all of GMail or Yahoo! or HotMail (I’ve considered it), so this is an issue that all parties would do well to band together and implement.

Problems accessing FireFox Bookmarks User Data and a method for processing exported bookmark data for use in web pages or other external formats

By Craig Webb

This blog entry describes a series of experiments that I recently conducted. My objective is to export my FireFox bookmarks, clean up the HTML bookmarks file, and format it into a usable, straightforward XML format that looks like this:

Website name
Website URL
This is what this website is about
My XML Bookmark format
My XML Bookmark format

Exporting clean, usable bookmarks from FireFox turns out to be difficult. The exported HTML code is loaded with lots of extra tagged-code that is hard to remove and slows or stalls the program. Choking the file is tons of unwanted ICO junk; line upon line of MIME-formatted code that makes it nearly unreadable and impossible simply to open.

I believe that including ICO MIME code in a bookmark export is nothing less than sabotage by FireFox. Why would anyone want this code? I challenge software developers to develop software so that users HAVE UNFETTERED ACCESS TO THEIR DATA.

My Method:

To start, I have exported my FireFox bookmarks into HTML format. I open my HTML FireFox bookmarks file and examine the source code, which declares itself to be a !DOCTYPE NETSCAPE-Bookmark-file-1 file. It also says:

< ! This is an automatically generated file. It will be read and overwritten. DO NOT EDIT! -->

I edit. I add a piece of JavaScript code that was provided by a Mozilla Expert, Edward N Heinrich, in a Mozilla forum. The JavaScript code is intended to strip out the ICO Icon Attribute code that FireFox exports along with the bookmark URLs.

Heinrich* did not explain how to use the JavaScript. He never replied to further queries, so I’m not sure that I am properly applying this code, however I do get the desired result.

Here is Heinrich’s JavaScript code. I added JavaScript language tags at top and bottom:

javascript: (function(){ var ls=document.getElementsByTagName('*'), lsl=ls.length; for (var i=0; i=0;i--) e[i].parentNode.removeChild(e[i]); alert('Cleanup Complete - Save as Web Page, Complete\n'+'('+lsl+' bookmarks, '+el+' descriptions)')})();

After pasting in the code, I opened the bookmark HTML file using my Safari browser. The JavaScript program is executed and it hides the icon code and various other attributes, but the program does not strip them out. A look at the source code reveals that the icon MIME junk is still lurking there.

I tried saving the open HTML file as a new HTML document but upon opening the new file I found that it is still polluted with MIME icon code.

My next experiment was to copy the HTML text from the Safari browser window and paste it into a TextEdit file in RTF and HTML UTF-8 format. I saved one copy as an HTML file and another as a RTF file. Only the HTML version re-opened in Safari. The RTF experiment failed.

The TextEdit HTML file successfully opened in Safari. I examined the source code to find that the odious icon code from FireFox had been successfully eliminated (yay!), however, Safari/ TextEdit had imposed its own weirdly redundant Apple combination of CSS styled-code and old-fangled HTML-2 code on each line of the bookmark list. The Apple TextEdit HTML code looks like this:

The CSS style is:

p.p4 {margin: 0.0px 0.0px 0.0px 0.0px}
font.f2 {font: 16.0px Times; color: #0000eb}

So my file is still choking with excess code, but it is way-tons better than the FireFox export. The next steps of this experiment are clear. I copy/save the browser source-code into a TextEdit file and proceed to strip out the Apple/Safari code, replacing it with my XML tags.

It is ironic that in order to get my bookmark code out of FireFox in a usable format, my recourse is to use Apple technology. To me, poor software design is epitomized by a need to use third-party software to manage tasks and access user data.

Getting the MIME code out of an exported FireFox bookmark file without the automation of the JavaScript file provided by Edward N Heinrich would be an impossible chore. The JavaScript described in this article provides a way to mechanically remove large sections of tagged code. Utilizing various Apple software functions continues the code-cleaning process, and the final objective may be accomplished with Find/Replace.

Now I am free to quickly copy-paste Folders and URL data to organize it within my HTML file.

If anyone knows a simpler way to get clean bookmarks out of FireFox, please let me know.

* * * * * *

Here are some additional FireFox software interface problems with bookmarks that I consider as design-feature flaws in need of correction or improvement.

When I first started saving bookmarks in FireFox many years ago, each bookmark was saved separately. I spent lots of time moving the bookmarks into folders, using the FireFox Bookmarks Organizer. The FireFox Bookmark Organizer interface is painfully slow and tedious; another reason why I want to get my bookmarks out of the software.

Recently, FireFox offered an innovation – the ability to open multiple webpage windows in the browser by using tabs, along with the ability to save all of the opened tabs into a bookmark folder. [At this writing, Safari cannot save multiple tabs]

Utilizing the ability to open multiple web pages into tabs, I developed the habit of searching for a subject, opening multiple websites, and saving all of them in a folder named for the subject. I will save 30+ pages on any given subject into one folder. Alternatively, I will conduct tasks such as a job search and save an entire day’s search drek into a dated Job-Search folder.

Now I have zillions of these folders. Unfortunately, I find that when multiple web pages are saved in a folder by using tabs, the individual URLs are saved *with no individual descriptions*. It will now be necessary to revisit each individual website, get a description of what it is, and manually type a description into my exported data. This sucks.

In the best of all possible worlds, I would have the option to choose what data is stored and exported in my easy-to-copy and read preferences file. For example I would choose: website URL – YES; Page Descriptions – YES; ICO Icon in MIME format – NO; Time-stamp – NO.

At the time of Export, I would also like to be able to re-select what information I want to export – some or all of it.

Since I have used the tabbed-folder option and I have lost the website descriptions, I would also like to define the order in which data is exported. I would like to invert the order of the Website name and the URL.

FireFox prompts the user to save tags along with web page bookmarks, but there is no way to export the tags along with the URLs, website name and descriptions. The columns of the Bookmark Organizer can be reordered by dragging them, but the organization of the exported data is not controlled or affected by changing the column order.

It would be great if the user’s work adding tags could be accessed and exported along with the user’s URLs and other data that they describe. It also would be great if the Bookmark Organizer user interface acted as a tool to modify and format export data.

In Conclusion, This article explored how to clean out unwanted code from HTML files exported from the FireFox Bookmark Organizer management tool. Obtaining clean HTML exports of bookmark URLs should be a simple task in FireFox, but other software programs have equal barriers to overcome.

I aspire to a design standard that users should have unfettered access to all of their data. No browser currently holds this standard, so it is important to let software developers know what we expect and need. Let me know if this article is helpful to you.

© 062109 Craig Webb. All rights reserved.