<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.soylentnews.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=FatPhil</id>
	<title>SoylentNews - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.soylentnews.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=FatPhil"/>
	<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/wiki/Special:Contributions/FatPhil"/>
	<updated>2026-05-16T15:38:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.4</generator>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=IncidentLog&amp;diff=6374</id>
		<title>IncidentLog</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=IncidentLog&amp;diff=6374"/>
		<updated>2014-03-17T01:52:26Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a log of incidents that occurred and how they were remedied.&lt;br /&gt;
&lt;br /&gt;
==March 13,2014==&lt;br /&gt;
=== Begin 22:18 PST, end c. 23:50 ===&lt;br /&gt;
&lt;br /&gt;
martyp reports same problem as before on main site, 0 comment counts, audioguy agrees to have a look.&lt;br /&gt;
&lt;br /&gt;
Slashd not running.&lt;br /&gt;
&lt;br /&gt;
Attempt to start slashd, which started but with complaints about not being able to connect to the database. Decided to restart apache, due to the strong dependencies there with modperl.&lt;br /&gt;
&lt;br /&gt;
Apache refused to start, citing lack of connection to database. Stopped slashd, in order to try bringing up Apache first, then slash. Apache still refused to start, unable to connect to the database.&lt;br /&gt;
&lt;br /&gt;
At this point NCommander appeared, audioguy handed all incident response authority to him.&lt;br /&gt;
&lt;br /&gt;
NCommander had some difficulty connecting due to an extremely poor connection at his location (ssh being blocked), but was finally able to get in through the Web interface at Linode. (Interesting but incidental fact: an attempt was made to get in through audioguys account on slashcott which is on an alternate port, but ssh access was thwarted even on this alternate port.)&lt;br /&gt;
&lt;br /&gt;
NCommander determined the problem was due to the ssl cert on the database having expired. This was set up by someone no longer here with a very short expiration time, for unknown reasons. &lt;br /&gt;
&lt;br /&gt;
NCommander was able to regenerate a new ssl cert and bring things back up.&lt;br /&gt;
&lt;br /&gt;
A short discussion with NCommander afterward brought out the following facts:&lt;br /&gt;
&lt;br /&gt;
The database was confirmed to be on a different machine, to which audioguy had no access. Audioguy would not have been able to solve this problem, having access only to the main server, not the database server. The database uses ssl because of this remote connection.&lt;br /&gt;
&lt;br /&gt;
The main server cannot be brought up by a simple reboot in an emergency. The Apache server must be started by hand. (It is located in /srv/soylentnews.org/apache an unusual location).&lt;br /&gt;
&lt;br /&gt;
NCommander has no idea why Nginx is running on the slash machine. &lt;br /&gt;
&lt;br /&gt;
A brief discussion about documenting System Administration was held, this is to be a high priority once NCommander returns from vacation. NCommander received a reprieve from various possible flogging and keel-hauling due to his timely appearance to save the day.&lt;br /&gt;
&lt;br /&gt;
After Action Recommendations:&lt;br /&gt;
&lt;br /&gt;
* The same people who have access to the main server should also have access to the database server, since the system cannot be brought up from a dead stop without this access.&lt;br /&gt;
* The system will not start itself from a cold reboot at present. This is non-standard behavior, and is easily fixed. While I am not familiar with the specifics of how this is done on Ubuntu, every other unix style system I am aware of has a means to provide a local start and local stop function in the startup sequence as a way to automate special cases. In addition, it seems likely that Ubuntu would have a startup script for apache 1.3, perhaps an old one, that could be modified to work. Generally systems have some way to specify start order as well, which we need. This should be done.&lt;br /&gt;
* Someone needs to have a look at nginx and and see exactly what it is doing. If nothng useful, it should be shut down. It is unusual to have to have two separate httpd servers running on the same machine, particularly if that machine is a production machine designed to handle one application. Unless it has a clear use, it is simply an additional load and possible security risk at this point.&lt;br /&gt;
* The start and stop procedures for slash need to be clearly documentd somewhere. If no one objects, I will begin a new section on the wiki that has at least the very basics, at a level that someone not very familiar with the system can understand.&lt;br /&gt;
&lt;br /&gt;
- AudioGuy&lt;br /&gt;
&lt;br /&gt;
==March 11, 2014==&lt;br /&gt;
===15:30-17:00 EDT===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Summary.  There was a report of a problem at http://soylentnews.org; logged-in users saw a comment count of zero (0) for the three newest stories on the main page.  When a user went to the actual story, there were comments there.  Separately, non-logged-in users failed to even see the most-recent 3 stories.  In light of recent developments, credentials had been removed for many people; the one person who had access to everything was unavailable.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;What went well:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Generally followed procedures outlined in ICS (Incident Command System)&lt;br /&gt;
&amp;lt;li&amp;gt;Used private channel on http://irc.sylnt.us/ to communicate in real time.&lt;br /&gt;
&amp;lt;li&amp;gt;Incident Commander performed a .op and prefixed nick with &amp;quot;cmdr_&amp;quot; to clearly identify role.&lt;br /&gt;
&amp;lt;li&amp;gt;The main site stayed up as we attempted to solve the problem.&lt;br /&gt;
&amp;lt;li&amp;gt;Staff jumped in and offered their services.&lt;br /&gt;
&amp;lt;li&amp;gt;Provided some updates to the community via IRC on channel: #Soylent&lt;br /&gt;
&amp;lt;li&amp;gt;Focused on gathering data to identify problem and outline possible solutions.&lt;br /&gt;
&amp;lt;li&amp;gt;Performed confirmation after it appeared the problem was fixed, to ensure it actually was fixed.&lt;br /&gt;
&amp;lt;li&amp;gt;Requested feedback on lessons learned.&lt;br /&gt;
&amp;lt;li&amp;gt;Incident Commander admitted mistakes.&lt;br /&gt;
&amp;lt;li&amp;gt;There were some ruffled feathers, but all-in-all people worked well together.&lt;br /&gt;
&amp;lt;li&amp;gt;Established a follow-up to find underlying cause of problem and to document solution.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;What did not go well:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Did not use staff mailing list to inform all staff there was a problem.&lt;br /&gt;
&amp;lt;li&amp;gt;Incident Commander failed to recognize when a technical lead role was needed and to delegate a task leader for it.&lt;br /&gt;
&amp;lt;li&amp;gt;Key people who had domain knowledge and access were unavailable.&lt;br /&gt;
&amp;lt;li&amp;gt;Other people with the know-how to diagnose and fix the problem lacked the credentials they needed to do so.&lt;br /&gt;
&amp;lt;li&amp;gt;Lacked alternative means to contact key people. (e.g. phone numbers)&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Takeaway.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There is a fine core of dedicated professionals who genuinely want to see the site succeed.  They rose to the occasion and strove to work together.  We successfully diagnosed and solved the problem without causing further damage.  We learned what happened when there was a failure to identify when a task leader was needed and to delegate appropriately.  We successfully coordinated efforts from people who were distributed in multiple locations and time zones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After Action Report&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Upon looking at the slashd log it was confirmed by Dev staff that slashd died almost the same time that the DNS was taken down in the previous issue. Dev staff believe that due to slashes reliance on the fully qualified domain name for many urls that it did not handle the no DNS issue very well and slashd died because of it.  Our recommendation is to add the FQDN to the host file and to add some watchdog to the system to make sure slashd and other systems stay running. Given that this is a Ubuntu system, it should be possible to turn get Upstart to respawn it as a system service. It seems probably slashd died at the hands of the OOM killer, yet we are lacking the kernel logs for that, which might tell us if it was slashd or some other task that was the reason for the OOM state.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===11:30-13:30 EST===&lt;br /&gt;
'''Summary:'''&lt;br /&gt;
In migrating the service linode and remaining credit from the other 2 unused linodes to NCommander's account, the original account had to be closed. After closing the account and transferring over the svc. linode, somehow the DNS zone record was lost and nearly everything went down.&lt;br /&gt;
&lt;br /&gt;
*Mailed staff via mailing list to notify of site going down&lt;br /&gt;
*Got in touch with dev team members via IRC&lt;br /&gt;
*Discovered no one available had access to lindoe manager interface&lt;br /&gt;
*Devs tried rebooting the production linode via root access&lt;br /&gt;
**This lead to 503 errors&lt;br /&gt;
&lt;br /&gt;
After much confusion and digging, we figured out what the problem is (the DNS zone records going missing with the account closure), I called linode, had the file(s) transferred to Ncommander's account and reinstated.&lt;br /&gt;
&lt;br /&gt;
This caused problems with slashd (see above)&lt;br /&gt;
&lt;br /&gt;
Devs: feel free to add to this log what we learned, how to prevent in the future.&lt;br /&gt;
&lt;br /&gt;
[[User:Mrcoolbp|mrcoolbp]] ([[User talk:Mrcoolbp|talk]]) 23:24, 11 March 2014 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lack of Commander Incidents ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Sat 2014-03-16:&lt;br /&gt;
17:59 &amp;lt;@janrinok&amp;gt; Sorry guys, but I've got to go look after my other half.&lt;br /&gt;
17:59 &amp;lt;@janrinok&amp;gt; .deop&lt;br /&gt;
17:59 -!- mode/#staff [-o janrinok] by what-if-i&lt;br /&gt;
18:04 -!- kobach [~nope@Soylent/Staff/IRC/kobach] has left #staff [nope]&lt;br /&gt;
18:05 -!- janrinok [~janrinok@Soylent/Staff/Editor/janrinok] has quit [Quit: leaving]&lt;br /&gt;
18:41 &amp;lt;+FatPhil&amp;gt; dammit&lt;br /&gt;
18:41 &amp;lt;+FatPhil&amp;gt; .op&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Sun 2014-03-17:&lt;br /&gt;
00:18 &amp;lt;@FatPhil&amp;gt; &amp;quot;21:52  * FatPhil has itchy feet&amp;quot; That was 2 and a half hours ago - I'm cracking open a beer now&lt;br /&gt;
00:23 &amp;lt;@FatPhil&amp;gt; .deop&lt;br /&gt;
00:43 -!- You have been marked as being away&lt;br /&gt;
...&lt;br /&gt;
01:27 -!- bytram [~a6b50356@Soylent/Staff/Developer/martyb] has joined #staff&lt;br /&gt;
01:27 -!- mode/#staff [+v bytram] by what-if-i&lt;br /&gt;
01:27 &amp;lt;+bytram&amp;gt; Hi gang!&lt;br /&gt;
01:27 &amp;lt;+FatPhil&amp;gt; you're cmdr&lt;br /&gt;
01:27 &amp;lt;+bytram&amp;gt; who says?&lt;br /&gt;
01:28 &amp;lt;+FatPhil&amp;gt; everyone who's not cmdr, which is everyone&lt;br /&gt;
01:28 &amp;lt;+bytram&amp;gt; I just popped in to see if there was an editor here?  Main page's newest story looks to be 4hrs old.&lt;br /&gt;
01:28 &amp;lt;+FatPhil&amp;gt; I'm in the pub, not reading the chan&lt;br /&gt;
01:28 &amp;lt;+bytram&amp;gt; k&lt;br /&gt;
01:29 &amp;lt;+FatPhil&amp;gt; (I know there's evidence to the contrary)&lt;br /&gt;
01:29 &amp;lt;+bytram&amp;gt; .op&lt;br /&gt;
01:29 -!- mode/#staff [+o bytram] by what-if-i&lt;br /&gt;
01:29 &amp;lt;+FatPhil&amp;gt; thank you&lt;br /&gt;
01:29 &amp;lt;@bytram&amp;gt; don't know how long I stay, but happy to help.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=IncidentLog&amp;diff=6372</id>
		<title>IncidentLog</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=IncidentLog&amp;diff=6372"/>
		<updated>2014-03-16T22:44:55Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: Not having someone in command is a risk whilst we're not ticking over without worry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a log of incidents that occurred and how they were remedied.&lt;br /&gt;
&lt;br /&gt;
==March 13,2014==&lt;br /&gt;
=== Begin 22:18 PST, end c. 23:50 ===&lt;br /&gt;
&lt;br /&gt;
martyp reports same problem as before on main site, 0 comment counts, audioguy agrees to have a look.&lt;br /&gt;
&lt;br /&gt;
Slashd not running.&lt;br /&gt;
&lt;br /&gt;
Attempt to start slashd, which started but with complaints about not being able to connect to the database. Decided to restart apache, due to the strong dependencies there with modperl.&lt;br /&gt;
&lt;br /&gt;
Apache refused to start, citing lack of connection to database. Stopped slashd, in order to try bringing up Apache first, then slash. Apache still refused to start, unable to connect to the database.&lt;br /&gt;
&lt;br /&gt;
At this point NCommander appeared, audioguy handed all incident response authority to him.&lt;br /&gt;
&lt;br /&gt;
NCommander had some difficulty connecting due to an extremely poor connection at his location (ssh being blocked), but was finally able to get in through the Web interface at Linode. (Interesting but incidental fact: an attempt was made to get in through audioguys account on slashcott which is on an alternate port, but ssh access was thwarted even on this alternate port.)&lt;br /&gt;
&lt;br /&gt;
NCommander determined the problem was due to the ssl cert on the database having expired. This was set up by someone no longer here with a very short expiration time, for unknown reasons. &lt;br /&gt;
&lt;br /&gt;
NCommander was able to regenerate a new ssl cert and bring things back up.&lt;br /&gt;
&lt;br /&gt;
A short discussion with NCommander afterward brought out the following facts:&lt;br /&gt;
&lt;br /&gt;
The database was confirmed to be on a different machine, to which audioguy had no access. Audioguy would not have been able to solve this problem, having access only to the main server, not the database server. The database uses ssl because of this remote connection.&lt;br /&gt;
&lt;br /&gt;
The main server cannot be brought up by a simple reboot in an emergency. The Apache server must be started by hand. (It is located in /srv/soylentnews.org/apache an unusual location).&lt;br /&gt;
&lt;br /&gt;
NCommander has no idea why Nginx is running on the slash machine. &lt;br /&gt;
&lt;br /&gt;
A brief discussion about documenting System Administration was held, this is to be a high priority once NCommander returns from vacation. NCommander received a reprieve from various possible flogging and keel-hauling due to his timely appearance to save the day.&lt;br /&gt;
&lt;br /&gt;
After Action Recommendations:&lt;br /&gt;
&lt;br /&gt;
* The same people who have access to the main server should also have access to the database server, since the system cannot be brought up from a dead stop without this access.&lt;br /&gt;
* The system will not start itself from a cold reboot at present. This is non-standard behavior, and is easily fixed. While I am not familiar with the specifics of how this is done on Ubuntu, every other unix style system I am aware of has a means to provide a local start and local stop function in the startup sequence as a way to automate special cases. In addition, it seems likely that Ubuntu would have a startup script for apache 1.3, perhaps an old one, that could be modified to work. Generally systems have some way to specify start order as well, which we need. This should be done.&lt;br /&gt;
* Someone needs to have a look at nginx and and see exactly what it is doing. If nothng useful, it should be shut down. It is unusual to have to have two separate httpd servers running on the same machine, particularly if that machine is a production machine designed to handle one application. Unless it has a clear use, it is simply an additional load and possible security risk at this point.&lt;br /&gt;
* The start and stop procedures for slash need to be clearly documentd somewhere. If no one objects, I will begin a new section on the wiki that has at least the very basics, at a level that someone not very familiar with the system can understand.&lt;br /&gt;
&lt;br /&gt;
- AudioGuy&lt;br /&gt;
&lt;br /&gt;
==March 11, 2014==&lt;br /&gt;
===15:30-17:00 EDT===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Summary.  There was a report of a problem at http://soylentnews.org; logged-in users saw a comment count of zero (0) for the three newest stories on the main page.  When a user went to the actual story, there were comments there.  Separately, non-logged-in users failed to even see the most-recent 3 stories.  In light of recent developments, credentials had been removed for many people; the one person who had access to everything was unavailable.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;What went well:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Generally followed procedures outlined in ICS (Incident Command System)&lt;br /&gt;
&amp;lt;li&amp;gt;Used private channel on http://irc.sylnt.us/ to communicate in real time.&lt;br /&gt;
&amp;lt;li&amp;gt;Incident Commander performed a .op and prefixed nick with &amp;quot;cmdr_&amp;quot; to clearly identify role.&lt;br /&gt;
&amp;lt;li&amp;gt;The main site stayed up as we attempted to solve the problem.&lt;br /&gt;
&amp;lt;li&amp;gt;Staff jumped in and offered their services.&lt;br /&gt;
&amp;lt;li&amp;gt;Provided some updates to the community via IRC on channel: #Soylent&lt;br /&gt;
&amp;lt;li&amp;gt;Focused on gathering data to identify problem and outline possible solutions.&lt;br /&gt;
&amp;lt;li&amp;gt;Performed confirmation after it appeared the problem was fixed, to ensure it actually was fixed.&lt;br /&gt;
&amp;lt;li&amp;gt;Requested feedback on lessons learned.&lt;br /&gt;
&amp;lt;li&amp;gt;Incident Commander admitted mistakes.&lt;br /&gt;
&amp;lt;li&amp;gt;There were some ruffled feathers, but all-in-all people worked well together.&lt;br /&gt;
&amp;lt;li&amp;gt;Established a follow-up to find underlying cause of problem and to document solution.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;What did not go well:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Did not use staff mailing list to inform all staff there was a problem.&lt;br /&gt;
&amp;lt;li&amp;gt;Incident Commander failed to recognize when a technical lead role was needed and to delegate a task leader for it.&lt;br /&gt;
&amp;lt;li&amp;gt;Key people who had domain knowledge and access were unavailable.&lt;br /&gt;
&amp;lt;li&amp;gt;Other people with the know-how to diagnose and fix the problem lacked the credentials they needed to do so.&lt;br /&gt;
&amp;lt;li&amp;gt;Lacked alternative means to contact key people. (e.g. phone numbers)&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Takeaway.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There is a fine core of dedicated professionals who genuinely want to see the site succeed.  They rose to the occasion and strove to work together.  We successfully diagnosed and solved the problem without causing further damage.  We learned what happened when there was a failure to identify when a task leader was needed and to delegate appropriately.  We successfully coordinated efforts from people who were distributed in multiple locations and time zones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After Action Report&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Upon looking at the slashd log it was confirmed by Dev staff that slashd died almost the same time that the DNS was taken down in the previous issue. Dev staff believe that due to slashes reliance on the fully qualified domain name for many urls that it did not handle the no DNS issue very well and slashd died because of it.  Our recommendation is to add the FQDN to the host file and to add some watchdog to the system to make sure slashd and other systems stay running. Given that this is a Ubuntu system, it should be possible to turn get Upstart to respawn it as a system service. It seems probably slashd died at the hands of the OOM killer, yet we are lacking the kernel logs for that, which might tell us if it was slashd or some other task that was the reason for the OOM state.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===11:30-13:30 EST===&lt;br /&gt;
'''Summary:'''&lt;br /&gt;
In migrating the service linode and remaining credit from the other 2 unused linodes to NCommander's account, the original account had to be closed. After closing the account and transferring over the svc. linode, somehow the DNS zone record was lost and nearly everything went down.&lt;br /&gt;
&lt;br /&gt;
*Mailed staff via mailing list to notify of site going down&lt;br /&gt;
*Got in touch with dev team members via IRC&lt;br /&gt;
*Discovered no one available had access to lindoe manager interface&lt;br /&gt;
*Devs tried rebooting the production linode via root access&lt;br /&gt;
**This lead to 503 errors&lt;br /&gt;
&lt;br /&gt;
After much confusion and digging, we figured out what the problem is (the DNS zone records going missing with the account closure), I called linode, had the file(s) transferred to Ncommander's account and reinstated.&lt;br /&gt;
&lt;br /&gt;
This caused problems with slashd (see above)&lt;br /&gt;
&lt;br /&gt;
Devs: feel free to add to this log what we learned, how to prevent in the future.&lt;br /&gt;
&lt;br /&gt;
[[User:Mrcoolbp|mrcoolbp]] ([[User talk:Mrcoolbp|talk]]) 23:24, 11 March 2014 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lack of Commander Incidents ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Sat 2014-03-16:&lt;br /&gt;
17:59 &amp;lt;@janrinok&amp;gt; Sorry guys, but I've got to go look after my other half.&lt;br /&gt;
17:59 &amp;lt;@janrinok&amp;gt; .deop&lt;br /&gt;
17:59 -!- mode/#staff [-o janrinok] by what-if-i&lt;br /&gt;
18:04 -!- kobach [~nope@Soylent/Staff/IRC/kobach] has left #staff [nope]&lt;br /&gt;
18:05 -!- janrinok [~janrinok@Soylent/Staff/Editor/janrinok] has quit [Quit: leaving]&lt;br /&gt;
18:41 &amp;lt;+FatPhil&amp;gt; dammit&lt;br /&gt;
18:41 &amp;lt;+FatPhil&amp;gt; .op&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Sun 2014-03-17:&lt;br /&gt;
00:18 &amp;lt;@FatPhil&amp;gt; &amp;quot;21:52  * FatPhil has itchy feet&amp;quot; That was 2 and a half hours ago - I'm cracking open a beer now&lt;br /&gt;
00:23 &amp;lt;@FatPhil&amp;gt; .deop&lt;br /&gt;
00:43 -!- You have been marked as being away&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=GitUse&amp;diff=6125</id>
		<title>GitUse</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=GitUse&amp;diff=6125"/>
		<updated>2014-03-14T11:58:44Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: git blame&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Development]] - parent&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
This book is essential reading for users of all levels [[http://git-scm.com/book]]&lt;br /&gt;
&lt;br /&gt;
== Principles ==&lt;br /&gt;
* One patch one change. E.g. don't change the URLs in the HTML and the indenting in the same patch, first do the whitespace changes, then do the content changes. This requires self control, but is made much easier one you know how to split your edits into multiple commits. (See below)&lt;br /&gt;
* In a patchset, do non-functional cleanup/cosmetic changes, or anything that will make the subsequent patches easier to review, first. Then do bugfix changes. Then do feature adds.&lt;br /&gt;
* One patch one change.&lt;br /&gt;
* Write meaningful commit messages. [[http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html]] [[http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message]]&lt;br /&gt;
* One patch one change. I mean it.&lt;br /&gt;
* Work in your own repo, and always work on a branch. That way, your master can be kept exactly in step with the upstream master. Pull, and rebase your branch on the updated master regularly. That makes it trivial for the repo maintainer to pull your branch, verify it, and merge it onto master. Do not expect the repo maintainer to rebase your changes for you, that's your job.&lt;br /&gt;
* Get your patches reviewed. Add &amp;quot;Reviewed-by:&amp;quot;, &amp;quot;Acked-by:&amp;quot;, or &amp;quot;Signed-off-by:&amp;quot; as appropriate to the commit messages before pushing to your externally-visable repo.&lt;br /&gt;
&lt;br /&gt;
Do not worry about having lots of small patches - every single one will hopefully be utterly trivial to review and verify to be correct.&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
I'm presuming you know how to:&lt;br /&gt;
* clone a repo (git clone)&lt;br /&gt;
* make a branch, and switch between branches (git branch, git checkout)&lt;br /&gt;
* commit changes (git add, git commit)&lt;br /&gt;
* fetch/pull remote branches (git fetch, git pull)&lt;br /&gt;
* rebasing your branch when upstream changes (git rebase)&lt;br /&gt;
* create a patchset for review (git format-patch), and mail that patchset to a mailing list (git send-email)&lt;br /&gt;
* create a pull request (git request-pull)&lt;br /&gt;
&lt;br /&gt;
I can expand on any of those if needed.&lt;br /&gt;
&lt;br /&gt;
== Splitting Edits Into Multiple Commits ==&lt;br /&gt;
You've changed several things in a single, or multiple files, and you realise that really they ought to be in separate patches. Solution:&lt;br /&gt;
* git add -p&lt;br /&gt;
You can select each hunk, and even recurse into each hunk if it includes multiple changed parts. Once you've added all the bits that belong in the first patch:&lt;br /&gt;
* git commit -s&lt;br /&gt;
Add your meaningful commit message, then GOTO 10&lt;br /&gt;
&lt;br /&gt;
== Undoing a change you've just committed ==&lt;br /&gt;
Undo it in the editor, and then use git add (possibly add -p as above) to stage that change, and then git commit --amend to squash that change into the previous commit.&lt;br /&gt;
&lt;br /&gt;
== Rewriting History ==&lt;br /&gt;
You can edit old commit messages, tweak old patches, squash two adjacent patches together, and even reorder the patches with git rebase -i&lt;br /&gt;
&lt;br /&gt;
To re-order the last 6 patches:&lt;br /&gt;
* git rebase -i HEAD~6&lt;br /&gt;
If the patches touch the same code, you might need to deal with merge conflicts - search for &amp;lt;&amp;lt;&amp;lt; in the affected file(s), git add that file(s), then git rebase --continue.&lt;br /&gt;
If the conflicts are too hard to resolve - just abort the whole rebase with git merge --abort&lt;br /&gt;
&lt;br /&gt;
Do not rewrite any history that you've shared with anyone else, so anything that you've pushed to an externally-facing repo.&lt;br /&gt;
&lt;br /&gt;
It is possible to do all kinds of clever things in the middle of a rebase. Sometimes you can get carried away and forget you're in the middle of a rebase. This can lead to confusion, and the inability to do various things, so I find it best to keep my rebases quick and simple, done in one session.&lt;br /&gt;
&lt;br /&gt;
== Deleting Branches From Your Public Repo ==&lt;br /&gt;
If you've put all of your changes into their own branch, which you should be doing, then you might notice you're accumulating branches. Delete them remotely by pushing nothing onto them.&lt;br /&gt;
* git push &amp;lt;remoterepo&amp;gt; :&amp;lt;remotebranchname&amp;gt;&lt;br /&gt;
Normally you'd use &amp;lt;sourcebranchname&amp;gt;:&amp;lt;remotebranchname&amp;gt;, but having nothing as the sourcebranchname is a special case just for deletion.&lt;br /&gt;
Of course, you can delete your local branches with &lt;br /&gt;
* git branch -D &amp;lt;branchname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oh Shit. Oh Shit Oh Shit. Oh Shiiiiiiit!!!! ==&lt;br /&gt;
Yup, you've chopped a limb off. git rebase --abort and git merge --abort not there to save the day? Don't panic! If you remember the last commit you made that you'd be happy to return to, then use:&lt;br /&gt;
* git reflog&lt;br /&gt;
It will show you everything you've done recently. You can then:&lt;br /&gt;
* git reset --hard &amp;lt;hash&amp;gt;&lt;br /&gt;
To just jump back in time to that commit, and start again.&lt;br /&gt;
&lt;br /&gt;
This scenario reinforces the &amp;quot;always work on a branch&amp;quot; policy. You don't want to accidentally rewrite the history of a branch (master, which you pulled from upstream) that isn't yours.&lt;br /&gt;
&lt;br /&gt;
== What Idiot Wrote That? ==&lt;br /&gt;
* git blame &amp;lt;filename&amp;gt;&lt;br /&gt;
Shows the commit where each line of code appeared in its current form. Use git show &amp;lt;hash&amp;gt; to see the whole patch where that line was added/changed, and see if you can work out what's what.&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=GitUse&amp;diff=6122</id>
		<title>GitUse</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=GitUse&amp;diff=6122"/>
		<updated>2014-03-14T11:51:18Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: The &amp;quot;Oh shit!&amp;quot; scenario&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Development]] - parent&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
This book is essential reading for users of all levels [[http://git-scm.com/book]]&lt;br /&gt;
&lt;br /&gt;
== Principles ==&lt;br /&gt;
* One patch one change. E.g. don't change the URLs in the HTML and the indenting in the same patch, first do the whitespace changes, then do the content changes. This requires self control, but is made much easier one you know how to split your edits into multiple commits. (See below)&lt;br /&gt;
* In a patchset, do non-functional cleanup/cosmetic changes, or anything that will make the subsequent patches easier to review, first. Then do bugfix changes. Then do feature adds.&lt;br /&gt;
* One patch one change.&lt;br /&gt;
* Write meaningful commit messages. [[http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html]] [[http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message]]&lt;br /&gt;
* One patch one change. I mean it.&lt;br /&gt;
* Work in your own repo, and always work on a branch. That way, your master can be kept exactly in step with the upstream master. Pull, and rebase your branch on the updated master regularly. That makes it trivial for the repo maintainer to pull your branch, verify it, and merge it onto master. Do not expect the repo maintainer to rebase your changes for you, that's your job.&lt;br /&gt;
* Get your patches reviewed. Add &amp;quot;Reviewed-by:&amp;quot;, &amp;quot;Acked-by:&amp;quot;, or &amp;quot;Signed-off-by:&amp;quot; as appropriate to the commit messages before pushing to your externally-visable repo.&lt;br /&gt;
&lt;br /&gt;
Do not worry about having lots of small patches - every single one will hopefully be utterly trivial to review and verify to be correct.&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
I'm presuming you know how to:&lt;br /&gt;
* clone a repo (git clone)&lt;br /&gt;
* make a branch, and switch between branches (git branch, git checkout)&lt;br /&gt;
* commit changes (git add, git commit)&lt;br /&gt;
* fetch/pull remote branches (git fetch, git pull)&lt;br /&gt;
* rebasing your branch when upstream changes (git rebase)&lt;br /&gt;
* create a patchset for review (git format-patch), and mail that patchset to a mailing list (git send-email)&lt;br /&gt;
* create a pull request (git request-pull)&lt;br /&gt;
&lt;br /&gt;
I can expand on any of those if needed.&lt;br /&gt;
&lt;br /&gt;
== Splitting Edits Into Multiple Commits ==&lt;br /&gt;
You've changed several things in a single, or multiple files, and you realise that really they ought to be in separate patches. Solution:&lt;br /&gt;
* git add -p&lt;br /&gt;
You can select each hunk, and even recurse into each hunk if it includes multiple changed parts. Once you've added all the bits that belong in the first patch:&lt;br /&gt;
* git commit -s&lt;br /&gt;
Add your meaningful commit message, then GOTO 10&lt;br /&gt;
&lt;br /&gt;
== Undoing a change you've just committed ==&lt;br /&gt;
Undo it in the editor, and then use git add (possibly add -p as above) to stage that change, and then git commit --amend to squash that change into the previous commit.&lt;br /&gt;
&lt;br /&gt;
== Rewriting History ==&lt;br /&gt;
You can edit old commit messages, tweak old patches, squash two adjacent patches together, and even reorder the patches with git rebase -i&lt;br /&gt;
&lt;br /&gt;
To re-order the last 6 patches:&lt;br /&gt;
* git rebase -i HEAD~6&lt;br /&gt;
If the patches touch the same code, you might need to deal with merge conflicts - search for &amp;lt;&amp;lt;&amp;lt; in the affected file(s), git add that file(s), then git rebase --continue.&lt;br /&gt;
If the conflicts are too hard to resolve - just abort the whole rebase with git merge --abort&lt;br /&gt;
&lt;br /&gt;
Do not rewrite any history that you've shared with anyone else, so anything that you've pushed to an externally-facing repo.&lt;br /&gt;
&lt;br /&gt;
It is possible to do all kinds of clever things in the middle of a rebase. Sometimes you can get carried away and forget you're in the middle of a rebase. This can lead to confusion, and the inability to do various things, so I find it best to keep my rebases quick and simple, done in one session.&lt;br /&gt;
&lt;br /&gt;
== Deleting Branches From Your Public Repo ==&lt;br /&gt;
If you've put all of your changes into their own branch, which you should be doing, then you might notice you're accumulating branches. Delete them remotely by pushing nothing onto them.&lt;br /&gt;
* git push &amp;lt;remoterepo&amp;gt; :&amp;lt;remotebranchname&amp;gt;&lt;br /&gt;
Normally you'd use &amp;lt;sourcebranchname&amp;gt;:&amp;lt;remotebranchname&amp;gt;, but having nothing as the sourcebranchname is a special case just for deletion.&lt;br /&gt;
Of course, you can delete your local branches with &lt;br /&gt;
* git branch -D &amp;lt;branchname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oh Shit. Oh Shit Oh Shit. Oh Shiiiiiiit!!!! ==&lt;br /&gt;
Yup, you've chopped a limb off. git rebase --abort and git merge --abort not there to save the day? Don't panic! If you remember the last commit you made that you'd be happy to return to, then use:&lt;br /&gt;
* git reflog&lt;br /&gt;
It will show you everything you've done recently. You can then:&lt;br /&gt;
* git reset --hard &amp;lt;hash&amp;gt;&lt;br /&gt;
To just jump back in time to that commit, and start again.&lt;br /&gt;
&lt;br /&gt;
This scenario reinforces the &amp;quot;always work on a branch&amp;quot; policy. You don't want to accidentally rewrite the history of a branch (master, which you pulled from upstream) that isn't yours.&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=GitUse&amp;diff=6089</id>
		<title>GitUse</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=GitUse&amp;diff=6089"/>
		<updated>2014-03-14T00:53:09Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: more of everything...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Development]] - parent&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
This book is essential reading for users of all levels [[http://git-scm.com/book]]&lt;br /&gt;
&lt;br /&gt;
== Principles ==&lt;br /&gt;
* One patch one change. E.g. don't change the URLs in the HTML and the indenting in the same patch, first do the whitespace changes, then do the content changes. This requires self control, but is made much easier one you know how to split your edits into multiple commits. (See below)&lt;br /&gt;
* In a patchset, do non-functional cleanup/cosmetic changes, or anything that will make the subsequent patches easier to review, first. Then do bugfix changes. Then do feature adds.&lt;br /&gt;
* One patch one change.&lt;br /&gt;
* Write meaningful commit messages. [[http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html]] [[http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message]]&lt;br /&gt;
* One patch one change. I mean it.&lt;br /&gt;
* Work in your own repo, and always work on a branch. That way, your master can be kept exactly in step with the upstream master. Pull, and rebase your branch on the updated master regularly. That makes it trivial for the repo maintainer to pull your branch, verify it, and merge it onto master. Do not expect the repo maintainer to rebase your changes for you, that's your job.&lt;br /&gt;
* Get your patches reviewed. Add &amp;quot;Reviewed-by:&amp;quot;, &amp;quot;Acked-by:&amp;quot;, or &amp;quot;Signed-off-by:&amp;quot; as appropriate to the commit messages before pushing to your externally-visable repo.&lt;br /&gt;
&lt;br /&gt;
Do not worry about having lots of small patches - every single one will hopefully be utterly trivial to review and verify to be correct.&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
I'm presuming you know how to:&lt;br /&gt;
* clone a repo (git clone)&lt;br /&gt;
* make a branch, and switch between branches (git branch, git checkout)&lt;br /&gt;
* commit changes (git add, git commit)&lt;br /&gt;
* fetch/pull remote branches (git fetch, git pull)&lt;br /&gt;
* rebasing your branch when upstream changes (git rebase)&lt;br /&gt;
* create a patchset for review (git format-patch), and mail that patchset to a mailing list (git send-email)&lt;br /&gt;
* create a pull request (git request-pull)&lt;br /&gt;
&lt;br /&gt;
I can expand on any of those if needed.&lt;br /&gt;
&lt;br /&gt;
== Splitting Edits Into Multiple Commits ==&lt;br /&gt;
You've changed several things in a single, or multiple files, and you realise that really they ought to be in separate patches. Solution:&lt;br /&gt;
* git add -p&lt;br /&gt;
You can select each hunk, and even recurse into each hunk if it includes multiple changed parts. Once you've added all the bits that belong in the first patch:&lt;br /&gt;
* git commit -s&lt;br /&gt;
Add your meaningful commit message, then GOTO 10&lt;br /&gt;
&lt;br /&gt;
== Undoing a change you've just committed ==&lt;br /&gt;
Undo it in the editor, and then use git add (possibly add -p as above) to stage that change, and then git commit --amend to squash that change into the previous commit.&lt;br /&gt;
&lt;br /&gt;
== Rewriting History ==&lt;br /&gt;
You can edit old commit messages, tweak old patches, squash two adjacent patches together, and even reorder the patches with git rebase -i&lt;br /&gt;
&lt;br /&gt;
To re-order the last 6 patches:&lt;br /&gt;
* git rebase -i HEAD~6&lt;br /&gt;
If the patches touch the same code, you might need to deal with merge conflicts - search for &amp;lt;&amp;lt;&amp;lt; in the affected file(s), git add that file(s), then git rebase --continue.&lt;br /&gt;
If the conflicts are too hard to resolve - just abort the whole rebase with git merge --abort&lt;br /&gt;
&lt;br /&gt;
Do not rewrite any history that you've shared with anyone else, so anything that you've pushed to an externally-facing repo.&lt;br /&gt;
&lt;br /&gt;
It is possible to do all kinds of clever things in the middle of a rebase. Sometimes you can get carried away and forget you're in the middle of a rebase. This can lead to confusion, and the inability to do various things, so I find it best to keep my rebases quick and simple, done in one session.&lt;br /&gt;
&lt;br /&gt;
== Deleting Branches From Your Public Repo ==&lt;br /&gt;
If you've put all of your changes into their own branch, which you should be doing, then you might notice you're accumulating branches. Delete them remotely by pushing nothing onto them.&lt;br /&gt;
* git push &amp;lt;remoterepo&amp;gt; :&amp;lt;remotebranchname&amp;gt;&lt;br /&gt;
Normally you'd use &amp;lt;sourcebranchname&amp;gt;:&amp;lt;remotebranchname&amp;gt;, but having nothing as the sourcebranchname is a special case just for deletion.&lt;br /&gt;
Of course, you can delete your local branches with &lt;br /&gt;
* git branch -D &amp;lt;branchname&amp;gt;&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=GitUse&amp;diff=6086</id>
		<title>GitUse</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=GitUse&amp;diff=6086"/>
		<updated>2014-03-14T00:25:55Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: /* Principles */ fix list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Git Use =&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
This book is essential reading for users of all levels [[http://git-scm.com/book]]&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
I'm presuming you know how to:&lt;br /&gt;
* clone a repo&lt;br /&gt;
* make a branch, and switch between branches&lt;br /&gt;
* commit changes&lt;br /&gt;
* create a patchset for review, and mail that patchset to a mailing list&lt;br /&gt;
* create a pull request&lt;br /&gt;
&lt;br /&gt;
I can expand on any of those if needed.&lt;br /&gt;
&lt;br /&gt;
== Principles ==&lt;br /&gt;
* One patch one change. E.g. don't change the URLs in the HTML and the indenting in the same patch, first do the whitespace changes, then do the content changes. This requires self control, but is made much easier one you know how to split your edits into multiple commits. (See below)&lt;br /&gt;
* In a patchset, do non-functional cleanup/cosmetic changes, or anything that will make the subsequent patches easier to review, first. Then do bugfix changes. Then do feature adds.&lt;br /&gt;
* One patch one change.&lt;br /&gt;
* Write meaningful commit messages. [[http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html]] [[http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message]]&lt;br /&gt;
* One patch one change. I mean it.&lt;br /&gt;
&lt;br /&gt;
Do not worry about having lots of small patches - every single one will hopefully be utterly trivial to review and verify to be correct.&lt;br /&gt;
&lt;br /&gt;
== Splitting Edits Into Multiple Commits ==&lt;br /&gt;
You've changed several things in a single, or multiple files, and you realise that really they ought to be in separate patches. Solution:&lt;br /&gt;
* git add -p&lt;br /&gt;
You can select each hunk, and even recurse into each hunk if it includes multiple changed parts. Once you've added all the bits that belong in the first patch:&lt;br /&gt;
* git commit -s&lt;br /&gt;
Add your meaningful commit message, then GOTO 10&lt;br /&gt;
&lt;br /&gt;
== Undoiing a change you've just committed ==&lt;br /&gt;
Undo it in the editor, and then use git add (possibly add -p as above) to stage that change, and then git commit --amend to squash that change into the previous commit.&lt;br /&gt;
&lt;br /&gt;
== Rewriting History ==&lt;br /&gt;
You can edit old commit messages, tweak old patches, squash two adjacent patches together, and even reorder the patches with git rebase -i&lt;br /&gt;
&lt;br /&gt;
To re-order the last 6 patches:&lt;br /&gt;
* git rebase -i HEAD~6&lt;br /&gt;
If the patches touch the same code, you might need to deal with merge conflicts - search for &amp;lt;&amp;lt;&amp;lt; in the affected file(s), git add that file(s), then git rebase --continue.&lt;br /&gt;
If the conflicts are too hard to resolve - just abort the whole rebase with git merge --abort&lt;br /&gt;
&lt;br /&gt;
Do not rewrite any history that you've shared with anyone else, so anything that you've pushed to an externally-facing repo.&lt;br /&gt;
&lt;br /&gt;
It is possible to do all kinds of clever things in the middle of a rebase. Sometimes you can get carried away and forget you're in the middle of a rebase. This can lead to confusion, and the inability to do various things, so I find it best to keep my rebases quick and simple, done in one session.&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=GitUse&amp;diff=6085</id>
		<title>GitUse</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=GitUse&amp;diff=6085"/>
		<updated>2014-03-14T00:25:13Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: Some handy commands for git&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Git Use =&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
This book is essential reading for users of all levels [[http://git-scm.com/book]]&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
I'm presuming you know how to:&lt;br /&gt;
* clone a repo&lt;br /&gt;
* make a branch, and switch between branches&lt;br /&gt;
* commit changes&lt;br /&gt;
* create a patchset for review, and mail that patchset to a mailing list&lt;br /&gt;
* create a pull request&lt;br /&gt;
&lt;br /&gt;
I can expand on any of those if needed.&lt;br /&gt;
&lt;br /&gt;
== Principles ==&lt;br /&gt;
A) One patch one change. E.g. don't change the URLs in the HTML and the indenting in the same patch, first do the whitespace changes, then do the content changes. This requires self control, but is made much easier one you know how to split your edits into multiple commits. (See below)&lt;br /&gt;
B) In a patchset, do non-functional cleanup/cosmetic changes, or anything that will make the subsequent patches easier to review, first. Then do bugfix changes. Then do feature adds.&lt;br /&gt;
C) One patch one change.&lt;br /&gt;
D) Write meaningful commit messages. [[http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html]] [[http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message]]&lt;br /&gt;
E) One patch one change. I mean it.&lt;br /&gt;
&lt;br /&gt;
Do not worry about having lots of small patches - every single one will hopefully be utterly trivial to review and verify to be correct.&lt;br /&gt;
&lt;br /&gt;
== Splitting Edits Into Multiple Commits ==&lt;br /&gt;
You've changed several things in a single, or multiple files, and you realise that really they ought to be in separate patches. Solution:&lt;br /&gt;
* git add -p&lt;br /&gt;
You can select each hunk, and even recurse into each hunk if it includes multiple changed parts. Once you've added all the bits that belong in the first patch:&lt;br /&gt;
* git commit -s&lt;br /&gt;
Add your meaningful commit message, then GOTO 10&lt;br /&gt;
&lt;br /&gt;
== Undoiing a change you've just committed ==&lt;br /&gt;
Undo it in the editor, and then use git add (possibly add -p as above) to stage that change, and then git commit --amend to squash that change into the previous commit.&lt;br /&gt;
&lt;br /&gt;
== Rewriting History ==&lt;br /&gt;
You can edit old commit messages, tweak old patches, squash two adjacent patches together, and even reorder the patches with git rebase -i&lt;br /&gt;
&lt;br /&gt;
To re-order the last 6 patches:&lt;br /&gt;
* git rebase -i HEAD~6&lt;br /&gt;
If the patches touch the same code, you might need to deal with merge conflicts - search for &amp;lt;&amp;lt;&amp;lt; in the affected file(s), git add that file(s), then git rebase --continue.&lt;br /&gt;
If the conflicts are too hard to resolve - just abort the whole rebase with git merge --abort&lt;br /&gt;
&lt;br /&gt;
Do not rewrite any history that you've shared with anyone else, so anything that you've pushed to an externally-facing repo.&lt;br /&gt;
&lt;br /&gt;
It is possible to do all kinds of clever things in the middle of a rebase. Sometimes you can get carried away and forget you're in the middle of a rebase. This can lead to confusion, and the inability to do various things, so I find it best to keep my rebases quick and simple, done in one session.&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=WhosWho&amp;diff=6036</id>
		<title>WhosWho</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=WhosWho&amp;diff=6036"/>
		<updated>2014-03-12T12:56:26Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: /* Code */ Adding my timezone&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the interest of getting questions to the right people on IRC and general organization, this is a summary of who is involved in SoylentNews. '''Please add yourself''' (or others) if you are actively working on the project. Also you can skip to the [[#Overlords|Overlord Contacts]].&lt;br /&gt;
&lt;br /&gt;
See also: [[Staff list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Man Behind The Curtain==&lt;br /&gt;
&lt;br /&gt;
* NCommander - Site-wide responsibility&lt;br /&gt;
&lt;br /&gt;
==Administration==&lt;br /&gt;
&lt;br /&gt;
* mattie_p - Overlord/General Manager&lt;br /&gt;
* mrcoolbp&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
* NCommander&lt;br /&gt;
* robinld&lt;br /&gt;
* zford&lt;br /&gt;
* mechanicjay&lt;br /&gt;
* FatPhil (TZ+2)&lt;br /&gt;
&lt;br /&gt;
==Style==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FrogBlast - Art&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MrBluze&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;shogun - HTML&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;moo_kuh - Testing&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;PrestonL - CSS / Bug Testing&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;mtrycz - User Interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CynicGalahad - Website Design&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Correspondence: [mailto:style@soylentnews.org style@soylentnews.org]&lt;br /&gt;
&lt;br /&gt;
==Frontend: CSS\HTML issues that pertain to look and feel==&lt;br /&gt;
&lt;br /&gt;
* paulej72 - (working on mods to comments.css)&lt;br /&gt;
* AudioGuy - documentation of system and cleanup of css to get things into a ste that new templates and Themes can be made&lt;br /&gt;
* martyb&lt;br /&gt;
&lt;br /&gt;
==Content==&lt;br /&gt;
* Dopefish - Overlord&lt;br /&gt;
&lt;br /&gt;
Editors include:&lt;br /&gt;
&lt;br /&gt;
* LaminatorX&lt;br /&gt;
* mattie_p&lt;br /&gt;
* janrinok&lt;br /&gt;
* girlwhowaspluggedout&lt;br /&gt;
&lt;br /&gt;
Misc:&lt;br /&gt;
&lt;br /&gt;
* Cactus&lt;br /&gt;
&lt;br /&gt;
==Forums==&lt;br /&gt;
* applesmasher - Overlord&lt;br /&gt;
* Dopefish&lt;br /&gt;
* LaminatorX&lt;br /&gt;
* mattie_p - I'm just an active user and in the Editor Group.  I'm nobody official on the forums, though.&lt;br /&gt;
&lt;br /&gt;
==Wiki==&lt;br /&gt;
* FunPika - Overlord&lt;br /&gt;
* Cactus&lt;br /&gt;
* sfm&lt;br /&gt;
* cosurgi&lt;br /&gt;
* [[User:Mrcoolbp|mrcoolbp]] ([[User talk:Mrcoolbp|talk]]) 13:16, 26 February 2014 (MST) - working on re-organization and clean up&lt;br /&gt;
&lt;br /&gt;
==IRC==&lt;br /&gt;
* Landon - Overlord&lt;br /&gt;
* Xlefay - Technical lead&lt;br /&gt;
* MrBluze&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
* paulej72 - currently scraping SoylentNews comments for bug reports and posting them to the bug tracker&lt;br /&gt;
* martyb - QA and testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overlords==&lt;br /&gt;
&lt;br /&gt;
We're have overlords that manage various features. An overlord is responsible for granting access - it's '''intended''' to be a ''no work'' position, so that it can be held for long periods without requiring much time.&lt;br /&gt;
 &lt;br /&gt;
So for example, Applesmasher is the overlord of forums. He grants access to people and recovers access when people leave, but he doesn't ''have'' to do any work himself (although he can if he wants). He ensures that the people with access are reliable.&lt;br /&gt;
 	&lt;br /&gt;
If you need a forum for your group, ask the overlord of forums. If you want a set of wiki pages, ask the overlord of the wiki, and so on.	&lt;br /&gt;
	&lt;br /&gt;
The current overlords originally agreed to hold the position until Mar 1, that date has already passed. Going forward we can choose overlords via some formal process. (And the current overlords might ask to continue.)&lt;br /&gt;
 	&lt;br /&gt;
The current overlords can be contacted here:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
art@SoylentNews.org&lt;br /&gt;
 	&lt;br /&gt;
editors@SoylentNews.org	&lt;br /&gt;
	&lt;br /&gt;
forums@SoylentNews.org	&lt;br /&gt;
 &lt;br /&gt;
wiki@SoylentNews.org	&lt;br /&gt;
 &lt;br /&gt;
chat@SoylentNews.org&lt;br /&gt;
 &lt;br /&gt;
style@soylentnews.org&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
There will be more to come. This is temporary to get us going - the community can change the structure later, but for now things seem to naturally separate into these areas of interest.&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=WhosWho&amp;diff=6033</id>
		<title>WhosWho</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=WhosWho&amp;diff=6033"/>
		<updated>2014-03-12T11:48:41Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the interest of getting questions to the right people on IRC and general organization, this is a summary of who is involved in SoylentNews. '''Please add yourself''' (or others) if you are actively working on the project. Also you can skip to the [[#Overlords|Overlord Contacts]].&lt;br /&gt;
&lt;br /&gt;
See also: [[Staff list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Man Behind The Curtain==&lt;br /&gt;
&lt;br /&gt;
* NCommander - Site-wide responsibility&lt;br /&gt;
&lt;br /&gt;
==Administration==&lt;br /&gt;
&lt;br /&gt;
* mattie_p - Overlord/General Manager&lt;br /&gt;
* mrcoolbp&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
* NCommander&lt;br /&gt;
* robinld&lt;br /&gt;
* zford&lt;br /&gt;
* mechanicjay&lt;br /&gt;
* FatPhil&lt;br /&gt;
&lt;br /&gt;
==Style==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FrogBlast - Art&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MrBluze&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;shogun - HTML&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;moo_kuh - Testing&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;PrestonL - CSS / Bug Testing&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;mtrycz - User Interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CynicGalahad - Website Design&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Correspondence: [mailto:style@soylentnews.org style@soylentnews.org]&lt;br /&gt;
&lt;br /&gt;
==Frontend: CSS\HTML issues that pertain to look and feel==&lt;br /&gt;
&lt;br /&gt;
* paulej72 - (working on mods to comments.css)&lt;br /&gt;
* AudioGuy - documentation of system and cleanup of css to get things into a ste that new templates and Themes can be made&lt;br /&gt;
* martyb&lt;br /&gt;
&lt;br /&gt;
==Content==&lt;br /&gt;
* Dopefish - Overlord&lt;br /&gt;
&lt;br /&gt;
Editors include:&lt;br /&gt;
&lt;br /&gt;
* LaminatorX&lt;br /&gt;
* mattie_p&lt;br /&gt;
* janrinok&lt;br /&gt;
* girlwhowaspluggedout&lt;br /&gt;
&lt;br /&gt;
Misc:&lt;br /&gt;
&lt;br /&gt;
* Cactus&lt;br /&gt;
&lt;br /&gt;
==Forums==&lt;br /&gt;
* applesmasher - Overlord&lt;br /&gt;
* Dopefish&lt;br /&gt;
* LaminatorX&lt;br /&gt;
* mattie_p - I'm just an active user and in the Editor Group.  I'm nobody official on the forums, though.&lt;br /&gt;
&lt;br /&gt;
==Wiki==&lt;br /&gt;
* FunPika - Overlord&lt;br /&gt;
* Cactus&lt;br /&gt;
* sfm&lt;br /&gt;
* cosurgi&lt;br /&gt;
* [[User:Mrcoolbp|mrcoolbp]] ([[User talk:Mrcoolbp|talk]]) 13:16, 26 February 2014 (MST) - working on re-organization and clean up&lt;br /&gt;
&lt;br /&gt;
==IRC==&lt;br /&gt;
* Landon - Overlord&lt;br /&gt;
* Xlefay - Technical lead&lt;br /&gt;
* MrBluze&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
* paulej72 - currently scraping SoylentNews comments for bug reports and posting them to the bug tracker&lt;br /&gt;
* martyb - QA and testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overlords==&lt;br /&gt;
&lt;br /&gt;
We're have overlords that manage various features. An overlord is responsible for granting access - it's '''intended''' to be a ''no work'' position, so that it can be held for long periods without requiring much time.&lt;br /&gt;
 &lt;br /&gt;
So for example, Applesmasher is the overlord of forums. He grants access to people and recovers access when people leave, but he doesn't ''have'' to do any work himself (although he can if he wants). He ensures that the people with access are reliable.&lt;br /&gt;
 	&lt;br /&gt;
If you need a forum for your group, ask the overlord of forums. If you want a set of wiki pages, ask the overlord of the wiki, and so on.	&lt;br /&gt;
	&lt;br /&gt;
The current overlords originally agreed to hold the position until Mar 1, that date has already passed. Going forward we can choose overlords via some formal process. (And the current overlords might ask to continue.)&lt;br /&gt;
 	&lt;br /&gt;
The current overlords can be contacted here:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
art@SoylentNews.org&lt;br /&gt;
 	&lt;br /&gt;
editors@SoylentNews.org	&lt;br /&gt;
	&lt;br /&gt;
forums@SoylentNews.org	&lt;br /&gt;
 &lt;br /&gt;
wiki@SoylentNews.org	&lt;br /&gt;
 &lt;br /&gt;
chat@SoylentNews.org&lt;br /&gt;
 &lt;br /&gt;
style@soylentnews.org&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
There will be more to come. This is temporary to get us going - the community can change the structure later, but for now things seem to naturally separate into these areas of interest.&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=Development&amp;diff=6032</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=Development&amp;diff=6032"/>
		<updated>2014-03-12T11:44:42Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: /* Who we are */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page should be merged with [[Dev/Sys]]&lt;br /&gt;
==Welcome==&lt;br /&gt;
We are currently looking for volunteers to help develop SoylentNews slashcode.  Anyone willing is free to help, but '''we really need good perl devs'''.  Slashcode is based heavily on perl and most pages have some type of perl code on them.  We also seek non-perl devs, there is plenty of stuff that you can do without touching the code too much.&lt;br /&gt;
&lt;br /&gt;
Our code is hosted on GitHub at https://github.com/SoylentNews/slashcode. Have a look and see how you can contribute.  Bugs are now on [https://github.com/SoylentNews/slashcode/issues GitHub Bugs].&lt;br /&gt;
&lt;br /&gt;
Volunteers should send an email to [mailto:dev@soylentnews.org dev@soylentnews.org] expressing your areas of interest and what your coding strengths are.  Also you can hop onto [[SoylentNews:IRC]] and join the #dev channel.  Come by and express your interest to paulej72, audioguy, or mrcoolbp.  &lt;br /&gt;
&lt;br /&gt;
Currently we are undergoing a bit of a reorganization and we hope to have more information available here soon about our short term and long term goals for the code.&lt;br /&gt;
&lt;br /&gt;
== Who we are ==&lt;br /&gt;
* paulej72 -- Head catherder for Dev -- email:[mailto:paulej72@soylentnews.org paulej72@soylentnews.org]&lt;br /&gt;
* Ncommander -- The real head of Dev but due to time constrains of being the head of SN only a member.&lt;br /&gt;
* audioguy -- right hand man to paulej72 and second in command for Dev. See [[AudioGuyWorkNotes]] for current todo and working notes&lt;br /&gt;
* FatPhil -- perl/mysql odd-jobber, some ubuntu/sys knowledge too&lt;br /&gt;
&lt;br /&gt;
== Index of Development Pages and Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[ImportantDevelopmentLinks]] - Place to put urls for the repositories, etc. (Use current page for now, this page not needed - YET)&lt;br /&gt;
* [[DevelopmentWorkCurrentlyInProgress]] - what we are working on at this moment &lt;br /&gt;
* [[CodingStyleForOurPerlChanges]] - Suggested style for perl code changes &lt;br /&gt;
* [[DevelopmentVMHowto]] - How to get your own Slash code up in a Virtual Machine using VirtualBox&lt;br /&gt;
* [[CssWork]] - pages for ongoing css work&lt;br /&gt;
* [[SlashDocumentationIndex]] - A single place to find Slash docs, one day it will be organized and accurate&lt;br /&gt;
* [[IncidentLog]] - Documentation of how incidents occurred and how they were mitigated&lt;br /&gt;
&lt;br /&gt;
== Slashcode Primer ==&lt;br /&gt;
&lt;br /&gt;
Slashcode is a complex beast.  Here is the listing of the repo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;Bundle&lt;br /&gt;
Slash	&lt;br /&gt;
bin&lt;br /&gt;
docs&lt;br /&gt;
httpd&lt;br /&gt;
plugins&lt;br /&gt;
sbin&lt;br /&gt;
sql&lt;br /&gt;
tagboxes&lt;br /&gt;
themes&lt;br /&gt;
utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We really are only concerned with three of these directories: Slash, plugins, and themes.  The first directory, Slash, is the home of the slash.pm module and its related code.  The module, slash.pm, does all of the back end work of slashcode.  It provides a set of APIs that are used to generate pages and manipulate the database.  This is where the heavy perl coding is done. We definitely need help with this section in both expanding our knowledge and working with the code. (As I started on this from a css/html slant I do not have a good idea of what is here --pauej72)&lt;br /&gt;
&lt;br /&gt;
The second main part of the system are the themes.  In this case we have only one theme called slashcode.  The theme is broken down into pieces the first is htdocs.  htdocs is all of the static html files, perl files that directly start page generation events, the css files, images, and other static code.  The second part of the theme is the templates.  These templates are loaded into the database an are used by slash to layout the data from different sources and turn them into html files that apache can send to the user.  Templates re a mixture of perl, slash coding, and html.  Templates use slash calls to load other templates and usually each template leaves a breadcrumb in the final html with a start and end comment with the template's name and id.  These breadcrumbs make it easy to find out which template file is generating the particular piece of html that you need to change.&lt;br /&gt;
&lt;br /&gt;
Slashcode also has a plugin architecture that allows certain system to be bolted on to the main system. The main system is basically articles, comments and users.  The pulgins add the admin interface, the messaging system, enhanced login, journals, and other things.  The files for these plugging are in the plugins folder, not in the theme folder.  The issue with plugins is that it contains both front end code such as templates, css and pl files, it also has perl modules that are loaded into the perl engine. &lt;br /&gt;
&lt;br /&gt;
The rest of the directories are used for build and install purposes and probably will not need to be modified regularly.&lt;br /&gt;
&lt;br /&gt;
This is a work in progress so please check back here for more.&lt;br /&gt;
&lt;br /&gt;
== Development VM ==&lt;br /&gt;
&lt;br /&gt;
(audiogy note - will leave this here for the moment, it belongs on its own page as referenced above)&lt;br /&gt;
&lt;br /&gt;
The Dev VM can be downloaded from http://torrents.soylentnews.org/.  This is a vim that is designed to run on VirtualBox. Information and downloads of VirtualBox are available here: http://torrents.soylentnews.org/.&lt;br /&gt;
&lt;br /&gt;
Once you get the VM downloaded and the VirtualBox up and ruining, you will want to do a '''File:Import Appliance''' in VirtualBox.  This will unpack the VM into you environment. Start up the VM and log in with the username and password of slash.&lt;br /&gt;
&lt;br /&gt;
The VM has port forwarding setup to you local system for ssh and http.  &lt;br /&gt;
&lt;br /&gt;
	&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;ssh: 8022&amp;lt;br/&amp;gt;&lt;br /&gt;
	http; 1337&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For ssh your connection string should be:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;ssh slash@127.0.0.1 -p 8022&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For websites, apache will use the name localhost instead of 127.0.0.1 so you will need to use:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;http://localhost:1337	&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Apache is turned off in the VM.  You will need to turn it on using the command:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;apachectl start&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The slash user home directory is in /srv/slashdev/.  The slashcode GitHub repository is located in slashcode. This is where you will make changes to the code you want to test.  The actual slashcode install is located in slash.&lt;br /&gt;
&lt;br /&gt;
The first thing you should probably do is update the repo to the latest version.  cd to slashcode and run git pull.&lt;br /&gt;
&lt;br /&gt;
Now we need to install the new code to slash.  Here is a script that will help with that.  Create a new file called deployslash.sh in the slash home directory and give chmod it to 755.&lt;br /&gt;
&lt;br /&gt;
deployslash.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;#! /bin/sh&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
echo === Install from git repo ===&amp;lt;br/&amp;gt;&lt;br /&gt;
echo&amp;lt;br/&amp;gt;&lt;br /&gt;
cd /srv/slashdev/slashcode&amp;lt;br/&amp;gt;&lt;br /&gt;
make USER=slash GROUP=slash SLASH_PREFIX=/srv/slashdev/slash install&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
echo&amp;lt;br/&amp;gt;&lt;br /&gt;
echo&amp;lt;br/&amp;gt;&lt;br /&gt;
echo === Clean up CSS and install Templates ==&amp;lt;br/&amp;gt;&lt;br /&gt;
echo&amp;lt;br/&amp;gt;&lt;br /&gt;
rm -rf /srv/slashdev/slash/site/slashdev/htdocs/*css&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
/srv/slashdev/slash/bin/symlink-tool -U&amp;lt;br/&amp;gt;&lt;br /&gt;
/srv/slashdev/slash/bin/template-tool -U&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
echo&amp;lt;br/&amp;gt;&lt;br /&gt;
echo&amp;lt;br/&amp;gt;&lt;br /&gt;
echo === Restart Apache==&amp;lt;br/&amp;gt;&lt;br /&gt;
echo&amp;lt;br/&amp;gt;&lt;br /&gt;
/srv/slashdev/apache/bin/apachectl restart&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This script will be part of the next version of the Dev VM.&lt;br /&gt;
&lt;br /&gt;
To do simple updates, you would make changes to the files in slashcode and redeploy using the deployslash.sh script.&lt;br /&gt;
&lt;br /&gt;
What if you want to develop code and have it merged into the main repo?  In this case you will need to setup your own copy of the repo do do your development work.  First if you do not have your own account on GitHub please set one up. Next go to the slashcode site https://github.com/SoylentNews/slashcode and click on Fork in the upper right.  Fork the repo to your user account.&lt;br /&gt;
&lt;br /&gt;
Now on the VM go to slashcode.  We will setup your copy of the repo as a remote.  Run the commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;	git remote add {name} {url-to-your-GitHub-repo}&amp;lt;br/&amp;gt;&lt;br /&gt;
	git fetch {name}&amp;lt;br/&amp;gt;&lt;br /&gt;
	checkout {name}/master&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Redeploy slash and you are working from your own repo.  As you may have noticed the primary work is being done on the master branch.  You will not need to worry about the other branches of the code for now.&lt;br /&gt;
&lt;br /&gt;
Once you get code you like, and have it committed to your personal fork, you can do a Pull Request, https://help.github.com/articles/using-pull-requests, that will create a ticket for the SoylentNews/slashcode repo to merge your commits to the master branch.  After proper testing by the Dev team and other sanity checks, you code will be merged and eventually put on to the production servers. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just a note: I am new to git, so the above directions are what I have been using.  If people have a better method for doing this please feel free to update this page with the new information --pauulej72.&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=IncidentLog&amp;diff=6029</id>
		<title>IncidentLog</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=IncidentLog&amp;diff=6029"/>
		<updated>2014-03-12T08:53:01Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: more things to look at after the slashd death&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a log of incidents that occurred and how they were remedied.&lt;br /&gt;
&lt;br /&gt;
==March 11, 2014==&lt;br /&gt;
===15:30-17:00 EDT===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Summary.  There was a report of a problem at http://soylentnews.org; logged-in users saw a comment count of zero (0) for the three newest stories on the main page.  When a user went to the actual story, there were comments there.  Separately, non-logged-in users failed to even see the most-recent 3 stories.  In light of recent developments, credentials had been removed for many people; the one person who had access to everything was unavailable.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;What went well:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Generally followed procedures outlined in ICS (Incident Command System)&lt;br /&gt;
&amp;lt;li&amp;gt;Used private channel on http://irc.sylnt.us/ to communicate in real time.&lt;br /&gt;
&amp;lt;li&amp;gt;Incident Commander performed a .op and prefixed nick with &amp;quot;cmdr_&amp;quot; to clearly identify role.&lt;br /&gt;
&amp;lt;li&amp;gt;The main site stayed up as we attempted to solve the problem.&lt;br /&gt;
&amp;lt;li&amp;gt;Staff jumped in and offered their services.&lt;br /&gt;
&amp;lt;li&amp;gt;Provided some updates to the community via IRC on channel: #Soylent&lt;br /&gt;
&amp;lt;li&amp;gt;Focused on gathering data to identify problem and outline possible solutions.&lt;br /&gt;
&amp;lt;li&amp;gt;Performed confirmation after it appeared the problem was fixed, to ensure it actually was fixed.&lt;br /&gt;
&amp;lt;li&amp;gt;Requested feedback on lessons learned.&lt;br /&gt;
&amp;lt;li&amp;gt;Incident Commander admitted mistakes.&lt;br /&gt;
&amp;lt;li&amp;gt;There were some ruffled feathers, but all-in-all people worked well together.&lt;br /&gt;
&amp;lt;li&amp;gt;Established a follow-up to find underlying cause of problem and to document solution.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;What did not go well:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Did not use staff mailing list to inform all staff there was a problem.&lt;br /&gt;
&amp;lt;li&amp;gt;Incident Commander failed to recognize when a technical lead role was needed and to delegate a task leader for it.&lt;br /&gt;
&amp;lt;li&amp;gt;Key people who had domain knowledge and access were unavailable.&lt;br /&gt;
&amp;lt;li&amp;gt;Other people with the know-how to diagnose and fix the problem lacked the credentials they needed to do so.&lt;br /&gt;
&amp;lt;li&amp;gt;Lacked alternative means to contact key people. (e.g. phone numbers)&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Takeaway.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There is a fine core of dedicated professionals who genuinely want to see the site succeed.  They rose to the occasion and strove to work together.  We successfully diagnosed and solved the problem without causing further damage.  We learned what happened when there was a failure to identify when a task leader was needed and to delegate appropriately.  We successfully coordinated efforts from people who were distributed in multiple locations and time zones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;After Action Report&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Upon looking at the slashd log it was confirmed by Dev staff that slashd died almost the same time that the DNS was taken down in the previous issue. Dev staff believe that due to slashes reliance on the fully qualified domain name for many urls that it did not handle the no DNS issue very well and slashd died because of it.  Our recommendation is to add the FQDN to the host file and to add some watchdog to the system to make sure slashd and other systems stay running. Given that this is a Ubuntu system, it should be possible to turn get Upstart to respawn it as a system service. It seems probably slashd died at the hands of the OOM killer, yet we are lacking the kernel logs for that, which might tell us if it was slashd or some other task that was the reason for the OOM state.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===11:30-13:30 EST===&lt;br /&gt;
In migrating the service linode and remaining credit from the other 2 unused linodes to NCommander's account, the original account had to be closed. After closing the account and transferring over the svc. linode, somehow the Zone file was lost and nearly everything went down.&lt;br /&gt;
&lt;br /&gt;
We tried rebooting the production linode via root access. This lead to 503 errors.&lt;br /&gt;
&lt;br /&gt;
After much confusion and digging, we figured out what the problem is (zone files as I recall), I called linode, had the file(s) transferred to Ncommander's account and reinstated.&lt;br /&gt;
&lt;br /&gt;
This caused problems with slashd (see above)&lt;br /&gt;
&lt;br /&gt;
[[User:Mrcoolbp|mrcoolbp]] ([[User talk:Mrcoolbp|talk]]) 23:24, 11 March 2014 (UTC)&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=SoylentNews&amp;diff=119</id>
		<title>SoylentNews</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=SoylentNews&amp;diff=119"/>
		<updated>2014-02-06T21:14:10Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: /* Comments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''A little less terrified...'''&lt;br /&gt;
&lt;br /&gt;
I'm building a news site alternative to Slashdot. I've only started a couple of hours ago, this wiki is a temporary measure so that volunteers can coordinate and others can see what's happening.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I intend to run a site much like Slashdot used to be - better articles, less decoration and less &amp;quot;in your face&amp;quot; functionality. I'm looking for volunteers to help with setup and running the site. If the site becomes profitable, I intend to hire from the pool of volunteers. If you've ever wanted to participate in a site like Slashdot, here's your chance!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The summary of the financial model is: People who help run the site will get an annuity ''in perpetuity''. This means that the annuity will survive after the death of the recipient, it can be inherited, and so on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The proposed business model is [[Finances|here]].&lt;br /&gt;
Some business planning is [[Business|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I'm particularly in need of people who can:&lt;br /&gt;
&lt;br /&gt;
* Set up and manage a high-traffic site (servers, load-balancers, data sites, &amp;amp;c)&lt;br /&gt;
* Edit story submissions&lt;br /&gt;
* HTML, CSS, and script creation/bugfix/repair&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Is anyone really good at getting big packages up and running? Slashcode has not been updated in several years (as far as I can tell) and it may be a little clunky at first. It's based on MySql, Apache, and perl. I have &amp;quot;passing familiarity&amp;quot; with these, but an expert could probably blast through it in a couple of hours...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Contact me if interested&lt;br /&gt;
&lt;br /&gt;
John (at) AltSlashdot (dot) org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
* We need a new name, see [[NewName|New name discussion]]&lt;br /&gt;
* Probably won't be non-profit, see [[Finances|business model]].&lt;br /&gt;
* We won't poach from Slashdot. This includes articles and logos, also &amp;quot;style&amp;quot; to a reasonable extent.&lt;br /&gt;
* We won't monetize our readers (ie - we won't sell contact info to spammers)&lt;br /&gt;
* The site is intended to make money - in the same way Slashdot does (ads, merchandise, job postings)&lt;br /&gt;
&lt;br /&gt;
Mailing list update Messages are [[MailingListUpdates|here]]&lt;br /&gt;
&lt;br /&gt;
==Done==&lt;br /&gt;
&lt;br /&gt;
* Registered &amp;quot;AltSlashdot.org&amp;quot;, also &amp;quot;.com&amp;quot; and &amp;quot;.net&amp;quot;.&lt;br /&gt;
* Purchased hosting through BlueHost&lt;br /&gt;
* I'm wading through SlashCode, learning the install procedures.&lt;br /&gt;
&lt;br /&gt;
==ToDo==&lt;br /&gt;
&lt;br /&gt;
* Install SlashCode on the production site&lt;br /&gt;
* Get some people to help with the site&lt;br /&gt;
* Find and submit some stories&lt;br /&gt;
* Run a contest for a better name&lt;br /&gt;
* Incorporate&lt;br /&gt;
* Consult a lawyer&lt;br /&gt;
* Consult a lawyer about how to get Cowboyneal back&lt;br /&gt;
* Hot grits, Natalie Portman, Netcraft, Soviet Russia, beowulf clusters&lt;br /&gt;
* How to handle Advertising (necessary evil) - Opt Out, Limited, Standard ??  &lt;br /&gt;
* ???&lt;br /&gt;
* Profit!  &amp;lt;--- A non-profit can't&lt;br /&gt;
* Improved Mod/Meta-Mod/Story Selection system to minimize required editor input&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
* I don't know about other people, but I think I would be more liable to stick with an alternative if it scraped content from original /. in addition to whatever else you do. [[Special:Contributions/173.13.21.65|173.13.21.65]] 09:21, 6 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
''I'm against this. I don't consider it fair - they've put a lot of effort into building up their brand and community. If we are to succeed, we need to do it on our own merits.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
** Scraping bad. Having editors dotted around the timezones that create their own better versions of the summaries, even if they contain just the same links as the /. story that inspired them, not bad. [[User:FatPhil|FatPhil]] ([[User talk:FatPhil|talk]]) 14:14, 6 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
*  Maybe a wiki is the best way to do this?  I see you've started with slashcode, but that might be a misstep.  You have noticed by now that slashcode hasn't been updated in many years, hence it will be way behind the current slashdot.  I think you might be better off hacking a wiki into slashdot-style functionality.  &lt;br /&gt;
&lt;br /&gt;
''I agree, this may be a misstep (and this occurred to me independently of your note). My best guess is to attempt installing slashcode and see where that goes, and try for a new system if it's unworkable. We'll see.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Do this as a non-profit, user-run organization please'''. From what you write it looks like you want replace the regime, not giving the users the control over the website. Why should we trust you not to sell the website to a DICE-like company after it becomes successful? I applaud your efforts to change things, but I really believe that a [https://en.wikipedia.org/wiki/Debian#Organization Debian Project] like institution that is both non-commercial and controlled/run by the community has a much higher chance of securing the goals we fight for right now in the long-term. --[[Special:Contributions/141.84.69.20|141.84.69.20]] 03:20, 6 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
* I like the comment on a Debian like project organization, also, maybe we can create a freenode IRC channel to further organize?&lt;br /&gt;
&lt;br /&gt;
* see Freenode, #slashdot-refugees for real time discussion.&lt;br /&gt;
&lt;br /&gt;
'''UPDATE:''' ''My proposed [[Finances|business plan]] should allay these fears.''&lt;br /&gt;
&lt;br /&gt;
''You make some good points.''&lt;br /&gt;
&lt;br /&gt;
''In my experience, community-driven projects don't usually do well. This is not to say that no such projects succeed, but the balance of probability does not favor group management.''&lt;br /&gt;
&lt;br /&gt;
''There is a wide selection of projects which are successful because one person had a vision and the drive to make that vision happen - every successful business starts this way.''&lt;br /&gt;
&lt;br /&gt;
''I've run businesses that use a lot of volunteer help, so I've got some experience there.''&lt;br /&gt;
&lt;br /&gt;
''As far as selling the website, it's crossed my mind. I don't want to &amp;quot;sell out&amp;quot; and destroy the community, but it would be nice to have an &amp;quot;exit strategy&amp;quot;. Commenting on Slashdot fun, but doing it as a day job will probably get tedious.''&lt;br /&gt;
&lt;br /&gt;
''I don't know what the answer is - it's something that we'll have to work out.''&lt;br /&gt;
&lt;br /&gt;
* (I put in a topic with a suggestion on the discussion page so this doesn't get too cluttered. ~ElectricTurtle)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Additional points: Make the whole website (including stories/comments) available under [https://creativecommons.org/licenses/by-sa/4.0/ CC-BY-SA] to retain the [http://meatballwiki.org/wiki/RightToFork right to fork]. You should also reconsider the name. I imagine &amp;quot;AltSlashdot&amp;quot; could get you into all sorts of legal trouble, since it is very close to the &amp;quot;Slashdot&amp;quot; trademark. --[[Special:Contributions/141.84.69.20|141.84.69.20]] 03:20, 6 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
* John@AltSlashdot.org seems to be bouncing. I'd like to help.&lt;br /&gt;
&lt;br /&gt;
''It's fixed now - please try again.''&lt;br /&gt;
&lt;br /&gt;
''(I created the E-mails through the registrar and tested them. When I pointed the DNS to BlueHost the E-mail target changed along with the web. Didn't expect that to change, so never bothered to check after initial test.)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Attempt to '''coordinate and combine''' the parallel efforts. E.g. Slashdot user [http://slashdot.org/~dotancohen dotancohen] has [http://news.slashdot.org/comments.pl?sid=4757151&amp;amp;cid=46171009 apparently] registered the domain &amp;quot;slashdotan&amp;quot; and is looking to build a new Slashdot there. There are probably a dozen people hacking away separately on similar efforts. Competition is probably good, but combining efforts should be considered. --Slashdot user [http://slashdot.org/~JustinOpinion JustinOpinion].&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/digilord DigiLord] - I would like to help&lt;br /&gt;
&lt;br /&gt;
* I'm the dotancohen mentioned by JustinOpinion. I have some limited experience with Amazon Web Services to run cloud servers for sites with very dynamic load profiles. Altslashdot seems like the perfect application of that technology, as we can expect to get slashdotted at any time. I also agree that we should coordinate efforts, as the whole premise is to keep the /. community together. [[User:Dotancohen|Dotancohen]] ([[User talk:Dotancohen|talk]]) 08:38, 6 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
* Re: combining efforts. User somenickname (1270442) has registered bangslashdot.(org|net|com) [[http://science.slashdot.org/comments.pl?sid=4757113&amp;amp;cid=46169131]]&lt;br /&gt;
&lt;br /&gt;
== Less Political Bullshit ==&lt;br /&gt;
&lt;br /&gt;
Will your site have less global warming bs on it? That would be an improvement...&lt;br /&gt;
&lt;br /&gt;
I think the climate change discussions land pretty squarely in the Science area. It's only &amp;quot;Political Bullshit&amp;quot; when people move it that way. - Cactus&lt;br /&gt;
&lt;br /&gt;
It wouldn't be slashdot without hot-button topics generating hundreds of posts in areas on the more political charged side of science (global warming, nuclear energy, weapons, evolution, etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://images2.wikia.nocookie.net/__cb20080229083202/girlgenius/images/8/86/Dimoportrait.jpg|Yez!]&lt;br /&gt;
&lt;br /&gt;
''Slashdot might cave and go back to the original layout, so where would that leave us?''&lt;br /&gt;
&lt;br /&gt;
''I've noticed that the quality of articles on Slashdot has gone down a lot in recent years. Even if Slashdot goes back to the original format, I think we can make a much better site by having better articles.''&lt;br /&gt;
&lt;br /&gt;
''I've some ideas on how to do this, but right now I'm pressed for time. Perhaps someone could start a separate discussion page for submission guidelines?''&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
	<entry>
		<id>https://wiki.soylentnews.org/index.php?title=NewName&amp;diff=117</id>
		<title>NewName</title>
		<link rel="alternate" type="text/html" href="https://wiki.soylentnews.org/index.php?title=NewName&amp;diff=117"/>
		<updated>2014-02-06T21:07:44Z</updated>

		<summary type="html">&lt;p&gt;FatPhil: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''We need a new name''&lt;br /&gt;
&lt;br /&gt;
''I agree with everyone who has suggested a name different from &amp;quot;AltSlashdot&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
''So far, none of the suggested alternatives seem to be popular (I considered &amp;quot;ForkSlashdot&amp;quot; and discarded it :-).''&lt;br /&gt;
&lt;br /&gt;
''I think the best course is to get things up and running and then hold a name contest. A community effort should make this task easy.''&lt;br /&gt;
&lt;br /&gt;
''We don't have to do this immediately. &amp;quot;AltSlashdot&amp;quot; is significantly different from &amp;quot;Slashdot&amp;quot;, and we won't be poaching any of their stories or (as much as practical) style.''&lt;br /&gt;
&lt;br /&gt;
''If things go very well, the new site might be up and running by Monday (Feb 10). Giving some time to settle in, we could have the contest in two weeks or so. If everything goes well...''&lt;br /&gt;
&lt;br /&gt;
==Name change discussion==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
killbeta.org? &lt;br /&gt;
diebetadie.org?&lt;br /&gt;
&lt;br /&gt;
unitron&lt;br /&gt;
&lt;br /&gt;
* Really, I'm sold on AltSlashdot, but I just want to make sure that there will be enough Natalie Portman.&lt;br /&gt;
&lt;br /&gt;
''If we turn a profit by the end of the year, I'll put a Natalie Portman link on the front page.''&lt;br /&gt;
&lt;br /&gt;
* Can we somehow get Cowboyneal back? Can we plan some evil way to get him fired from his current job and desperate enough to come back reestablish the Slashdot community as its tribal leader?&lt;br /&gt;
&lt;br /&gt;
== New Name ==&lt;br /&gt;
&lt;br /&gt;
SlashUsr  as in /usr&lt;br /&gt;
&lt;br /&gt;
SlashHome as in /home&lt;br /&gt;
&lt;br /&gt;
SlashVarLog as in /var/log&lt;br /&gt;
&lt;br /&gt;
Name it &amp;quot;DotDotSlash&amp;quot; as in cd ../&lt;br /&gt;
&lt;br /&gt;
I vote for hashbash as in #!(/bin/zsh)&lt;br /&gt;
&lt;br /&gt;
BinBash as in /bin/bash&lt;br /&gt;
&lt;br /&gt;
SlashNot?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Consider a '''name change'''. If you're serious about this, then the name &amp;quot;AltSlashdot&amp;quot; will run you into legal trouble down the road, since Slashdot/Dice/etc. will sue for Trademark infringement (and will have a solid case). Slashdot user [http://slashdot.org/~tpaudio tpaudio] suggested [http://news.slashdot.org/comments.pl?sid=4757151&amp;amp;cid=46170795 &amp;quot;Plusdot&amp;quot;]. Another idea (mine) is to call it &amp;quot;divergence&amp;quot; or &amp;quot;[http://en.wikipedia.org/wiki/Divergence divergence operator]&amp;quot;... the logo would be the mathematical form of divergence, i.e. [http://en.wikipedia.org/wiki/Nabla_symbol nabla] symbol followed by a dot (which looks like an augmented &amp;quot;slash dot&amp;quot;). --Slashdot user [http://slashdot.org/~JustinOpinion JustinOpinion].&lt;br /&gt;
** Perhaps altslash.org?  Sounds far enough from slashdot to avoid problems, but close enough to clue in any refugees. [[User:Max Hyre|Max Hyre]] ([[User talk:Max Hyre|talk]]) 08:34, 6 February 2014 (MST)&lt;br /&gt;
** I'm gonna vote for '''divergence''', I think the name along speaks to the community as to why we want something different/better than the aim of SlashFail Beta. (keick)&lt;br /&gt;
&lt;br /&gt;
* I agree that AltSlashdot is hard to pronounce, but wasn't that the idea behind h-t-t-p-colon-slash-slash-slash-dot-dot-o-r-g (that is should be hard to pronounce)? [[User:Dotancohen|Dotancohen]] ([[User talk:Dotancohen|talk]]) 08:41, 6 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
* The name &amp;quot;AltSlashdot&amp;quot; does not &amp;quot;mouth&amp;quot; well. May I suggest &amp;quot;Slashfork&amp;quot;? --[[User:Koen|Koen]] ([[User talk:Koen|talk]]) 08:52, 6 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
* How about betterthanbeta.org or similar? After all, we all know what created this. Another option would be some meme-based thing, like frostyhotgrits.org. Actually, frostyhotgrits.org would be both unique, and make most Slashdotters feel right at home. Greets, Iskender (1040286) [[Special:Contributions/86.50.93.164|86.50.93.164]] 09:39, 6 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
* backslashdot.org. Backslash. Back to basics. Back to the old school. Hell yea.&lt;br /&gt;
&lt;br /&gt;
* can we get one of those new top-level domains, like .bank, except instead get .dot? Then name it SlashSlash.dot ;-)&lt;br /&gt;
&lt;br /&gt;
* I second the person who suggested dot-dot-slash (../).  Going up a directory is like going &amp;quot;back&amp;quot;, which is the purpose of the new site - going back to how things used to be.&lt;br /&gt;
** This does seem to be the clear winner. Though backslash.com (which appears to be a parked domain) would work well too, since it's not *immediately* obvious legally that we stole the name (back slash dot com) from slashdot. Too bad dashdot.com and slashdotdash.com are both real in-use sites. slashdotdashdot.com appears to be parked, though.&lt;br /&gt;
**I second backslash.com if the domain can be obtained. ../ would be the subtler option, and I'm in favor of it.&lt;br /&gt;
&lt;br /&gt;
* May I suggest HashBang (#!), I think it has a slightly better ring to it than hashbash&lt;br /&gt;
** I think anything with &amp;quot;#!&amp;quot; is probably going to be too close to Crunchbang Linux. They use that exact shorthand symbol. - Cactus&lt;br /&gt;
&lt;br /&gt;
* Some fantastic ideas: SlashStar (/*), SlashSlash (//), ShebangShebang (#!#!), HotGrits, SovietSlashdot, DotSlash (./), DotSlashDot (./.), GNU/Slashdot (GNU//.), GNS (GNS = &amp;quot;GNP's Not Slashdot&amp;quot;, and GNP = &amp;quot;Grits on Natalie Portman&amp;quot;), CowboyNeal.net, RoblimosOrphans.org, BangBangBang (!!!), CarrotSlashSlashSlashDot (^\/\.), YoungPastyHonkies.net, NoDiceSlashdot, SlashReset (/Reset), Carrotdot (^.), SlashHash (/#), PurpleTaro, CowboyNealOption, DennisRitchieIsGod.com, Ctrl-H (^H), Ctrl-C (^C), HGNP (Hot Grits on Natalie Portman)&lt;br /&gt;
* *.onion&lt;br /&gt;
&lt;br /&gt;
* altslashctrl -- sort of gets the point across&lt;br /&gt;
&lt;br /&gt;
* nodice.org and no-dice.org are unfortunately not available. -- [[User:Stderr dk|Stderr dk]] ([[User talk:Stderr dk|talk]]) 12:00, 6 February 2014 (MST)&lt;br /&gt;
&lt;br /&gt;
* How about diceaway.org?&lt;br /&gt;
&lt;br /&gt;
How much would dice holdings sell the classic slashdot.org site for? They can keep SlashTV, SlashBI, etc.&lt;br /&gt;
&lt;br /&gt;
* I think the name should be kept to two syllables or less.  Some of my favorites: dotdot (..), notdot(!.), backslash (\).  Although it may be better to define the site based on what it is (is there any vision here other than 'slashdot classic'?) rather than what it isn't (slashdot beta).  If this gains traction, it will be on its own merits and not because it forked slashcode.  Maybe something like hashtech (#tech)?  Works for old school IRC nerds and twitter hashtags.&lt;br /&gt;
** Not that I'm a particular fan of social media, but I do like #tech.&lt;br /&gt;
&lt;br /&gt;
* How about BangDot or KillDot? It sounds similar, but it is different enough than nobody will be able to claim it leads to confusion.&lt;br /&gt;
* How about Tildedot? h-t-t-p-colon-slash-slash-dot-tidle-dot-dot-org? (keick)&lt;br /&gt;
** Or maybe !|.org? BangPipe :) (keick)&lt;br /&gt;
&lt;br /&gt;
* Can we stick these in a table please? With a column that indicates their status (taken - in use / taken - parked / available)? It also makes sense to group them into classes like: anti-dice, recognisably-similar-to-slashdot, novel. [[User:FatPhil|FatPhil]] ([[User talk:FatPhil|talk]]) 14:07, 6 February 2014 (MST) (FatPhil)&lt;/div&gt;</summary>
		<author><name>FatPhil</name></author>
	</entry>
</feed>