<?xml version="1.0"?>
<opml version="2.0">
	<head>
		<title>Dave Status</title>
		<dateCreated>Thu, 28 Jan 2021 21:41:53 GMT</dateCreated>
		<urlInstant>http://instantoutliner.com/nc</urlInstant>
		<dateModified>Tue, 20 Apr 2021 16:31:25 GMT</dateModified>
		<expansionState>1,2</expansionState>
		<lastCursor>2</lastCursor>
		<ownerTwitterScreenName>davewiner</ownerTwitterScreenName>
		<ownerName>Dave Winer</ownerName>
		<ownerId>http://twitter.com/davewiner</ownerId>
		<urlUpdateSocket>ws://test.littleoutliner.com:1230/</urlUpdateSocket>
		<urlPublic>http://test.littleoutliner.com/davewiner/myOutlines/myFirstOutline.opml</urlPublic>
		</head>
	<body>
		<outline text="April 2021" created="Thu, 01 Apr 2021 14:55:24 GMT" name="april2021" type="calendarMonth">
			<outline text="April 9" created="Fri, 09 Apr 2021 15:18:32 GMT" type="calendarDay" name="09">
				<outline text="[[Drummer]]" created="Fri, 09 Apr 2021 15:18:33 GMT" type="outline">
					<outline text="Beautiful example script that gets the names of the first users of Twitter. " created="Fri, 09 Apr 2021 15:18:36 GMT">
						<outline text="http://scripting.com/2021/04/09/141443.html?title=aDrummerExample" created="Fri, 09 Apr 2021 15:19:14 GMT" type="link" url="http://scripting.com/2021/04/09/141443.html?title=aDrummerExample"/>
						</outline>
					</outline>
				</outline>
			<outline text="April 8" created="Thu, 08 Apr 2021 14:48:41 GMT" type="calendarDay" name="08">
				<outline text="[[Drummer]]" created="Thu, 08 Apr 2021 16:21:25 GMT" type="outline">
					<outline text="New verb: twitter.getScreenname " created="Thu, 08 Apr 2021 16:22:03 GMT">
						<outline text="http://scripting.com/code/docserver/?verb=twitter.getScreenname " created="Thu, 08 Apr 2021 16:21:30 GMT" type="link" url="http://scripting.com/code/docserver/?verb=twitter.getScreenname "/>
						<outline text="twitter.getScreenname (&quot;3842&quot;)" created="Thu, 08 Apr 2021 22:26:24 GMT">
							<outline text="Jason" created="Thu, 08 Apr 2021 22:26:54 GMT" isComment="true"/>
							</outline>
						<outline text="twitter.getScreenname (twitter.getUserProfile (&quot;jack&quot;).id)" created="Thu, 08 Apr 2021 22:26:24 GMT">
							<outline text="jack" created="Thu, 08 Apr 2021 22:26:54 GMT" isComment="true"/>
							</outline>
						</outline>
					<outline text="New verb: drummer.runScript" created="Thu, 08 Apr 2021 16:52:53 GMT">
						<outline text="http://scripting.com/code/docserver/?verb=drummer.runScript" created="Thu, 08 Apr 2021 16:56:22 GMT" type="link" url="http://scripting.com/code/docserver/?verb=drummer.runScript"/>
						<outline text="There is a problem, and it's the general problem with running script text at this point." created="Thu, 08 Apr 2021 16:53:03 GMT"/>
						<outline text="I wanted to implement and document this verb because I needed to make a decision on where it goes." created="Thu, 08 Apr 2021 16:53:18 GMT"/>
						<outline text="I chose to create a class called drummer because it's what it is. I'm asking Drummer to run the script. " created="Thu, 08 Apr 2021 16:53:33 GMT"/>
						<outline text="I spent a lot of time staring at the Frontier verb set before deciding on this. " created="Thu, 08 Apr 2021 16:53:57 GMT"/>
						<outline text="Frontier has a class called Frontier, which is basically a grab bag of random stuff Frontier does on its own behalf. " created="Thu, 08 Apr 2021 16:54:11 GMT"/>
						<outline text="I also plan to have a thread class, that launches scripts in threads. But not yet. " created="Thu, 08 Apr 2021 16:54:37 GMT"/>
						</outline>
					<outline text="Places for callbacks in Drummer, yes there are some" created="Thu, 08 Apr 2021 17:41:00 GMT">
						<outline text="I want to have a server component in the browser app, but we can't receive HTTP, so the next best thing I can think of is websockets, so I'm designing an interface for that. Curiously, it must use callbacks. Not the only place, the op visit verbs do too. They are not asynchronous. " created="Thu, 08 Apr 2021 17:40:00 GMT"/>
						</outline>
					</outline>
				<outline text="[[DocServer]]" created="Thu, 08 Apr 2021 14:48:42 GMT" type="outline">
					<outline text="New navigation approach" created="Thu, 08 Apr 2021 14:48:46 GMT">
						<outline text="There's a new Verbs menu. " created="Thu, 08 Apr 2021 14:48:51 GMT"/>
						<outline text="It's a two-level hierarchy." created="Thu, 08 Apr 2021 14:49:19 GMT"/>
						<outline text="At the top level, verb classes." created="Thu, 08 Apr 2021 14:49:11 GMT"/>
						<outline text="At the second level, verb names." created="Thu, 08 Apr 2021 14:49:25 GMT"/>
						<outline text="Choose a verb name, and the docs for that verb appear." created="Thu, 08 Apr 2021 14:49:33 GMT"/>
						</outline>
					<outline text="Problem" created="Thu, 08 Apr 2021 15:15:25 GMT">
						<outline text="A long class like string.xxx is too long to fit even on my big screen. " created="Thu, 08 Apr 2021 15:15:27 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="April 7" created="Wed, 07 Apr 2021 16:19:21 GMT" type="calendarDay" name="07">
				<outline text="[[Drummer]]" created="Wed, 07 Apr 2021 16:19:22 GMT" type="outline">
					<outline text="opml verbs" created="Wed, 07 Apr 2021 16:19:26 GMT">
						<outline text="There are four verbs:" created="Wed, 07 Apr 2021 16:19:30 GMT">
							<outline text="opml.getHeaders" created="Wed, 07 Apr 2021 16:19:35 GMT" type="link" url="http://scripting.com/code/docserver/?verb=opml.getHeaders"/>
							<outline text="opml.setHeaders" created="Wed, 07 Apr 2021 16:19:39 GMT" type="link" url="http://scripting.com/code/docserver/?verb=opml.setHeaders"/>
							<outline text="opml.getCurrentOpml" created="Wed, 07 Apr 2021 16:19:45 GMT" type="link" url="http://scripting.com/code/docserver/?verb=opml.getCurrentOpml"/>
							<outline text="opml.getCurrentObject" created="Wed, 07 Apr 2021 16:19:51 GMT" type="link" url="http://scripting.com/code/docserver/?verb=opml.getCurrentObject"/>
							</outline>
						<outline text="All are tested and documented." created="Wed, 07 Apr 2021 16:19:58 GMT"/>
						<outline text="The idea behind this class is to gather all the whole-file outline operations in one place. " created="Wed, 07 Apr 2021 16:22:42 GMT"/>
						<outline text="There are OPML-related verbs in op, they do not deal with the whole file. " created="Wed, 07 Apr 2021 16:23:06 GMT">
							<outline text="op.getCursorOpml and op.insertOpml" created="Wed, 07 Apr 2021 16:23:50 GMT"/>
							</outline>
						<outline text="I did not implement the other side of getCurrentObject because I have trouble even thinking about it. ;-)" created="Wed, 07 Apr 2021 16:24:32 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="April 6" created="Tue, 06 Apr 2021 17:17:45 GMT" type="calendarDay" name="06">
				<outline text="[[LO2]]" created="Tue, 06 Apr 2021 22:01:54 GMT" type="outline">
					<outline text="New bookmarks include info about where the cursor should go." created="Tue, 06 Apr 2021 22:03:12 GMT">
						<outline text="When you create a bookmark, now it attaches to the bookmark, as an attribute, the value of the created attribute of the headline the bar cursor is on when you create the bookmark. Later, when you choose the bookmark, after it opens the outline, it looks for a headline with the remembered created it, and if it finds it, that's where the bar cursor shows up." created="Tue, 06 Apr 2021 22:01:59 GMT"/>
						</outline>
					</outline>
				<outline text="[[Docs]]" created="Tue, 06 Apr 2021 17:39:57 GMT" type="outline">
					<outline text="I've now got a strategy for doing docs." created="Tue, 06 Apr 2021 17:40:01 GMT"/>
					<outline text="I use one-level includes in the verb docs file, so op verbs, for example is in its own OPML file." created="Tue, 06 Apr 2021 17:40:08 GMT"/>
					<outline text="I tie them all together through the Bookmarks menu as well as via includes in the OPML source." created="Tue, 06 Apr 2021 17:40:28 GMT"/>
					<outline text="So editing is still pretty easy. I depend much less on remembering names of files and whether they're public or private. Bookmarks hides all that, and let's me use more characters to describe what's going on. Big win for complex projects and documenting Drummer is probably the most complex writing project I've ever done. I've never written the docs for my own product before. " created="Tue, 06 Apr 2021 17:40:51 GMT"/>
					</outline>
				<outline text="[[Drummer]]" created="Tue, 06 Apr 2021 17:17:46 GMT" type="outline">
					<outline text="The op &quot;visit&quot; routines are tested and documented." created="Tue, 06 Apr 2021 17:17:49 GMT">
						<outline text="They were in poor shape, basically they didn't work." created="Tue, 06 Apr 2021 17:18:02 GMT"/>
						<outline text="Note: The callbacks are not asynchronous, so they do not have to be called with promises." created="Tue, 06 Apr 2021 17:18:15 GMT"/>
						<outline text="The three verbs are:" created="Tue, 06 Apr 2021 17:18:34 GMT">
							<outline text="op.visitAll" created="Tue, 06 Apr 2021 17:18:40 GMT" type="link" url="http://scripting.com/code/docserver/?verb=op.visitAll"/>
							<outline text="op.visitSubs" created="Tue, 06 Apr 2021 17:18:43 GMT" type="link" url="http://scripting.com/code/docserver/?verb=op.visitSubs"/>
							<outline text="op.visitToSummit" created="Tue, 06 Apr 2021 17:18:47 GMT" type="link" url="http://scripting.com/code/docserver/?verb=op.visitToSummit"/>
							</outline>
						<outline text="The examples are a bit more complicated than the other verbs, so they are not meant to be run with Cmd-/." created="Tue, 06 Apr 2021 17:18:51 GMT"/>
						</outline>
					<outline text="file.readOptionalFile, new verb, written, tested, documented " created="Tue, 06 Apr 2021 18:01:00 GMT">
						<outline text="http://scripting.com/code/docserver/?verb=file.readOptionalFile" created="Tue, 06 Apr 2021 18:01:31 GMT" type="link" url="http://scripting.com/code/docserver/?verb=file.readOptionalFile"/>
						</outline>
					</outline>
				</outline>
			<outline text="April 5" created="Mon, 05 Apr 2021 16:25:34 GMT" type="calendarDay" name="05">
				<outline text="[[LO2]]" created="Mon, 05 Apr 2021 19:42:18 GMT">
					<outline text="It's been a rough couple of days. after a week of big progress, I started going into areas of the program that are hard to deal with and came up empty in all cases. Shit happens. " created="Mon, 05 Apr 2021 19:42:23 GMT">
						<outline text="I wanted to have a popup on each file in a tab that displays info about the file, it's size, dates, private or public. But it turns out that the way bootstrap sets up tabs, anchor elements are blocks, not inline. Trying to override that ended up with even more problems. " created="Mon, 05 Apr 2021 19:42:52 GMT"/>
						<outline text="I figured out how to make switching between tabs instantaneous, by keeping around the DOM structure that Concord manages instead of having to reload OPML. But the tabclick routine does a lot. Handles hoisting, instant outlines, and more. Which makes this pretty complex. Might require another rewrite of tabclick to get this done, but it will get done. " created="Mon, 05 Apr 2021 19:44:07 GMT"/>
						<outline text="There were a few others. I have to regroup and plan out my next steps." created="Mon, 05 Apr 2021 19:45:32 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="April 3" created="Sat, 03 Apr 2021 14:14:06 GMT" type="calendarDay" name="03">
				<outline text="[[Drummer]] -- root.opml" created="Sat, 03 Apr 2021 14:14:07 GMT" type="outline">
					<outline text="root.opml is where your global scripts and data go. " created="Sat, 03 Apr 2021 14:14:13 GMT">
						<outline text="like the other special files, it is opened automatically at startup, if it exists." created="Sat, 03 Apr 2021 14:14:46 GMT"/>
						<outline text="the top level of the root outline has names. they must be valid JS names. " created="Sat, 03 Apr 2021 14:15:06 GMT"/>
						<outline text="below the top level is up to you, however it must be legal JS syntax." created="Sat, 03 Apr 2021 14:15:53 GMT"/>
						<outline text="when it loads the root outline, drummer loops over each of the summits, and for each, does an assignment:" created="Sat, 03 Apr 2021 14:16:33 GMT">
							<outline text="root [name] = subtext" created="Sat, 03 Apr 2021 14:17:10 GMT">
								<outline text="root is a global object in Drummer." created="Sat, 03 Apr 2021 14:17:18 GMT"/>
								<outline text="name is the name from the summit" created="Sat, 03 Apr 2021 14:17:34 GMT"/>
								<outline text="subtext is all the subordinate text" created="Sat, 03 Apr 2021 14:17:40 GMT"/>
								</outline>
							</outline>
						<outline text="here's an example, what's in my root.opml right now. if you want you can put it in yours, and the examples in the next section should work." created="Sat, 03 Apr 2021 14:18:04 GMT">
							<outline text="test " created="Fri, 02 Apr 2021 14:44:08 GMT">
								<outline text="function (name) {" created="Fri, 02 Apr 2021 15:59:10 GMT">
									<outline text="dialog.alert (&quot;Greetings: &quot; + name);" created="Fri, 02 Apr 2021 15:53:17 GMT"/>
									<outline text="}" created="Fri, 02 Apr 2021 15:59:57 GMT"/>
									</outline>
								</outline>
							<outline text="myPrefs" created="Fri, 02 Apr 2021 16:19:57 GMT">
								<outline text="{" created="Fri, 02 Apr 2021 16:20:47 GMT">
									<outline text="age: 34, " created="Fri, 02 Apr 2021 16:20:21 GMT"/>
									<outline text="country: &quot;USA&quot;," created="Sat, 03 Apr 2021 14:13:51 GMT"/>
									<outline text="favoriteMovies: [" created="Fri, 02 Apr 2021 16:58:23 GMT">
										<outline text="&quot;babe&quot;," created="Fri, 02 Apr 2021 16:58:32 GMT"/>
										<outline text="&quot;the departed&quot;," created="Fri, 02 Apr 2021 17:03:43 GMT"/>
										<outline text="&quot;casablanca&quot;" created="Fri, 02 Apr 2021 17:03:56 GMT"/>
										<outline text="]" created="Fri, 02 Apr 2021 16:58:40 GMT"/>
										</outline>
									<outline text="}" created="Fri, 02 Apr 2021 16:20:41 GMT"/>
									</outline>
								</outline>
							</outline>
						<outline text="what can I do with this?" created="Sat, 03 Apr 2021 14:19:18 GMT">
							<outline text="root.test (&quot;Bull Mancuso&quot;)" created="Sat, 03 Apr 2021 14:19:25 GMT">
								<outline text="undefined" created="Sat, 03 Apr 2021 14:20:41 GMT" isComment="true"/>
								</outline>
							<outline text="root.myPrefs.favoriteMovies [1]" created="Sat, 03 Apr 2021 14:20:16 GMT">
								<outline text="the departed" created="Sat, 03 Apr 2021 14:20:35 GMT" isComment="true"/>
								</outline>
							</outline>
						<outline text="as with the other special outlines, as you're editing root.opml it is processed as if you were starting up, so your changes are immediate." created="Sat, 03 Apr 2021 14:20:50 GMT"/>
						<outline text="root is in the Special files sub-menu of the Files menu." created="Sat, 03 Apr 2021 14:21:31 GMT"/>
						<outline text="prior art" created="Fri, 02 Apr 2021 15:07:05 GMT">
							<outline text="root in Frontier" created="Fri, 02 Apr 2021 15:07:08 GMT"/>
							<outline text="The glossary in Old School (and going back to Frontier website framework)" created="Fri, 02 Apr 2021 15:07:12 GMT"/>
							</outline>
						</outline>
					</outline>
				<outline text="[[LO2]]" created="Sat, 03 Apr 2021 15:55:57 GMT" type="outline">
					<outline text="The close box only appears in the current tab. More economical use of horiz space." created="Sat, 03 Apr 2021 16:12:16 GMT"/>
					<outline text="Double-clicking on an include node now expands it." created="Sat, 03 Apr 2021 15:56:00 GMT">
						<outline text="As far as I can tell this hasn't worked since I switched to the new server." created="Sat, 03 Apr 2021 15:56:10 GMT"/>
						</outline>
					</outline>
				<outline text="[[DocServer]]" created="Sat, 03 Apr 2021 15:48:04 GMT" type="outline">
					<outline text="My verbDocs.opml file was getting too large to manage in LO2. " created="Sat, 03 Apr 2021 15:48:08 GMT"/>
					<outline text="I needed to break it up to multiple files, and link them together with includes." created="Sat, 03 Apr 2021 15:48:35 GMT"/>
					<outline text="So I added a one-level include feature in DocServer." created="Sat, 03 Apr 2021 15:48:49 GMT"/>
					<outline text="I'm going to be doing more with includes, this is a first step." created="Sat, 03 Apr 2021 15:48:59 GMT"/>
					</outline>
				</outline>
			<outline text="April 2" created="Fri, 02 Apr 2021 17:50:16 GMT" type="calendarDay" name="02">
				<outline text="[[LO2]]" created="Fri, 02 Apr 2021 21:33:30 GMT" type="outline">
					<outline text="Each tab now has an x which, if you click it, will close the tab." created="Fri, 02 Apr 2021 21:28:46 GMT"/>
					<outline text="This makes closing tabs easier in two ways." created="Fri, 02 Apr 2021 21:29:07 GMT">
						<outline text="1. You don't have to activate the tab you want to close." created="Fri, 02 Apr 2021 21:29:15 GMT"/>
						<outline text="2. You don't have to go to the File menu." created="Fri, 02 Apr 2021 21:29:25 GMT"/>
						</outline>
					<outline text="Still thinking about whether I want every tab to have a close box." created="Fri, 02 Apr 2021 21:29:39 GMT">
						<outline text="It adds 10px horizontal to each tab. " created="Fri, 02 Apr 2021 21:29:52 GMT"/>
						<outline text="It might not be worth the tradeoff." created="Fri, 02 Apr 2021 21:30:06 GMT"/>
						</outline>
					</outline>
				<outline text="[[DocServer]]" created="Fri, 02 Apr 2021 17:50:17 GMT" type="outline">
					<outline text="the left column now lists verb categories, not verbs. " created="Fri, 02 Apr 2021 17:50:20 GMT">
						<outline text="the list was getting too long to be useful." created="Fri, 02 Apr 2021 17:50:35 GMT"/>
						</outline>
					<outline text="watch out for UI glitches, there probably are some. " created="Fri, 02 Apr 2021 21:31:19 GMT"/>
					</outline>
				</outline>
			<outline text="April 1" created="Thu, 01 Apr 2021 14:55:25 GMT" type="calendarDay" name="01">
				<outline text="[[question for andrew]]" created="Thu, 01 Apr 2021 21:07:18 GMT" type="outline">
					<outline text="There are two ways to run a script. In one, I can have multiple lines of code, logic and looping. " created="Thu, 01 Apr 2021 21:07:25 GMT">
						<outline text="In the other, I can just have one expression." created="Thu, 01 Apr 2021 21:07:53 GMT"/>
						<outline text="Yet when I look at the code, they do the same thing, they both call runScriptText." created="Thu, 01 Apr 2021 21:08:02 GMT"/>
						<outline text="I want to create example scripts, for DocServer, that have more than one statement on a line, and have been trying to figure out how this works. I thought I understood, but apparently not" created="Thu, 01 Apr 2021 21:08:17 GMT"/>
						</outline>
					</outline>
				<outline text="[[drummer]]" created="Thu, 01 Apr 2021 14:55:26 GMT" type="outline">
					<outline text="scripts that run when you expand a headline" created="Thu, 01 Apr 2021 18:21:49 GMT">
						<outline text="a new section to the scheduler outline" created="Thu, 01 Apr 2021 18:21:57 GMT">
							<outline text="the scripts run when you expand a headline" created="Thu, 01 Apr 2021 18:22:12 GMT"/>
							</outline>
						<outline text="example" created="Thu, 01 Apr 2021 18:22:20 GMT">
							<outline text="expand" created="Thu, 01 Apr 2021 15:44:47 GMT">
								<outline text="echo type" created="Thu, 01 Apr 2021 15:47:49 GMT">
									<outline text="var type = op.attributes.getOne (&quot;type&quot;);" created="Thu, 01 Apr 2021 16:22:50 GMT"/>
									<outline text="if (type === undefined) {" created="Thu, 01 Apr 2021 16:22:55 GMT">
										<outline text="console.log (&quot;no type&quot;);" created="Thu, 01 Apr 2021 16:23:01 GMT"/>
										<outline text="}" created="Thu, 01 Apr 2021 16:23:10 GMT"/>
										</outline>
									<outline text="else {" created="Thu, 01 Apr 2021 16:23:10 GMT">
										<outline text="console.log (type)" created="Thu, 01 Apr 2021 16:08:20 GMT"/>
										<outline text="}" created="Thu, 01 Apr 2021 16:23:12 GMT"/>
										</outline>
									</outline>
								<outline text="echo text" created="Thu, 01 Apr 2021 15:47:49 GMT">
									<outline text="console.log (op.getLineText ())" created="Thu, 01 Apr 2021 16:08:20 GMT"/>
									</outline>
								</outline>
							</outline>
						<outline text="quiet power" created="Thu, 01 Apr 2021 18:23:01 GMT">
							<outline text="in frontier we had a feature called nodetypes" created="Thu, 01 Apr 2021 18:23:08 GMT">
								<outline text="based on the type of a node, certain things happen" created="Thu, 01 Apr 2021 18:23:18 GMT"/>
								<outline text="LO2 already has certain types defined" created="Thu, 01 Apr 2021 18:23:27 GMT">
									<outline text="include" created="Thu, 01 Apr 2021 18:23:34 GMT"/>
									<outline text="link" created="Thu, 01 Apr 2021 18:23:38 GMT"/>
									<outline text="word" created="Thu, 01 Apr 2021 18:23:39 GMT"/>
									<outline text="tweet" created="Thu, 01 Apr 2021 18:24:05 GMT"/>
									</outline>
								<outline text="with this feature you can add your own" created="Thu, 01 Apr 2021 18:24:09 GMT"/>
								</outline>
							</outline>
						</outline>
					<outline text="scheduled scripts" created="Thu, 01 Apr 2021 18:21:05 GMT">
						<outline text="Fixed a bug where it would only run the first script in a given class. " created="Thu, 01 Apr 2021 18:21:11 GMT"/>
						</outline>
					<outline text="file.getFileInfo" created="Thu, 01 Apr 2021 14:55:28 GMT">
						<outline text="http://scripting.com/code/docserver/?verb=file.getFileInfo" created="Thu, 01 Apr 2021 14:55:41 GMT" type="link" url="http://scripting.com/code/docserver/?verb=file.getFileInfo"/>
						</outline>
					</outline>
				</outline>
			</outline>
		<outline text="March 2021" created="Mon, 01 Mar 2021 14:40:14 GMT" name="march2021" type="calendarMonth">
			<outline text="March 31" created="Wed, 31 Mar 2021 14:58:23 GMT" type="calendarDay" name="31">
				<outline text="[[drummer]]" created="Wed, 31 Mar 2021 19:11:38 GMT" type="outline">
					<outline text="Scheduler" created="Wed, 31 Mar 2021 19:11:44 GMT">
						<outline text="A new special outline file: scheduler.opml." created="Wed, 31 Mar 2021 19:11:52 GMT"/>
						<outline text="Automatically opened at startup, if it's present." created="Wed, 31 Mar 2021 19:12:01 GMT"/>
						<outline text="There are five defined summits:" created="Wed, 31 Mar 2021 19:12:10 GMT">
							<outline text="startup" created="Wed, 31 Mar 2021 19:12:17 GMT"/>
							<outline text="everySecond" created="Wed, 31 Mar 2021 19:12:21 GMT"/>
							<outline text="everyMinute" created="Wed, 31 Mar 2021 19:12:25 GMT"/>
							<outline text="everyHour" created="Wed, 31 Mar 2021 19:12:29 GMT"/>
							<outline text="overnight" created="Wed, 31 Mar 2021 19:12:35 GMT"/>
							</outline>
						<outline text="They define the times that the scripts underneath run." created="Wed, 31 Mar 2021 19:12:42 GMT"/>
						<outline text="Each script has a title and underneath it is the code that runs when the script runs." created="Wed, 31 Mar 2021 19:12:54 GMT"/>
						<outline text="Example" created="Wed, 31 Mar 2021 19:13:39 GMT">
							<outline text="startup" created="Wed, 31 Mar 2021 16:25:53 GMT">
								<outline text="good morning" created="Wed, 31 Mar 2021 16:26:35 GMT">
									<outline text="dialog.alert (&quot;Good morning sports fans!&quot;);" created="Wed, 31 Mar 2021 16:55:15 GMT"/>
									</outline>
								<outline text="init stuff" created="Wed, 31 Mar 2021 19:36:47 GMT">
									<outline text="storage.ct = 0" created="Wed, 31 Mar 2021 19:36:49 GMT"/>
									</outline>
								</outline>
							<outline text="everySecond" created="Wed, 31 Mar 2021 19:36:56 GMT">
								<outline text="counter" created="Wed, 31 Mar 2021 19:36:59 GMT">
									<outline text="storage.ct++;" created="Wed, 31 Mar 2021 19:37:01 GMT"/>
									</outline>
								</outline>
							</outline>
						<outline text="Names are unicase, so startup is the same as StARtuP." created="Wed, 31 Mar 2021 19:14:47 GMT"/>
						<outline text="Comments are ignored at the top level and at the names level. Not sure if they're ignored in the scripts but they should be." created="Wed, 31 Mar 2021 19:14:52 GMT"/>
						<outline text="There's an item in the Special files sub-menu of the Files menu. " created="Wed, 31 Mar 2021 19:15:11 GMT"/>
						<outline text="You can have sections at the top level that don't match the names, they are ignored." created="Wed, 31 Mar 2021 19:15:43 GMT"/>
						<outline text="The scripts run in parallel, not sequentially." created="Wed, 31 Mar 2021 15:43:33 GMT"/>
						</outline>
					</outline>
				<outline text="[[LO2]]" created="Wed, 31 Mar 2021 14:58:24 GMT" type="outline">
					<outline text="Removed the test scripts menu" created="Wed, 31 Mar 2021 16:30:28 GMT">
						<outline text="It was created originally as a way for me to share scripts with test users. " created="Wed, 31 Mar 2021 16:30:33 GMT"/>
						<outline text="We now have better ways to do that, and more coming." created="Wed, 31 Mar 2021 16:30:45 GMT"/>
						</outline>
					<outline text="Fixed a problem in how updates of instant outlines were being processed" created="Wed, 31 Mar 2021 14:58:27 GMT">
						<outline text="The problem" created="Wed, 31 Mar 2021 15:01:14 GMT">
							<outline text="Suppose you have at least one instant outline open. " created="Wed, 31 Mar 2021 14:59:06 GMT"/>
							<outline text="Then you close another tab before it in the tab list (to its left)." created="Wed, 31 Mar 2021 14:59:29 GMT"/>
							<outline text="An update comes in for that outline. " created="Wed, 31 Mar 2021 14:59:50 GMT"/>
							<outline text="We'll either try to apply the update to a tab that doesn't exist (does no harm) or we'll apply the update to one that does exist but is not the outline that updated. " created="Wed, 31 Mar 2021 15:00:03 GMT"/>
							</outline>
						<outline text="How to test" created="Wed, 31 Mar 2021 15:01:21 GMT">
							<outline text="Open a shareable outline in a tab, so you can edit it and cause updates to happen." created="Wed, 31 Mar 2021 15:02:27 GMT"/>
							<outline text="Choose &lt;i&gt;Subscribe to outline&lt;/i&gt; in the File menu and enter the I/O url for the outline created in the previous step." created="Wed, 31 Mar 2021 15:02:43 GMT"/>
							<outline text="Click on the tab with the actual outline, make a change. Can be as little as expanding or collapsing a headline." created="Wed, 31 Mar 2021 15:03:21 GMT"/>
							<outline text="The lightning bolt icon in the instant outline should go green." created="Wed, 31 Mar 2021 15:04:06 GMT"/>
							<outline text="Assuming that went as planned, now close some other tab and repeat the test. It should go green when you make a change. " created="Wed, 31 Mar 2021 15:04:42 GMT"/>
							</outline>
						</outline>
					</outline>
				</outline>
			<outline text="March 30" created="Tue, 30 Mar 2021 16:54:32 GMT" type="calendarDay" name="30">
				<outline text="[[LO2]]" created="Tue, 30 Mar 2021 18:36:05 GMT" type="outline">
					<outline text="When we close a file, we close the socket connection, so we will no longer receive notifications of changes to the file." created="Tue, 30 Mar 2021 18:36:10 GMT"/>
					</outline>
				<outline text="[[drummer]]" created="Tue, 30 Mar 2021 16:54:33 GMT" type="outline">
					<outline text="The op.attributes verbs are tested and documented." created="Tue, 30 Mar 2021 16:54:36 GMT">
						<outline text="http://scripting.com/code/docserver/?verb=op.attributes.getOne" created="Tue, 30 Mar 2021 16:54:51 GMT" type="link" url="http://scripting.com/code/docserver/?verb=op.attributes.getOne"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 29" created="Mon, 29 Mar 2021 15:49:32 GMT" type="calendarDay" name="29">
				<outline text="[[drummer]]" created="Mon, 29 Mar 2021 17:23:47 GMT" type="outline">
					<outline text="You can now use the global &lt;i&gt;storage&lt;/i&gt; object in your scripts." created="Mon, 29 Mar 2021 17:23:51 GMT">
						<outline text="storage.x = 12" created="Mon, 29 Mar 2021 17:24:01 GMT">
							<outline text="12" created="Mon, 29 Mar 2021 17:27:23 GMT" isComment="true"/>
							</outline>
						<outline text="storage.y = number.random (100, 200)" created="Mon, 29 Mar 2021 17:24:01 GMT">
							<outline text="143" created="Mon, 29 Mar 2021 17:27:23 GMT" isComment="true"/>
							</outline>
						<outline text="storage.mylist = [1, 2, 3, 4]" created="Sun, 28 Mar 2021 18:59:42 GMT">
							<outline text="[     1,     2,     3,     4 ]" created="Mon, 29 Mar 2021 17:27:28 GMT" isComment="true"/>
							</outline>
						<outline text="storage.x = storage.y + 12" created="Mon, 29 Mar 2021 17:27:01 GMT">
							<outline text="138" created="Mon, 29 Mar 2021 17:27:34 GMT" isComment="true"/>
							</outline>
						<outline text="storage.x" created="Mon, 29 Mar 2021 17:38:36 GMT">
							<outline text="138" created="Mon, 29 Mar 2021 17:38:39 GMT" isComment="true"/>
							</outline>
						</outline>
					<outline text="How it works" created="Mon, 29 Mar 2021 17:26:31 GMT">
						<outline text="It's just a JavaScript object. " created="Mon, 29 Mar 2021 17:24:19 GMT"/>
						<outline text="It's loaded when the app starts. " created="Mon, 29 Mar 2021 17:26:18 GMT"/>
						<outline text="Every second it checks if the object has changed, and if so, it updates it on the server. " created="Mon, 29 Mar 2021 17:26:22 GMT"/>
						</outline>
					<outline text="Constraints" created="Mon, 29 Mar 2021 17:26:44 GMT">
						<outline text="it's useful for a few MB at most, because of all the transmission that takes place" created="Sun, 28 Mar 2021 19:01:08 GMT"/>
						</outline>
					</outline>
				<outline text="[[LO2]]" created="Mon, 29 Mar 2021 15:49:33 GMT" type="outline">
					<outline text="Set titles &amp; description command changes to Set title..." created="Mon, 29 Mar 2021 15:49:36 GMT">
						<outline text="The dialog, as a result is just an instance of askDialog." created="Mon, 29 Mar 2021 15:49:52 GMT"/>
						<outline text="A lot simpler, direct, and features we no longer use are no longer in the UI." created="Mon, 29 Mar 2021 15:50:07 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 28" created="Sun, 28 Mar 2021 15:33:00 GMT" type="calendarDay" name="28">
				<outline text="[[verbs]]" created="Mon, 29 Mar 2021 00:12:51 GMT" type="outline">
					<outline text="Two new Twitter verbs." created="Mon, 29 Mar 2021 00:12:55 GMT">
						<outline text="twitter.getFollowers" created="Mon, 29 Mar 2021 00:13:03 GMT" type="link" url="http://scripting.com/code/docserver/?verb=twitter.getFollowers"/>
						<outline text="twitter.getFollowed" created="Mon, 29 Mar 2021 00:13:08 GMT" type="link" url="http://scripting.com/code/docserver/?verb=twitter.getFollowed"/>
						</outline>
					<outline text="They had been implemented in davetwitter and therefore in the outliner server, but I had not written glue scripts or docserver pages. That's what I just did. " created="Mon, 29 Mar 2021 00:13:20 GMT"/>
					</outline>
				<outline text="[[LO2]]" created="Sun, 28 Mar 2021 16:02:38 GMT" type="outline">
					<outline text="New sub-menu of the File menu" created="Sun, 28 Mar 2021 16:02:43 GMT">
						<outline text="Special files" created="Sun, 28 Mar 2021 16:02:50 GMT">
							<outline text="Menubar" created="Sun, 28 Mar 2021 16:02:53 GMT"/>
							<outline text="Iconbar" created="Sun, 28 Mar 2021 16:03:06 GMT"/>
							<outline text="Bookmarks" created="Sun, 28 Mar 2021 16:03:08 GMT"/>
							</outline>
						</outline>
					<outline text="You can add icons to the end of the iconbar" created="Sun, 28 Mar 2021 18:09:18 GMT">
						<outline text="To do so, open iconbar.opml using the command in the Special menu" created="Sun, 28 Mar 2021 18:09:32 GMT"/>
						<outline text="The top level headlines are names of Font-awesome icons. " created="Sun, 28 Mar 2021 18:09:48 GMT">
							<outline text="https://fontawesome.com/icons?d=gallery&amp;p=2&amp;m=free" created="Sun, 28 Mar 2021 18:10:05 GMT" type="link" url="https://fontawesome.com/icons?d=gallery&amp;p=2&amp;m=free"/>
							</outline>
						<outline text="Underneath, at the second level and lower is the script that runs when you click the icon." created="Sun, 28 Mar 2021 18:10:24 GMT">
							<outline text="Example" created="Sun, 28 Mar 2021 18:10:47 GMT">
								<outline text="bus" created="Sun, 28 Mar 2021 18:10:50 GMT">
									<outline text="dialog.alert (&quot;Do you have buses where you live?&quot;)" created="Sun, 28 Mar 2021 18:11:13 GMT"/>
									</outline>
								</outline>
							</outline>
						</outline>
					<outline text="The outlines are hot-linked to the resource" created="Sun, 28 Mar 2021 16:03:21 GMT">
						<outline text="ie when you change an outline, the resource changes immediately." created="Sun, 28 Mar 2021 18:56:43 GMT"/>
						</outline>
					</outline>
				<outline text="[[wishlist]]" created="Sun, 28 Mar 2021 15:33:01 GMT" type="outline">
					<outline text="I want a command that works as follows." created="Sun, 28 Mar 2021 15:33:05 GMT">
						<outline text="I select 5 headlines." created="Sun, 28 Mar 2021 15:33:15 GMT"/>
						<outline text="Choose the command." created="Sun, 28 Mar 2021 15:33:21 GMT"/>
						<outline text="They merge into one headline, with spaces after sentences. " created="Sun, 28 Mar 2021 15:33:24 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 27" created="Sat, 27 Mar 2021 15:22:39 GMT" type="calendarDay" name="27">
				<outline text="[[LO2]]" created="Sat, 27 Mar 2021 15:22:40 GMT" type="outline">
					<outline text="tab.openInstantOutline" created="Sun, 28 Mar 2021 15:07:16 GMT">
						<outline text="new verb. does what you'd think it does." created="Sun, 28 Mar 2021 15:07:18 GMT"/>
						</outline>
					<outline text="tab.openFile verb works" created="Sat, 27 Mar 2021 17:35:51 GMT">
						<outline text="http://scripting.com/code/docserver/?verb=tab.openFile" created="Sat, 27 Mar 2021 17:36:02 GMT" type="link" url="http://scripting.com/code/docserver/?verb=tab.openFile"/>
						</outline>
					<outline text="Demo of tweeting in LO2." created="Sat, 27 Mar 2021 16:05:00 GMT">
						<outline text="https://www.youtube.com/watch?v=TkRYxgbbv1E" created="Sat, 27 Mar 2021 16:05:11 GMT"/>
						</outline>
					<outline text="Bookmarking instant outlines now works" created="Sat, 27 Mar 2021 15:22:45 GMT">
						<outline text="how to test" created="Sat, 27 Mar 2021 15:22:56 GMT">
							<outline text="open a tab with an instant outline in it" created="Sat, 27 Mar 2021 15:22:59 GMT"/>
							<outline text="choose Add bookmark from the Bookmarks menu. " created="Sat, 27 Mar 2021 15:23:17 GMT"/>
							<outline text="confirm" created="Sat, 27 Mar 2021 15:23:33 GMT"/>
							<outline text="the bookmarks outline should open with the title of the tab at the top" created="Sat, 27 Mar 2021 15:23:36 GMT"/>
							<outline text="you can edit the outline or close it" created="Sat, 27 Mar 2021 15:23:54 GMT"/>
							<outline text="close the tab you made a bookmark of" created="Sat, 27 Mar 2021 15:24:05 GMT"/>
							<outline text="choose it from the Bookmarks menu" created="Sat, 27 Mar 2021 15:24:16 GMT"/>
							<outline text="it should open correctly" created="Sat, 27 Mar 2021 15:24:24 GMT"/>
							</outline>
						</outline>
					</outline>
				</outline>
			<outline text="March 26" created="Fri, 26 Mar 2021 19:43:15 GMT" type="calendarDay" name="26">
				<outline text="[[LO2]]" created="Fri, 26 Mar 2021 19:43:16 GMT" type="outline">
					<outline text="Bookmarks menu" created="Fri, 26 Mar 2021 19:43:20 GMT">
						<outline text="To test, reload the app. There should be a new Bookmarks menu." created="Fri, 26 Mar 2021 19:43:25 GMT"/>
						<outline text="The first command in the menu is Add Bookmark. " created="Fri, 26 Mar 2021 19:43:51 GMT"/>
						<outline text="Open the file you want to bookmark, if it's not already open. " created="Fri, 26 Mar 2021 19:44:07 GMT"/>
						<outline text="Click on its tab." created="Fri, 26 Mar 2021 19:44:26 GMT"/>
						<outline text="Choose Add Bookmark from the Bookmarks menu." created="Fri, 26 Mar 2021 19:44:31 GMT"/>
						<outline text="A confirmation dialog should appear. Click OK." created="Fri, 26 Mar 2021 19:44:40 GMT"/>
						<outline text="In a moment a new tab should open named Bookmarks, with a bookmark for your file inserted. " created="Fri, 26 Mar 2021 19:44:53 GMT"/>
						<outline text="You can change the text if you want." created="Fri, 26 Mar 2021 19:45:12 GMT"/>
						<outline text="When you edit the text, it should be immediately reflects in the menu." created="Fri, 26 Mar 2021 19:45:18 GMT"/>
						<outline text="Then you can close the Bookmarks tab. The menu should still work." created="Fri, 26 Mar 2021 19:45:35 GMT"/>
						<outline text="Try bookmarking another file, this tests another branch of the code. " created="Fri, 26 Mar 2021 19:45:56 GMT"/>
						<outline text="Let me know if it works. 😀" created="Fri, 26 Mar 2021 19:46:15 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 24" created="Wed, 24 Mar 2021 14:55:47 GMT" type="calendarDay" name="24">
				<outline text="[[LO2]]" created="Wed, 24 Mar 2021 14:55:48 GMT" type="outline">
					<outline text="The View OPML command now works for private files." created="Wed, 24 Mar 2021 14:55:51 GMT">
						<outline text="It broke when I moved the app to test.littleoutliner.com. " created="Wed, 24 Mar 2021 14:56:01 GMT"/>
						<outline text="It depended on being able to open a static page on the same domain as the app." created="Wed, 24 Mar 2021 14:56:12 GMT"/>
						<outline text="daveappserver could have that function, by opening files in the privateFiles folder, but it doesn't now have that feature." created="Wed, 24 Mar 2021 14:56:26 GMT"/>
						</outline>
					<outline text="Get public link command  turns into two commands" created="Wed, 24 Mar 2021 15:58:41 GMT">
						<outline text="Make outline public" created="Wed, 24 Mar 2021 15:01:49 GMT">
							<outline text="This gives you the link to an OPML file, useful for includes" created="Wed, 24 Mar 2021 15:02:09 GMT"/>
							</outline>
						<outline text="Get shareable link" created="Wed, 24 Mar 2021 15:01:54 GMT">
							<outline text="This gives you an instantoutliner.com link, suitable for giving to friends to read on its own" created="Wed, 24 Mar 2021 15:02:27 GMT"/>
							</outline>
						</outline>
					<outline text="dns.getDomainName (dns.getDottedId (&quot;liveblog.co&quot;))" created="Wed, 24 Mar 2021 16:09:39 GMT">
						<outline text="s3-website-us-east-1.amazonaws.com" created="Wed, 24 Mar 2021 16:09:59 GMT" isComment="true"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 23" created="Tue, 23 Mar 2021 13:36:04 GMT" type="calendarDay" name="23">
				<outline text="[[LO2]]" created="Tue, 23 Mar 2021 13:36:05 GMT" type="outline">
					<outline text="Trying for performance boost in tab switching with largeish outlines" created="Tue, 23 Mar 2021 14:18:58 GMT">
						<outline text="When you save the outline in a tab, in saveCurrentTab, keep a copy of the opmltext in the tab structure. " created="Tue, 23 Mar 2021 14:16:46 GMT"/>
						<outline text="When you click to activate a tab, check to see if you have the opmltext already in memory, if so, use it." created="Tue, 23 Mar 2021 14:18:32 GMT"/>
						</outline>
					<outline text="Net-net -- the performance difference is there, but not significant. " created="Tue, 23 Mar 2021 15:14:05 GMT">
						<outline text="to get the real performance we're going to have to cache the outline data structure" created="Tue, 23 Mar 2021 15:14:26 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 22" created="Mon, 22 Mar 2021 13:19:05 GMT" type="calendarDay" name="22">
				<outline text="[[verbs]]" created="Mon, 22 Mar 2021 13:19:06 GMT" type="outline">
					<outline text="Andrew, there's a problem with the verb dialog.ask" created="Mon, 22 Mar 2021 13:19:14 GMT"/>
					<outline text="It correctly returns the string the user entered as the returned value of the call." created="Mon, 22 Mar 2021 13:19:23 GMT">
						<outline text="var result = dialog.ask (&quot;prompt&quot;, &quot;default&quot;, &quot;placeholder&quot;);" created="Mon, 22 Mar 2021 13:19:42 GMT"/>
						<outline text="console.log (result)" created="Mon, 22 Mar 2021 13:20:05 GMT"/>
						</outline>
					<outline text="But what is the protocol if the user hits Cancel?" created="Mon, 22 Mar 2021 13:20:10 GMT"/>
					<outline text="It appears to be returning the empty string." created="Mon, 22 Mar 2021 13:20:31 GMT"/>
					<outline text="It's a problem, because there's only one spot" created="Mon, 22 Mar 2021 13:22:50 GMT"/>
					</outline>
				</outline>
			<outline text="March 21" created="Sun, 21 Mar 2021 22:32:00 GMT" type="calendarDay" name="21">
				<outline text="[[davetwitter]]" created="Sun, 21 Mar 2021 22:32:01 GMT" type="outline">
					<outline text="We've got some documented and tested Twitter verbs. " created="Sun, 21 Mar 2021 22:32:06 GMT">
						<outline text="http://scripting.com/code/docserver/" created="Sun, 21 Mar 2021 22:32:18 GMT" type="link" url="http://scripting.com/code/docserver/"/>
						</outline>
					<outline text="I've NPM published the new davetwitter." created="Sun, 21 Mar 2021 22:32:20 GMT"/>
					<outline text="The new version, v0.6.0, is up on github" created="Sun, 21 Mar 2021 22:33:39 GMT"/>
					<outline text="Tomorrow I move off Twitter verbs into something different. " created="Sun, 21 Mar 2021 22:33:52 GMT"/>
					<outline text="Thank you." created="Sun, 21 Mar 2021 22:34:02 GMT"/>
					</outline>
				</outline>
			<outline text="March 19" created="Fri, 19 Mar 2021 19:46:07 GMT" type="calendarDay" name="19">
				<outline text="[[Demo for Roam Folk]]" created="Fri, 19 Mar 2021 19:46:08 GMT" type="outline" description="something for a demoasdfasdfasdf">
					<outline text="now is the time for all good men to come to the aid of their country" created="Fri, 19 Mar 2021 19:46:46 GMT"/>
					</outline>
				</outline>
			<outline text="March 18" created="Thu, 18 Mar 2021 15:53:56 GMT" type="calendarDay" name="18">
				<outline text="[[davetwitter]]" created="Thu, 18 Mar 2021 21:39:39 GMT" type="outline">
					<outline text="What a day. Oy. Rainy and ugly and I did a lot of sloshing around, but finally got my shit together. " created="Thu, 18 Mar 2021 21:39:43 GMT"/>
					<outline text="I need a really good test bed for Twitter verbs, and now I have it. I have a copy of outlinerserver.js running locally, and a copy of LO2 is coming out of its home page." created="Thu, 18 Mar 2021 21:40:03 GMT"/>
					<outline text="Now I can write glue for new verbs in LO2, which is where I need to test it. And i can do calls that require authentication because I'm authenticated in LO2 and it's debugged. " created="Thu, 18 Mar 2021 21:40:46 GMT"/>
					<outline text="I have twGetAccountSettings working, tomorrow I'll do twSetAccountSettings. " created="Thu, 18 Mar 2021 21:41:28 GMT"/>
					<outline text="I have getFollowers and getFollowed working. I really was running into the rate-limit getting followers, but i got it working. " created="Thu, 18 Mar 2021 21:41:51 GMT"/>
					<outline text="Twitter's api has always been a slog, but I now have the environment I need to march through it. I think!" created="Thu, 18 Mar 2021 21:42:16 GMT"/>
					</outline>
				</outline>
			<outline text="March 17" created="Wed, 17 Mar 2021 16:07:43 GMT" type="calendarDay" name="17">
				<outline text="[[davetwitter]]" created="Wed, 17 Mar 2021 16:08:39 GMT" type="outline">
					<outline text="todo" created="Wed, 17 Mar 2021 20:25:27 GMT">
						<outline text="review the names of params to the rest interface" created="Wed, 17 Mar 2021 20:25:28 GMT">
							<outline text="it's a bit of a hodgepodge" created="Wed, 17 Mar 2021 20:25:39 GMT"/>
							<outline text="for example, some places the param is named screen_name and others it's screenname" created="Wed, 17 Mar 2021 20:25:49 GMT"/>
							</outline>
						</outline>
					<outline text="howto" created="Wed, 17 Mar 2021 16:43:40 GMT">
						<outline text="there's a test app included with davetwitter, but as it was provided previously it didn't do anything. now it does." created="Wed, 17 Mar 2021 16:43:42 GMT"/>
						<outline text="you have to put a config.json file in the same folder, and it has to provide at least twitterConsumerKey and twitterConsumerSecret. i've put one in the repo with obviously dummy values." created="Wed, 17 Mar 2021 16:44:08 GMT"/>
						<outline text="when you launch the app this is what it does" created="Wed, 17 Mar 2021 16:44:59 GMT">
							<outline text="reads config.json" created="Wed, 17 Mar 2021 16:45:17 GMT"/>
							<outline text="initializes davetwitter with it" created="Wed, 17 Mar 2021 16:45:21 GMT"/>
							<outline text="reads a tweet and displays its text" created="Wed, 17 Mar 2021 16:45:27 GMT"/>
							</outline>
						<outline text="it requires the davetwitter.js file from its parent directory (the main davetwitter file)" created="Wed, 17 Mar 2021 16:45:58 GMT"/>
						<outline text="from there you can test anything" created="Wed, 17 Mar 2021 16:45:34 GMT"/>
						</outline>
					<outline text="plan" created="Wed, 17 Mar 2021 16:43:34 GMT">
						<outline text="my only programming job for the day is to get davetwitter in a form where i can work on it without publishing new versions to NPM. this bit of code is transitioning back to a work in progress from being one that i'm not actively working on. the adaptation of the threading code to the package was way too painful because i didn't take this step." created="Wed, 17 Mar 2021 16:08:45 GMT"/>
						<outline text="then i want to see what verbs i can add that address the questions:" created="Wed, 17 Mar 2021 16:09:53 GMT">
							<outline text="who do i follow and" created="Wed, 17 Mar 2021 16:10:08 GMT"/>
							<outline text="who follows me" created="Wed, 17 Mar 2021 16:10:12 GMT"/>
							</outline>
						<outline text="there's going to be some factoring, because they use a &quot;paging&quot; method to return bits of a very large sequence per api call. i always wonder why they prefer N calls to one that returns a huge structure. maybe because the hugeness puts a big load on their system? anyway -- it is what it is." created="Wed, 17 Mar 2021 16:10:19 GMT"/>
						</outline>
					</outline>
				<outline text="[[scriptable apps]]" created="Wed, 17 Mar 2021 16:07:44 GMT" type="outline">
					<outline text="&lt;a href=&quot;http://scripting.com/2021/03/17.html#a154038&quot;&gt;Wrote&lt;/a&gt; up on scripting news what's the diff between a scriptable app and an app with an API." created="Wed, 17 Mar 2021 16:07:51 GMT" type="link" url="http://scripting.com/2021/03/17.html#a154038"/>
					</outline>
				</outline>
			<outline text="March 15" created="Mon, 15 Mar 2021 15:43:09 GMT" type="calendarDay" name="15">
				<outline text="[[scriptable apps]]" created="Mon, 15 Mar 2021 21:13:04 GMT" type="outline">
					<outline text="How to design a scripting interface for an app" created="Mon, 15 Mar 2021 21:13:10 GMT">
						<outline text="Make a list of things a user would want to do with an app." created="Mon, 15 Mar 2021 21:13:18 GMT">
							<outline text="If it's a text editor for example, the most basic things are in the File menu." created="Mon, 15 Mar 2021 21:13:30 GMT">
								<outline text="Create a new file, open an existing file, delete a file. " created="Mon, 15 Mar 2021 21:13:53 GMT"/>
								<outline text="Get the contents of the front file (if it's a tabbed interface, the current tab)." created="Mon, 15 Mar 2021 21:14:10 GMT"/>
								</outline>
							<outline text="If it's a RSS reader:" created="Mon, 15 Mar 2021 21:15:16 GMT">
								<outline text="Subscribe and unsubscribe a feed." created="Mon, 15 Mar 2021 21:15:23 GMT"/>
								<outline text="Get the updates from a given feed in chronologic order." created="Mon, 15 Mar 2021 21:15:36 GMT"/>
								<outline text="Forward an item to another feed." created="Mon, 15 Mar 2021 21:15:52 GMT"/>
								</outline>
							<outline text="If it's Twitter:" created="Mon, 15 Mar 2021 21:14:51 GMT">
								<outline text="Send a tweet." created="Mon, 15 Mar 2021 21:16:09 GMT"/>
								<outline text="Get a user's most recent tweets" created="Mon, 15 Mar 2021 21:16:15 GMT"/>
								<outline text="Get a thread." created="Mon, 15 Mar 2021 21:16:22 GMT"/>
								</outline>
							</outline>
						</outline>
					<outline text="When it's time to specify the interface, the actual params" created="Mon, 15 Mar 2021 21:16:37 GMT">
						<outline text="Look for prior art. If there's a popular app that works like yours does, the default should be do exactly what they do. Even if you don't like something about what they do." created="Mon, 15 Mar 2021 21:16:50 GMT"/>
						<outline text="Strive for simplicity, approachability. You want a user to look at it and nod their head, saying &quot;this makes sense.&quot;" created="Mon, 15 Mar 2021 21:17:28 GMT"/>
						<outline text="Write the docs. If there's something that's hard to understand, try to redesign the interface so it's easier. The simplicity of the docs matters too. It's all part of a package, the intent is to make it useful to the most people. Many of our users don't think of themselves as programmers, and don't want to. (Even though we know they &lt;i&gt;are&lt;/i&gt; programmers.) " created="Mon, 15 Mar 2021 21:17:58 GMT"/>
						</outline>
					<outline text="Test your interface" created="Mon, 15 Mar 2021 21:19:30 GMT">
						<outline text="Most important thing -- write a useful app!" created="Mon, 15 Mar 2021 21:19:35 GMT"/>
						<outline text="If you can't write a one, try to imagine one, and think about what's missing in your interface. " created="Mon, 15 Mar 2021 21:19:44 GMT"/>
						<outline text="If possible go back to the first step and implement the new verb." created="Mon, 15 Mar 2021 21:20:07 GMT"/>
						</outline>
					</outline>
				<outline text="[[scriptingNews]]" created="Mon, 15 Mar 2021 15:44:35 GMT" type="outline">
					<outline text="The email didn't go out last night. It &lt;i&gt;does not&lt;/i&gt; appear to have anything to do with Daylight Savings Time as I initially thought. " created="Mon, 15 Mar 2021 15:44:43 GMT">
						<outline text="I notice that the Scripting News &lt;a href=&quot;https://github.com/scripting/Scripting-News/tree/master/blog/days/2021/03&quot;&gt;repo&lt;/a&gt; is missing the JSON file for the 14th. " created="Mon, 15 Mar 2021 15:45:07 GMT"/>
						<outline text="The nightly email app first looks on S3 for the html file representing the last day's posts." created="Mon, 15 Mar 2021 15:52:17 GMT">
							<outline text="http://scripting.com/data/pages/2021/03/14.html" created="Mon, 15 Mar 2021 15:52:45 GMT">
								<outline text="the file is there." created="Mon, 15 Mar 2021 15:53:07 GMT"/>
								</outline>
							</outline>
						<outline text="Then it looks in github, and the file is not there." created="Mon, 15 Mar 2021 15:55:04 GMT">
							<outline text="https://github.com/scripting/Scripting-News/tree/master/blog/pages/2021/03" created="Mon, 15 Mar 2021 15:55:15 GMT"/>
							</outline>
						<outline text="And the json file is not there either, suggesting that it couldn't post it" created="Mon, 15 Mar 2021 15:55:17 GMT">
							<outline text="I think something may be deprecated, have to see how these files are uploaded. " created="Mon, 15 Mar 2021 15:55:34 GMT"/>
							<outline text="however this appears to be the night they broke, previous archives are there." created="Mon, 15 Mar 2021 15:55:47 GMT"/>
							</outline>
						<outline text="The app that does the nightly backup to github is called oldSchoolNightly." created="Mon, 15 Mar 2021 16:03:21 GMT">
							<outline text="In its log it shows that it uploaded the files from the 13th at midnight, not the 14th." created="Mon, 15 Mar 2021 16:03:41 GMT"/>
							</outline>
						<outline text="I fixed the problem on github by" created="Mon, 15 Mar 2021 16:07:16 GMT">
							<outline text="editing the stats.json file on oldschoolnightly so the last update was one day earlier" created="Mon, 15 Mar 2021 16:07:24 GMT"/>
							<outline text="rebooted the app" created="Mon, 15 Mar 2021 16:07:42 GMT"/>
							<outline text="it then updated the files for the 14th in the github repo" created="Mon, 15 Mar 2021 16:07:46 GMT"/>
							</outline>
						<outline text="now about the emails" created="Mon, 15 Mar 2021 16:07:57 GMT">
							<outline text="i tried the same thing. edited stat.json, set the lastupdate time to a day earlier, and restarted. " created="Mon, 15 Mar 2021 16:08:02 GMT"/>
							<outline text="the correct emails went out." created="Mon, 15 Mar 2021 16:16:15 GMT"/>
							</outline>
						<outline text="problem solved for now, let's see what happens tonight" created="Mon, 15 Mar 2021 16:16:26 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 14" created="Sun, 14 Mar 2021 14:35:19 GMT" type="calendarDay" name="14">
				<outline text="[[threadViewer]]" created="Mon, 15 Mar 2021 15:43:10 GMT" type="outline">
					<outline text="Implemented a cache and reloading, described in the howto doc." created="Mon, 15 Mar 2021 15:43:20 GMT"/>
					<outline text="ThreadViewer is now useful and I can return to other projects. " created="Mon, 15 Mar 2021 15:43:40 GMT"/>
					<outline text="Whew. That was supposed to originally be a one-day detour." created="Mon, 15 Mar 2021 15:43:55 GMT"/>
					<outline text="But it had the benefit of getting all that new thread functionality into davetwitter, and therefore will be easily added to Drummer. " created="Mon, 15 Mar 2021 15:44:06 GMT"/>
					</outline>
				<outline text="[[docServer]]" created="Sun, 14 Mar 2021 14:35:20 GMT" type="outline">
					<outline text="continue to work on verb docs" created="Sun, 14 Mar 2021 14:35:25 GMT"/>
					</outline>
				</outline>
			<outline text="March 13" created="Sat, 13 Mar 2021 15:18:15 GMT" type="calendarDay" name="13">
				<outline text="[[davetwitter]]" created="Sat, 13 Mar 2021 22:57:50 GMT" type="outline">
					<outline text="it got the ability to do general searches of timelines, needed to make threadviewer really work." created="Sat, 13 Mar 2021 22:57:58 GMT"/>
					<outline text="the code was already completely debugged in tweetSucker, which I wrote in 2020." created="Sat, 13 Mar 2021 22:58:32 GMT"/>
					<outline text="and this code will be part of every davetwitter installation now. " created="Sat, 13 Mar 2021 22:58:46 GMT"/>
					<outline text="it's good to get this basic stuff debugged and fully deployed. " created="Sat, 13 Mar 2021 22:59:00 GMT"/>
					</outline>
				<outline text="[[threadviewer]]" created="Sat, 13 Mar 2021 22:59:14 GMT">
					<outline text="it's now much more solid, but still not done all the way." created="Sat, 13 Mar 2021 22:59:19 GMT"/>
					<outline text="http://threadviewer.com/1370863807715762179" created="Sat, 13 Mar 2021 22:59:28 GMT" type="link" url="http://threadviewer.com/1370863807715762179"/>
					<outline text="that thread might stop working after 24 hours depending on whether i solve the remaining problem before it goes poof" created="Sat, 13 Mar 2021 22:59:50 GMT"/>
					<outline text="i have to pick a time when the thread is frozen. reading teh timeline for 24 hours worth is fair, but going back months or even years is crazy" created="Sat, 13 Mar 2021 23:00:11 GMT"/>
					</outline>
				<outline text="[[docserver]]" created="Sat, 13 Mar 2021 23:00:53 GMT">
					<outline text="I finished documenting the string verbs, then went back to utils.js and found more that i want to suck in. " created="Sat, 13 Mar 2021 23:00:59 GMT"/>
					<outline text="also got a bunch of date verbs." created="Sat, 13 Mar 2021 23:01:17 GMT"/>
					<outline text="i love this process. the verb set itself should be useful even outside of Digger." created="Sat, 13 Mar 2021 23:01:24 GMT"/>
					</outline>
				</outline>
			<outline text="March 12" created="Fri, 12 Mar 2021 16:03:53 GMT" type="calendarDay" name="12">
				<outline text="[[threadViewer]]" created="Fri, 12 Mar 2021 18:00:15 GMT" type="outline">
					<outline text="I was really sloppy factoring some code down into davetwitter, and lost about 24 freaking hours fixing it." created="Fri, 12 Mar 2021 18:00:22 GMT"/>
					<outline text="Should've waited till I was fresh to do the factoring. It's the most error prone thing I do. " created="Fri, 12 Mar 2021 18:00:42 GMT"/>
					<outline text="Wrote it up &lt;a href=&quot;http://scripting.com/2021/03/12/160733.html?title=slowDownToHurryUp&quot;&gt;on Scripting&lt;/a&gt;. " created="Fri, 12 Mar 2021 18:01:03 GMT"/>
					</outline>
				<outline text="[[docServer]]" created="Fri, 12 Mar 2021 17:59:36 GMT" type="outline">
					<outline text="Now can display results of example scripts, and outline hierarchies in explanatory text. " created="Fri, 12 Mar 2021 17:59:41 GMT"/>
					</outline>
				<outline text="[[davetwitter]]" created="Fri, 12 Mar 2021 16:03:54 GMT" type="outline">
					<outline text="New version includes routines that get a single tweet and one that gets a full thread in chronologic order. Released." created="Fri, 12 Mar 2021 16:03:58 GMT"/>
					</outline>
				</outline>
			<outline text="March 8" created="Mon, 08 Mar 2021 20:05:08 GMT" type="calendarDay" name="08">
				<outline text="[[LO2]]" created="Mon, 08 Mar 2021 20:09:15 GMT">
					<outline text="assign single keystrokes to user script commands" created="Mon, 08 Mar 2021 20:09:18 GMT">
						<outline text="i want cmd-4, which is a timestamper in frontier" created="Mon, 08 Mar 2021 20:09:27 GMT"/>
						<outline text="desperately want it here." created="Mon, 08 Mar 2021 20:09:38 GMT"/>
						</outline>
					</outline>
				<outline text="[[threadviewer]]" created="Mon, 08 Mar 2021 20:06:37 GMT" type="outline">
					<outline text="new app, a prototype for something that could be written in drummer, when it's ready" created="Mon, 08 Mar 2021 20:07:00 GMT"/>
					<outline text="urls look like this:" created="Mon, 08 Mar 2021 20:07:16 GMT">
						<outline text="http://threadviewer.com/1368932412386902027" created="Mon, 08 Mar 2021 20:07:35 GMT"/>
						</outline>
					<outline text="this would display a nice-looking blog-post-like page with the three paragraphs from the tweets, easily read, without distractions" created="Mon, 08 Mar 2021 20:08:09 GMT">
						<outline text="I am convinced there very much is a need for what NFTs do, for developers. It'll seem weird to people who think we are &quot;coders.&quot; But we create a lot of stuff, put our best ideas out there, and it's really hard to get credit for our contributions." created="Mon, 08 Mar 2021 20:09:55 GMT"/>
						<outline text="There needs to be an economy of credit that doesn't involve patents, taking a job at a bigco, or otherwise interfering with your artistic choices. It's the only way we take really big steps in tech." created="Mon, 08 Mar 2021 20:10:04 GMT"/>
						<outline text="I chose a creative life developing software in the late 70s. I stuck with it and it worked. But the world doesn't yet acknowledge such a thing exists. A huge impediment. So an open platform for artifacts from successful tech creativity. Good thing, I say." created="Mon, 08 Mar 2021 20:10:10 GMT"/>
						</outline>
					</outline>
				<outline text="[[davetwitter]]" created="Mon, 08 Mar 2021 20:05:09 GMT" type="outline">
					<outline text="/gettweet" created="Mon, 08 Mar 2021 20:05:15 GMT">
						<outline text="believe it or not there was no call in the nodeStorage api that took an id and returned the tweet. " created="Mon, 08 Mar 2021 20:05:22 GMT"/>
						<outline text="it wasn't there in the Frontier glue either. " created="Mon, 08 Mar 2021 20:05:44 GMT"/>
						<outline text="have i never written a script that needed to get a tweet? is that possible??" created="Mon, 08 Mar 2021 20:05:52 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 7" created="Sun, 07 Mar 2021 16:08:11 GMT" type="calendarDay" name="07">
				<outline text="[[tagserver]]" created="Sun, 07 Mar 2021 17:44:11 GMT" type="outline">
					<outline text="I think the tagserver as it works right now is more in the way than it's helping." created="Sun, 07 Mar 2021 17:44:15 GMT"/>
					<outline text="I'm going to move my notes to a simpler outline format. Maybe even use DocServer? What a hack that would be. " created="Sun, 07 Mar 2021 17:44:30 GMT"/>
					</outline>
				<outline text="[[LO2]] &amp; [[daveappserver]]" created="Sun, 07 Mar 2021 17:42:51 GMT" type="outline">
					<outline text="The Download My Files command in the Tools menu now works. " created="Sun, 07 Mar 2021 17:43:18 GMT"/>
					<outline text="I had to add the command to daveappserver. Totally belongs there. It's all about file management. " created="Sun, 07 Mar 2021 17:43:42 GMT"/>
					</outline>
				<outline text="[[drummer]]" created="Sun, 07 Mar 2021 16:09:05 GMT" type="outline">
					<outline text="Thinking out loud" created="Sun, 07 Mar 2021 17:45:09 GMT">
						<outline text="one special file opened at launch, root.opml" created="Sun, 07 Mar 2021 20:17:17 GMT">
							<outline text="root" created="Sun, 07 Mar 2021 20:17:29 GMT">
								<outline text="system" created="Sun, 07 Mar 2021 20:17:31 GMT">
									<outline text="at launch we load the contents of this table from the drummer server. " created="Sun, 07 Mar 2021 20:17:38 GMT">
										<outline text="it's the system distribution, written in JS that runs on the drummer platform." created="Sun, 07 Mar 2021 20:18:10 GMT"/>
										<outline text="also default data, initial menubar, templates, whatever" created="Sun, 07 Mar 2021 20:18:58 GMT"/>
										</outline>
									<outline text="runtime data, like the paths table" created="Sun, 07 Mar 2021 20:19:47 GMT"/>
									</outline>
								<outline text="user" created="Sun, 07 Mar 2021 20:17:33 GMT">
									<outline text="where the user's scripts and data live, also known as userland." created="Sun, 07 Mar 2021 20:18:46 GMT">
										<outline text="the menubar.opml outline would be sucked into this as would icons.opml" created="Sun, 07 Mar 2021 20:20:41 GMT"/>
										</outline>
									</outline>
								</outline>
							</outline>
						<outline text="both system and user have a table called background, with subtables named" created="Sun, 07 Mar 2021 20:21:32 GMT">
							<outline text="everySecond" created="Sun, 07 Mar 2021 20:22:01 GMT"/>
							<outline text="everyMinute" created="Sun, 07 Mar 2021 20:22:03 GMT"/>
							<outline text="everyHour" created="Sun, 07 Mar 2021 20:22:07 GMT"/>
							<outline text="overnight" created="Sun, 07 Mar 2021 20:22:11 GMT"/>
							</outline>
						<outline text="both system and user have a table called startup, all the scripts in that table run at startup" created="Sun, 07 Mar 2021 20:22:59 GMT">
							<outline text="in general system scripts run first, so the user table version can override it" created="Sun, 07 Mar 2021 20:23:21 GMT"/>
							</outline>
						</outline>
					</outline>
				<outline text="[[daveappserver]]" created="Sun, 07 Mar 2021 16:08:12 GMT" type="outline">
					<outline text="done -- implement the /myfiles call" created="Sun, 07 Mar 2021 16:08:19 GMT">
						<outline text="return a zipped archive of the users files" created="Sun, 07 Mar 2021 16:08:35 GMT"/>
						<outline text="nodeStorage does it, and it's nice to have" created="Sun, 07 Mar 2021 16:08:44 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 6" created="Sat, 06 Mar 2021 15:24:29 GMT" type="calendarDay" name="06">
				<outline text="[[daveappserver]]" created="Sat, 06 Mar 2021 18:04:04 GMT">
					<outline text="the websocket interface needs to be worked on on the local machine with the debugger on" created="Sat, 06 Mar 2021 20:41:10 GMT">
						<outline text="i'm not going to divert for that now, so automatic updates are going to be slower than they need to be until this is fixed" created="Sat, 06 Mar 2021 20:41:37 GMT"/>
						<outline text="i'm basically going to read the opml file from the source when i get an update message" created="Sat, 06 Mar 2021 20:42:07 GMT"/>
						</outline>
					<outline text="there was a bug in daveappserver that i had to fix" created="Sat, 06 Mar 2021 18:03:06 GMT">
						<outline text="it was jsonStringifying the payload, which it should not have been doing" created="Sat, 06 Mar 2021 18:03:15 GMT"/>
						<outline text="added an optional param to specify that the payload is a string (opmltext)" created="Sat, 06 Mar 2021 18:03:37 GMT"/>
						</outline>
					<outline text="need the ability to watch a single file" created="Sat, 06 Mar 2021 20:09:10 GMT">
						<outline text="watch " created="Sat, 06 Mar 2021 20:09:19 GMT"/>
						</outline>
					</outline>
				<outline text="[[docServer]]" created="Sat, 06 Mar 2021 15:24:30 GMT" type="outline">
					<outline text="done" created="Sat, 06 Mar 2021 16:46:42 GMT">
						<outline text="Remember the last verb page you were on." created="Sat, 06 Mar 2021 15:24:34 GMT"/>
						<outline text="Menu command to get link to the page you're on." created="Sat, 06 Mar 2021 15:24:43 GMT"/>
						<outline text="hook docserver up to the notification websocket so it always has the newest version loaded" created="Sat, 06 Mar 2021 16:46:15 GMT"/>
						</outline>
					<outline text="todo" created="Sat, 06 Mar 2021 15:25:40 GMT">
						<outline text="phone and tablet version" created="Sat, 06 Mar 2021 20:08:40 GMT">
							<outline text="this app requires a desktop browser, for now. sorry." created="Sat, 06 Mar 2021 20:08:46 GMT"/>
							</outline>
						<outline text="another daveappserver problem" created="Sat, 06 Mar 2021 18:04:23 GMT">
							<outline text="it's sending notifications for every updated file" created="Sat, 06 Mar 2021 18:04:28 GMT"/>
							<outline text="not good, i only want notifications on the file i'm interested in" created="Sat, 06 Mar 2021 18:04:36 GMT"/>
							</outline>
						<outline text="Write more docserver pages" created="Sat, 06 Mar 2021 15:25:46 GMT"/>
						<outline text="Give it a better URL" created="Sat, 06 Mar 2021 15:26:05 GMT">
							<outline text="docserver.scripting.com?" created="Sat, 06 Mar 2021 15:26:12 GMT"/>
							</outline>
						<outline text="Bring DocServer into LO2?" created="Sat, 06 Mar 2021 15:35:03 GMT">
							<outline text="How do examples work?" created="Sat, 06 Mar 2021 15:34:39 GMT"/>
							</outline>
						</outline>
					</outline>
				</outline>
			<outline text="March 5" created="Fri, 05 Mar 2021 14:15:14 GMT" type="calendarDay" name="05">
				<outline text="[[docServer]]" created="Fri, 05 Mar 2021 15:32:31 GMT" type="outline">
					<outline text="edit the source code for docServerHome, take out all the extra stuff" created="Fri, 05 Mar 2021 14:15:19 GMT"/>
					<outline text="add the left navigation outline, a lot like the tagserver user interface." created="Fri, 05 Mar 2021 14:15:47 GMT">
						<outline text="and bingeworthy. " created="Fri, 05 Mar 2021 14:16:10 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 4" created="Thu, 04 Mar 2021 21:15:55 GMT" type="calendarDay" name="04">
				<outline text="[[docServer]]" created="Thu, 04 Mar 2021 21:15:56 GMT" type="outline">
					<outline text="Switched from a server to a single-page app. It didn't require an actual server." created="Thu, 04 Mar 2021 21:16:02 GMT"/>
					<outline text="screen shot, at close of business today. " created="Thu, 04 Mar 2021 21:17:51 GMT" type="link" url="http://scripting.com/images/2021/03/04/docserverscreenshot.png"/>
					<outline text="todo" created="Thu, 04 Mar 2021 21:16:25 GMT">
						<outline text="add a left navigation outline that lists all the verbs, categorized" created="Thu, 04 Mar 2021 21:16:38 GMT">
							<outline text="move the cursor to refresh the verb display" created="Thu, 04 Mar 2021 21:16:56 GMT"/>
							<outline text="a lot like the tagserver display" created="Thu, 04 Mar 2021 21:17:05 GMT"/>
							</outline>
						<outline text="the links at the top of the page should not re-load the app, it should just show a new verb" created="Thu, 04 Mar 2021 21:17:12 GMT">
							<outline text="there has to be a way to get a permalink to a verb, it won't be in the address bar. " created="Thu, 04 Mar 2021 21:17:36 GMT"/>
							</outline>
						</outline>
					</outline>
				</outline>
			<outline text="March 3" created="Wed, 03 Mar 2021 15:38:01 GMT" type="calendarDay" name="03">
				<outline text="[[docServer]]" created="Wed, 03 Mar 2021 15:38:02 GMT" type="outline">
					<outline text="Working on a new version of docServer app." created="Wed, 03 Mar 2021 15:38:07 GMT"/>
					<outline text="todo" created="Wed, 03 Mar 2021 15:38:19 GMT">
						<outline text="use a common serif font" created="Wed, 03 Mar 2021 15:38:27 GMT"/>
						<outline text="reload the outline on each view for testing" created="Wed, 03 Mar 2021 15:43:35 GMT"/>
						<outline text="fix up handle http request so it works when you're not looking at docs" created="Wed, 03 Mar 2021 15:44:48 GMT"/>
						<outline text="orange line under verb name" created="Wed, 03 Mar 2021 15:38:33 GMT"/>
						<outline text="use tablecells to display the body" created="Wed, 03 Mar 2021 15:38:42 GMT"/>
						<outline text="prev and next navigation" created="Wed, 03 Mar 2021 15:38:50 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="March 1" created="Mon, 01 Mar 2021 14:40:15 GMT" type="calendarDay" name="01">
				<outline text="[[LO2]] -- codename, Drummer. what is it" created="Mon, 01 Mar 2021 14:40:16 GMT" type="outline">
					<outline text="I have a codename (I think): Drummer." created="Mon, 01 Mar 2021 14:40:26 GMT">
						<outline text="It's not a place, it's the name of my favorite character in The Expanse. " created="Mon, 01 Mar 2021 14:40:49 GMT"/>
						<outline text="Drummer is a good name for a scripting environment." created="Mon, 01 Mar 2021 14:41:11 GMT"/>
						</outline>
					<outline text="What it is" created="Mon, 01 Mar 2021 14:41:20 GMT">
						<outline text="It's a web scripting environment built around outlining and javascript. " created="Mon, 01 Mar 2021 14:41:22 GMT"/>
						<outline text="Not as broad as Frontier, focused." created="Mon, 01 Mar 2021 14:41:33 GMT">
							<outline text="what it's good for" created="Mon, 01 Mar 2021 14:41:55 GMT">
								<outline text="managing a network of resources for a writer or programmer" created="Mon, 01 Mar 2021 14:42:00 GMT"/>
								</outline>
							<outline text="components" created="Mon, 01 Mar 2021 14:42:17 GMT">
								<outline text="outliner (of course), for editing scripts and public writing" created="Mon, 01 Mar 2021 14:42:30 GMT"/>
								<outline text="the language is pre-processed javascript. " created="Mon, 01 Mar 2021 14:42:43 GMT">
									<outline text="minimal enhancement, you call synchronous and asynchronous functions the same way, as every other programming language does. " created="Mon, 01 Mar 2021 14:43:40 GMT"/>
									</outline>
								<outline text="verb set covering, file system (cloud storage), net function (http, dns), twitter, outliner." created="Mon, 01 Mar 2021 14:44:08 GMT">
									<outline text="we are treating twitter as if it were an open resource, knowing that it's a corporate system." created="Mon, 01 Mar 2021 14:44:53 GMT"/>
									<outline text="the api is excellent, performs well, and twitter has been generous with it. " created="Mon, 01 Mar 2021 14:45:14 GMT"/>
									<outline text="if they should break it, we will have to recreate the server functions that we depend on." created="Mon, 01 Mar 2021 14:45:29 GMT"/>
									<outline text="as with Frontier, a way to add support for external applications accessible over HTTP." created="Mon, 01 Mar 2021 14:46:36 GMT"/>
									</outline>
								<outline text="server" created="Mon, 01 Mar 2021 14:49:36 GMT">
									<outline text="there is a server, running an instance of daveappserver, a replacement for nodeStorage." created="Mon, 01 Mar 2021 14:49:37 GMT"/>
									</outline>
								<outline text="applications" created="Mon, 01 Mar 2021 14:45:53 GMT">
									<outline text="basic application is web writing, but it will also be great for devops" created="Mon, 01 Mar 2021 14:45:56 GMT"/>
									</outline>
								<outline text="script-running" created="Mon, 01 Mar 2021 14:46:18 GMT">
									<outline text="menu editor for accessing scripts, in the runtime environment, also in other apps via equivalent of Frontier menu sharing." created="Mon, 01 Mar 2021 14:46:23 GMT"/>
									<outline text="lots of other ways to run scripts with access to the functionality" created="Mon, 01 Mar 2021 14:48:46 GMT"/>
									</outline>
								</outline>
							</outline>
						</outline>
					</outline>
				</outline>
			</outline>
		<outline text="February 2021" created="Tue, 02 Feb 2021 17:13:58 GMT" name="february2021" type="calendarMonth">
			<outline text="February 28" created="Sun, 28 Feb 2021 14:27:27 GMT" type="calendarDay" name="28">
				<outline text="[[LO2]]" created="Sun, 28 Feb 2021 14:27:28 GMT" type="outline">
					<outline text="I figured out how to make cmd-/ work properly, inserting the result as a comment below the line containing the script." created="Sun, 28 Feb 2021 14:39:00 GMT">
						<outline text="Below are a few one-liners. " created="Sun, 28 Feb 2021 14:39:06 GMT">
							<outline text="random (0, 1000)" created="Sun, 28 Feb 2021 15:25:20 GMT">
								<outline text="515" created="Sun, 28 Feb 2021 15:25:25 GMT" isComment="true"/>
								</outline>
							<outline text="file.writeWholeFile (&quot;tmp.txt&quot;, &quot;hooray for hollywood&quot;)" created="Sun, 28 Feb 2021 14:27:32 GMT">
								<outline text="true" created="Sun, 28 Feb 2021 15:25:13 GMT"/>
								</outline>
							<outline text="string.upper (file.readWholeFile (&quot;tmp.txt&quot;))" created="Sun, 28 Feb 2021 14:32:48 GMT">
								<outline text="HOORAY FOR HOLLYWOOD" created="Sun, 28 Feb 2021 15:15:07 GMT" isComment="true"/>
								</outline>
							</outline>
						</outline>
					<outline text="Spoke with Andrew, he's actually working on this, so I'll defer to what he comes up with, but glad to have this temporary functionality for testing and doc writing. " created="Sun, 28 Feb 2021 15:14:15 GMT"/>
					</outline>
				</outline>
			<outline text="February 27" created="Sat, 27 Feb 2021 17:59:55 GMT" type="calendarDay" name="27">
				<outline text="[[LO2]]" created="Sat, 27 Feb 2021 18:05:39 GMT" type="outline">
					<outline text="Let's see if we can figure out how to get cmd-/ to work properly" created="Sat, 27 Feb 2021 22:14:01 GMT">
						<outline text="12 +5" created="Sat, 27 Feb 2021 22:14:15 GMT"/>
						<outline text="When I click on cmd-/ on the previous line, it should create a sub with the value 17. It does not. " created="Sat, 27 Feb 2021 22:14:41 GMT"/>
						<outline text="I'm going to try watching the code run in the debugger and see if the number 17 shows up anywhere." created="Sat, 27 Feb 2021 22:15:13 GMT"/>
						<outline text="Result: No, ever saw a 17. I'll try again.." created="Sat, 27 Feb 2021 22:24:33 GMT"/>
						</outline>
					<outline text="Bug in new Testing menu. The menu disappears if I make a change in my menubar.opml." created="Sat, 27 Feb 2021 18:05:42 GMT">
						<outline text="This causes everything past the Docs menu to be rebuilt, without re-adding the Testing menu." created="Sat, 27 Feb 2021 18:06:02 GMT"/>
						<outline text="Also I think the Scripts menu should be last. It's the one I work with the most, make it easiest to find." created="Sat, 27 Feb 2021 18:06:23 GMT"/>
						</outline>
					</outline>
				<outline text="[[verbs]]" created="Sat, 27 Feb 2021 17:59:56 GMT" type="outline">
					<outline text="dns.getDomainName (dottedid) and dns.getDottedId (name) " created="Sat, 27 Feb 2021 18:00:00 GMT">
						<outline text="there are two new commands in the (new) Net sub-menu that test these two verbs." created="Sat, 27 Feb 2021 18:00:13 GMT"/>
						<outline text="implemented as http calls in daveappserver." created="Sat, 27 Feb 2021 18:00:51 GMT"/>
						<outline text="the &lt;a href=&quot;http://docs.littleoutliner.com/davewiner/verbDocs.opml&quot;&gt;verb docs&lt;/a&gt; are written." created="Sat, 27 Feb 2021 18:01:09 GMT"/>
						</outline>
					</outline>
				<outline text="[[scripting]]" created="Sat, 27 Feb 2021 18:01:24 GMT" type="outline">
					<outline text="I have ideas about how to include verbs, server-side, that are not implemented in daveappserver." created="Sat, 27 Feb 2021 18:01:31 GMT"/>
					<outline text="so far I've only written generic things, like http and dns. file system support. think of those as system verbs. " created="Sat, 27 Feb 2021 18:01:57 GMT"/>
					<outline text="how to extend is starting to come into view. but there are a lot of decisions. so i'm going to keep going, defining, testing, documenting, thinking about the verbs that belong in the core.  " created="Sat, 27 Feb 2021 18:02:19 GMT"/>
					</outline>
				</outline>
			<outline text="February 26" created="Fri, 26 Feb 2021 14:56:54 GMT" type="calendarDay" name="26">
				<outline text="[[verbs]]" created="Fri, 26 Feb 2021 20:23:31 GMT" type="outline">
					<outline text="http.readUrl" created="Fri, 26 Feb 2021 20:23:34 GMT">
						<outline text="Implemented a call in daveappserver to serve as a proxy. " created="Fri, 26 Feb 2021 20:24:03 GMT"/>
						<outline text="Wrote verbDocs for the verb. " created="Fri, 26 Feb 2021 20:24:22 GMT"/>
						<outline text="Wanted to get at least one verb implemented today." created="Fri, 26 Feb 2021 20:24:30 GMT"/>
						<outline text="Issue: should this be tcp.httpReadUrl as it is in Frontier?" created="Fri, 26 Feb 2021 20:25:01 GMT"/>
						</outline>
					</outline>
				<outline text="[[LO2]]" created="Fri, 26 Feb 2021 14:56:55 GMT" type="outline">
					<outline text="publishing docs from test.littleoutliner.com" created="Fri, 26 Feb 2021 15:11:26 GMT">
						<outline text="all docs will be at this domain: docs.littleoutliner.com" created="Fri, 26 Feb 2021 15:11:42 GMT"/>
						<outline text="the outlines will be rendered as howto-style outlines, as they &lt;a href=&quot;http://my.this.how/davewiner/howtosInLittleOutliner.opml&quot;&gt;are&lt;/a&gt; on littleoutliner.com." created="Fri, 26 Feb 2021 15:11:56 GMT"/>
						<outline text="the urls will be of this form: http://docs.littleoutliner.com/davewiner/verbDocs.opml" created="Fri, 26 Feb 2021 15:12:19 GMT"/>
						<outline text="docs.littleoutliner.com is implemented as a &lt;a href=&quot;http://pagepark.io/docs/plugins.md&quot;&gt;pagepark plug-in&lt;/a&gt;. " created="Fri, 26 Feb 2021 15:13:01 GMT"/>
						<outline text="it works -- you can now read the verb docs here. not pretty but they're there." created="Fri, 26 Feb 2021 15:36:13 GMT">
							<outline text="http://docs.littleoutliner.com/davewiner/verbDocs.opml" created="Fri, 26 Feb 2021 15:36:26 GMT" type="link" url="http://docs.littleoutliner.com/davewiner/verbDocs.opml"/>
							</outline>
						</outline>
					<outline text="Added a link to the &lt;a href=&quot;http://this.how/littleoutliner/versions.opml&quot;&gt;Version notes outline&lt;/a&gt; in the Docs menu. " created="Fri, 26 Feb 2021 14:56:58 GMT">
						<outline text="I should be adding to this outline, but it's weird because nothing I add now will be public. " created="Fri, 26 Feb 2021 14:57:11 GMT"/>
						<outline text="I think pretty soon I'm going to have to transition this to a public release." created="Fri, 26 Feb 2021 14:57:26 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="February 25" created="Thu, 25 Feb 2021 15:53:26 GMT" type="calendarDay" name="25">
				<outline text="[[rfc]]" created="Thu, 25 Feb 2021 18:25:23 GMT" type="outline">
					<outline text="request for comment (andrew)" created="Thu, 25 Feb 2021 18:25:27 GMT">
						<outline text="goal: a reference set of test scripts that are easily accessible to all" created="Thu, 25 Feb 2021 18:25:34 GMT"/>
						<outline text="proposed solution: I hard-code the loading of this menu at startup in LO2" created="Thu, 25 Feb 2021 18:26:12 GMT"/>
						<outline text="advantages: reliable, requires nothing of the user, updating the menu is done by reloading the app" created="Thu, 25 Feb 2021 18:26:50 GMT"/>
						</outline>
					<outline text="implementation" created="Thu, 25 Feb 2021 21:22:24 GMT">
						<outline text="I will have two menubars myself, one place to edit stuff, and one to deploy to users of the test system." created="Thu, 25 Feb 2021 21:22:28 GMT">
							<outline text="The place to edit stuff will be my menubar.opml." created="Thu, 25 Feb 2021 21:22:53 GMT"/>
							<outline text="The place to deploy test scripts/examples, will be at: " created="Thu, 25 Feb 2021 21:23:10 GMT">
								<outline text="http://test.littleoutliner.com/davewiner/myOutlines/testMenubar.opml" created="Thu, 25 Feb 2021 21:23:27 GMT" type="link" url="http://test.littleoutliner.com/davewiner/myOutlines/testMenubar.opml"/>
								</outline>
							</outline>
						<outline text="When LO2 starts up it looks for this file, if it finds it, it is inserted the same way the user's menubar is." created="Thu, 25 Feb 2021 21:25:40 GMT">
							<outline text="Voila! :-)" created="Thu, 25 Feb 2021 21:26:05 GMT"/>
							</outline>
						</outline>
					<outline text="how to respond" created="Thu, 25 Feb 2021 18:27:49 GMT">
						<outline text="please use Signal" created="Thu, 25 Feb 2021 18:27:52 GMT"/>
						</outline>
					</outline>
				<outline text="[[davehttp]]" created="Thu, 25 Feb 2021 18:18:31 GMT" type="outline">
					<outline text="when a POST is received but not handled, there appears to be no 404 error returned. have to investigate. it could also be in davetwitter. the behavior is exhibited in daveappserver." created="Thu, 25 Feb 2021 18:18:36 GMT"/>
					</outline>
				<outline text="[[radio open source]]" created="Thu, 25 Feb 2021 15:55:15 GMT" type="outline">
					<outline text="Andy Sylvester is doing a good job putting together the initial community site. " created="Thu, 25 Feb 2021 15:55:24 GMT">
						<outline text="We're going to redirect from a scripting.com cname. " created="Thu, 25 Feb 2021 15:55:39 GMT"/>
						<outline text="Eventually want to turn it over to Mary and Chris." created="Thu, 25 Feb 2021 15:56:07 GMT"/>
						<outline text="The spec is &quot;recreate the community ROS had in 2003.&quot;" created="Thu, 25 Feb 2021 15:56:02 GMT"/>
						<outline text="That's something Chris and Mary understand, and wish they had again." created="Thu, 25 Feb 2021 15:56:37 GMT"/>
						<outline text="I've been on their case about starting a community, but realized I should have been listening better, and just given them what they want. " created="Thu, 25 Feb 2021 15:56:47 GMT"/>
						</outline>
					</outline>
				<outline text="[[verbs]]" created="Thu, 25 Feb 2021 15:54:30 GMT" type="outline">
					<outline text="file.writeWholeFile" created="Wed, 24 Feb 2021 20:52:32 GMT">
						<outline text="Needed a rewrite too. " created="Wed, 24 Feb 2021 20:52:38 GMT">
							<outline text="If the file doesn't exist, we create a private file." created="Wed, 24 Feb 2021 20:52:44 GMT"/>
							<outline text="If it does exist, we replace the first one we find." created="Wed, 24 Feb 2021 20:53:04 GMT"/>
							<outline text="We start looking for the public file, then the private one. " created="Wed, 24 Feb 2021 20:53:16 GMT"/>
							</outline>
						<outline text="Tested and works" created="Thu, 25 Feb 2021 18:11:48 GMT"/>
						</outline>
					<outline text="Now the first four commands in the Files sub-menu work." created="Thu, 25 Feb 2021 18:11:53 GMT"/>
					<outline text="Whether or not a file is private or public is transparent to these verbs. They work on whatever we have. " created="Thu, 25 Feb 2021 18:12:18 GMT"/>
					</outline>
				<outline text="[[sysop]]" created="Thu, 25 Feb 2021 15:53:27 GMT" type="outline">
					<outline text="Added nightly backup script to copy my status outline, the menubar and verb docs to the devteam folder (which itself is backed up)." created="Thu, 25 Feb 2021 15:53:35 GMT"/>
					</outline>
				</outline>
			<outline text="February 24" created="Wed, 24 Feb 2021 20:44:50 GMT" type="calendarDay" name="24">
				<outline text="[[verbs]]" created="Wed, 24 Feb 2021 20:44:51 GMT" type="outline">
					<outline text="file.readWholeFile" created="Wed, 24 Feb 2021 20:52:26 GMT">
						<outline text="New implementation of file.readWholeFile." created="Wed, 24 Feb 2021 20:46:14 GMT">
							<outline text="readWholeFile: function (path) { " created="Wed, 24 Feb 2021 20:46:34 GMT">
								<outline text="return new Promise (function (resolve, reject) {" created="Wed, 24 Feb 2021 20:46:54 GMT">
									<outline text="servercall (&quot;readwholefile&quot;, {relpath: path}, true, function (err, data) {" created="Wed, 24 Feb 2021 20:46:55 GMT">
										<outline text="if (err) {" created="Wed, 24 Feb 2021 20:46:57 GMT">
											<outline text="reject (err);"/>
											<outline text="}"/>
											</outline>
										<outline text="else {" created="Wed, 24 Feb 2021 20:47:01 GMT">
											<outline text="resolve (data.filetext); "/>
											<outline text="}"/>
											</outline>
										<outline text="});"/>
										</outline>
									<outline text="});"/>
									</outline>
								<outline text="},"/>
								</outline>
							</outline>
						<outline text="Corresponding [[daveappserver]] call" created="Wed, 24 Feb 2021 20:47:41 GMT">
							<outline text="//readwholefile" created="Wed, 24 Feb 2021 20:44:54 GMT">
								<outline text="first it tries to read the public version, if it works, it returns that, then it returns the private version. " created="Wed, 24 Feb 2021 20:45:46 GMT"/>
								<outline text="it's an error if neither exist." created="Wed, 24 Feb 2021 20:46:05 GMT"/>
								</outline>
							</outline>
						<outline text="Note there's already a call //getfile that differs in that it takes a boolean param saying if it's public or private. " created="Wed, 24 Feb 2021 20:48:43 GMT">
							<outline text="Not sure if LO2 needs this. If not, it can be deleted, since this is new stuff, no breakage possible." created="Wed, 24 Feb 2021 20:49:06 GMT"/>
							</outline>
						</outline>
					</outline>
				</outline>
			<outline text="February 23" created="Tue, 23 Feb 2021 15:16:19 GMT" type="calendarDay" name="23">
				<outline text="[[LO2]]" created="Tue, 23 Feb 2021 15:17:23 GMT" type="outline">
					<outline text="Silver lining to not having integrated this with the main littleoutliner.com site. " created="Tue, 23 Feb 2021 15:17:29 GMT">
						<outline text="1. I can change the default folder structure. the myOutlines folder was a mistake. " created="Tue, 23 Feb 2021 15:17:46 GMT"/>
						<outline text="2. It can have a new name that does not contain the word little, and might also give it a new mission beyond being an outliner. I'm thinking this product will ultimately do three things well:" created="Tue, 23 Feb 2021 15:18:06 GMT">
							<outline text="Manage a cloud-based file system with scripting. " created="Tue, 23 Feb 2021 15:18:44 GMT"/>
							<outline text="Connect to Twitter in the way a prodigious influencer would want to." created="Tue, 23 Feb 2021 15:18:55 GMT"/>
							<outline text="Connect file system and twitter. " created="Tue, 23 Feb 2021 15:19:19 GMT"/>
							</outline>
						<outline text="3. It will do one other thing in a rudimentary and simple way:" created="Tue, 23 Feb 2021 15:19:52 GMT">
							<outline text="Publish stuff to the web. That's what public folders are all about. " created="Tue, 23 Feb 2021 15:20:04 GMT"/>
							</outline>
						</outline>
					</outline>
				<outline text="[[verbs]]" created="Tue, 23 Feb 2021 15:16:20 GMT" type="outline">
					<outline text="file.delete" created="Tue, 23 Feb 2021 16:30:19 GMT">
						<outline text="Implemented, including glue script, example in my menubar.opml file and verbdocs. " created="Tue, 23 Feb 2021 16:30:22 GMT"/>
						<outline text="This is starting to get to be a routine, which is what I want. Get an idea for a verb, implement in a variety of places. " created="Tue, 23 Feb 2021 16:30:48 GMT"/>
						<outline text="Also note that the server side is going into daveappserver, which is very nicely developing as the 2021 version of nodestorage. only stuff every app needs, and the filesystem stuff is actually covered by a preference. if you don't want your appserver doing stuff with files, it's easily disabled. " created="Tue, 23 Feb 2021 16:31:15 GMT"/>
						</outline>
					<outline text="Wrote docs for file.getFileHierarchy in the verb docs outline." created="Tue, 23 Feb 2021 15:16:26 GMT">
						<outline text="http://instantoutliner.com/np" created="Tue, 23 Feb 2021 15:16:32 GMT"/>
						</outline>
					<outline text="To do -- a docserver-like rendering of the verb docs. It should be linked into the Docs menu in LO2. " created="Tue, 23 Feb 2021 15:16:51 GMT"/>
					</outline>
				<outline text="[[todo]]" created="Tue, 23 Feb 2021 15:26:32 GMT" type="outline">
					<outline text="codename for product, use that for the domain name, which is not necessarily littleoutliners.com." created="Tue, 23 Feb 2021 15:26:34 GMT"/>
					<outline text="pagepark plugin to make beautiful renderings of public files stored in users' public folders" created="Tue, 23 Feb 2021 15:27:03 GMT"/>
					</outline>
				</outline>
			<outline text="February 22" created="Mon, 22 Feb 2021 15:36:01 GMT" type="calendarDay" name="22">
				<outline text="[[LO2]] -- outline file hierarchy" created="Mon, 22 Feb 2021 18:17:42 GMT" type="outline">
					<outline text="New command in the Tools menu: Outline file hierarchy" created="Mon, 22 Feb 2021 18:17:57 GMT">
						<outline text="To use, open a scratch outline, or clear a little space in the outline you're working on by pressing Return a few times. Then choose the command from the Tools menu. After a short delay, an outline appears, with two branches, Private files and Public files. You can see all the files LO2 is storing for you. You can also see when they were created by looking at the attributes display at the bottom of the tab. That's pretty much all you can do at this point. But it seems to work. Nice to finally have a way to see wtf is going on on the server .;-)" created="Mon, 22 Feb 2021 18:18:10 GMT"/>
						</outline>
					<outline text="Expand to see the result on my system." created="Mon, 22 Feb 2021 18:21:32 GMT">
						<outline text="File hierarchy" created="Mon, 22 Feb 2021 18:21:45 GMT">
							<outline text="Private files" created="Mon, 22 Feb 2021 18:21:46 GMT">
								<outline text="myOutlines" created="1/26/2021, 12:43:12 PM">
									<outline text="hello2.opml" created="1/28/2021, 12:46:03 PM"/>
									<outline text="menubar.opml" created="1/31/2021, 5:04:35 PM"/>
									<outline text="myFirstOutline.opml" created="1/26/2021, 12:43:12 PM"/>
									<outline text="verb docs.opml" created="2/19/2021, 9:47:39 AM"/>
									<outline text="verbDocs.opml" created="2/19/2021, 10:15:41 AM"/>
									</outline>
								<outline text="outlinerPrefs.json" created="1/28/2021, 4:41:51 PM"/>
								<outline text="outlinerPrefsBackup.json" created="1/28/2021, 1:24:53 PM"/>
								</outline>
							<outline text="Public files" created="Mon, 22 Feb 2021 18:21:45 GMT">
								<outline text="alert.js" created="2/19/2021, 10:02:54 AM"/>
								<outline text="code" created="2/19/2021, 9:59:09 AM">
									<outline text="alert.js" created="2/19/2021, 9:59:09 AM"/>
									</outline>
								<outline text="myOutlines" created="1/26/2021, 12:43:12 PM">
									<outline text="hello2.opml" created="2/20/2021, 1:23:31 PM"/>
									<outline text="menubar.opml" created="2/8/2021, 11:13:30 AM"/>
									<outline text="myFirstOutline.opml" created="1/26/2021, 12:43:12 PM"/>
									<outline text="myPublicOutline.opml" created="1/26/2021, 12:43:12 PM"/>
									<outline text="undefined" created="1/26/2021, 12:43:12 PM"/>
									<outline text="verbDocs.opml" created="2/20/2021, 11:15:27 AM"/>
									</outline>
								<outline text="myStatus" created="2/3/2021, 12:46:39 PM">
									<outline text="2021" created="2/3/2021, 12:46:39 PM">
										<outline text="02" created="2/3/2021, 12:46:39 PM">
											<outline text="03.opml" created="2/3/2021, 12:46:39 PM"/>
											<outline text="04.opml" created="2/4/2021, 11:33:52 AM"/>
											<outline text="05.opml" created="2/5/2021, 10:28:14 AM"/>
											<outline text="06.opml" created="2/6/2021, 9:41:29 PM"/>
											<outline text="07.opml" created="2/7/2021, 9:09:00 AM"/>
											<outline text="08.opml" created="2/8/2021, 12:31:16 PM"/>
											<outline text="09.opml" created="2/9/2021, 11:28:49 AM"/>
											<outline text="10.opml" created="2/10/2021, 3:15:57 PM"/>
											<outline text="11.opml" created="2/11/2021, 1:57:32 PM"/>
											<outline text="12.opml" created="2/12/2021, 11:09:17 AM"/>
											<outline text="13.opml" created="2/13/2021, 8:06:13 AM"/>
											<outline text="18.opml" created="2/18/2021, 11:51:22 AM"/>
											<outline text="19.opml" created="2/19/2021, 10:40:04 AM"/>
											<outline text="20.opml" created="2/20/2021, 11:17:27 AM"/>
											<outline text="21.opml" created="2/21/2021, 1:21:36 PM"/>
											<outline text="22.opml" created="2/22/2021, 10:39:14 AM"/>
											</outline>
										</outline>
									</outline>
								<outline text="testing" created="2/7/2021, 10:17:31 AM">
									<outline text="test.txt" created="2/7/2021, 10:17:31 AM"/>
									</outline>
								</outline>
							</outline>
						</outline>
					</outline>
				<outline text="[[code management]]" created="Mon, 22 Feb 2021 15:36:02 GMT" type="outline">
					<outline text="these are notes just for me. you can ignore." created="Mon, 22 Feb 2021 15:36:12 GMT"/>
					<outline text="the problem" created="Mon, 22 Feb 2021 15:54:09 GMT">
						<outline text="i wanted to get to the bottom of why the rewrite of everyMinute wasn't making it into littleoutliner." created="Mon, 22 Feb 2021 15:36:28 GMT"/>
						<outline text="turns out its because the utils.js is part of a set of files that i merge into one code.js, to cut down on the number of file inclusions. but it has to be rebuilt for changes in utils.js and other files show up to the client apps." created="Mon, 22 Feb 2021 15:36:55 GMT"/>
						<outline text="i can never remember how to rebuild this. the code is somewhere in nodeEditor.root. i just spent 1/2 hour looking for it. last time it was rebuilt was on 8/2/2020 (going by the file mod dates on S3). " created="Mon, 22 Feb 2021 15:37:48 GMT"/>
						<outline text="the purpose of this is to mark this process for once, and leave a trail that's possible to follow. I will figure this out, and will add it to this tag. " created="Mon, 22 Feb 2021 15:38:31 GMT"/>
						</outline>
					<outline text="&lt;s&gt;what i'm going to do in LO2&lt;/s&gt;" created="Mon, 22 Feb 2021 15:54:12 GMT">
						<outline text="i'm going to include the files that are part of code. js and styles.css, so I get the latest code changes, and we trade off for some speed in loading. i have to find the solution here, but i'm not finding it today. ;-)" created="Mon, 22 Feb 2021 15:54:28 GMT"/>
						</outline>
					<outline text="change in plan -- I found it" created="Mon, 22 Feb 2021 16:04:40 GMT">
						<outline text="It isn't built by scripts, I have a project for it. Much simpler. " created="Mon, 22 Feb 2021 16:04:45 GMT">
							<outline text="i left a clue at the top of the nodeEditor menu in my dev system" created="Mon, 22 Feb 2021 16:04:57 GMT"/>
							<outline text="there's a command called Includes. It opens the project, which is called basicIncludes" created="Mon, 22 Feb 2021 16:05:35 GMT"/>
							<outline text="to build it you just press the Save button. " created="Mon, 22 Feb 2021 16:31:13 GMT"/>
							<outline text="so simple, but i lost the thread! oy oy oy" created="Mon, 22 Feb 2021 16:31:22 GMT"/>
							</outline>
						<outline text="How I'm going to leave trailers behind" created="Mon, 22 Feb 2021 16:06:01 GMT">
							<outline text="adding a readme in all the places i stared at pointing to this project" created="Mon, 22 Feb 2021 16:06:08 GMT"/>
							</outline>
						<outline text="Also there was a notes.opml file in the folder on S3, I didn't see it. oy." created="Mon, 22 Feb 2021 16:09:13 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="February 21" created="Sun, 21 Feb 2021 18:19:08 GMT" type="calendarDay" name="21">
				<outline text="[[verbs]]" created="Sun, 21 Feb 2021 18:23:26 GMT" type="outline">
					<outline text="I checked the verbs.js file on the server, but the code appears to be correct." created="Sun, 21 Feb 2021 18:23:29 GMT">
						<outline text="http://scripting.com/code/concord/concordscript/verbs.js" created="Sun, 21 Feb 2021 18:23:54 GMT" type="link" url="http://scripting.com/code/concord/concordscript/verbs.js"/>
						</outline>
					<outline text="Here's the source. " created="Sun, 21 Feb 2021 18:25:42 GMT">
						<outline text="makeFilePublic: function (path) { " created="Sun, 21 Feb 2021 18:25:47 GMT">
							<outline text="return new Promise (function (resolve, reject) {" created="Sun, 21 Feb 2021 18:26:03 GMT">
								<outline text="servercall (&quot;makefilepublic&quot;, {relpath: path}, true, function (err, data) {" created="Sun, 21 Feb 2021 18:26:05 GMT">
									<outline text="if (err) {" created="Sun, 21 Feb 2021 18:26:06 GMT">
										<outline text="reject (err);"/>
										<outline text="}"/>
										</outline>
									<outline text="else {" created="Sun, 21 Feb 2021 18:26:18 GMT">
										<outline text="resolve (data.url);"/>
										<outline text="}"/>
										</outline>
									<outline text="});"/>
									</outline>
								<outline text="});"/>
								</outline>
							<outline text="},"/>
							</outline>
						</outline>
					</outline>
				<outline text="[[folderToJson]]" created="Sun, 21 Feb 2021 18:19:09 GMT" type="outline">
					<outline text="A new package. To be used in generating OPML for the user's file, so they can be viewed, and perhaps later, reorganize. I found I needed a good visualization of files, if I'm expected to manage them. " created="Sun, 21 Feb 2021 18:19:17 GMT">
						<outline text="https://github.com/scripting/folderToJson" created="Sun, 21 Feb 2021 18:20:32 GMT" type="link" url="https://github.com/scripting/folderToJson"/>
						<outline text="https://www.npmjs.com/package/foldertojson" created="Sun, 21 Feb 2021 18:21:06 GMT" type="link" url="https://www.npmjs.com/package/foldertojson"/>
						</outline>
					</outline>
				</outline>
			<outline text="February 20" created="Sat, 20 Feb 2021 16:13:21 GMT" type="calendarDay" name="20">
				<outline text="tomorrow todo" created="Sat, 20 Feb 2021 18:48:03 GMT" type="outline">
					<outline text="Outline my files script" created="Sat, 20 Feb 2021 18:48:06 GMT">
						<outline text="make a call to the server to get an opml representation of the user's file system" created="Sat, 20 Feb 2021 18:48:20 GMT"/>
						<outline text="i need a way to see clearly the files i have" created="Sat, 20 Feb 2021 18:48:43 GMT"/>
						<outline text="i think i want to get rid of the myOutlines folder as a default, but it's kind of burned in there. " created="Sat, 20 Feb 2021 18:48:52 GMT"/>
						<outline text="have to think of a way to do a corner turn. " created="Sat, 20 Feb 2021 18:49:11 GMT"/>
						</outline>
					</outline>
				<outline text="[[verbs]]" created="Sat, 20 Feb 2021 16:13:22 GMT" type="outline">
					<outline text="error reporting mechanism working, sometimes" created="Sat, 20 Feb 2021 18:46:31 GMT">
						<outline text="I have three scripts in the shared menubar.opml in the Errors sub-menu, one each for syntax, runtime error, and a call into the debugger. they all work! that's good." created="Sat, 20 Feb 2021 18:46:39 GMT">
							<outline text="http://instantoutliner.com/nk" created="Sat, 20 Feb 2021 18:50:01 GMT" type="link" url="http://instantoutliner.com/nk"/>
							</outline>
						<outline text="but when you try to make a non-existent file public, through file.makeFilePublic, there is no error reported even though the server is reporting an error, and I'm passing it through reject per the spec." created="Sat, 20 Feb 2021 18:47:15 GMT"/>
						</outline>
					<outline text="getting the value from runScriptText" created="Sat, 20 Feb 2021 18:17:17 GMT">
						<outline text="Look at runCursorScript in code.js for test.littleoutliner.com" created="Sat, 20 Feb 2021 18:17:26 GMT"/>
						<outline text="I naively hoped that the second param to the callback from runScriptText would be the value generated by script, but no such luck. " created="Sat, 20 Feb 2021 18:17:46 GMT"/>
						<outline text="How do I get the value returned from runScriptText?" created="Sat, 20 Feb 2021 18:18:08 GMT"/>
						</outline>
					<outline text="very basic verb question" created="Sat, 20 Feb 2021 17:22:17 GMT">
						<outline text="I have to implement a new verb from scratch -- file.makeFilePublic" created="Sat, 20 Feb 2021 17:22:23 GMT">
							<outline text="the implementation that was there is wrong, takes the wrong param, does the wrong thing." created="Sat, 20 Feb 2021 17:22:34 GMT"/>
							<outline text="that's why it's &quot;from scratch&quot;." created="Sat, 20 Feb 2021 17:22:50 GMT"/>
							</outline>
						<outline text="here's the body of the verb implementation" created="Sat, 20 Feb 2021 17:23:02 GMT">
							<outline text="makeFilePublic: function (path) { " created="Sat, 20 Feb 2021 17:24:30 GMT">
								<outline text="return new Promise (function (resolve) {" created="Sat, 20 Feb 2021 17:24:34 GMT">
									<outline text="serverCall (&quot;makefilepublic&quot;, {path}, true, function (err, data) {" created="Sat, 20 Feb 2021 17:24:36 GMT">
										<outline text="if (err) {" created="Sat, 20 Feb 2021 17:25:10 GMT">
											<outline text="console.log (&quot;err.message == &quot; + err.message);"/>
											<outline text="}"/>
											</outline>
										<outline text="else {" created="Sat, 20 Feb 2021 17:25:10 GMT">
											<outline text="resolve (data.url);"/>
											<outline text="}"/>
											</outline>
										<outline text="});"/>
										</outline>
									<outline text="});"/>
									</outline>
								<outline text="},"/>
								</outline>
							</outline>
						<outline text="it doesn't do anything, doesn't call the server, put anything out to console. i set a breakpoint in serverCall, it never gets there. " created="Sat, 20 Feb 2021 17:24:53 GMT"/>
						</outline>
					<outline text="verbdocs public" created="Sat, 20 Feb 2021 16:15:39 GMT">
						<outline text="I made the verbdocs file public." created="Sat, 20 Feb 2021 16:15:42 GMT">
							<outline text="http://instantoutliner.com/np" created="Sat, 20 Feb 2021 16:15:48 GMT"/>
							</outline>
						<outline text="For me verb docs are like a todo list and a bug database." created="Sat, 20 Feb 2021 16:15:49 GMT">
							<outline text="I found I wished we had made the verb docs a programmer project from the beginning at UserLand. Instead we hired a docs writer to write the manual, and he invented terminology that was buggy and inconsistent with the product. I don't blame him, I like writing these docs anyway." created="Sat, 20 Feb 2021 16:16:07 GMT"/>
							</outline>
						</outline>
					<outline text="file.writeWholeFile" created="Sat, 20 Feb 2021 16:14:21 GMT">
						<outline text="Changed to save a private file instead of a public file. The rationale: since when you use the outliner interactively, when you create a file it is private and you must make it public, I want the scripting interface to work the same way. " created="Sat, 20 Feb 2021 16:13:24 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="February 19" created="Fri, 19 Feb 2021 15:23:10 GMT" type="calendarDay" name="19">
				<outline text="[[LO2]]" created="Fri, 19 Feb 2021 15:56:54 GMT" type="outline">
					<outline text="apparent bug -- the Run Selection command does not paste the value in the outliner" created="Fri, 19 Feb 2021 15:56:59 GMT">
						<outline text="the cause seems to be that runScriptText returns undefined." created="Fri, 19 Feb 2021 15:57:17 GMT"/>
						<outline text="to reproduce, enter 12 + 1 in a headline and choose Run Selection from the File menu." created="Fri, 19 Feb 2021 15:57:30 GMT">
							<outline text="12 + 1" created="Fri, 19 Feb 2021 15:58:00 GMT">
								<outline text="" created="Fri, 19 Feb 2021 16:01:06 GMT" isComment="true"/>
								</outline>
							</outline>
						<outline text="the script is running, as evidenced by this one-liner" created="Fri, 19 Feb 2021 15:59:32 GMT">
							<outline text="alert (12 + 1)" created="Fri, 19 Feb 2021 15:58:13 GMT">
								<outline text="" created="Fri, 19 Feb 2021 15:58:38 GMT"/>
								</outline>
							</outline>
						</outline>
					</outline>
				<outline text="[[concord]]" created="Fri, 19 Feb 2021 15:23:11 GMT" type="outline">
					<outline text="apparent bug -- in the keydown handler, search for this line --" created="Fri, 19 Feb 2021 15:33:54 GMT">
						<outline text="var keyCaptured = event.concord.flKeyCaptured;" created="Fri, 19 Feb 2021 15:35:02 GMT"/>
						</outline>
					<outline text="very nice!" created="Fri, 19 Feb 2021 15:35:11 GMT">
						<outline text="you'd think that if I set event.concord.flKeyCaptured true before returning that Concord would ignore the keystroke, but no such luck." created="Fri, 19 Feb 2021 15:37:50 GMT"/>
						<outline text="then you have to wonder, wtf is this feature there for. " created="Fri, 19 Feb 2021 15:35:39 GMT"/>
						<outline text="I searched the codebase for concord.flKeyCaptured, the only reference I found to it was in LO2 when the user presses meta-meta-/ -- which I thought was help, but doesn't seem to work either. oy." created="Fri, 19 Feb 2021 15:36:00 GMT"/>
						<outline text="not sure what happened here, but that's the exact mechanism I want to override Concord's implementation of cmd-/." created="Fri, 19 Feb 2021 15:37:42 GMT"/>
						</outline>
					<outline text="choices" created="Fri, 19 Feb 2021 15:38:16 GMT">
						<outline text="keyCaptured only works for cmd-/ and is ignored for all other key commands as it currently is" created="Fri, 19 Feb 2021 15:38:23 GMT"/>
						<outline text="keyCaptured really does what it says, and if set true, any keystroke is ignored" created="Fri, 19 Feb 2021 15:38:56 GMT"/>
						</outline>
					<outline text="tradeoffs" created="Fri, 19 Feb 2021 15:39:14 GMT">
						<outline text="the first is unlikely to break anything" created="Fri, 19 Feb 2021 15:39:18 GMT"/>
						<outline text="the second is more likely to break something, but it is correct, or so it appears" created="Fri, 19 Feb 2021 15:39:26 GMT"/>
						</outline>
					<outline text="what i did" created="Fri, 19 Feb 2021 16:37:43 GMT">
						<outline text="i made the first, more conservative change. tested, it works, but uncovered another problem, which is documented under LO2. " created="Fri, 19 Feb 2021 16:37:45 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="February 18" created="Thu, 18 Feb 2021 16:10:10 GMT" type="calendarDay" name="18">
				<outline text="[[test.littleoutliner.com]]" created="Thu, 18 Feb 2021 19:45:17 GMT">
					<outline text="It was getting too confusing using LO2 from my desktop machine as server, so I'm moving all my work to the server. " created="Thu, 18 Feb 2021 19:45:24 GMT"/>
					<outline text="This means I can share menubar.opml as a &quot;live&quot; file. " created="Thu, 18 Feb 2021 19:45:55 GMT">
						<outline text="http://instantoutliner.com/nk" created="Thu, 18 Feb 2021 19:48:46 GMT" type="link" url="http://instantoutliner.com/nk"/>
						</outline>
					</outline>
				<outline text="[[menubar.opml]]" created="Thu, 18 Feb 2021 18:01:12 GMT">
					<outline text="Here's the menubar I'm using to test, for now." created="Thu, 18 Feb 2021 18:10:04 GMT">
						<outline text="http://instantoutliner.com/nk" created="Thu, 18 Feb 2021 19:49:07 GMT"/>
						</outline>
					<outline text="I'm reviewing the scripts in the aggregated menubar.opml." created="Thu, 18 Feb 2021 18:01:18 GMT">
						<outline text="I created the file by joining the three different files I had. " created="Thu, 18 Feb 2021 18:01:31 GMT"/>
						<outline text="Not all the scripts are intended to work at this time, this provides a beginning checklist of problems to look at." created="Thu, 18 Feb 2021 18:01:48 GMT"/>
						<outline text="There is a section for errors, and those can be addressed now. " created="Thu, 18 Feb 2021 18:02:08 GMT">
							<outline text="Syntax, runtime errors not being reported." created="Thu, 18 Feb 2021 18:02:20 GMT"/>
							<outline text="Call to the built-in debugger function used to work, but doesn't now. " created="Thu, 18 Feb 2021 18:02:27 GMT"/>
							</outline>
						<outline text="The three twitter test scripts do not work, I'm going to work here." created="Thu, 18 Feb 2021 18:04:34 GMT">
							<outline text="BTW, I think some of the things the proxy was meant to cover are already built into davetwitter, which is automatically part of the functionality of daveappserver. I plan to support direclty in daveappserver, all the verbs that the language needs. I want that in davetwitter. " created="Thu, 18 Feb 2021 18:04:53 GMT"/>
							</outline>
						<outline text="Import File Text does not work" created="Thu, 18 Feb 2021 18:07:06 GMT">
							<outline text="You have to have a file called denton.opml." created="Thu, 18 Feb 2021 18:07:18 GMT"/>
							<outline text="And it doesn't use the new syntax. " created="Thu, 18 Feb 2021 18:07:26 GMT"/>
							<outline text="I will work here. " created="Thu, 18 Feb 2021 18:07:33 GMT"/>
							</outline>
						</outline>
					</outline>
				<outline text="[[LO2]]" created="Thu, 18 Feb 2021 17:16:53 GMT">
					<outline text="Cmd-/ work. For example if I press Cmd-/ on the line below, it works -- I get 24 " created="Thu, 18 Feb 2021 17:16:56 GMT" type="outline">
						<outline text="12 + 12" created="Thu, 18 Feb 2021 17:17:11 GMT" isComment="true">
							<outline text="24" created="Thu, 18 Feb 2021 17:17:39 GMT"/>
							</outline>
						</outline>
					<outline text="But if I press Cmd-/ on this line, I don't get what I expect." created="Thu, 18 Feb 2021 17:17:42 GMT">
						<outline text="file.readWholeFile (&quot;menubar.opml&quot;) " created="Thu, 18 Feb 2021 17:17:54 GMT" isComment="true">
							<outline text="[object Promise]" created="Thu, 18 Feb 2021 17:18:06 GMT"/>
							</outline>
						</outline>
					</outline>
				<outline text="[[process]]" created="Thu, 18 Feb 2021 16:49:52 GMT" type="outline">
					<outline text="Suppose a project no longer needs a file, but you don't want to remove it from its repo" created="Thu, 18 Feb 2021 16:50:02 GMT">
						<outline text="Makes sense sometimes, the code was useful and might be useful again." created="Thu, 18 Feb 2021 16:50:25 GMT"/>
						<outline text="But you don't want to confuse a newcomer. " created="Thu, 18 Feb 2021 16:50:38 GMT"/>
						<outline text="So create a folder called old stuff and put it there." created="Thu, 18 Feb 2021 16:50:48 GMT"/>
						<outline text="It meets both needs. 1. It won't confuse a newbie. 2. It preserves the work." created="Thu, 18 Feb 2021 16:50:56 GMT"/>
						</outline>
					</outline>
				<outline text="[[LO2]]" created="Thu, 18 Feb 2021 16:10:11 GMT" type="outline">
					<outline text="Docs -- If you want to create a sub-menu in menubar.opml, add an attribute called flSubMenu and set it true. The subs will be commands, and their subs will be the script that runs when the command is selected. " created="Thu, 18 Feb 2021 16:10:20 GMT"/>
					<outline text="We need a codename for the scripting project. Probably will be the name of a place, as with all previous releases. " created="Thu, 18 Feb 2021 16:11:34 GMT"/>
					</outline>
				</outline>
			<outline text="February 14" created="Sun, 14 Feb 2021 15:42:30 GMT" type="calendarDay" name="14">
				<outline text="[[everyMinute]]" created="Sun, 14 Feb 2021 15:42:31 GMT" type="outline">
					<outline text="Did a careful release, now including it in utils.js and daveutils so all my software runs code at the top of the minute without drift." created="Sun, 14 Feb 2021 15:42:41 GMT">
						<outline text="https://github.com/scripting/everyMinute" created="Sun, 14 Feb 2021 15:43:55 GMT" type="link" url="https://github.com/scripting/everyMinute"/>
						</outline>
					</outline>
				</outline>
			<outline text="February 13" created="Sat, 13 Feb 2021 13:01:06 GMT" type="calendarDay" name="13">
				<outline text="[[everyMinute]]" created="Sat, 13 Feb 2021 13:02:16 GMT" type="outline">
					<outline text="My brute force method worked, and it's actually quite elegant. I'm going to install it in daveutils, so it'll be available to all my apps. There already is a routine there called runEveryMinute, and this will just replace it. " created="Sat, 13 Feb 2021 13:02:21 GMT">
						<outline text="function newRunEveryMinute (callback) { //2/12/21 by DW" created="Sat, 13 Feb 2021 13:05:07 GMT">
							<outline text="Changes " created="Sat, 13 Feb 2021 13:05:13 GMT" isComment="true">
								<outline text="2/12/21; 11:24:28 AM by DW" created="Sat, 13 Feb 2021 13:05:14 GMT">
									<outline text="The goal is to reduce drift in my everyMinute functions. This is how I do it. " created="Sat, 13 Feb 2021 13:05:30 GMT">
										<outline text="Every second we check if it's time for us to run the everyMinute script, if so we do. "/>
										</outline>
									<outline text="It still isn't accurate, but it does eliminate drift. "/>
									<outline text="It always is within a second or at most two from the top of the minute, and then it gets back on track with the next call. "/>
									<outline text="Drift is gone. Accuracy is still mediocre. "/>
									</outline>
								</outline>
							<outline text="var whenLastEveryMinute = new Date (0);"/>
							<outline text="function everySecond () {" created="Sat, 13 Feb 2021 13:05:46 GMT">
								<outline text="var now = new Date ();"/>
								<outline text="if (now.getSeconds () == 0) {" created="Sat, 13 Feb 2021 13:05:49 GMT">
									<outline text="whenLastEveryMinute = now;"/>
									<outline text="callback ();"/>
									<outline text="}"/>
									</outline>
								<outline text="else {" created="Sat, 13 Feb 2021 13:05:52 GMT">
									<outline text="if (secondsSince (whenLastEveryMinute) &gt; 60) {" created="Sat, 13 Feb 2021 13:05:54 GMT">
										<outline text="whenLastEveryMinute = now;"/>
										<outline text="callback ();"/>
										<outline text="}"/>
										</outline>
									<outline text="}"/>
									</outline>
								<outline text="}"/>
								</outline>
							<outline text="setInterval (everySecond, 1000);"/>
							<outline text="}"/>
							</outline>
						</outline>
					</outline>
				<outline text="[[copyright]]" created="Sat, 13 Feb 2021 13:01:07 GMT" type="outline">
					<outline text="Fixed. It needed to be in the OPML head section, per Andrew's suggestion. " created="Sat, 13 Feb 2021 13:01:16 GMT"/>
					</outline>
				</outline>
			<outline text="February 12" created="Fri, 12 Feb 2021 16:05:28 GMT" type="calendarDay" name="12">
				<outline text="[[everyMinute]]" created="Fri, 12 Feb 2021 16:05:29 GMT" type="outline">
					<outline text="I tried to fix everyMinute by detecting drift and then restarting the everyMinute process, but no luck. Maybe the thing to do is to do a scheduler for JS that works in the browser. With accuracy down to a second. So you run the scheduler every second, and it fires up timed tasks as-needed. I bet it could be done reasonably efficiently just by brute force." created="Fri, 12 Feb 2021 16:05:32 GMT">
						<outline text="For now I do something more modest. If it works, I'll document the change on scripting.com." created="Fri, 12 Feb 2021 16:30:09 GMT"/>
						</outline>
					</outline>
				<outline text="[[davetwitter]]" created="Fri, 12 Feb 2021 16:07:21 GMT" type="outline">
					<outline text="I added a new call yesterday, copied from nodeStorage, /getmymentions." created="Fri, 12 Feb 2021 16:07:32 GMT">
						<outline text="I'm going to tune it up, and plan out adding the rest of the twitter entry points from nodeStorage. " created="Fri, 12 Feb 2021 16:07:51 GMT"/>
						</outline>
					</outline>
				<outline text="[[scriptingNightlyEmail]]" created="Fri, 12 Feb 2021 16:08:18 GMT">
					<outline text="The copyright macro is broken. The emails went out last night with [%copyright%] at the top of the footer. " created="Fri, 12 Feb 2021 16:08:26 GMT">
						<outline text="I swear last night's email came to me with the macro unresolved, but now I just re-checked, and everything is fine. Oy." created="Fri, 12 Feb 2021 16:18:16 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="February 11" created="Thu, 11 Feb 2021 15:34:53 GMT" type="calendarDay" name="11">
				<outline text="[[LO2]]" created="Thu, 11 Feb 2021 15:34:54 GMT" type="outline">
					<outline text="it wasn't calling everyMinute properly -- fixed" created="Thu, 11 Feb 2021 15:34:57 GMT"/>
					<outline text="/getmymentions" created="Thu, 11 Feb 2021 18:57:14 GMT">
						<outline text="there's another call that LO2 makes that is part of nodeStorage" created="Thu, 11 Feb 2021 18:55:05 GMT"/>
						<outline text="there's a pref that if set true, LO2 will, every three minutes, look for replies to tweets in your outline" created="Thu, 11 Feb 2021 18:55:43 GMT">
							<outline text="appPrefs.flCheckForReplies" created="Thu, 11 Feb 2021 18:56:10 GMT"/>
							</outline>
						<outline text="here's the tweet i'll use to test this feature" created="Thu, 11 Feb 2021 18:56:48 GMT">
							<outline text="I'm testing some software. I'm going to be responding to this tweet with test tweets." created="Thu, 11 Feb 2021 18:50:33 GMT" type="tweet" tweetId="1359937960389595154" tweetUserName="davewiner">
								<outline text="@jy: syntax error" created="Thu Feb 11 18:56:03 +0000 2021" type="tweet" tweetId="1359939271180890115" tweetUserName="jy"/>
								</outline>
							</outline>
						</outline>
					</outline>
				</outline>
			<outline text="February 10" created="Wed, 10 Feb 2021 20:14:56 GMT" type="calendarDay" name="10">
				<outline text="[[scripting]]" created="Wed, 10 Feb 2021 20:14:57 GMT" type="outline">
					<outline text="&lt;a href=&quot;https://github.com/scripting/Scripting-News/issues/199#issuecomment-776823796&quot;&gt;Released&lt;/a&gt; the prototype &lt;a href=&quot;https://github.com/scripting/jsPreprocessor/blob/main/compile.js&quot;&gt;JavaScript pre-processor&lt;/a&gt;. " created="Wed, 10 Feb 2021 20:15:04 GMT"/>
					</outline>
				</outline>
			<outline text="February 9" created="Tue, 09 Feb 2021 16:19:27 GMT" type="calendarDay" name="09">
				<outline text="[[scripting]]" created="Tue, 09 Feb 2021 16:19:28 GMT" type="outline">
					<outline text="using  the &lt;a href=&quot;https://github.com/acornjs/acorn&quot;&gt;acorn parser&lt;/a&gt; for testing/playing. " created="Tue, 09 Feb 2021 16:19:32 GMT">
						<outline text="the functions are stored outside the user's code" created="Tue, 09 Feb 2021 16:39:04 GMT"/>
						<outline text="their names are stored in an array" created="Tue, 09 Feb 2021 16:39:11 GMT"/>
						<outline text="when we're processing the user's code, we look for calls to these functions" created="Tue, 09 Feb 2021 16:39:40 GMT"/>
						<outline text="and add the word await in front of the call" created="Tue, 09 Feb 2021 16:39:56 GMT"/>
						<outline text="all other function calls are left alone" created="Tue, 09 Feb 2021 16:40:17 GMT"/>
						<outline text="the functions in the array must be declared as async" created="Tue, 09 Feb 2021 16:40:23 GMT"/>
						</outline>
					<outline text="example 1" created="Tue, 09 Feb 2021 17:25:44 GMT">
						<outline text="joan ()" created="Tue, 09 Feb 2021 17:25:47 GMT">
							<outline text="CallExpression" created="Tue, 09 Feb 2021 17:25:53 GMT">
								<outline text="callee" created="Tue, 09 Feb 2021 17:26:40 GMT">
									<outline text="Identifier" created="Tue, 09 Feb 2021 17:27:21 GMT">
										<outline text="name: &quot;joan&quot;" created="Tue, 09 Feb 2021 17:27:28 GMT"/>
										</outline>
									</outline>
								</outline>
							</outline>
						<outline text="suppose joan is called async, then you'd have to:" created="Tue, 09 Feb 2021 17:27:52 GMT">
							<outline text="wrap the CallExpression in AwaitExpression" created="Tue, 09 Feb 2021 17:28:04 GMT"/>
							</outline>
						</outline>
					</outline>
				</outline>
			<outline text="February 8" created="Mon, 08 Feb 2021 15:25:53 GMT" type="calendarDay" name="08">
				<outline text="[[verbs]] -- just started" created="Mon, 08 Feb 2021 15:25:54 GMT" type="outline">
					<outline text="What I learned" created="Mon, 08 Feb 2021 17:28:08 GMT">
						<outline text="Right now for this to work, people who create asynchronous functions in this language need to label them as async and call them with await. There are some circumstances where we can generate the glue thus hiding the distinction, but the rules are complex. To really solve the problem will require generating code using a compiler. String processing, which is what we do now is not enough. " created="Mon, 08 Feb 2021 17:28:13 GMT"/>
						</outline>
					<outline text="Back to verbs. " created="Mon, 08 Feb 2021 15:25:58 GMT">
						<outline text="I want to write the tagserver ping script in JSS. " created="Mon, 08 Feb 2021 15:26:01 GMT">
							<outline text="get today's opml" created="Mon, 08 Feb 2021 15:26:23 GMT"/>
							<outline text="upload the file, get the url" created="Mon, 08 Feb 2021 15:27:25 GMT"/>
							<outline text="ping tagserver" created="Mon, 08 Feb 2021 15:27:44 GMT"/>
							</outline>
						</outline>
					</outline>
				<outline text="[[LO2]] -- bugs" created="Mon, 08 Feb 2021 15:32:45 GMT" type="outline">
					<outline text="If you press cmd-\ to toggle comment, it's also picked up in the JS debugger and it halts the script. " created="Mon, 08 Feb 2021 15:32:49 GMT">
						<outline text="Obviously there's a key conflict. " created="Mon, 08 Feb 2021 15:35:23 GMT"/>
						<outline text="We have to use cmd-\, so we should find a way to disable it in the browser." created="Mon, 08 Feb 2021 15:35:33 GMT"/>
						</outline>
					<outline text=" When editing a script the spellchecker in the browser marks every variable name as a mis-spelling. " created="Mon, 08 Feb 2021 15:34:29 GMT"/>
					</outline>
				</outline>
			<outline text="February 7" created="Sun, 07 Feb 2021 14:08:21 GMT" type="calendarDay" name="07">
				<outline text="[[verbs]]" created="Sun, 07 Feb 2021 14:08:22 GMT" type="outline">
					<outline text="the version of verbs.js in littleoutliner appears to be an old pre-promises one" created="Sun, 07 Feb 2021 15:13:50 GMT">
						<outline text="i just downloaded the code from the verbs repo, and installed it in LO2" created="Sun, 07 Feb 2021 15:14:10 GMT"/>
						<outline text="so now i'm running the proper version" created="Sun, 07 Feb 2021 15:14:26 GMT"/>
						</outline>
					<outline text="will test some verbs now, let's see what we have" created="Sun, 07 Feb 2021 15:14:33 GMT">
						<outline text="i'm hopefully ready to work on it now." created="Sun, 07 Feb 2021 15:14:46 GMT"/>
						</outline>
					<outline text="testing one-liners" created="Sun, 07 Feb 2021 15:15:38 GMT">
						<outline text="file.writeWholeFile" created="Sun, 07 Feb 2021 15:19:41 GMT">
							<outline text="file.writeWholeFile (&quot;testing/test.txt&quot;, &quot;oh the buzzing&quot;)" created="Sun, 07 Feb 2021 15:16:53 GMT" isComment="true">
								<outline text="[object Promise]" created="Sun, 07 Feb 2021 15:17:31 GMT"/>
								</outline>
							<outline text="it worked, there is a file in the public testing folder named test.text, but the returned value of [object Promise] is not good. I want whatever would have been returned to the callback" created="Sun, 07 Feb 2021 15:19:47 GMT">
								<outline text="that means an error dialog if there was an error, or the returned struct" created="Sun, 07 Feb 2021 15:20:28 GMT"/>
								<outline text="the next step would be to return the url not the struct, because this is scripting" created="Sun, 07 Feb 2021 15:20:43 GMT"/>
								</outline>
							</outline>
						<outline text="file.writeWholeFile" created="Sun, 07 Feb 2021 15:19:41 GMT">
							<outline text="file.writeWholeFile (&quot;testing/test.txt&quot;, string.filledString (&quot;oh the buzzing\n&quot;, 50))" created="Sun, 07 Feb 2021 15:16:53 GMT" isComment="true">
								<outline text="[object Promise]" created="Sun, 07 Feb 2021 15:22:49 GMT"/>
								</outline>
							<outline text="this worked too" created="Sun, 07 Feb 2021 15:19:47 GMT"/>
							</outline>
						<outline text="file.readWholeFile" created="Sun, 07 Feb 2021 15:19:41 GMT">
							<outline text="file.readWholeFile (&quot;testing/test.txt&quot;)" created="Sun, 07 Feb 2021 15:16:53 GMT" isComment="true">
								<outline text="[object Promise]" created="Sun, 07 Feb 2021 15:25:40 GMT"/>
								</outline>
							<outline text="this did not work -- there's no way to access the result from the oneliner, does it work when it's in a script?" created="Sun, 07 Feb 2021 15:19:47 GMT"/>
							</outline>
						</outline>
					<outline text="testing menu scripts" created="Sun, 07 Feb 2021 15:27:17 GMT">
						<outline text="" created="Sun, 07 Feb 2021 15:27:21 GMT"/>
						</outline>
					<outline text="ideas" created="Sun, 07 Feb 2021 15:05:15 GMT">
						<outline text="op verbs" created="Sun, 07 Feb 2021 02:35:08 GMT">
							<outline text="different from the op verbs in Frontier" created="Sun, 07 Feb 2021 14:10:11 GMT"/>
							<outline text="you can navigate through the outline structure without moving the cursor" created="Sun, 07 Feb 2021 02:35:16 GMT"/>
							<outline text="examples" created="Sun, 07 Feb 2021 14:11:12 GMT">
								<outline text="adr = op.firstsummit () adr is a pointer to the first summit in the outline structure" created="Sun, 07 Feb 2021 02:36:59 GMT"/>
								<outline text="adr = adr.go (right, 1) returns a pointer to the first child of the headline that adr points to" created="Sun, 07 Feb 2021 14:07:01 GMT"/>
								<outline text="adr = adr.insert (&quot;hello&quot;, down) creates a new sibling down from adr and returns a pointer to it" created="Sun, 07 Feb 2021 14:07:40 GMT"/>
								</outline>
							<outline text="the outline structure we're referring to is the one in the active tab" created="Sun, 07 Feb 2021 02:38:19 GMT"/>
							<outline text="btw, &quot;op&quot; is pronounced as oh-pee not op. it means outline processor." created="Sun, 07 Feb 2021 14:10:27 GMT"/>
							</outline>
						<outline text="file verbs" created="Sun, 07 Feb 2021 02:35:50 GMT">
							<outline text="read from and save to your storage on the server" created="Sun, 07 Feb 2021 02:35:54 GMT">
								<outline text="filetext = file.readwholefile (path)" created="Sun, 07 Feb 2021 02:38:38 GMT"/>
								<outline text="file.writewholefile (path, filetext)" created="Sun, 07 Feb 2021 02:38:55 GMT"/>
								</outline>
							</outline>
						<outline text="http verbs" created="Sun, 07 Feb 2021 02:36:15 GMT">
							<outline text="allow you to send a message over http" created="Sun, 07 Feb 2021 02:36:19 GMT">
								<outline text="http.client (method, path, params, flauthenticated, body)" created="Sun, 07 Feb 2021 02:39:44 GMT"/>
								</outline>
							</outline>
						</outline>
					</outline>
				</outline>
			<outline text="February 5" created="Fri, 05 Feb 2021 14:56:12 GMT" type="calendarDay" name="05">
				<outline text="[[lo2]] -- an idea -- electron version of LO2" created="Fri, 05 Feb 2021 17:54:10 GMT" type="outline">
					<outline text="I've been using LO2 for my note taking the last few days. it's good, but I wish there was an icon in the dock that would bring it up. maybe an electron app that's nothing more than LO2, no local file storage, would be useful. " created="Fri, 05 Feb 2021 17:54:14 GMT"/>
					</outline>
				<outline text="[[tagserver]] -- outline caching was a problem" created="Fri, 05 Feb 2021 17:47:56 GMT" type="outline">
					<outline text="stopped doing it" created="Fri, 05 Feb 2021 17:48:05 GMT">
						<outline text="i added this when the outline I was sending was so large that it would make cursor movement slow." created="Fri, 05 Feb 2021 17:48:12 GMT"/>
						<outline text="now i've got bite-size outlines coming out of LO2, i'm going to just turn the cache off. " created="Fri, 05 Feb 2021 17:48:29 GMT"/>
						<outline text="added a flOpmlCacheEnabled boolean to disable the caching " created="Fri, 05 Feb 2021 17:53:32 GMT"/>
						</outline>
					</outline>
				<outline text="[[tagserver]] -- fix websockets connection" created="Fri, 05 Feb 2021 16:09:46 GMT" type="outline">
					<outline text="The theory was incorrect. The &quot;reload&quot; notification happens if you force it. And the list reloads. " created="Fri, 05 Feb 2021 16:38:48 GMT">
						<outline text="Theory: it broke in the transition to the new config.json behavior and format implemented recently." created="Fri, 05 Feb 2021 16:09:57 GMT"/>
						<outline text="The setup" created="Fri, 05 Feb 2021 16:10:20 GMT">
							<outline text="Run the server on localhost in the Node debugger. " created="Fri, 05 Feb 2021 16:10:26 GMT"/>
							<outline text="Set breakpoints to see if it gets a request for reload notices from the client." created="Fri, 05 Feb 2021 16:10:42 GMT"/>
							<outline text="See if the notices are being sent. " created="Fri, 05 Feb 2021 16:11:04 GMT"/>
							</outline>
						</outline>
					<outline text="The problem was in everySecond believe it or not." created="Sat, 06 Feb 2021 16:42:41 GMT">
						<outline text="There's an everySecond routine in practically everything I write." created="Sat, 06 Feb 2021 16:42:51 GMT"/>
						<outline text="In tagserver, it's hooked into daveappserver's everySecond through the options struct that initializes DAS." created="Sat, 06 Feb 2021 16:43:03 GMT"/>
						<outline text="But daveappserver's everySecond routine was not calling the one in the config struct.  " created="Sat, 06 Feb 2021 16:43:34 GMT"/>
						<outline text="The stupidest possible error, nothing subtle about it. But it wasn't even slightly suspected until all the other possibilities were eliminated." created="Sat, 06 Feb 2021 16:44:03 GMT"/>
						<outline text="An analogy. You're trying to figure out why a baseball player has such a low batting average. But you fail to see he has only one arm. " created="Sat, 06 Feb 2021 16:44:32 GMT"/>
						</outline>
					</outline>
				<outline text="[[pagepark]] -- outgoing requests to localhost not routed properly" created="Fri, 05 Feb 2021 14:56:13 GMT" type="outline">
					<outline text="The problem" created="Fri, 05 Feb 2021 15:52:10 GMT">
						<outline text="I posted a &lt;a href=&quot;https://github.com/scripting/pagePark/issues/17&quot;&gt;braintrust query&lt;/a&gt; yesterday about same-machine requests from apps being served by pagepark on the same machine. And it seems I have gotten the answer, now I have to try to apply it." created="Fri, 05 Feb 2021 14:56:17 GMT"/>
						<outline text="The advice was to add this line to the startup script:" created="Fri, 05 Feb 2021 15:29:19 GMT">
							<outline text="iptables -t nat -A OUTPUT -p tcp -o lo --dport 80 -j REDIRECT --to-ports 1339" created="Fri, 05 Feb 2021 15:25:57 GMT"/>
							</outline>
						<outline text="In other words, the routing from 80 to 1339 was only going one way, when an outside request was coming into the server. For requests made going out of the server, the same mapping must apply. " created="Fri, 05 Feb 2021 15:29:50 GMT"/>
						<outline text="And it works. :-)" created="Fri, 05 Feb 2021 15:30:32 GMT"/>
						</outline>
					<outline text="Done" created="Fri, 05 Feb 2021 15:31:17 GMT">
						<outline text="Updated pagePark docs to reflect this. " created="Fri, 05 Feb 2021 15:31:21 GMT"/>
						<outline text="Updated restart.sh script on Palatka. " created="Fri, 05 Feb 2021 15:31:35 GMT"/>
						<outline text="pagepark.io caching problem, restarted pagepark server on miami and the cache was cleared" created="Fri, 05 Feb 2021 16:00:24 GMT"/>
						</outline>
					</outline>
				</outline>
			<outline text="February 4" created="Thu, 04 Feb 2021 16:31:28 GMT" type="calendarDay" name="04">
				<outline text="[[tagserver]]" created="Thu, 04 Feb 2021 17:00:21 GMT" type="outline">
					<outline text="Where to resume tomorrow" created="Thu, 04 Feb 2021 21:18:44 GMT">
						<outline text="The websocket connection isn't working in tagserver. " created="Thu, 04 Feb 2021 21:18:49 GMT"/>
						<outline text="It's almost certainly a configuration error." created="Thu, 04 Feb 2021 21:19:08 GMT"/>
						<outline text="Have to set up the server on local machine and watch what's goin on in the debugger. " created="Thu, 04 Feb 2021 21:19:15 GMT"/>
						</outline>
					<outline text="Fixed a crashing bug. " created="Thu, 04 Feb 2021 20:32:21 GMT">
						<outline text="Long story, but there are two versions of opmlToJs.parse, one that returns just the outline structure, and the other, opmlToJs.parseWithError that returns the Node-standard (err, data) form. We were calling the old version, but the code thought we were calling the one that returns the err struct. So when there was an error, tagserver would crash. Now it should just report the error. " created="Thu, 04 Feb 2021 20:32:27 GMT"/>
						</outline>
					<outline text="The chronological view is very slow to load now." created="Thu, 04 Feb 2021 17:01:22 GMT">
						<outline text="We probably don't need everything dating back to December 2." created="Thu, 04 Feb 2021 17:01:34 GMT"/>
						<outline text="However this suggests we need a good search capability in tagserver. " created="Thu, 04 Feb 2021 17:01:53 GMT"/>
						</outline>
					</outline>
				<outline text="[[scripting]]" created="Thu, 04 Feb 2021 17:50:32 GMT" type="outline">
					<outline text="Let's start a set of DNS verbs. " created="Thu, 04 Feb 2021 17:50:36 GMT">
						<outline text="It's a good simple, contained verb set." created="Thu, 04 Feb 2021 17:50:48 GMT"/>
						<outline text="Nothing speculative." created="Thu, 04 Feb 2021 17:50:58 GMT"/>
						<outline text="Should we call it " created="Thu, 04 Feb 2021 17:51:02 GMT">
							<outline text="tcp.dns" created="Thu, 04 Feb 2021 17:51:06 GMT"/>
							</outline>
						<outline text="Or just " created="Thu, 04 Feb 2021 17:51:10 GMT">
							<outline text="dns" created="Thu, 04 Feb 2021 17:51:13 GMT"/>
							</outline>
						<outline text="Advantage of the first, we could just clone the interface in Frontier. " created="Thu, 04 Feb 2021 17:51:14 GMT"/>
						<outline text="Advantage of the second, it's simpler, and consistent with Node, although the API for DNS in Node is overly rich for scripting. " created="Thu, 04 Feb 2021 17:51:32 GMT"/>
						<outline text="I use DNS a lot in one-line scripts, to be sure a domain maps where I think it should. For example" created="Thu, 04 Feb 2021 17:53:09 GMT">
							<outline text="tcp.dns.getDottedId (&quot;woodstockweed.org&quot;)" created="Thu, 04 Feb 2021 17:53:28 GMT"/>
							</outline>
						<outline text="It might be interesting to add a next-level-up that keeps a list of domains i own" created="Thu, 04 Feb 2021 17:54:12 GMT">
							<outline text="and allows me to do something like this" created="Thu, 04 Feb 2021 17:54:27 GMT">
								<outline text="myDomainList.match (tcp.dns.getDottedId (&quot;woodstockweed.org&quot;))" created="Thu, 04 Feb 2021 17:54:36 GMT"/>
								</outline>
							<outline text="if it worked the response would be" created="Thu, 04 Feb 2021 17:54:55 GMT">
								<outline text="miami.scripting.com" created="Thu, 04 Feb 2021 17:55:03 GMT"/>
								</outline>
							</outline>
						</outline>
					</outline>
				<outline text="[[LO2]]" created="Thu, 04 Feb 2021 16:59:18 GMT" type="outline">
					<outline text="Changed it so the outline I generate for pinging [[tagserver]] now has a top level headline with the date." created="Thu, 04 Feb 2021 16:59:26 GMT"/>
					<outline text="I found it claustrophobic to see no indication of context for each item." created="Thu, 04 Feb 2021 16:59:51 GMT"/>
					</outline>
				<outline text="[[pagepark]]" created="Thu, 04 Feb 2021 16:31:29 GMT" type="outline">
					<outline text="Fixed bug in command-line tool, pp. Now we look for config.json in the directory we were launched from not the cwd. This would cause weird problems if the directory we were in had a config.json file that specified a &quot;port&quot; value. Now we're reading the correct config.json file no matter where you are in the directory structure. " created="Thu, 04 Feb 2021 16:31:43 GMT"/>
					</outline>
				</outline>
			<outline text="February 3" created="Wed, 03 Feb 2021 17:12:29 GMT" type="calendarDay" name="03">
				<outline text="[[pagepark]]" created="Wed, 03 Feb 2021 18:12:46 GMT" type="outline">
					<outline text="Longstanding problem." created="Wed, 03 Feb 2021 18:13:00 GMT"/>
					<outline text="Suppose two apps are running on the same machine where PP is the http server." created="Wed, 03 Feb 2021 18:13:07 GMT"/>
					<outline text="Say one app is on the domain hello.com and the other is goodbye.com." created="Wed, 03 Feb 2021 18:13:21 GMT"/>
					<outline text="Suppose the first makes a request of the second." created="Wed, 03 Feb 2021 18:13:39 GMT">
						<outline text="http://goodbye.com/index.html" created="Wed, 03 Feb 2021 18:13:50 GMT"/>
						</outline>
					<outline text="It will get a connection refused." created="Wed, 03 Feb 2021 18:14:00 GMT"/>
					<outline text="Make the request from another server and it works fine. " created="Wed, 03 Feb 2021 18:14:09 GMT"/>
					<outline text="Have to say I haven't spent a lot of time tracking this down, but it's irritating." created="Wed, 03 Feb 2021 18:14:21 GMT"/>
					<outline text="I hit it today because both tagserver and test.littleoutliner.com are running on the same machine. " created="Wed, 03 Feb 2021 18:14:39 GMT"/>
					<outline text="I hacked it by adding the port to the URL, that works, because it doesn't get routed through PP." created="Wed, 03 Feb 2021 18:15:04 GMT"/>
					</outline>
				<outline text="Something cool is working in [[LO2]]" created="Wed, 03 Feb 2021 18:02:56 GMT" type="outline">
					<outline text="Notice this ping is coming from a much smaller outline, so everything is nice and fast. " created="Wed, 03 Feb 2021 18:03:02 GMT"/>
					</outline>
				<outline text="Pinging my tagged status outline in [[LO2]]" created="Wed, 03 Feb 2021 17:12:30 GMT" type="outline">
					<outline text="Big picture" created="Wed, 03 Feb 2021 17:13:43 GMT">
						<outline text="I am building a first version of something that I expect to be able to write in JSS. It's a bootstrap step. First write it in low-level language, then factor so it can be done at a higher level." created="Wed, 03 Feb 2021 17:12:49 GMT"/>
						<outline text="I looked at doing it in EO first, but the scripting support there is far behind that in LO2, if you can believe it. It's a real mess. Here at least there's a beginning to some order to it. " created="Wed, 03 Feb 2021 17:13:47 GMT"/>
						</outline>
					<outline text="In the LO2 source" created="Wed, 03 Feb 2021 17:14:31 GMT">
						<outline text="If you look in the source you'll see a routine named pingDavesTags. I call that from the JS console in the browser. It navigates to the current day in the outline structure, generates the OPML text for that structure   (this much works now), saves it to a public file on the server, and then pings the tag server with the URL of the file. This should all happen in less than a second. " created="Wed, 03 Feb 2021 17:14:38 GMT"/>
						</outline>
					<outline text="The user experience" created="Wed, 03 Feb 2021 17:16:36 GMT">
						<outline text="Obviously calling a script at the command line is not the final UI. ;-)" created="Wed, 03 Feb 2021 17:16:40 GMT"/>
						<outline text="Otherwise the UI is about as simple as it can be. When you want to update the tag server, just run the script." created="Wed, 03 Feb 2021 17:16:54 GMT"/>
						</outline>
					<outline text="Next steps in bootstrap" created="Wed, 03 Feb 2021 17:17:25 GMT">
						<outline text="We'll need verbs to:" created="Wed, 03 Feb 2021 17:18:25 GMT">
							<outline text="get the headers of the current outline" created="Wed, 03 Feb 2021 17:18:31 GMT"/>
							<outline text="navigating to a node in the outline" created="Wed, 03 Feb 2021 17:18:38 GMT"/>
							<outline text="getting the opml text for that node" created="Wed, 03 Feb 2021 17:19:10 GMT"/>
							<outline text="writing a public file to the server" created="Wed, 03 Feb 2021 17:19:17 GMT"/>
							<outline text="getting the url of the file" created="Wed, 03 Feb 2021 17:19:31 GMT"/>
							<outline text="making an HTTP request of a server" created="Wed, 03 Feb 2021 17:19:35 GMT"/>
							</outline>
						<outline text="Questions" created="Wed, 03 Feb 2021 17:19:47 GMT">
							<outline text="i'm thinking about a new kind of outline navigation verbs, maintaining support for the ones ported from the ThinkTank world, ones that are more JavaScripty. " created="Wed, 03 Feb 2021 17:19:50 GMT"/>
							</outline>
						</outline>
					</outline>
				</outline>
			<outline text="February 2" created="Tue, 02 Feb 2021 17:13:59 GMT" type="calendarDay" name="02">
				<outline text="How to make a tag-capable status center out of [[LO2]]" created="Tue, 02 Feb 2021 17:14:00 GMT" type="outline">
					<outline text="What happens when you ping" created="Tue, 02 Feb 2021 17:13:13 GMT">
						<outline text="what's in the current outline is up to you, it is never sent to the tag server" created="Tue, 02 Feb 2021 17:15:53 GMT"/>
						<outline text="instead, when you ping, the script grabs the most recent day (assuming a calendar structure) saves it to a public file on the server, and sends the URL of that outline to the tag server." created="Tue, 02 Feb 2021 17:16:05 GMT"/>
						<outline text="so you're always dealing with small one-day outlines. " created="Tue, 02 Feb 2021 17:16:48 GMT"/>
						</outline>
					<outline text="You edit in a calendar structure" created="Tue, 02 Feb 2021 17:17:37 GMT">
						<outline text="Put the tags where ever you like. " created="Tue, 02 Feb 2021 17:17:43 GMT"/>
						<outline text="What the tagserver does with it is well-known at this point. " created="Tue, 02 Feb 2021 17:17:49 GMT"/>
						</outline>
					<outline text="What we need to do from a script to make this work" created="Tue, 02 Feb 2021 17:18:12 GMT">
						<outline text="Get a section of an outline in OPML." created="Tue, 02 Feb 2021 17:18:21 GMT"/>
						<outline text="Be able to write a public file on the server. " created="Tue, 02 Feb 2021 17:18:39 GMT"/>
						<outline text="Get the url of that file." created="Tue, 02 Feb 2021 17:18:49 GMT"/>
						</outline>
					</outline>
				</outline>
			</outline>
		</body>
	</opml>
