Portent » tutorials http://www.eigene-homepage-erstellen.net Internet Marketing: SEO, PPC & Social - Seattle, WA Thu, 03 Sep 2015 18:20:24 +0000 en-US hourly 1 http://wordpress.org/?v=4.3 Webinar video now available http://www.eigene-homepage-erstellen.net/blog/internet-marketing/webinar-video-now-available.htm http://www.eigene-homepage-erstellen.net/blog/internet-marketing/webinar-video-now-available.htm#comments Thu, 02 Feb 2012 02:47:29 +0000 http://www.conversationmarketing.com/?p=3457 All I ask in exchange is your soul. Well. Actually just your e-mail address, if you don’t mind. Click here to sign up and watch the video of the first webinar, ‘Internet marketing 101’. I won’t spam you. Much.

The post Webinar video now available appeared first on Portent.

]]>
All I ask in exchange is your soul.

Well.

Actually just your e-mail address, if you don’t mind.

Click here to sign up and watch the video of the first webinar, ‘Internet marketing 101’.

I won’t spam you.

Much.

The post Webinar video now available appeared first on Portent.

]]>
http://www.eigene-homepage-erstellen.net/blog/internet-marketing/webinar-video-now-available.htm/feed 0
Linkscape + Google Spreadsheets. Together, at last. http://www.eigene-homepage-erstellen.net/blog/analytics/linkscape-google-spreadsheets.htm http://www.eigene-homepage-erstellen.net/blog/analytics/linkscape-google-spreadsheets.htm#comments Thu, 28 Apr 2011 19:47:15 +0000 http://www.conversationmarketing.com/2011/04/linkscape-google-spreadsheets.htm First, a brief interlude: AUUUUUUUUUUUUUUUUUUUGGGGHHH OK. I’m good now. Primal scream complete. The documentation for Google App Scripts is… less than perfect. So I have to start by thanking Tom Critchlow of Distilled. He sent me the initial script that made Google Spreadsheets play well with the LinkScape API. Otherwise, I’d be in a small,… Read More

The post Linkscape + Google Spreadsheets. Together, at last. appeared first on Portent.

]]>
First, a brief interlude:

AUUUUUUUUUUUUUUUUUUUGGGGHHH

OK. I’m good now. Primal scream complete.

The documentation for Google App Scripts is… less than perfect. So I have to start by thanking Tom Critchlow of Distilled. He sent me the initial script that made Google Spreadsheets play well with the LinkScape API. Otherwise, I’d be in a small, padded cell right now, rocking gently forward and backward while humming ‘Good Times Bad Times’ and writing doodling with a crayon clutched daintily between my toes.

But, I now have a script that:

  1. Fetches linking root domains and domain authority from Linkscape;
  2. Finds the right place to insert it into the spreadsheet; and
  3. Does it automatically, once a month.

See? Look:

linkscape domain authority, in Google spreadsheets

It doesn’t look like much, but it brings tears to my eyes every time I look at it.

Here’s how you can do it:

Sure, just copy the code

First off, if you’re such a smarty-pants, you can ignore this post and just copy the code:

See? Nothing to it. If you just giggled hysterically, you may want to keep reading.

Step 1: Store your values somewhere

First things first. You need to put your Linkscape data somewhere easy-to-access. You can just stuff it into your script. But I prefer to put it in the spreadsheet itself. That way, I can change it later on if I need to.

storing data in the spreadsheet

I created a locked tab in my spreadsheet called ‘utility’ and put it there. Then, this code grabs that info for me:

var active_spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var utility_sheet = active_spreadsheet.getSheetByName("Utilities");
params = utility_sheet.getRange(5,3,7,3).getValues();
url = params[2][0];
AccessID = params[0][0];
secret = params[1][0];

The first three lines go to the “Utilities” tab of my spreadsheet, then grab the values that are stored in rows 5-7, column 3. The last three set my url, AccessID and Secret to the values found in those cells.

Obviously, you have to be careful who gets their grubby paws on your spreadsheet. But remember, you can always generate a new AccessID and Secret if you get paranoid.

Step 2: Generate a secure signature

Linkscape’s API uses a security method that’s probably a cinch for real developers. For me, it made no sense whatsoever. HMAC hash? Sounds like a salty breakfast dish.

But I did finally cobble it together:

method = "HMAC_SHA_1";
uDate = new Date().getTime();
uDate = Math.round(uDate/1000);
Expires = uDate + 1200;
theString = AccessID + "n" + Expires;
signature = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_1,theString,secret);
signature64 = Utilities.base64Encode(signature);
signature64 = encodeURIComponent(signature64);

The tricky parts were:

  1. Finding the right Utilities code to generate the HMAC hash;
  2. Figuring out how to generate a timestamp I could work with;
  3. Not punching myself in the face repeatedly.

Lines 1 and 4-8 handle the hash. Lines 2 and 3 generate the timestamp. I can’t write it in any more detail without going post-traumatic. Just take my word for it – it works.

Step 3: Send the request

Once you’ve got the signature, it’s time to send the request:

inV="http://lsapi.seomoz.com/linkscape/url-metrics/" + url + "?AccessID=" + AccessID + "&Expires=" + Expires
+ "&Signature=" + signature64 + "&Cols=85899345920";
jsonStringResponse = UrlFetchApp.fetch(inV);

That’s it. That code creates the URL (line 1) and then sends the request to Linkscape (line 2). It stores it in the variable jsonStringResponse.

Step 4: Figure out what you’ve got

Next, the script parses the response, which is delivered in JSON format. Google Apps Script has a great built in function called jsonParse. That does the whole job in line 2:

var data1 = jsonStringResponse.getContentText();
data2 = Utilities.jsonParse(data1);
IDomains = data2["fipl"];
Dauth = data2["pda"];

Then it reads in the linking domains and domain authority, which have the variable names fipl and pda when delivered from Linkscape.

Step 5: Do something with it

Finally, time to insert the data into the spreadsheet. This would’ve been a headache, except for this great little function, which finds the last row containing data.

So, the first two lines of the script are:

lastRow = FindRows();
startRow = lastRow + 1;

That’s it. It finds the last row with data, then sets the start row to the next. Just be sure you grab the FindRows() code here, too!

Then the script sets the values of the cells accordingly:

SpreadsheetApp.getActiveSheet().getRange(startRow,3).setValue(IDomains);
SpreadsheetApp.getActiveSheet().getRange(startRow,4).setValue(Dauth);
monthYear =  utility_sheet.getRange(12,4).getValue();
today = monthYear;
SpreadsheetApp.getActiveSheet().getRange(startRow,2).setValue(today);
SpreadsheetApp.getActiveSheet().getRange(4,3).setValue(today);

And, finally, adds a nice black outline to the table itself. This loops through columns 2-12, outlining each box with black border:

for (z=2; z<12; z++)
{
SpreadsheetApp.getActiveSheet().getRange(startRow,z).setBorder(true,true,true,true,true,true);
}

I have other data I’m storing in this table—Blekko inlinks, for example—so I format the whole row.

Step 6: Set a trigger

One last step: You have to set a trigger to fire the script when you need it. Linkscape’s database updates every few weeks, so I don’t need to hit it every day.

I’m not going to write all the script out here, but basically I:

  1. Wrote a script that checks if the it’s the first day of the month. If it is, then it fires the getLinkscape script.
  2. Set a nightly trigger to run the date checker. Don’t worry, setting up a trigger is point-and-click easiness.

There you have it

There you go: One Linkscape data grabber thingamabobber.

I wrote this as part of my ongoing quest for the perfect internet marketing dashboard.

Challenges I still face:

  1. Google’s charting capabilities are awful.
  2. The social media side of the sheet is buggier than Nova Scotia in August.
  3. I may have lost last, tiny grip on sanity.

The post Linkscape + Google Spreadsheets. Together, at last. appeared first on Portent.

]]>
http://www.eigene-homepage-erstellen.net/blog/analytics/linkscape-google-spreadsheets.htm/feed 3
Conversation Marketing, The E-book: Now on sale http://www.eigene-homepage-erstellen.net/blog/internet-marketing/conversation_marketing_the_e-b.htm http://www.eigene-homepage-erstellen.net/blog/internet-marketing/conversation_marketing_the_e-b.htm#comments Tue, 07 Dec 2010 06:32:14 +0000 http://www.conversationmarketing.com/2010/12/conversation_marketing_the_e-b.htm Back in 2001, I sat down at my blazing fast Pentium computer and started writing a book about internet marketing. Brainstorming it with John Cass, we realized “Hey, the internet is kind of two-way, like a conversation…” and that led to the title Conversation Marketing. Little things like babies slowed me down a bit, but… Read More

The post Conversation Marketing, The E-book: Now on sale appeared first on Portent.

]]>
Back in 2001, I sat down at my blazing fast Pentium computer and started writing a book about internet marketing. Brainstorming it with John Cass, we realized “Hey, the internet is kind of two-way, like a conversation…” and that led to the title Conversation Marketing. Little things like babies slowed me down a bit, but in 2003 I self-published the book, titled, surprisingly, Conversation Marketing.

It’s been for sale in print format for years, but a lot of folks have asked for an electronic version, so here it is: Conversation Marketing in PDF. You can download it free:
Buy Now

The post Conversation Marketing, The E-book: Now on sale appeared first on Portent.

]]>
http://www.eigene-homepage-erstellen.net/blog/internet-marketing/conversation_marketing_the_e-b.htm/feed 2
5 response codes you gotta know: Learn to speak server http://www.eigene-homepage-erstellen.net/blog/design-dev/5-server-response-codes.htm http://www.eigene-homepage-erstellen.net/blog/design-dev/5-server-response-codes.htm#comments Fri, 19 Nov 2010 14:14:40 +0000 http://www.conversationmarketing.com/2010/11/5-server-response-codes.htm Whether you’re an internet marketing wonk, a top IT geek or an SEO pro, you need to know how to speak web server. Not fluently, of course. If you can do the equivalent of asking where the bathroom is, you’ll be in good shape. That’s what I’m going to go over now. When you visit… Read More

The post 5 response codes you gotta know: Learn to speak server appeared first on Portent.

]]>
Whether you’re an internet marketing wonk, a top IT geek or an SEO pro, you need to know how to speak web server. Not fluently, of course. If you can do the equivalent of asking where the bathroom is, you’ll be in good shape. That’s what I’m going to go over now.
When you visit a web site, your web browser has a whole conversation with the server hosting that site:
Browser: Hey man, can I get the page that’s located at… lessee… www.gibblegibbet.com?
Server: Let me check… Yup, looks fine.
Browser: OK, thanks! Send it over!
Server: Here you go.
That entire conversation is encapsulated in a single response code. Response codes are simple, 3-digit codes that a server sends back to visiting web browsers. Web servers send the same codes back to search crawlers, so it’s very, very important that you know what these codes mean.

Yeah, I know, I just oversimplified. If you reaaalllly want all the details of http headers and such, I could write it all down, but you’ll have to pay me. It’s really boring stuff.

There are a lot of ’em, but I’ll stick to the 5 you really need to know:

Response code 200

The 200 code is a server’s way of saying “everything’s fine, here’s the page or file you asked for”.
That conversation would match the one I wrote above.

Response code 301

301 – also called a permanent redirect – means that the page the browser/crawler requested is no longer around, but there’s a new page now, and the server will provide the new URL instead. That conversation goes like this:
Browser: Yo, gimme www.gibblegibbet.com/default.aspx
Server: Nope, no can-do. It’s gone. But we’ve put up a new, permanent page at www.gibblegibbet.com/index.html. You can go there from now on.
Browser: Ah, got it. I’ll make a note.
Use 301 codes when you delete one page and replace it with another, or when you rebuild your site and your entire site structure changes. That’ll make your site visitors and search engines happy.

Response code 302

302 means the requested page is not around right now, but it’ll be back:
Browser: Yo, gimme www.gibblegibbet.com/default.aspx
Server: Nope, it’s gone for now. Took a vacation. But we’ve got an alternate up and running at www.gibblegibbet.com/index.html. Use that for now, but remember, we’ll be switching back to the original soon.
Browser: Stupid detours. OK, fine.
Server: Don’t get all persnickety. I just do what my webmaster says.
I embellished a bit. But you get the idea. A 302 redirect – also called a temporary redirect – tells a browser or search crawler not to look too closely at the new page, because the old one will be back.
It’s rare that a 302 is a good idea. If you’re using 302 redirection, make sure there’s a good reason, because it could wreak havoc with your rankings.

Response code 404

404 means the page is gone or never existed, and the server has no idea what happened.
Browser: I need to see www.gibblegibbet.com/cheepwareznow.html
Server: Yeah, right. Sorry, that page doesn’t exist. It may have once, but it’s gone now.
Browser: WTH?!!!
You should fix 404 errors when you find ’em on your site, or do a 301 redirect from the missing page to a relevant one.

Response code 500

There are actually a lot of different 50x options: 500, 501, 502, 503, etc.. But they all mean the same thing:
Browser: Hey, can I have a look at www.gibblegibbet.com?
Server: OK, I’ll aaaaaaaaaaaauuuugh.
Browser: Auuuuuuuuuuugh?
Server: thud
The server is kaput. It’s dead, unconscious or just taking a break, and it can’t even respond to any request. If one of our sites starts delivering 50x errors, that’s my time to panic, ’cause it means something went really wrong.

Now you can ask for the loo

Congratulations. You now speak preschool server, and can ask for basic directions when necessary. Truth is, only 1% of 1% of people involved in internet marketing need to know more than this. You can wow your tech folks in the next meeting.
If you do want to know a huge range of status codes, look at the W3C site.

Recent & related posts

The post 5 response codes you gotta know: Learn to speak server appeared first on Portent.

]]>
http://www.eigene-homepage-erstellen.net/blog/design-dev/5-server-response-codes.htm/feed 2
Writing a Python site map generator: Part 1 http://www.eigene-homepage-erstellen.net/blog/random/python-sitemap-crawler-1.htm http://www.eigene-homepage-erstellen.net/blog/random/python-sitemap-crawler-1.htm#comments Fri, 13 Aug 2010 21:22:50 +0000 http://www.conversationmarketing.com/2010/08/python-sitemap-crawler-1.htm This is part 1 in a short series about my attempt to learn a new programming language. 'Cause, you know, it's what nerds do. The journey begins: My site map generator I wanted to build a decent site map generator. To me, 'decent' means: It can crawl and parse pages, grabbing links, without generating an… Read More

The post Writing a Python site map generator: Part 1 appeared first on Portent.

]]>
The journey begins: My site map generator I wanted to build a decent site map generator. To me, 'decent' means:
  1. It can crawl and parse pages, grabbing links, without generating an index. Some tools purport to do this - WGET, for one - but bugs get in the way.
  2. It can crawl and parse pages for images and video, too.
  3. You can pause, stop and restart crawls, and generate a map from a partial crawl.
  4. All URLs are stored in a database, for faster recrawls later on.
  5. It's portable, running on many different platforms.
  6. It's easily customized.
  7. It crawls images and content stored on content distribution networks, as well as on the target site.
  8. It doesn't make the computer on which it's running, or the target web server, melt into a pool of slagged microprocessors and the tears of the IT team.
I know, I'm not too demanding. ColdFusion clearly couldn't do the job. It's far too slow at string manipulation, plus its http crawling technology isn't that robust. Wait, ColdFusion people! Before you burn my office down, take note: I am an unabashed ColdFusion fanboy. It is still my favorite language by far. This is just not what it's made for. I come in peace.

I try a few languages

I started with PHP, which let me build PriusMileage.com and do a little work in WordPress. But it didn't quite fit the way ColdFusion always has for me. Then I moved on to Java. I was slightly less successful wrapping my head around object-oriented programming than I was learning the Rule against Perpetuities in law school. I tried Ruby on Rails, but it felt backwards, as I didn't yet know Ruby, and I don't like the level of abstraction frameworks impose. So, finally, I settled on Python. So far, I love it, for several reasons:
  • There are lots of libraries you can install to do nifty stuff like build a web crawler.
  • It has a big community around it. That's one of the things I love about PHP, too, so it was great to see lots of folks blogging about their own learning experiences.
  • It's good at string manipulation. Not as good as PERL, and I'm sure someone will tell me Ruby kicks its butt, but it's good.
  • It's easy to write quick little scripts. After about an hour of study, I was able to throw together basic scripts to help me do my work.
  • It's already installed in OS X. OK, this was actually not as big an advantage as I thought at first. But see 'upgrading', below, for the whole story on that.
  • It does have some solid frameworks, like Django. Once you know the lingo, you can use these frameworks to speed up your work.

Love at first site turns to bitter resentment: The upgrade

I do all my development on OS X. OS X comes with Python 2.6 pre-installed. In my hopeless naivete, I decided to upgrade to Python 2.7. That, in itself, wouldn't have been a big deal. Except that I cheerfully downloaded, built and installed 2.7 without checking to see where 2.6 was on my machine. Oh, the humanity. It all seemed fine at first. Then I tried to add a Python library. Python has these things called libraries that are basically upgraded tool kits. You add them to your Python install to handle special features. For example, I use one called Beautiful Soup to chop HTML code into little pieces and pull out the links. I use another called urllib to crawl from link to link. My boneheaded install of 2.7 meant I had 2 versions of Python running on my trusty Macbook. So, whenever I tried to install a library, it installed on Python 2.6. But all my scripts were running under 2.7. I got one error after another. I put my laptop down, took a deep breath and went for a ride. Once the urge to fling the MacBook into Puget Sound subsided, I took another look. Turned out I needed to change the Python path in my .bash_login file. If you're a half-competent nerd like me, and are ready to rip out your hair in great, bloody fistfuls, do a search for 'Python install path' before you do. It'll save you some heartache.

I learn to steal

With Python behaving itself, I set out to find the fastest way to build a Python crawler. Generally, the easiest way is to find stuff some smartypants already wrote. After a few dead ends, I found several great pages that helped me along: A really short script someone was using to screen scrape for links, a great introduction to BeautifulSoup (the HTML parser I'm using), and the BeautifulSoup documentation itself.

My first crawler - isn't it cute?

The result: After a couple of hours, I had a working, Python-based crawler and sitemap builder. Here's the code - use at your own risk: It ain't pretty, but it got me started. Feel free to steal it if you like. Note that I have a lot of debug stuff stuck in there that you can strip out if desired. Also, I'm sure I did all sorts of stupid stuff. Please point it out - I'm learning, and I appreciate the help. Next time: Hooking it up to a database, and how I nearly crashed the interwebs.

Unrelated nonsense

The post Writing a Python site map generator: Part 1 appeared first on Portent.

]]>
http://www.eigene-homepage-erstellen.net/blog/random/python-sitemap-crawler-1.htm/feed 1
Super-fast string handling in ColdFusion – Geekery http://www.eigene-homepage-erstellen.net/blog/design-dev/fast-string-handling-coldfusion.htm http://www.eigene-homepage-erstellen.net/blog/design-dev/fast-string-handling-coldfusion.htm#comments Thu, 29 Apr 2010 21:19:15 +0000 http://www.conversationmarketing.com/2010/04/fast-string-handling-coldfusion.htm OK, getting VERY geeky here. You only want to read this post if: You program in ColdFusion. I’ve been using CF since the late 90s. It’s far and away my favorite programming language. You get happy tingly feelings when you make an application run 60-70% faster. You’re a nerd. If you’re still here, this is… Read More

The post Super-fast string handling in ColdFusion – Geekery appeared first on Portent.

]]>
coldfusion
OK, getting VERY geeky here. You only want to read this post if:

  1. You program in ColdFusion. I’ve been using CF since the late 90s. It’s far and away my favorite programming language.
  2. You get happy tingly feelings when you make an application run 60-70% faster.
  3. You’re a nerd.

If you’re still here, this is a great tip for speeding up ColdFusion applications that handle really large strings:
Usually, in CF, you’d combine (concatenate) strings like this:
<CFSET string1 = “I”>
<CFSET string2 = ” am”>
<CFSET string3 = ” the nerdman!!! “>
<CFSET string1 = string1 & string2 & string3 & “mwahaha”>

Then this code:
<cfoutput>#string1#</cfoutput>
would give you:
I am the nerdman!!! mwahahaha
But, if your strings get up to, say, 20,000 lines, this grinds to a halt. String concatenation can take 10 minutes instead of 10 seconds.
That’s ColdFusion’s way of telling you, “Enough already! Find a better way to put these variables together!”
And there is a better way.

The solution: Calling Java functions

ColdFusion is built on Java. So you can call some Java functions from within CF. Switch out the usual CFSET statements for a bit of Java code:
<cfset string1 = themap.concat(string1).concat(string2).concat(string3).concat(“mwahahaha”))>
concat is a Java string function. You can read about it until your eyes bleed here.
And the performance improvements will shock the hell out of you.

Real life example

I wrote an XML sitemap generator to go with Portent’s crawler. It worked brilliantly for 2000-3000 URLs. In about 10 seconds you’d have a nice, basic XML sitemap ready for deployment.
But we have some sites with hundreds of thousands of URLs. Any attempt to process a URL list that large using conventional ColdFusion failed. “Failed” is a bit of an understatement, actually. “Made our servers crank their fans up to maximum, caused lights across the globe to dim and nearly melted our server rack to slag” is a better description. The application would run and run, and even after 3-5 minutes, no result.
So, I used the concat function, plus CFSAVECONTENT.
The application now processes 120,000 URLs in under 10 seconds.
Seriously.
So this isn’t some tiny little performance tweak. This is a huge performance improvement that you can make with a couple of lines of code. ColdFusion geeks, rejoice!

Related and totally unrelated

The post Super-fast string handling in ColdFusion – Geekery appeared first on Portent.

]]>
http://www.eigene-homepage-erstellen.net/blog/design-dev/fast-string-handling-coldfusion.htm/feed 0
HTML Basics Lesson 5: Using WordPress http://www.eigene-homepage-erstellen.net/blog/design-dev/using-wordpress-html-basics-video.htm http://www.eigene-homepage-erstellen.net/blog/design-dev/using-wordpress-html-basics-video.htm#comments Wed, 13 Jan 2010 18:19:04 +0000 http://www.conversationmarketing.com/2010/01/using-wordpress-html-basics-video.htm This one’s an experiment: I’m going to spend this and the next few HTML Basics lessons showing you how to use WordPress to apply the HTML stuff you’ve learned in the last 4 lessons. An introduction to using WordPress to add and edit content on the web. Please let me know what you think –… Read More

The post HTML Basics Lesson 5: Using WordPress appeared first on Portent.

]]>
This one’s an experiment: I’m going to spend this and the next few HTML Basics lessons showing you how to use WordPress to apply the HTML stuff you’ve learned in the last 4 lessons.

An introduction to using WordPress to add and edit content on the web.

Please let me know what you think – I’m trying to decide how deep I should dive in a 5-minute lesson. Is this too little? Too much? Should I do a tap dance?

Related Posts

The post HTML Basics Lesson 5: Using WordPress appeared first on Portent.

]]>
http://www.eigene-homepage-erstellen.net/blog/design-dev/using-wordpress-html-basics-video.htm/feed 0
SEO and Your Business Model: Site Review of eHubPensacola.com http://www.eigene-homepage-erstellen.net/blog/seo/seo-and-your-business-model.htm http://www.eigene-homepage-erstellen.net/blog/seo/seo-and-your-business-model.htm#comments Fri, 02 Oct 2009 18:14:06 +0000 http://www.conversationmarketing.com/2009/10/seo-and-your-business-model.htm For this week’s site review, I took a look at eHubPensacola.com. My advice: Build a search-optimized home page. Focus on the business model. You’re offering coupons and discounts. Make sure folks can get access to them quickly and easily. Then use that to build a relationship and get visitors to purchase membership. SEO and Business… Read More

The post SEO and Your Business Model: Site Review of eHubPensacola.com appeared first on Portent.

]]>
For this week’s site review, I took a look at eHubPensacola.com.
My advice:

  • Build a search-optimized home page.
  • Focus on the business model. You’re offering coupons and discounts. Make sure folks can get access to them quickly and easily. Then use that to build a relationship and get visitors to purchase membership.

SEO and Business Models: CM Site Review #4 from ian lurie on Vimeo.

The post SEO and Your Business Model: Site Review of eHubPensacola.com appeared first on Portent.

]]>
http://www.eigene-homepage-erstellen.net/blog/seo/seo-and-your-business-model.htm/feed 3
Google Sidewiki Hacks http://www.eigene-homepage-erstellen.net/blog/random/google-sidewiki-hacks.htm http://www.eigene-homepage-erstellen.net/blog/random/google-sidewiki-hacks.htm#comments Wed, 23 Sep 2009 14:35:12 +0000 http://www.conversationmarketing.com/2009/09/google-sidewiki-hacks.htm Already found two useful hacks in Google Sidewiki, although I still wonder why it’s around. Make links work If you create a link in a Sidewiki entry, Google adds on some annoying extra stuff, so that: www.portentinteractive.com/services.htm becomes www.portentinteractive.com/services.htm&sa=D&sntz=1 That’s an invalid link, and it’ll give you a 404 error every time. The fix is… Read More

The post Google Sidewiki Hacks appeared first on Portent.

]]>
Already found two useful hacks in Google Sidewiki, although I still wonder why it’s around.

Make links work

If you create a link in a Sidewiki entry, Google adds on some annoying extra stuff, so that:
www.portentinteractive.com/services.htm
becomes
www.portentinteractive.com/services.htm&sa=D&sntz=1
That’s an invalid link, and it’ll give you a 404 error every time.
The fix is easy: When you insert the link into Sidewiki, add any query string you want to the end of your URL. So the URL above becomes:
www.portentinteractive.com/services.htm?this=that
Now, when Google adds their stuff, you get:
www.portentinteractive.com/services.htm?this=that&sa=D&sntz=1
A valid link. Woo-hoo!

Turn off Google Sidewiki for your site

This is a little trickier, and could have SEO implications, so use it carefully. It’s also uber geeky, so skip it if code makes your head hurt. But, if the reputation management implications of Sidewiki catch up with you, it’ll be worth investigating:
Google Sidewiki is URL-driven. So, if folks do Sidewiki entries for ‘www.eigene-homepage-erstellen.net’, then Sidewiki will only appear for that URL.
It won’t appear for, say, ‘www.eigene-homepage-erstellen.net#leavemealone’.
So, you could write a script that does a 301 redirect to a bookmark, and randomly generate a different bookmark each time. The result:
Folks navigate to ‘www.eigene-homepage-erstellen.net’.
They get:
www.eigene-homepage-erstellen.net#awev
www.eigene-homepage-erstellen.net#32fda
Etc..
Sidewiki will no longer appear, because there are no entries for that URL.
That’s a lot of 301s, though. You could try a 302, or even go as far as doing some sneaky cloaking (sorry, IP delivery), and get away with it.
I’ll update this page as more stuff comes up.

The post Google Sidewiki Hacks appeared first on Portent.

]]>
http://www.eigene-homepage-erstellen.net/blog/random/google-sidewiki-hacks.htm/feed 0
The plague that is Powerpoint http://www.eigene-homepage-erstellen.net/blog/random/the-plague-that-is-powerpoint.htm http://www.eigene-homepage-erstellen.net/blog/random/the-plague-that-is-powerpoint.htm#comments Thu, 17 Sep 2009 16:45:52 +0000 http://www.conversationmarketing.com/2009/09/the-plague-that-is-powerpoint.htm I’m striking out against the grand tradition of Powerpoint-as-outline, aka Powerlines. They’re a fatal illness breaking out at conventions, conferences and in board meetings across the country. The authorities would like you to think this is all under control. But trust me, THEY WON’T DO ANYTHING until it’s TOO LATE, and we’re all barricaded in… Read More

The post The plague that is Powerpoint appeared first on Portent.

]]>
deadfrompowerpoint.jpg
I’m striking out against the grand tradition of Powerpoint-as-outline, aka Powerlines. They’re a fatal illness breaking out at conventions, conferences and in board meetings across the country.
importanceofchocolate.gif
The authorities would like you to think this is all under control. But trust me, THEY WON’T DO ANYTHING until it’s TOO LATE, and we’re all barricaded in our homes, fending off thousands of zombified Powerpoint addicts.
So we must take matters into our own hands.
Powerpoint slides should serve as:

  • Counterpoint or emphasis;
  • Background; or
  • Illustration and support.

They should not be:

  • A word-for-word transcript of your presentation;
  • A detailed outline of same; or
  • Torture inflicted upon your audience by way of severe eyestrain.

An example: Emphasis

The slide at the beginning of this post is supposed to express the horrors that can happen when Ian Gets No Chocolate. So, instead of a bunch of words, what if we tried:
thescreamslide.jpg
That image works admirably. Why? Because I, or the biologist who studies my corpse after I’ve been without chocolate for 3 full weeks, will be standing there. And I (or she) will be saying “Chocolate is good. Plus it keeps Ian from going insane. So when he hasn’t for any for a long time, it can get ugly. We’re just sayin’.”.

An example: Illustration/Support

Or, you can support the same statement with this:
irritability-over-time-without-chocolate.gif

Powerpoint doesn’t kill people…

…People filling Powerpoint slides with text kill people.
Pledge with me: “I shall not use Powerpoint as line-by-line documentation. I shall use Powerpoint to set environment and tone, and reinforce my presentation.”
Amen, brothers and sisters!

The post The plague that is Powerpoint appeared first on Portent.

]]>
http://www.eigene-homepage-erstellen.net/blog/random/the-plague-that-is-powerpoint.htm/feed 10