If you, like me, resent every dollar spent on commercial PDF tools,
you might want to know how to change the text content of a PDF without
having to pay for Adobe Acrobat or another PDF tool. I didn't see an
obvious open-source tool that lets you dig into PDF internals, but I
did discover a few useful facts about how PDFs are structured that
I think may prove useful to others (or myself) in the future. They
are recorded here. They are surely not universally applicable --
the PDF standard is truly Byzantine -- but they worked for my case.
| package main | |
| import ( | |
| "flag" | |
| "fmt" | |
| "log" | |
| "os" | |
| "os/signal" | |
| "syscall" | |
| ) |
| I was drawn to programming, science, technology and science fiction | |
| ever since I was a little kid. I can't say it's because I wanted to | |
| make the world a better place. Not really. I was simply drawn to it | |
| because I was drawn to it. Writing programs was fun. Figuring out how | |
| nature works was fascinating. Science fiction felt like a grand | |
| adventure. | |
| Then I started a software company and poured every ounce of energy | |
| into it. It failed. That hurt, but that part is ok. I made a lot of | |
| mistakes and learned from them. This experience made me much, much |
| #!/bin/sh | |
| # non-interactive kde installer for alpine | |
| # apk add curl && curl -L https://cutt.ly/alpine_kde | sh | |
| echo "I will make Alpine Linux a Desktop Linux.. ." | |
| ## Desktop user |
| local obs = obslua | |
| local ffi = require 'ffi' | |
| local obsffi | |
| if ffi.os == "OSX" then | |
| obsffi = ffi.load("obs.0.dylib") | |
| else | |
| obsffi = ffi.load("obs") | |
| end | |
| ffi.cdef[[ |
This is inspired by A half-hour to learn Rust and Zig in 30 minutes.
Your first Go program as a classical "Hello World" is pretty simple:
First we create a workspace for our project:
| <?php | |
| /** | |
| * Plugin Name: Block — Hi Test | |
| * Description: The shortest possible example PHP-rendered WordPress block. | |
| * Author: Paul Clark | |
| * Author URI: https://pdclark.com | |
| * | |
| * @package hi | |
| */ |
This project is a tiny compiler for a very simple language consisting of boolean expression.
The language has two constants: 1 for true and 0 for false, and 4 logic gates:
! (not), & (and), | (or), and ^ (xor).
It can also use parentheses to manage priorities.
Here is its grammar in BNF format:
expr ::= "0" | "1"
I want Microsoft to do better, want Windows to be a decent development platform-and yet, I constantly see Microsoft playing the open source game: advertising how open-source and developer friendly they are - only to crush developers under the heel of the corporate behemoth's boot.
The people who work at Microsoft are amazing, kind, talented individuals. This is aimed at the company's leadership, who I feel has on many occassions crushed myself and other developers under. It's a plea for help.
You probably haven't heard of it before, but if you've ever used win32 API bindings in C#, C++, Rust, or other languages, odds are they were generated from a repository called microsoft/win32metadata.
This is a living document. Everything in this document is made in good faith of being accurate, but like I just said; we don't yet know everything about what's going on.
Update: I've disabled comments as of 2025-01-26 to avoid everyone having notifications for something a year on if someone wants to suggest a correction. Folks are free to email to suggest corrections still, of course.