Join our Folding@Home team:
Main F@H site
Our team page
Covers transactions:
2020-01-01 00:00:00 ..
2020-06-30 21:00:33 UTC
(SPIDs: [1207..1407])
Last Update:
2020-07-01 02:02:58 UTC
--martyb
Support us: Subscribe Here
and buy SoylentNews Swag
We always have a place for talented people, visit the Get Involved section on the wiki to see how you can make SoylentNews better.
Covers transactions:
2020-01-01 00:00:00 ..
2020-01-31 06:46:05 UTC
(SPIDs: [1207..1216])
Last Update:
2020-01-31 12:48:47 UTC
--martyb
[2020-03-20 18:21:26 UTC: Updated dept. line to show how many characters it could contain. --martyb]
[2020-03-20 20:03:14 UTC: Added topics: "/dev/random", "Code", "Software", and "Answers" topics to better illustrate their use of space in a story. --martyb]
IMPORTANT NOTE: Rehash has altered the indentation; tabs have been replaced with spaces.
Here is the original version of the template: dispStory;misc;default
[% dispmode = dispmode || "full" %]
[% IF dispmode == "full" %]
<div class="article">
<span class="sd-info-block" style="display: none">
<span class="sd-key-sid">[% story.sid %]</span>
<span class="type">story</span>
[% IF user.is_admin %]<span class="stoid">[% story.stoid %]</span>[% END %]
</span>
[% stripped_title = story.title | strip_title %]
[% IF magic;
thisskin = Slash.db.getSkin(story.primaryskid);
IF thisskin.rootdir;
title = "<a href=\"$thisskin.rootdir/\">";
ELSE;
IF user.is_anon;
title = "<a href=\"$gSkin.rootdir/$thisskin.name/\">";
ELSE;
title = "<a href=\"$gSkin.rootdir/index.pl?section=$story.primaryskid\">";
END;
END;
title = title _ thisskin.title _ "</a>: <a href=\"$thisskin.rootdir/article.pl?sid=$story.sid\">$stripped_title</a>";
ELSE;
title = "<a href=\"$gSkin.rootdir/article.pl?sid=$story.sid\">$stripped_title</a>";
END %]
[% seen_topics = {} %]
[% PROCESS titlebar future=story.is_future %]
<div class="details">
[% IF story.journal_id;
# at some point, we should maybe have a link
# directly to the journal entry, perhaps
# in the storylinks? for now, just to the journal.
journal = Slash.getObject('Slash::Journal');
thisjournal = journal.get(story.journal_id);
IF thisjournal && thisjournal.uid;
thisuser = Slash.db.getUser(thisjournal.uid); %]
Journal written by <a href="[% constants.real_rootdir %]/~[% thisuser.nickname | fixnickforlink | strip_paramattr %]/journal/"
>[% thisuser.nickname | strip_literal %] ([% thisjournal.uid %])</a> and [%
ELSIF story.by %]
Written by [% story.by | strip_literal %] and [%
END;
END %]
posted by
[% IF author.homepage %]
<a href="[% author.homepage %]">[% author.nickname | strip_literal %]</a>
[% ELSE %]
<a href="[% constants.real_rootdir %]/~[% author.nickname | fixnickforlink | strip_paramattr %]/"> [% author.nickname | strip_literal %]</a>
[% END %]
[% story.atstorytime %]
[% IF constants.plugin.Print %]
<a href="[% gSkin.rootdir -%]/print.pl?sid=[% story.sid %]"><img src="[% constants.imagedir %]/print.gif" height="11" width="15" alt="Printer-friendly"></a>
[% END %]
[% IF constants.plugin.Email %]
<a href="[% gSkin.rootdir -%]/email.pl?sid=[% story.sid %]"><img src="[% constants.imagedir -%]/email.gif" height="14" width="20" alt="Email story" ></a>
[% END %]<br>
[% IF constants.use_dept && story.dept %]<strong>from the <b>[% story.dept %]</b> dept.</strong>[% END %]
</div>
<div class="body">
[% mypagemenu = PROCESS pagemenu; IF mypagemenu %]<br>[% mypagemenu %][% END %]
<div class="topic">
[% seen_topics.${topic.tid} = 1 %]
[% IF user.lowbandwidth || user.simpledesign || user.noicons || user.pda %]
[ <a href="[% gSkin.rootdir %]/search.pl?tid=[% topic.tid %]">[% topic.textname %]</a> ]
[% ELSIF topic.image %]
<a href="[% gSkin.rootdir %]/search.pl?tid=[% topic.tid %]">
<img src="[% constants.imagedir %]/topics/[% topic.image %]" width="[% topic.width %]" height="[% topic.height %]" alt="[% topic.textname %]" title="[% topic.textname %]" >
</a>
[% END %]
[% FOREACH tid = topiclist %]
[% IF seen_topics.$tid ; NEXT ; END %]
[% seen_topics.$tid = 1 %]
[% topic2 = Slash.db.getTopic(tid) %]
[% IF user.lowbandwidth || user.simpledesign || user.noicons %]
[ <a href="[% gSkin.rootdir %]/search.pl?tid=[% topic2.tid %]" class="topic2">[% topic2.textname %]</a> ]
[% ELSIF topic2.image %]
<a href="[% gSkin.rootdir %]/search.pl?tid=[% topic2.tid %]" class="topic2">
<img src="[% constants.imagedir %]/topics/[% topic2.image %]" width="[% topic2.width %]" height="[% topic2.height %]" alt="[% topic2.textname %]" title="[% topic2.textname %]" >
</a>
[% END %]
[% END %]
</div>
<div class="intro">
[%
# Look ye to parseDomainTags for the domaintags == [0-2] logic
%]
[% IF user.domaintags == "3" %]
[% story.introtext | apply_rehash_tags %]
[% ELSE %]
[% pretext = story.introtext | apply_rehash_tags;
pretext = Slash.addDomainTags(pretext);
pretext = Slash.parseDomainTags(pretext, 1); %]
[% pretext %]
[% END %]
</div>
[% IF !full && story.bodytext.length %]
<input type="checkbox" id="more_[% story.sid %]" class="story_more" autocomplete="off" />
<label for="more_[% story.sid %]" class="story_more">[% constants.story_more %]</label>
<div class="story_more full">
[% story.bodytext | apply_rehash_tags %]
</div>
[% END %]
[% IF full && user.is_admin %]
<br><a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ Edit ]</a>
[% IF user.acl.signoff_allowed %]
[% signed = Slash.db.hasUserSignedStory(stoid, user.uid); %]
[% UNLESS signed %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ No Signoff ]</a> [% END %]
[% END %]
[% possndstory = Slash.db.getStory(stoid) %]
[% UNLESS possndstory.neverdisplay %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ Display Enabled ]</a>[% END %]
[% END %]
[% IF story.is_future && !user.is_admin %]<p>See any serious problems with this story?
[% IF constants.ircslash_remarks %]
Paste a short message here (if it's a dupe, the URL would be great)
<form action="[% gSkin.rootdir %]/index.pl" method="post">
<input type="text" name="remark" size="20" maxlength="100">
<input type="hidden" name="sid" value="[% story.sid | strip_attribute %]" >
</form>
or email
[% ELSE %]
[% END %]
<a href="mailto:[% constants.adminmail %]?subject=[DP]%20[% story.title | strip_paramattr_nonhttp %]">our on-duty editor</a>.
[% END %]
[% IF full && story.bodytext %]
<div class="full">
[% story.bodytext | apply_rehash_tags %]
</div>
[% END %]
</div>
</div>
[% ELSIF dispmode == "brief" %]
[% IF story.is_future %]<div class="future">[% END %]
<div class="briefarticle">
[% storylink = Slash.linkStory ({
sid => story.sid,
link => story.title,
tid => story.tid
skin => story.primaryskid
}, 1 );
%]
[% title = ''; IF magic;
thisskin = Slash.db.getSkin(story.primaryskid);
IF thisskin.rootdir;
title = "<a href=\"$thisskin.rootdir/\">";
ELSE;
IF user.is_anon;
title = "<a href=\"$gSkin.rootdir/$thisskin.name/\">";
ELSE;
title = "<a href=\"$gSkin.rootdir/index.pl?section=$story.primaryskid\">";
END;
END;
title = "<span class=\"section\">" _ title _ thisskin.title _ "</a></span>: ";
END;
title = title _ "<span class=\"storytitle\"><a href=\"$thisskin.rootdir/article.pl?sid=$story.sid\">$story.title</a></span>";
%]
[% title %] [% IF story.commentcount %][% story.commentcount %] comment[% IF story.commentcount > 1 %]s[% END %][% END %]
[% IF user.is_admin %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">(edit)</a>[% END %]
[% IF getintro %]
<div class="introhide" id="intro-[% story.stoid %]">
[% story.introtext | apply_rehash_tags %]
</div>
[% END %]
</div>
[% IF story.is_future %]</div>[% END %]
[% END %]
Here is the updated version of the template: dispStory;misc;default
[% dispmode = dispmode || "full" %]
[% IF dispmode == "full" %]
<div class="article">
<span class="sd-info-block" style="display: none">
<span class="sd-key-sid">[% story.sid %]</span>
<span class="type">story</span>
[% IF user.is_admin %]<span class="stoid">[% story.stoid %]</span>[% END %]
</span>
[% stripped_title = story.title | strip_title %]
[% IF magic;
thisskin = Slash.db.getSkin(story.primaryskid);
IF thisskin.rootdir;
title = "<a href=\"$thisskin.rootdir/\">";
ELSE;
IF user.is_anon;
title = "<a href=\"$gSkin.rootdir/$thisskin.name/\">";
ELSE;
title = "<a href=\"$gSkin.rootdir/index.pl?section=$story.primaryskid\">";
END;
END;
title = title _ thisskin.title _ "</a>: <a href=\"$thisskin.rootdir/article.pl?sid=$story.sid\">$stripped_title</a>";
ELSE;
title = "<a href=\"$gSkin.rootdir/article.pl?sid=$story.sid\">$stripped_title</a>";
END %]
[% seen_topics = {} %]
[% PROCESS titlebar future=story.is_future %]
<div class="details">
[% IF story.journal_id;
# at some point, we should maybe have a link
# directly to the journal entry, perhaps
# in the storylinks? for now, just to the journal.
journal = Slash.getObject('Slash::Journal');
thisjournal = journal.get(story.journal_id);
IF thisjournal && thisjournal.uid;
thisuser = Slash.db.getUser(thisjournal.uid); %]
Journal written by <a href="[% constants.real_rootdir %]/~[% thisuser.nickname | fixnickforlink | strip_paramattr %]/journal/"
>[% thisuser.nickname | strip_literal %] ([% thisjournal.uid %])</a> and [%
ELSIF story.by %]
Written by [% story.by | strip_literal %] and [%
END;
END %]
posted by
[% IF author.homepage %]
<a href="[% author.homepage %]">[% author.nickname | strip_literal %]</a>
[% ELSE %]
<a href="[% constants.real_rootdir %]/~[% author.nickname | fixnickforlink | strip_paramattr %]/"> [% author.nickname | strip_literal %]</a>
[% END %]
[% story.atstorytime %]
[% IF constants.plugin.Print %]
<a href="[% gSkin.rootdir -%]/print.pl?sid=[% story.sid %]"><img src="[% constants.imagedir %]/print.gif" height="11" width="15" alt="Printer-friendly"></a>
[% END %]
[% IF constants.plugin.Email %]
<a href="[% gSkin.rootdir -%]/email.pl?sid=[% story.sid %]"><img src="[% constants.imagedir -%]/email.gif" height="14" width="20" alt="Email story" ></a>
[% END %]<br>
[% IF constants.use_dept && story.dept %]<strong>from the <b>[% story.dept %]</b> dept.</strong>[% END %]
</div>
<div class="body">
<!-- BEGIN in-memory update 2020-03-20 --martyb -->
<div class="linkCommentPage" style="margin: 0; padding: 0; background-color: inherit !important;">
<span class="nbutton">
<b>
<style>html body div#frame div#contents div#index div#articles div.article div.body div.linkCommentPage span.nbutton b a {display: none;}</style>
<a href="#acomments">Skip to comment(s)</a>
</b>
</span>
</div>
<!-- END in-memory update 2020-03-20 --martyb -->
[% mypagemenu = PROCESS pagemenu; IF mypagemenu %]<br>[% mypagemenu %][% END %]
<div class="topic">
[% seen_topics.${topic.tid} = 1 %]
[% IF user.lowbandwidth || user.simpledesign || user.noicons || user.pda %]
[ <a href="[% gSkin.rootdir %]/search.pl?tid=[% topic.tid %]">[% topic.textname %]</a> ]
[% ELSIF topic.image %]
<a href="[% gSkin.rootdir %]/search.pl?tid=[% topic.tid %]">
<img src="[% constants.imagedir %]/topics/[% topic.image %]" width="[% topic.width %]" height="[% topic.height %]" alt="[% topic.textname %]" title="[% topic.textname %]" >
</a>
[% END %]
[% FOREACH tid = topiclist %]
[% IF seen_topics.$tid ; NEXT ; END %]
[% seen_topics.$tid = 1 %]
[% topic2 = Slash.db.getTopic(tid) %]
[% IF user.lowbandwidth || user.simpledesign || user.noicons %]
[ <a href="[% gSkin.rootdir %]/search.pl?tid=[% topic2.tid %]" class="topic2">[% topic2.textname %]</a> ]
[% ELSIF topic2.image %]
<a href="[% gSkin.rootdir %]/search.pl?tid=[% topic2.tid %]" class="topic2">
<img src="[% constants.imagedir %]/topics/[% topic2.image %]" width="[% topic2.width %]" height="[% topic2.height %]" alt="[% topic2.textname %]" title="[% topic2.textname %]" >
</a>
[% END %]
[% END %]
</div>
<div class="intro">
[%
# Look ye to parseDomainTags for the domaintags == [0-2] logic
%]
[% IF user.domaintags == "3" %]
[% story.introtext | apply_rehash_tags %]
[% ELSE %]
[% pretext = story.introtext | apply_rehash_tags;
pretext = Slash.addDomainTags(pretext);
pretext = Slash.parseDomainTags(pretext, 1); %]
[% pretext %]
[% END %]
</div>
[% IF !full && story.bodytext.length %]
<input type="checkbox" id="more_[% story.sid %]" class="story_more" autocomplete="off" />
<label for="more_[% story.sid %]" class="story_more">[% constants.story_more %]</label>
<div class="story_more full">
[% story.bodytext | apply_rehash_tags %]
</div>
[% END %]
[% IF full && user.is_admin %]
<br><a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ Edit ]</a>
[% IF user.acl.signoff_allowed %]
[% signed = Slash.db.hasUserSignedStory(stoid, user.uid); %]
[% UNLESS signed %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ No Signoff ]</a> [% END %]
[% END %]
[% possndstory = Slash.db.getStory(stoid) %]
[% UNLESS possndstory.neverdisplay %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">[ Display Enabled ]</a>[% END %]
[% END %]
[% IF story.is_future && !user.is_admin %]<p>See any serious problems with this story?
[% IF constants.ircslash_remarks %]
Paste a short message here (if it's a dupe, the URL would be great)
<form action="[% gSkin.rootdir %]/index.pl" method="post">
<input type="text" name="remark" size="20" maxlength="100">
<input type="hidden" name="sid" value="[% story.sid | strip_attribute %]" >
</form>
or email
[% ELSE %]
[% END %]
<a href="mailto:[% constants.adminmail %]?subject=[DP]%20[% story.title | strip_paramattr_nonhttp %]">our on-duty editor</a>.
[% END %]
[% IF full && story.bodytext %]
<div class="full">
[% story.bodytext | apply_rehash_tags %]
</div>
[% END %]
</div>
</div>
[% ELSIF dispmode == "brief" %]
[% IF story.is_future %]<div class="future">[% END %]
<div class="briefarticle">
[% storylink = Slash.linkStory ({
sid => story.sid,
link => story.title,
tid => story.tid
skin => story.primaryskid
}, 1 );
%]
[% title = ''; IF magic;
thisskin = Slash.db.getSkin(story.primaryskid);
IF thisskin.rootdir;
title = "<a href=\"$thisskin.rootdir/\">";
ELSE;
IF user.is_anon;
title = "<a href=\"$gSkin.rootdir/$thisskin.name/\">";
ELSE;
title = "<a href=\"$gSkin.rootdir/index.pl?section=$story.primaryskid\">";
END;
END;
title = "<span class=\"section\">" _ title _ thisskin.title _ "</a></span>: ";
END;
title = title _ "<span class=\"storytitle\"><a href=\"$thisskin.rootdir/article.pl?sid=$story.sid\">$story.title</a></span>";
%]
[% title %] [% IF story.commentcount %][% story.commentcount %] comment[% IF story.commentcount > 1 %]s[% END %][% END %]
[% IF user.is_admin %]<a href="[% gSkin.rootdir -%]/admin.pl?op=edit&sid=[% story.sid %]">(edit)</a>[% END %]
[% IF getintro %]
<div class="introhide" id="intro-[% story.stoid %]">
[% story.introtext | apply_rehash_tags %]
</div>
[% END %]
</div>
[% IF story.is_future %]</div>[% END %]
[% END %]
Here is a summary of the problems that have been reported against SoylentNews and that have been addressed in the release labelled: "December 2017"
Issue: #279 "Add min karma for the journals slashbox"
PROBLEM:
Accounts signing up then posting commercial spam Journal entries in order to appear on most user's view of the main SN site, within the Most Recent Journal Entries box. Whilst offering zero other contribution to the community.SOLUTION:
A. Most Recent Journal Entries only to be populated with Journal entries by accounts with a Karma > N. 5 to be the initial value for N (that would hide all currently seen Journal spam from view), but should be an easily tweaked parameter should we need to revisit this threshold).B. Addition of a link to "Unfiltered Most Recent Journal Entries" to be added to the bottom of the Most Recent Journal Entries rehashbox so users can easily compare the filtered to unfiltered lists.
ADDENDUM:
This change will need to be clearly announced and rationale explained. We will also need to monitor effectiveness in case spam accounts begin to farm Karma in order to route around this change.
Issue: #410: Spoiler tag doesn't work on Journal comments.pl
Issue: #281: Request: increase size of submission/story notes
It seems to be limited to 1024 characters. How about 8192 or 16384 characters?
Don't accidentally delete the notes!
Need to update stories and submissions tables to set the notes and comments columns to text (from varchar(1023). Then need to update all of the templates to change the maxsize attribute.
Issue: #309: Link to submission queue on side bar
Appears as a link to "https://dev.soylentnews.org/submit.pl?op=list" with link text "Subs Queue"
Issue: #413: Margins of lists are sometimes non-existent despite use of line breaks
https://soylentnews.org/comments.pl?noupdate=1&sid=22853&page=1&cid=604019#commentwrap
The margin-top or especially margin-bottom of lists does not always work as expected. See the above comment. There should be a line break between "IV" and "I believe these moderations would be extremely popular."
The spacing (margins) does not match what is seen in the "Preview Comment".
https://dev.soylentnews.org/comments.pl?sid=1401
Also <ol type="I"> is not implemented on dev.soylentnews.org
Issue: #402: Comments with no apparent subject using a unicode space
Chromas used a unicode space or zero-width space character to make a comment with no apparent subject. When you get a Message about receiving the comment, the CID is not clickable like it normally would be.
https://soylentnews.org/comments.pl?noupdate=1&sid=21276&page=1&cid=559159#commentwrap
Test story created at 20170228_001952 UTC for paulej72 to have a place to play around with comments.
some more.
CALL comment 0000
SET sn
PAUSE
CALL comment 0001 --reply-to 0000
CALL comment 0002 --reply-to 0001
CALL comment 0003
CALL comment 0004 --reply-to 0003
CALL comment 0005 --reply-to 0004
CALL comment 0006
CALL comment 0007 --reply-to 0006
CALL comment 0008 --reply-to 0007
CALL comment 0009 --reply-to 0008
CALL comment 0010
CALL comment 0011 --reply-to 0010
CALL comment 0012 --reply-to 0011
CALL comment 0013
CALL comment 0014 --reply-to 0013
CALL comment 0015 --reply-to 0014
CALL comment 0016
CALL comment 0017 --reply-to 0016
CALL comment 0018 --reply-to 0017
CALL comment 0019 --reply-to 0018
CALL comment 0020
CALL comment 0021 --reply-to 0020
CALL comment 0022 --reply-to 0021
CALL comment 0023
CALL comment 0024 --reply-to 0023
CALL comment 0025 --reply-to 0024
CALL comment 0026
CALL comment 0027 --reply-to 0026
CALL comment 0028 --reply-to 0027
CALL comment 0029 --reply-to 0028
CALL comment 0030
CALL comment 0031 --reply-to 0030
CALL comment 0032 --reply-to 0031
CALL comment 0033
CALL comment 0034 --reply-to 0033
CALL comment 0035 --reply-to 0034
CALL comment 0036
CALL comment 0037 --reply-to 0036
CALL comment 0038 --reply-to 0037
CALL comment 0039 --reply-to 0038
CALL comment 0040
CALL comment 0041 --reply-to 0040
CALL comment 0042 --reply-to 0041
CALL comment 0043
CALL comment 0044 --reply-to 0043
CALL comment 0045 --reply-to 0044
CALL comment 0046
CALL comment 0047 --reply-to 0046
CALL comment 0048 --reply-to 0047
CALL comment 0049 --reply-to 0048
CALL comment 0050
CALL comment 0051 --reply-to 0050
CALL comment 0052 --reply-to 0051
CALL comment 0053
CALL comment 0054 --reply-to 0053
CALL comment 0055 --reply-to 0054
CALL comment 0056
CALL comment 0057 --reply-to 0056
CALL comment 0058 --reply-to 0057
CALL comment 0059 --reply-to 0058
Research has shown that smartphone sensors leave trackable fingerprints. Due to imperfections in the hardware manufacturing process, it is possible to distinguish different devices just from sensor data.
The researchers tested more than 100 devices over the course of nine months: 80 standalone accelerometer chips used in popular smartphones, 25 Android phones and two tablets.
The accelerometers in all permutations were selected from different manufacturers, to ensure that the fingerprints weren't simply defects resulting from a particular production line.
With 96-percent accuracy, the researchers could discriminate one sensor from another.
"We do not need to know any other information about the phone—no phone number or SIM card number," Dey said. "Just by looking at the data, we can tell you which device it's coming from. It's almost like another identifier."
Maybe this explains why Facebook would be interested in a fitness app.
Story posted to the meta section.
This is the second paragraph
This is the third, and last, paragraph.
some random text here. need to determine if getStoriesEssentials is behaving correctly.
SpallsHurgenson dropped a link in IRC.Apparently, an imgr user was uploaded 142 behind the sceenes photos of minitures frm blade runner. A massive gallery of behind-the-scenes Blade Runner slides has been uploaded to the internet, revealing a teeny, tiny world of space blimps and flying cars, all crafted with special care and beautiful attention to detail. Take a look at the dystopian miniatures, each tiny car hand painted with future dirt from riding clouds stuffed with future smug.
I have a theory that bug #85 https://github.com/SoylentNews/rehash/issues/85 might have something to do with a story which has a title which contains a character > U+007f
This story has the character ‘ before the word "prod" and the character ’ immediately after it. Those characters correspond to U+2018 and U+2019, respectively.
Will be interesting to see if this story gets e-mailed out okay.
NC: testing story edit. Test54