Thursday, November 11, 2010
What’s your Facebook Footprint?
Did you know you can now download every wall post, every response, every comment, every poke, every photo or video you’ve ever put on Facebook? What’s your Facebook Footprint?
Now you can back up every misstep, every faux pas, every whoopsie you’ve ever made in public.
On October 7th, Facebook announced it would begin to let people download all the personal information they’ve put on Facebook. All you need to do is:
It will take a bit of time for Facebook to compile it, and once you get a note that it’s ready you’ll have to prove it’s your data, but boom - one nicely organized zip file with all your assets. You prove it’s your data by identifying friends in photos not in your account, so a hacker would have to know you fairly well to download the file.
Off you go!
Posted in: Idle Chatter IT notes Personal
(0) Trackbacks • Permalink
Thursday, August 12, 2010
Everything you need to know about Fast Food
Some uncomfortable notes about our life with fast food.
This is just a bit of an interesting infographic, but as with anything on “teh interwebs”, take with some grains of NaCl. For instance, the caloric intake for an average US adult is very likely wrong. A thread on Reddit has noted that the CDC has established an average US adult male consumes “2475 calories and 1833 calories (per day) for females”, not 4000-calories per day as in the graphic. There’s a list of references in the graphic - check them out.
What this does show however is that while there’s often skewed information on the net, it can lead to good conversation and fact-checking, especially through sites like Reddit. You just have to learn which “reddits” are worth reading and which are snark-factories.
Ultimately, it seems that the goal of the Internet is actually working - that the demographic born to the Internet is smarter, more politically active and more willing to share America, but that’s another post…
Monday, June 14, 2010
Project 52…
So what does it mean when the person starting an initiative doesn’t have time for it?
Project 52 was a bit of an eye-opener. Think it’s hard to write? Try forcing yourself to write once a week, on something of value.
It seems the initiative died last week, or month…hard to tell…and the connecting website that makes all of this possible just disappeared. It’s probably not the workload for writing, but instead I believe there was a great underestimation of how much coordination was required to get this going.
I too found myself lost for words. Hopefully should this happen again, we’ll all be better prepared.
Until that time, I return to my regularly unscheduled schedule.
Posted in: Idle Chatter Personal Project 52
(0) Trackbacks • Permalink
Monday, May 31, 2010
Font Management in OS X, 10.4-10.6
Fonts in OS X seems to change in every version. They’re a mystery, wrapped in a puzzle, often dotted with a umlaut and an accent-grave. Whether you’re a a Flash developer wondering why your final Helvetica looks larger than it should be, or a print designer who’s output looks strangely un-kerned, this link is for you…
I know nothing about JKL Studios other than they’ve got the most detailed and easy-to-understand overview I’ve seen about Mac font management.
Read it.
Learn it.
Live it.
And download the PDF for when you stupidly remove the LucidaGrande.dfont from your /System/Library/Fonts/ directory.
No…I admit to nothing.
Wednesday, March 24, 2010
Multiple Languages - a “How-To” using PutYourLightsOn’s Multi-Language module
I’m building a dual-language website now that will feature English and Dutch, and I’ve been digging and culling information on this for a few weeks now. I’m putting my experiences down into this “How-To” help others stuck at 2am.
The focus on this is specifically using the Multi Language Module from PutYourLightOn but there are enough smaller tips in here that it’s worth putting in one place. There are also other means to do multiple languages that don’t require a commercial module, but this worked for me. YMMV. If this isn’t the right place, admins, let me know and I’ll move it.
Caveats:
• This was developed for the EE 1.6x but it should be very similar in 2.1x installations
• Requires the use of jQuery for the Control Panel extension and the commercial Multi-Language Module from PutYourLightsOn.net
• This presumes 2 languages, but more can be used following the guide
• We try for pure EE-solutions whenever possible - no hacking or php/js and exposing the security
• Since we’re describing EE tags, normally they can’t be displayed inline (because the system immediately processes them). Using the code tag will ruin the reading, so when you see something like [base_path] realize the parenthesis are replaced by brackets.
Start - Setting-up the different language paths and removing the index.php from the URL:
We’re presuming you have a default language (in my case English) set in your General Preferences > Site Language setting. All you need to do is add the module, add the extra languages and add some files to make sure the [base_url] starts out of the correct path.
• Install the module (follow the directions on that - easy enough)
• Add a additional language in the module using the correct ISO 639-1 code for your extra language (en = english, nl = dutch, es = spanish, etc)
• Add a directory to the root of your site for each additional language using the matching ISO 639-1 code. This is always lower-case.
• Modify your path.php file to add 2 new variables [base_url] & [user_language]. The important bit is at the bottom:
$global_vars = array(); // This array must be associative
changes to point to your default language (replace “mysite” with your site and your particular base language)
// $global_vars = array(); // This array must be associative
$global_vars = array(
"base_url" => "http://www.mysite.com/",
"user_language" => "en"
);
• Now add .htaccess to the root using the EXCLUDE LIST method of removing the index.php. You’re including only the directories you want the system to look into:
RewriteEngine on
RewriteCond $1 !^(nl|css|images|system|themes|index\.php) [NC]
RewriteRule ^(.*)$ /index.php/$1 [L]
• The module comes with spanish and italian directory file example - use one of them and move the 3 files to the server
- index.php = you can leave alone
- .htaccess = modify the path in the Rewrite Rule to point to your desired language, in my case it’s Dutch
RewriteRule ^(.*)$ /nl/index.php/$1 [L]
- path.php = modify the last lines like the above default language, but this time to add the new language path
$global_vars = array(
"base_url" => "http://www.mysite.com/nl/",
"user_language" => "nl"
); // This array must be associative
There are enough folks out there having trouble with removing index.php - removing two of them is worth pointing out. This caught me a few times.
The module’s instructions are clear enough; there are 2 basic methods for language replacement: the tag method, where you add a tag via the module and it does the swapping:
{exp:multi_language:phrase index="hello"}
and Conditionals based on your current [base_path]:
{exp:weblog:entries weblog="my_weblog"}
{if user_language == "en"}{title}{if:else}{title_{user_language}}{/if}
{/exp:weblog:entries}
You’ll note that it uses the default [title] but also an alternative [title_] field. In my custom fields, right after title I’ve added a title_nl field, keeping the lowercase iso convention. This is the method of doing dynamic content - each language element having its own field (I loop through using a FieldFrame set, for example).
Links are your first enemy in multiple languages, so you need to find an alternative to [permalink] and [auto_path]. Let’s re-write that example to add a link:
{exp:weblog:entries weblog="my_weblog"}
<a href="{base_url}template_dir/template/{url_title}">
{if user_language == "en"}{title}
{if:else}{title_{user_language}}
{/if}
</a>
{/exp:weblog:entries}
So what happens here is that depending on your current [base_path], the link does away with the [title_permalink] and rebuilds the path from the root up to the article. If I had a templates directory called “site” and in there an article view page called “view”, it’d look like this:
<a href="{base_url}site/view/{url_title}">
{if user_language == "en"}{title}
{if:else}{title_{user_language}}
{/if}
</a>
Pagination doesn’t use [title_permalink] but rather [auto_path]. Specifically for Pagination, you’d want to add a new [paginate_base] parameter to your [entries] tag:
{exp:weblog:entries weblog="workshops" limit="5" status="open"
paginate_base="{if user_language != 'en'}{user_language}
{/if}/template_group/template"}
This points the Pagination auto links used by [if next_page] [if previous_page] to the correct language.
The next time you’ll see [auto_path] is in a site search, and unfortunately there doesn’t seem to be a similar method for a search_base. What I’ve done in this situation is to use the weblog_id to point me to the correct category link:
{if weblog_id == "3"}
<td width="30%" valign="top"><b><a href="{base_url}site/static/{url_title}">{title}</a></b></td>
{if:elseif weblog_id == "4"}
<td width="30%" valign="top"><b><a href="{base_url}site/workshop/{url_title}">{title}</a></b></td>
{/if}
and then just use different results pages for each language.
Calendars are a bugger too - I’m working on a solution here, but it looks to be one where you’ll have to check segment_1 and then use swapping method on days and months. When I have that sorted, I’ll add it here.
Anyway, that’s my solution. Remember that many conditionals can slow you down, so I built many blocks to reduce the number of queries and conditionals. Depending on your needs, it might make mode sense to just check once if you’re in a language, then spill all the right fields out, instead of doing it on a field-by-field basis. All said though, this system is quite robust and I’m really happy with it.
As I learn new things I’ll add them here. The developer Ben at PutYourLightsOn has been amazingly helpful, working out many problems in my particularly wonky situation. Hopefully this will reduce his support workload a little.
If anyone has more ideas, solutions or questions concerning languages and working with this module, please add them below. Cheers!






