-
Declarations, Inits, Drop-ins
- Option Explicit
- SubZero: remove/import version with gstrLogPath fix
- update SubZero prologue constant to use G rather than D or I for WriteLog
- add WriteLog as Public, not Private
- Public iLogIndex As Integer
-
Search and destroy
Option Explicit | |
Public txtFileName As String | |
Sub Mainline() | |
Call openDialog | |
Call GetWordsToOccurencesDict | |
End Sub |
Private Sub openDialog() | |
Dim fd As Office.FileDialog | |
Set fd = Application.FileDialog(msoFileDialogFilePicker) | |
With fd | |
.AllowMultiSelect = False | |
' Set the title of the dialog box. |
Select input - USB audio device or line in (from turntable)
- New music project
- Tracks / New Basic Track
- (on an existing song project, delete all instrument tracks)
- Master track / tempo lowest - 40
- Control / metronome off
- Track properties - set Monitoring on/off to taste
- Record
CREATE FUNCTION ToJSON | |
( | |
@Hierarchy Hierarchy READONLY | |
) | |
/* | |
the function that takes a Hierarchy table and converts it to a JSON string | |
Author: Phil Factor | |
Revision: 1.5 |
When I saw this topic bubble up over email and chat channels, I didn't think I had much to add. I, too, have done the ISP renegotiation song and dance many times, though this was usually because I was trying to manage what few pennies I had. (The struggling freelance life I used to lead before getting full-time work, and all that.)
But I remembered one resumé point I have that other Ars colleagues don't—previously working in a customer service phone farm. It was the only steady paying gig I could find straight out of college, and I learned a lot... about never wanting that kind of job again.
It did train me to be kinder and more direct in a phone-service world, at least. To that end, here are my tips so that you too might have a better time on the phone or in a text chat with an ISP agent.
- Know your leverage: Do you have other Internet options? It doesn't matter if they are hot garbage with upload speeds that would make NetZero bl
-- Create the data type IF EXISTS (SELECT * FROM sys.types WHERE name LIKE 'Hierarchy') | |
DROP TYPE dbo.Hierarchy | |
go | |
/****** Object: UserDefinedTableType [dbo].[Hierarchy] Script Date: 4/14/2020 8:48:14 AM ******/ | |
CREATE TYPE [dbo].[Hierarchy] AS TABLE( | |
[element_id] [int] NOT NULL, /* internal surrogate primary key gives the order of parsing and the list order */ | |
[sequenceNo] [int] NULL, /* the place in the sequence for the element */ | |
[parent_ID] [int] NULL, /* if the element has a parent then it is in this column. The document is the ultimate parent, so you can get the structure from recursing from the document */ | |
[Object_ID] [int] NULL, /* each list or object has an object id. This ties all elements to a parent. Lists are treated as objects here */ |
IF OBJECT_ID (N'dbo.JSONEscaped') IS NOT NULL DROP FUNCTION dbo.JSONEscaped | |
GO | |
CREATE FUNCTION [dbo].[JSONEscaped] ( /* this is a simple utility function that takes a SQL String with all its clobber and outputs it as a sting with all the JSON escape sequences in it.*/ | |
@Unescaped NVARCHAR(MAX) --a string with maybe characters that will break json | |
) | |
RETURNS NVARCHAR(MAX) | |
AS | |
BEGIN | |
SELECT @Unescaped = REPLACE(@Unescaped, FROMString, TOString) |