-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
272 lines (244 loc) · 12.4 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2024-09-13 Fri 01:43 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>For when I'm gone.</title>
<meta name="generator" content="Org Mode" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<link rel="stylesheet" href="reset.css">
<link rel="stylesheet" href="index.css">
<meta name="author" content="Wade Mealing" />
<meta name="description" content="Wade Mealings documentation" />
<meta http-equiv="Content-Security-Policy" content="script-src 'self' ajax.googleapis.com;"" />
<meta http-equiv="Content-Security-Policy" content="style-src-elem; img-src https://*; child-src 'none';" />
</head>
<body>
<div id="content" class="content">
<h1 class="title">For when I'm gone.</h1>
<div id="outline-container-orgfa3187c" class="outline-2">
<h2 id="orgfa3187c"><a href="http://wmealing.github.io/sending-email-in-common-lisp.html">Sending email in common-lisp (Sep 2024)</a></h2>
<div class="outline-text-2" id="text-orgfa3187c">
<p>
Want to integrate email functionality into your common-lisp applications, the cl-smtp library can help. In this blog entry, we’ll walk you through the process of using cl-smtp
to send emails via Google’s mail servers. Whether you're setting up notifications, alerts, or just automating your email processes, this guide will help you configure cl-smtp to
work seamlessly with Gmail’s SMTP server.
</p>
</div>
</div>
<div id="outline-container-org07c1d5e" class="outline-2">
<h2 id="org07c1d5e"><a href="https://wmealing.github.io/custom-software-errors.html">The best error messages ive ever seen</a></h2>
<div class="outline-text-2" id="text-org07c1d5e">
<p>
Writing clear and effective error messages is a crucial skill for any programmer, no matter what the language. Well-crafted error messages will
improve the usability of software by guiding users to understand and resolve issues quickly. A good error message not only informs the user about
what went wrong but also suggests potential solutions or next steps. In this introductory paragraph, we will explore key principles and techniques
that can help developers create error messages that are informative, actionable, and user-friendly and more importantly take advantage of any
assistance and resources that you may have at your disposal. I expanded on this a bit more <a href="https://wmealing.github.io/custom-software-errors.html">here</a>.
</p>
</div>
</div>
<div id="outline-container-org3766543" class="outline-2">
<h2 id="org3766543"><a href="http://wmealing.github.io/mac-os-midi-router-broken.html">Apple Mac OS Midi routing is broken.</a></h2>
<div class="outline-text-2" id="text-org3766543">
<p>
I have some new music making hardware, and wanted to try to get them to talk together. Use a Mac they
say 'everything just works', No clearly it doesnt. I did however find a work around. If anyone
is trying to use a USB host to route a midi controller (USB organ) to a synth (USB) start <a href="http://wmealing.github.io/mac-os-midi-router-broken.html">Reading</a>
</p>
</div>
</div>
<div id="outline-container-org2112ea1" class="outline-2">
<h2 id="org2112ea1"><a href="http://wmealing.github.io/minimise.html">Minimise</a></h2>
<div class="outline-text-2" id="text-org2112ea1">
<p>
In the interest of not polluting the internet with my ill-informed opinion and staying
away from the madness that is modern culture, I've deleted a bunch of social media and
messenger accounts. Less of me on the internet can only be a net win for society.
</p>
</div>
</div>
<div id="outline-container-org1ffdac0" class="outline-2">
<h2 id="org1ffdac0"><a href="./reverse-engineering-teenage-engineering.html">Downloading the EP133 firmware from Teenage Engineering</a></h2>
<div class="outline-text-2" id="text-org1ffdac0">
<p>
Teenage Engineering released the EP-133, a mid range sampler/synth, I looked into the updater
to find out as much as I can before I buy one. The firmware provided from teenage engineering
is encrypted, but i've <a href="./reverse-engineering-teenage-engineering.html">documented what i have found so far.</a>
</p>
</div>
</div>
<div id="outline-container-org01b8969" class="outline-2">
<h2 id="org01b8969"><a href="https://wmealing.github.io/atomic-operations-in-common-lisp.html">Atom(ic) Operations in Common Lisp</a> [2023]</h2>
<div class="outline-text-2" id="text-org01b8969">
<p>
So, the headline is a bit of a lie. This entry talks about using clojure like "atoms" to simplify
management of shared, synchronous, independent state. Common lisp being the all-singing all-dancing
monkey of the lisp world, i had to see if atoms can be used this way. It turns out it is easier
than I thought. <a href="https://wmealing.github.io/atomic-operations-in-common-lisp.html">Check it.</a>
</p>
</div>
</div>
<div id="outline-container-org4f828f9" class="outline-2">
<h2 id="org4f828f9"><a href="https://wmealing.github.io/lfe-github-actions.html">Setting up GitHub Actions for LFE CI/CD</a> [2023]</h2>
<div class="outline-text-2" id="text-org4f828f9">
<p>
I'm involved in 'competing' with <a href="https://spawnfest.org/">spawnfest</a> this weekend, I figured its time to setup <a href="lfe-github-actions.html">LFE for CI/CD with GitHub Actions</a>.
Its a pretty simple setup that runs the test, i'll expand on this in the future to include creating containers and
pushing to production.
</p>
</div>
</div>
<div id="outline-container-org6dca768" class="outline-2">
<h2 id="org6dca768"><a href="https://wmealing.github.io/htmx-common-lisp.html">Common Lisp and HTMX</a> [2023]</h2>
<div class="outline-text-2" id="text-org6dca768">
<p>
Common lisp and HTMX provide a sane platform to develop basic applications. I <a href="https://wmealing.github.io/htmx-common-lisp.html">outline the reasons</a> that I have chosen them.
This post also marks the new voice I plan to use while blogging. I no longer care to engage in debate with people without being paid.
</p>
</div>
</div>
<div id="outline-container-org32ca770" class="outline-2">
<h2 id="org32ca770"><a href="./emacs-org-babel-analysis.html ">Supercharge your workflow with emacs and org-babel</a>.</h2>
<div class="outline-text-2" id="text-org32ca770">
<p>
I do kernel flaw analysis for a living, someone asked me to do a short write up on how I use org-babel to
do my work. I've documented it <a href="./emacs-org-babel-analysis.html">in this rant</a>.
</p>
</div>
</div>
<div id="outline-container-org63ad6f4" class="outline-2">
<h2 id="org63ad6f4">Lisp flavored erlang (gen_server)</h2>
<div class="outline-text-2" id="text-org63ad6f4">
<p>
I decided to collapse two of my interests, lisp and erlang. Lisp flavored erlang isnt going to win
any popularity contests, but it is something that I dont entirely hate working on. Ive written
a quick tutorial describing one of the <a href="https://wmealing.github.io/lfe-gen-server.html">core features of erlang</a>.
</p>
</div>
</div>
<div id="outline-container-org3acc09e" class="outline-2">
<h2 id="org3acc09e">Choosing the wrong roads.</h2>
<div class="outline-text-2" id="text-org3acc09e">
<p>
I've spent the last week reflecting on some poor programming life choices that I've made.
disagree with the majority, perhaps you are wrong. I'm not stupid enough to think that i'm smarter
than most people. To be honest its probably not worth reading because you already think just like
this. If I <a href="https://wmealing.github.io/less-than-optimistic.html">write about it</a>, perhaps it will clear my mind.
</p>
</div>
</div>
<div id="outline-container-orgdb15ee3" class="outline-2">
<h2 id="orgdb15ee3">COBOL - Simple "Curses" like screen to get keyboard input.</h2>
<div class="outline-text-2" id="text-orgdb15ee3">
<p>
On of the simple but effectively powerful things that gnuCOBOL can do is a TUI. Its not
fancy (when it implements UTF8 correctly, it will be fancy-af) but it gets the job
done much quicker than most webapps do.
</p>
<p>
Check out my <a href="./simple-cobol-query.html">Simple example</a> which I've got working on Linux and MacOS X.
</p>
</div>
</div>
<div id="outline-container-org28ad686" class="outline-2">
<h2 id="org28ad686">Python Range function in lisp [Aug 2022]</h2>
<div class="outline-text-2" id="text-org28ad686">
<p>
I have wanted a quick way to something similar to the python range function (range n y) in common lisp.
Sometimes I just want to have some kind of immediate list creation. <a href="http://wmealing.github.io/lisp-range">See my drivel on this topic.</a>
</p>
</div>
</div>
<div id="outline-container-org2a1dff8" class="outline-2">
<h2 id="org2a1dff8">Simple WX example in erlang [July 2022]</h2>
<div class="outline-text-2" id="text-org2a1dff8">
<p>
I don't always write a gui for my apps, but when I do, I use wx because I'm not one for complaining about pixel perfect pedantry.
</p>
<p>
The one that works for me at the moment is <a href="http://wmealing.github.io/wx-erlang-example">WX Erlang</a>
</p>
</div>
</div>
<div id="outline-container-org51d538e" class="outline-2">
<h2 id="org51d538e">MIRAI analysis - evasion - deleting the executing code [Nov 2020]</h2>
<div class="outline-text-2" id="text-org51d538e">
<p>
The MIRAI malware deletes itself from disk in an attempt to make it
harder to analyse. <a href="https://wmealing.github.io/mirai-delete-yourself">This post</a> goes into detail on how it works, a rust
implementation and a few improvements that could have been done.
</p>
</div>
</div>
<div id="outline-container-org246af7c" class="outline-2">
<h2 id="org246af7c">MIRAI analysis - watchdog access in rust [Nov 2020]</h2>
<div class="outline-text-2" id="text-org246af7c">
<p>
The MIRAI malware uses an technique intended to prevent the systems
watchdog from rebooting the machine when its too busy. <a href="https://wmealing.github.io/watchdog-in-rust">I share what I learned about this and ported it to rust.</a>
</p>
</div>
</div>
<div id="outline-container-org0c31291" class="outline-2">
<h2 id="org0c31291">Userspace eBPF [Sep 2 2020]</h2>
<div class="outline-text-2" id="text-org0c31291">
<p>
A few distros have users allowed to insert eBPF programs. This is disabled in
some distributions. <a href="./ebpf-disabled-for-users.html">I've documented my findings</a> after talking to different
decision holders who made some of these choices.
</p>
</div>
</div>
<div id="outline-container-org27d9233" class="outline-2">
<h2 id="org27d9233">Anatomy of kernel module signing [Aug 20 2020]</h2>
<div class="outline-text-2" id="text-org27d9233">
<p>
I decided to take a look at the Linux kernel modules signing process. It seems
that the recent drovorub malware has some interesting misinformation regarding
module signing, so I had decided to take a look at the <a href="./signed-kernel-modules.html">regarding its implementations on Red hat Enterprise Linux</a>.
</p>
</div>
</div>
<div id="outline-container-org3c5b017" class="outline-2">
<h2 id="org3c5b017">Encrypting a disk to only boot in a specific system. [Aug 9 2020]</h2>
<div class="outline-text-2" id="text-org3c5b017">
<p>
Recent research papers related to flaws in thunderbolt and secureboot have
piqued my interest in learning more about what can be done to prevent a system
comprimised in such a way from being abused. I've written about
<a href="./tpm-pcr07.html">it here</a>
</p>
</div>
</div>
<div id="outline-container-org45ca3a5" class="outline-2">
<h2 id="org45ca3a5">Toshiba Toughpad FZ-G1-3 [Jul 25 2020]</h2>
<div class="outline-text-2" id="text-org45ca3a5">
<p>
I have recently purchased one of these machines in an auction, and I am -very-
impressed with its build quality. While this one is not its current purchase
release, I've got a page talking about the customizations and things I have
learned about it <a href="./toshiba-toughpad-fz-g1-3">While making it work for me</a>
</p>
</div>
</div>
<div id="outline-container-org12fdfb3" class="outline-2">
<h2 id="org12fdfb3">Kernel SecuriTea</h2>
<div class="outline-text-2" id="text-org12fdfb3">
<p>
I work on a small youtube channel where I talk about kernel security issues
that interest me. I work on quite a lot of these in my work so i'm limited to
what I can cover.
</p>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="date">Created: 2024-09-13 Fri 01:43</p>
</div>
</body>
</html>