Pipe 2S4W Site Update

Site Update

by
in pipedot on (#2S4W)
I haven't posted a progress report in a while, and I wouldn't expect everyone to follow the mailing list, so here's a short list of the latest features of the site.

Journals
Journals are now enabled for all user accounts! Similar to the venerable Slashcode journal, the Pipedot version allows you to write your extended thoughts and post them in the familiar story-like form – complete with comments and community moderation. An example journal story can be found here.

Feed Page
If you where previously using the root of your user page (e.g. http://bryan.pipedot.org/) to display your feed page, you will need to instead append “/feed/” to the end of your shortcuts (i.e. http://bryan.pipedot.org/feed/) Sorry for the inconvenience.

Message ID
Originally, I adopted a similar system as Slashcode, where each object gets an auto-incrementing integer. However, this global increment is just not usable in terms of a distributed system. And so, after rewriting a large chunk of the site, objects are now given a unique ID that looks more like a Message-ID from Email and Usenet messages.

This change had an unintended side effect of making some links a bit long and kinda ugly. For example, a link to a comment can be 55 characters long (e.g. http://pipedot.org/comment/1392545397_bryan_pipedot_org) Which leads me to the next item...

Short Codes
All items (stories, comments, polls, etc...) on this site are now assigned a short code similar to those seen on Twitter (t.co), Google (goo.gl), bit.ly, and others - except that it's built into the site and automatic.

For example, the full URL of a poll could be rather long:
http://pipedot.org/poll/2014-05-19/when-dystopia-comes-it-will-look-like

But it can be shortened to:
http://pipedot.org/3XC

These links are useful for character limited services, such as Twitter posts, as well as any other scenario where a shorter link would be appreciated. Also, like other link shortener services, you can tack a "+" on to the end of the short link to get statistics on who has clicked it.

After a few people mentioned the ugliness of the Message ID style links, I realized that short codes could also work in place of the long Message ID. Therefore, even the unshortened links are again shorter. (e.g. http://pipedot.org/comment/2S4B)

SoylentNews Federation
I thought the SoylentNews federation would be a cool mini-project. Combine the efforts of two nearly identical sites while improving the resiliency of both. If you missed it (the feature was online for less than a day) the idea was to combine all stories and posts from both sites into one feed. However, I seem to have greatly underestimated the disdain for such a function. Because I'm not overly fond of receiving that many threats and hate mails in a single day, I've simply turned it off and removed all references to SoylentNews in the code.

Gravatars
Pipecode has long supported a profile picture. This feature allows you to show off your mugshot on your user page and various other places. Of course, thus far, only 4 people had managed to find and update their picture. To help prevent a missing image when viewing a profile, I've added Gravatar support to automatically populate profile images. If you do not have a Gravatar, you can still manually update your profile image with the old method. You can also disable Gravatar updates to your picture by unchecking the Gravatar option on your profile settings page.

Retina Images
Nearly all images, icons, and logos on the site now support “retina” displays. So if you are blessed by a device with an incredibly high DPI screen, the graphics here should all look especially crisp.

History


Deprecated: mb_convert_encoding(): Handling HTML entities via mbstring is deprecated; use htmlspecialchars, htmlentities, or mb_encode_numericentity/mb_decode_numericentity instead in /var/pipedot/include/diff.php on line 25

Deprecated: Creation of dynamic property FineDiff::$granularityStack is deprecated in /var/pipedot/lib/finediff/finediff.php on line 217

Deprecated: Creation of dynamic property FineDiff::$edits is deprecated in /var/pipedot/lib/finediff/finediff.php on line 218

Deprecated: Creation of dynamic property FineDiff::$from_text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 219

Deprecated: Creation of dynamic property FineDiff::$last_edit is deprecated in /var/pipedot/lib/finediff/finediff.php on line 372

Deprecated: Creation of dynamic property FineDiff::$stackpointer is deprecated in /var/pipedot/lib/finediff/finediff.php on line 373

Deprecated: Creation of dynamic property FineDiff::$from_offset is deprecated in /var/pipedot/lib/finediff/finediff.php on line 375

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffCopyOp::$len is deprecated in /var/pipedot/lib/finediff/finediff.php on line 155

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127

Deprecated: Creation of dynamic property FineDiffReplaceOp::$fromLen is deprecated in /var/pipedot/lib/finediff/finediff.php on line 126

Deprecated: Creation of dynamic property FineDiffReplaceOp::$text is deprecated in /var/pipedot/lib/finediff/finediff.php on line 127
2014-09-08 08:51
Site Update
bryan@pipedot.org
I haven't posted a progress report in a while, and I wouldn't expect everyone to follow the mailing list, so here's a short list of the latest features of the site.

Journals
Journals are now enabled for all user accounts! Similar to the venerable Slashcode journal, the Pipedot version allows you to write your extended thoughts and post them in the familiar story-like form –- complete with comments and community moderation. An example journal story can be found here.

Feed Page
If you where previously using the root of your user page (e.g. http://bryan.pipedot.org/) to display your feed page, you will need to instead append “"/feed/”" to the end of your shortcuts (i.e. http://bryan.pipedot.org/feed/) Sorry for the inconvenience.

Message ID
Originally, I adopted a similar system as Slashcode, where each object gets an auto-incrementing integer. However, this global increment is just not usable in terms of a distributed system. And so, after rewriting a large chunk of the site, objects are now given a unique ID that looks more like a Message-ID from Email and Usenet messages.

This change had an unintended side effect of making some links a bit long and kinda ugly. For example, a link to a comment can be 55 characters long (e.g. http://pipedot.org/comment/1392545397_bryan_pipedot_org) Which leads me to the next item...

Short Codes
All items (stories, comments, polls, etc...) on this site are now assigned a short code similar to those seen on Twitter (t.co), Google (goo.gl), bit.ly, and others - except that it's built into the site and automatic.

For example, the full URL of a poll could be rather long:
http://pipedot.org/poll/2014-05-19/when-dystopia-comes-it-will-look-like

But it can be shortened to:
http://pipedot.org/3XC

These links are useful for character limited services, such as Twitter posts, as well as any other scenario where a shorter link would be appreciated. Also, like other link shortener services, you can tack a "+" on to the end of the short link to get statistics on who has clicked it.

After a few people mentioned the ugliness of the Message ID style links, I realized that short codes could also work in place of the long Message ID. Therefore, even the unshortened links are again shorter. (e.g. http://pipedot.org/comment/2S4B)

SoylentNews Federation
I thought the SoylentNews federation would be a cool mini-project. Combine the efforts of two nearly identical sites while improving the resiliency of both. If you missed it (the feature was online for less than a day) the idea was to combine all stories and posts from both sites into one feed. However, I seem to have greatly underestimated the disdain for such a function. Because I'm not overly fond of receiving that many threats and hate mails in a single day, I've simply turned it off and removed all references to SoylentNews in the code.

Gravatars
Pipecode has long supported a profile picture. This feature allows you to show off your mugshot on your user page and various other places. Of course, thus far, only 4 people had managed to find and update their picture. To help prevent a missing image when viewing a profile, I've added Gravatar support to automatically populate profile images. If you do not have a Gravatar, you can still manually update your profile image with the old method. You can also disable Gravatar updates to your picture by unchecking the Gravatar option on your profile settings page.

Retina Images
Nearly all images, icons, and logos on the site now support “"retina”" displays. So if you are blessed by a device with an incredibly high DPI screen, the graphics here should all look especially crisp.
Reply 0 comments