vault backup: 2025-07-22 16:59:59
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
---
|
||||
tags:
|
||||
- software
|
||||
---
|
||||
# Necessary Automation
|
||||
|
||||
This file describes functionality that
|
||||
|
||||
* Can be explained relatively easily
|
||||
* Benefits greatly from consistency
|
||||
* Is unlikely to need frequent maintenance
|
||||
|
||||
## Standard Emails
|
||||
|
||||
[Outlook Email Automation with PowerShell](https://devblogs.microsoft.com/premier-developer/outlook-email-automation-with-powershell)
|
||||
|
||||
## PERSONAL.xlsb
|
||||
|
||||
Vendor Quote UserForm
|
||||
|
||||
other frequently referenced values
|
||||
|
||||
## Job Handler
|
||||
|
||||
Use-case specific wrapper for a document database like MongoDB.
|
||||
|
||||
### Features
|
||||
|
||||
Features below are in addition to those of Vanilla Atlas.
|
||||
|
||||
#### Extract from Bid Boards
|
||||
|
||||
```sh
|
||||
> jobHandler --new project --from-web https://app.buildingconnected.com/opportunities/66fab32654ef4e1affd178e0/info
|
||||
...
|
||||
```
|
||||
|
||||
```sh
|
||||
> jobHandler --select project freezpak
|
||||
jobHandler\FreezPak Cold Storage> --add-details --from-web https://app.buildingconnected.com/opportunities/66fab32654ef4e1affd178e0/info
|
||||
...
|
||||
```
|
||||
|
||||
## Standard Structured Text for Projects
|
||||
|
||||
Markdown with YAML frontmatter is an excellent choice for project documentation
|
||||
which offers a compromise between interoperability and flexibility.
|
||||
|
||||
* [x] Create an `Import-Markdown` returning `frontmatter` and `body` objects.
|
||||
* [ ] Create vscode workflows for formatting frontmatters and calculating properties.
|
||||
* [ ] Integrate my "Estimating Work" and "Notebook" folders
|
||||
* Before my plaintext renaissance, I used to need many more .xlsx and .pdf files
|
||||
for a single project. It makes better sense for `Sources.xlsx` to be .yaml
|
||||
|
||||
Ultimately most project information could be formatted in markdown and yaml files,
|
||||
greatly aiding in:
|
||||
|
||||
* quick research
|
||||
* data aggregation and analysis
|
||||
* version control and backups
|
||||
* software independence
|
||||
|
||||
without compromising on professional output.
|
||||
Even proposals are truly better suited to this format as,
|
||||
neglecting the former benefits,
|
||||
markdown can be rendered with standard stylesheets for improved consistency.
|
||||
|
||||
Sublime is a friendly option for non-technical users.
|
||||
|
||||
## Estimate Objects
|
||||
|
||||
## Wiring Method Parser
|
||||
|
||||
```
|
||||
3#12 #12G 3/4"C
|
||||
```
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
tags:
|
||||
- software
|
||||
---
|
||||
# Portable Tools
|
||||
|
||||
* pandoc
|
||||
* miktex-portable.exe
|
||||
* w64devkit
|
||||
* peazip
|
||||
* PortableGit
|
||||
* VSCode
|
||||
* FlaUInspect
|
||||
* gnuplot
|
||||
|
||||
Ruby may be possible to make portable,
|
||||
which may make these possible as well:
|
||||
|
||||
* Asciidoctor
|
||||
* Antora
|
||||
* taskjuggler
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
tags:
|
||||
- software
|
||||
---
|
||||
# Possible Automation
|
||||
|
||||
This file describes functionality that
|
||||
|
||||
* would confuse most people I attempted to explain it to
|
||||
* would save little time overall
|
||||
* is unlikely to work in a significant number of cases
|
||||
|
||||
Nonetheless I feel the need to write them somewhere.
|
||||
|
||||
## Travel Distance Calculation
|
||||
|
||||
The obvious answer is the (paid) google maps api.
|
||||
there may be a free api somewhere, too.
|
||||
But why deprive ourselves of a "fun" exercise?
|
||||
|
||||
1. Get coordinates of every municipality in Georgia
|
||||
2. Get straight-line distance and heading from each to Macon
|
||||
3. Manually enter google maps estimates for a couple dozen
|
||||
4. Get a formula $T(d,θ)$ and calculate the rest
|
||||
|
||||
## Extract Bluebeam Markups from Pdf
|
||||
|
||||
Right now I'm exporting Bluebeam markups to csv before processing,
|
||||
however if I converted to the code to extract the markups directly with MuPDF.Net
|
||||
as I've managed before with itext, that could save a step.
|
||||
|
||||
## Panel Schedule Machine Learning
|
||||
|
||||
I have a fair number of labeled panel schedules from previous jobs
|
||||
that would be ripe for training.
|
||||
|
||||
## Misc Web Scrapers
|
||||
|
||||
[#12 Stranded THHN 1000ft](https://www.homedepot.com/b/12/Stranded/1000-ft/12/1/N-5yc1vZ1z0np5dZ1z113htZ1z1uh20Z1z1uhk9/Ntk-elasticplus/Ntt-Thhn)
|
||||
@@ -0,0 +1,68 @@
|
||||
# PowerShell Document Conversion
|
||||
|
||||
PowerShell module to allow fluent conversion of "document" files,
|
||||
including markup source (.md, .adoc, .rst, etc.)
|
||||
and binary formats (.pdf, .docx, etc.),
|
||||
as well as allow ~~common high-level actions on them.~~
|
||||
|
||||
> [!note]
|
||||
> Cmdlets should be written to accept multiple input files where appropriate.
|
||||
|
||||
## `Convert-Document`
|
||||
|
||||
* pandoc
|
||||
* calibre `ebook-convert` (if necessary)
|
||||
* AsciiDoctor
|
||||
|
||||
### Case: From PDF
|
||||
|
||||
* marker
|
||||
* Python based CLI
|
||||
* Option to use LLM for more accurate output
|
||||
* muPDF
|
||||
|
||||
### Case: From Asciidoc
|
||||
|
||||
pandoc can not translate from Asciidoc, only to.
|
||||
Convert first to html.
|
||||
|
||||
## `Measure-Document`
|
||||
|
||||
Measure total words, occurances of unique words, etc.
|
||||
Where applicable, the same by page, as well as total pages.
|
||||
|
||||
## `Format-Document`
|
||||
|
||||
Run format specific linter on document.
|
||||
|
||||
## `Get-DocumentMetadata`/`Set-DocumentMetadata`
|
||||
|
||||
> Reconcile document metadata formats
|
||||
|
||||
* markdown yaml frontmatter
|
||||
* asciidoc attributes
|
||||
|
||||
## `Import-Document`
|
||||
|
||||
Return PSCustomObject with appropriate properties.
|
||||
|
||||
***
|
||||
|
||||
## `Import-XML`
|
||||
|
||||
Missing from base pwsh but should be straightforward to implement.
|
||||
|
||||
```pwsh
|
||||
function Import-XML {
|
||||
param(
|
||||
[string]$Path
|
||||
)
|
||||
$xmlText = Get-Content $Path
|
||||
$document = [xml]$xmlText
|
||||
return $document
|
||||
}
|
||||
```
|
||||
|
||||
`*.SupplierLink.xml`
|
||||
|
||||
## `Unblock-Excel`
|
||||
Reference in New Issue
Block a user