-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrss.xml
537 lines (537 loc) · 67.8 KB
/
rss.xml
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
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Joseph Landy]]></title><description><![CDATA[My personal website made using Gatsby and typescript.]]></description><link>https://josephlandy.github.io</link><generator>GatsbyJS</generator><lastBuildDate>Mon, 13 Nov 2023 21:20:33 GMT</lastBuildDate><item><title><![CDATA[BioMotion Lab Animation System]]></title><description><![CDATA[The BioMotion Lab is a psychology lab formerly based at Queen’s, now at York University, that researches how we perceive human motion…]]></description><link>https://josephlandy.github.io/biomotion_mosh/biomotion_mosh/</link><guid isPermaLink="false">https://josephlandy.github.io/biomotion_mosh/biomotion_mosh/</guid><pubDate>Sat, 24 Oct 2020 00:00:00 GMT</pubDate><content:encoded><p>The BioMotion Lab is a psychology lab formerly based at Queen’s, now at York University, that researches how we perceive human motion, developing experiments using motion capture and VR. I did my undergraduate final project with the lab as well as working on a number of projects as an employee.</p>
<p>The BioMotion Lab was in the process of adopting a new motion capture algorithm called MoSh (Motion and Shape) developed at the Max Planck Institute in Tübingen that approximates the body shape of the subject using a parametric model of the human body and is compatible with standard marker based motion capture systems. The algorithm could be used with prior mocap data, and did not require a specific set of marker placements, which was useful for the lab as they had built up a large library of captures. I built a number of systems in Unity as part of this. </p>
<h1>Mocap Pipeline Tool - Vertex Selector</h1>
<p>The first tool I developed was a graphical utility to simplify the pipeline of applying the new algorithm to raw motion capture data. The algorithm required an input file associating the approximate location of motion capture markers with a vertex index on the mesh. I built a program with a GUI for selecting and labelling vertices and generating the file.</p>
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 2000px; "
>
<a
class="gatsby-resp-image-link"
href="/static/6687ec16fffcf13d0ebd2b5b82c49ec5/d5be6/overview_screenshot.png"
style="display: block"
target="_blank"
rel="noopener"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 54.6%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAABYlAAAWJQFJUiTwAAAC3klEQVQozyWS60+aZxjG3/9xydZVtApFDrbIQYvHASo6OwUPSGnaTZzUDdEqwgu8J+DloJ26Lqbb4pqmy/bB2X5r0qRbu+y3R/rhTu4813Nfue7ruqV7O6fcf/yUZO6UhXWDhWSWma/us7xhsPrdEUubjY/v3+gsruvEN0o8zFbIPd4hnd4gn8+jqmqndvcKSFNbLwhtnhPZeolnvog98CXX7Hfwz2YZfXDGUPIHhtaeEEgcElhuEErViW3o5Pd3KRZlZFmmXC6jKApFuYS0VnnFaukvluVLVnZ/ZSiyij+cILTwLXe3f2Pu+3Nmt34h+ugZM5kzIptnJLNt1EqZarWGqqhUKhVarSa6UUPaOv2bzPE7MicfWK+/JjidwD9xl9i6woP6G1L6a5LKBYnSnyTk31kqvCQt/0StanBwUBAqi2iqhq5pVBQN6fl7OP8Hnr2F5x8gs1/CfdtH4fgFT99A++I9R6/g8BJaF//SvvyP2s9/8OPJCQ2z0VFZNarUa3WOjo6Rio1j8vUnxL7Oknh0wGJqh9veOSbjGeLpfaLJTe5ty+T0FhnZEOGJvqxTKOxhmjU0XRH+qaI3qJkqksf/BbeGpnEF41gCK9g8K3hca/QML9HrX8I9EmMgMI3bLyowQ783THQuSS5rkts2Odg/pNlosJc7IRE7Qxq09zB4s4uR4Bi3wg9xTKTon0hiG15hMJxibHQcn6MXn9OKz2XDY7/B/HSEUskQCWti3aYIRnioNpELbSSXrYf+G9fweQMMTqX53BXG5o3zSWSSnugIww4HdoE7+yy4rN3YLJ8SFZhuaGJdlUbDxNANWk2TVruO5LZ14+y9jm/ASTC0gMM7LiyYwhte5M5khAGrBaf1iszC1d+b3Z8xKwg1Te/cXr1eFyoNQdwQPppC4dVAX5cY7GJ0Ykbc4CqBUIzA+DzB4TFcfdc7uEuU2/qRMNoh1Dr3V6tWUSpKJ2VTqP0fS5BzMra8vckAAAAASUVORK5CYII='); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="overview screenshot"
title="overview screenshot"
src="/static/6687ec16fffcf13d0ebd2b5b82c49ec5/f97d7/overview_screenshot.png"
srcset="/static/6687ec16fffcf13d0ebd2b5b82c49ec5/0eb09/overview_screenshot.png 500w,
/static/6687ec16fffcf13d0ebd2b5b82c49ec5/1263b/overview_screenshot.png 1000w,
/static/6687ec16fffcf13d0ebd2b5b82c49ec5/f97d7/overview_screenshot.png 2000w,
/static/6687ec16fffcf13d0ebd2b5b82c49ec5/d5be6/overview_screenshot.png 2242w"
sizes="(max-width: 2000px) 100vw, 2000px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</a>
</span></p>
<p><img src="/6bed666787d2131c24e724d280c4d954/add-vertex.gif"></p>
<p>The functionality for vertex selection in the unity editor is not supported in unity and was somewhat difficult to implement, but it’s something I see being readily useful for building editors for components in other projects. I made the vertex selection functionality entirely separate so that it could be easily reused. </p>
<p><img src="/e06ab2dcd96cdb9f8672aac53abff3c6/select-vertex.gif"></p>
<h1>Animation System</h1>
<p>I then developed systems and an API for utilizing animations from the new system in Unity with a number of features requested for use in experiments such as support for playback at varying frame rates, displaying just the joint positions as unshaded points with the mesh hidden, and recording subject responses to an animation. </p>
<p>I also analysed the new motion capture results against joint positions previous motion capture methods.</p>
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 2000px; "
>
<a
class="gatsby-resp-image-link"
href="/static/36257dd8148afcc1dd64b54bb6b63b70/c2d10/mosh_compare.png"
style="display: block"
target="_blank"
rel="noopener"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 58.00000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAACBUlEQVQoz5WOS28SURiGz2HhrRdo06TGlraY1KTpQk2MRhN1YYhpjKkhMVGTxq2mLFy0irRaWxgQKDDMDDBQYLjVXqhiE1f6B/xXr+c7A8hGrYsn37l874UxxvBPOANnHCfa/dPH2dPnMDd1WZ7v3/RhYNgpzycw5uC8H4f8cJ5x4dH8M4yPubHg9eHalTsYOjVom3L+/w0dDo7rV2/D512C/3kQTx4s4/zo5F+MuNCIMk7XKKY9s3BPX8TklAcT7hmMX5iAZ2YWL268wqW5efgeL+GudxEPbz2Fa2QMTtcIhp2ESzIwOPTbOFXYh9n8hlz9GNnaV5tqG7r1BWr5EMbOERJBC/FwFW31J/LFYxj1NnKdPZqZ0iH8Kxu4t7AIplufoYoHdYc4QJoo7tuUD6Cpe1j3RxBaywphS6KVW9ArRzBEKJnmRRmr9V3wA2w7vwsikWsKGohnu9TlWyhtYnVTQTCa7O1si0mapLmLVOGTYE9CJVjcqCNm1BDTa/ioV200wkLUEHPLRGKtiMh7076Lv5jYIQ1pKVyG5JsygEkhkSEqiHRRK1C0MiJbBWQ2mlCUAmLZmtyJdjSkpQL9AcwWl3soXdIlKJkSUrEG0m8aCLzTsByI4OWqgrdhzQ4nDQV0QiiA2eKOQR/hzqQGm8kCAsLk9Yc0goqO9WgWoWSxV6Df+Bd25PIFBDwJJAAAAABJRU5ErkJggg=='); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="mosh compare"
title="mosh compare"
src="/static/36257dd8148afcc1dd64b54bb6b63b70/f97d7/mosh_compare.png"
srcset="/static/36257dd8148afcc1dd64b54bb6b63b70/0eb09/mosh_compare.png 500w,
/static/36257dd8148afcc1dd64b54bb6b63b70/1263b/mosh_compare.png 1000w,
/static/36257dd8148afcc1dd64b54bb6b63b70/f97d7/mosh_compare.png 2000w,
/static/36257dd8148afcc1dd64b54bb6b63b70/c2d10/mosh_compare.png 2562w"
sizes="(max-width: 2000px) 100vw, 2000px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</a>
</span></p></content:encoded></item><item><title><![CDATA[3D Printed LED Sword]]></title><description><![CDATA[This is a sword I made to take to two large music festivals in the summer of 2019. The cross guard and housing for the electronics were 3d…]]></description><link>https://josephlandy.github.io/LED_sword/sword/</link><guid isPermaLink="false">https://josephlandy.github.io/LED_sword/sword/</guid><pubDate>Thu, 12 Dec 2019 10:00:00 GMT</pubDate><content:encoded><!-- ![](./images/sword_held_cropped.png) -->
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 2000px; "
>
<a
class="gatsby-resp-image-link"
href="/static/9c7d8c03ab02330eaaebd3641e70087a/eaf97/sword_held.png"
style="display: block"
target="_blank"
rel="noopener"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 177.8%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,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'); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="sword held"
title="sword held"
src="/static/9c7d8c03ab02330eaaebd3641e70087a/f97d7/sword_held.png"
srcset="/static/9c7d8c03ab02330eaaebd3641e70087a/0eb09/sword_held.png 500w,
/static/9c7d8c03ab02330eaaebd3641e70087a/1263b/sword_held.png 1000w,
/static/9c7d8c03ab02330eaaebd3641e70087a/f97d7/sword_held.png 2000w,
/static/9c7d8c03ab02330eaaebd3641e70087a/eaf97/sword_held.png 2592w"
sizes="(max-width: 2000px) 100vw, 2000px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</a>
</span></p>
<p>This is a sword I made to take to two large music festivals in the summer of 2019. The cross guard and housing for the electronics were 3d printed and the blade uses an animated LED strip controlled with a small arduino in a polycarbonate tube to diffuse the light. The sword is powered with a lithium ion battery and recharged via USB. I initially intended to use a much higher density LED strip, but I accidentally damaged it and had to substitute a less dense one I had on hand. The result was still impressive, but I’m planning on replacing it with the full density strip soon. </p>
<p>It was a great challenge to build something more physical and I’m quite proud of the result.</p>
<p>The design of the cross guard is based on the Master Sword from the Legend of Zelda games, as I have fond memories of them from childhood and I wanted a design that would be recognisable. All the components were modelled in blender, and 3d printed at the SparQ maker space at Queen’s University. The Arduino controlling the sword was programmed in C++ using the FastLED library. </p>
<p>By far the most difficult part of the project was designing the housing for the electronics. A major requirement was that the entire thing had to be essentially indestructible since I wanted to be able to let people play with it and swing it around without worrying. It also had to be in as small a form factor as possible, and I needed to be able to open and close it to access and install the electronic components. The duct tape you can see in the picture is not a repair job, it was actually part of the design, I intended quite early on to use it to reinforce the joints. I didn’t trust any mechanism I could easily 3d print to securely hold the casing in it’s closed position by itself and survive the rigours of camping. I’m quite proud that the project survived two multi-day camping music festivals largely unscathed. </p>
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 2000px; "
>
<a
class="gatsby-resp-image-link"
href="/static/4d13a2b9fb5b584993417810a428f30f/d5499/electronics_open.jpg"
style="display: block"
target="_blank"
rel="noopener"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 68.60000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAOABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAwAE/8QAFgEBAQEAAAAAAAAAAAAAAAAAAgAB/9oADAMBAAIQAxAAAAFcoOw9osv/xAAaEAACAwEBAAAAAAAAAAAAAAABAgAREgMT/9oACAEBAAEFAvVYz266yq6I4C5//8QAFxEAAwEAAAAAAAAAAAAAAAAAABIxYf/aAAgBAwEBPwG0TT//xAAYEQADAQEAAAAAAAAAAAAAAAAAASESYf/aAAgBAgEBPwGKo3w//8QAGxAAAQQDAAAAAAAAAAAAAAAAAAEQETEhMnH/2gAIAQEABj8CLXhguDZv/8QAGhABAAMAAwAAAAAAAAAAAAAAAQARITFRgf/aAAgBAQABPyFJRdgpxviKrQTswKwhi2gUT//aAAwDAQACAAMAAAAQED//xAAYEQEBAAMAAAAAAAAAAAAAAAABABFxkf/aAAgBAwEBPxBXIVu7f//EABgRAAIDAAAAAAAAAAAAAAAAAAABEXGR/9oACAECAQE/EEoEFWH/xAAZEAEAAwEBAAAAAAAAAAAAAAABABEhkUH/2gAIAQEAAT8QEGDw3IYtSZNHYYSEwKhnayFx1YYVRvQgUE//2Q=='); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="electronics open"
title="electronics open"
src="/static/4d13a2b9fb5b584993417810a428f30f/451a4/electronics_open.jpg"
srcset="/static/4d13a2b9fb5b584993417810a428f30f/953fe/electronics_open.jpg 500w,
/static/4d13a2b9fb5b584993417810a428f30f/0a251/electronics_open.jpg 1000w,
/static/4d13a2b9fb5b584993417810a428f30f/451a4/electronics_open.jpg 2000w,
/static/4d13a2b9fb5b584993417810a428f30f/c7e40/electronics_open.jpg 3000w,
/static/4d13a2b9fb5b584993417810a428f30f/d5499/electronics_open.jpg 3052w"
sizes="(max-width: 2000px) 100vw, 2000px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</a>
</span></p>
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 2000px; "
>
<a
class="gatsby-resp-image-link"
href="/static/52ce5d124b3a9c1200072cf9d144f332/656ec/housing_closed.jpg"
style="display: block"
target="_blank"
rel="noopener"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 139.20000000000002%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAcABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIFAwT/xAAVAQEBAAAAAAAAAAAAAAAAAAACA//aAAwDAQACEAMQAAABwWjzI8hUA2l1sWEHJv8A/8QAGhAAAgMBAQAAAAAAAAAAAAAAAQIAAxEQE//aAAgBAQABBQJG0NWGsNFmtiisj12MNjgrZwgc/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQIQESL/2gAIAQMBAT8BXoKY67X/xAAZEQEAAgMAAAAAAAAAAAAAAAABABECECL/2gAIAQIBAT8BDlZcMqK1/8QAHhAAAgIABwAAAAAAAAAAAAAAAAIBERASICExUXH/2gAIAQEABj8CpkzFQptVenA2MdTp/8QAHBAAAgIDAQEAAAAAAAAAAAAAAREAIRAxQWFx/9oACAEBAAE/IaEhyojcIOqjSjiCbZeQK3YCxS+RYBG3ACsNax//2gAMAwEAAgADAAAAEMvNAP/EABcRAQEBAQAAAAAAAAAAAAAAAAARASH/2gAIAQMBAT8Q5BGIV//EABkRAAEFAAAAAAAAAAAAAAAAAAABEBEhgf/aAAgBAgEBPxC4Y1UEH//EAB0QAQEBAQEAAgMAAAAAAAAAAAERACExQXFRYYH/2gAIAQEAAT8QAwb13P7jg8HbX6e4MNHBEM7aD4OtAsC+9XJ/GA2vVg+5yOcDrxj9Te04XAaAVr96b//Z'); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="housing closed"
title="housing closed"
src="/static/52ce5d124b3a9c1200072cf9d144f332/451a4/housing_closed.jpg"
srcset="/static/52ce5d124b3a9c1200072cf9d144f332/953fe/housing_closed.jpg 500w,
/static/52ce5d124b3a9c1200072cf9d144f332/0a251/housing_closed.jpg 1000w,
/static/52ce5d124b3a9c1200072cf9d144f332/451a4/housing_closed.jpg 2000w,
/static/52ce5d124b3a9c1200072cf9d144f332/656ec/housing_closed.jpg 2395w"
sizes="(max-width: 2000px) 100vw, 2000px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</a>
</span></p></content:encoded></item><item><title><![CDATA[Hack4Heritage VR project]]></title><description><![CDATA[In October 2019 I participated in Hack for Heritage, an AR/VR hackathon in Kingston Ontario themed around projects that would preserve…]]></description><link>https://josephlandy.github.io/hack4heritage/hack4heritage/</link><guid isPermaLink="false">https://josephlandy.github.io/hack4heritage/hack4heritage/</guid><pubDate>Mon, 28 Oct 2019 00:00:00 GMT</pubDate><content:encoded><p>In October 2019 I participated in <a href="https://www.hack4heritage.com/">Hack for Heritage</a>, an AR/VR hackathon in Kingston Ontario themed around projects that would preserve, reflect or comment on cultural heritage. My team’s project was a program for recording and experiencing stories around a virtual campfire. The idea was that the storyteller could animate props that symbolicly represent elements of the story. </p></content:encoded></item><item><title><![CDATA[Biomotion Motion Capture Marker Tool]]></title><description><![CDATA[The BioMotion I built this tool for the BioMotion Lab in 2018 to generate input files for a new motion capture method they were adopting…]]></description><link>https://josephlandy.github.io/Biomotion_selector/biomotion_pipeline_tool/</link><guid isPermaLink="false">https://josephlandy.github.io/Biomotion_selector/biomotion_pipeline_tool/</guid><pubDate>Thu, 24 Oct 2019 00:00:00 GMT</pubDate><content:encoded><p>The BioMotion </p>
<p>I built this tool for the BioMotion Lab in 2018 to generate input files for a new motion capture method they were adopting. Motion capture markers had to be labelled and mapped to a vertex index on a mesh. It would have been somewhat simpler to build the tool using a 3d program such as Blender, but since everyone was using Unity at the time, it made more sense to build it in Unity. </p>
<p><a href="/biomotion_mosh/biomotion_mosh">Biomotion MoSh Animation</a></p></content:encoded></item><item><title><![CDATA[Github Source]]></title><description><![CDATA[A few things you should know Find the source of this blog on GitHub - scttcper/gatsby-casper Getting Started Use this repo to start your own…]]></description><link>https://josephlandy.github.io/github-link/</link><guid isPermaLink="false">https://josephlandy.github.io/github-link/</guid><pubDate>Sun, 10 Mar 2019 10:00:00 GMT</pubDate><content:encoded><h2><strong>A few things you should know</strong></h2>
<p>Find the source of this blog on GitHub - <a href="https://github.com/scttcper/gatsby-casper">scttcper/gatsby-casper</a></p>
<h3>Getting Started</h3>
<p>Use this repo to start your own blog with the same theme.</p>
<p><strong>Clone this repo.</strong></p>
<div class="gatsby-highlight" data-language="bash"><pre class="language-bash"><code class="language-bash"><span class="token function">git</span> clone https://github.com/scttcper/gatsby-casper.git --depth<span class="token operator">=</span><span class="token number">1</span></code></pre></div>
<p><strong>Remove .git folder and setup a new one</strong></p>
<div class="gatsby-highlight" data-language="bash"><pre class="language-bash"><code class="language-bash"><span class="token function">rm</span> -rf .git <span class="token operator">&amp;&amp;</span> <span class="token function">git</span> init</code></pre></div>
<p>Now push to whatever repo you want!</p></content:encoded></item><item><title><![CDATA[A Full and Comprehensive Style Test]]></title><description><![CDATA[Below is just about everything you’ll need to style in the theme. Check the source code to see the many embedded elements within paragraphs…]]></description><link>https://josephlandy.github.io/a-full-style-test/</link><guid isPermaLink="false">https://josephlandy.github.io/a-full-style-test/</guid><pubDate>Sun, 30 Sep 2018 07:03:47 GMT</pubDate><content:encoded><p>Below is just about everything you’ll need to style in the theme. Check the source code to see the many embedded elements within paragraphs.</p>
<hr>
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
<hr>
<p>Lorem ipsum dolor sit amet, <a href="">test link</a> adipiscing elit. <strong>This is strong.</strong> Nullam dignissim convallis est. Quisque aliquam. <em>This is emphasized.</em> Donec faucibus. Nunc iaculis suscipit dui. 5<sup>3</sup> = 125. Water is H<sub>2</sub>O. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. <cite>The New York Times</cite> (That’s a citation). <span style="text-decoration:underline;">Underline</span>. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.</p>
<p>HTML and CSS are our tools. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. To copy a file type <code class="language-text">COPY filename</code>. <del>Dinner’s at 5:00.</del> <span style="text-decoration:underline;">Let’s make that 7</span>. This <del>text</del> has been struck.</p>
<hr>
<h2>Media</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore.</p>
<h3>Big Image</h3>
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1080px; "
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 66.39999999999999%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIDBAX/xAAWAQEBAQAAAAAAAAAAAAAAAAACAAH/2gAMAwEAAhADEAAAAdNuKx1yIr//xAAbEAADAAIDAAAAAAAAAAAAAAAAAQMCEQQSE//aAAgBAQABBQKVMVXkV6r1yENm9H//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAVEQEBAAAAAAAAAAAAAAAAAAABEP/aAAgBAgEBPwFn/8QAGhAAAgIDAAAAAAAAAAAAAAAAAAESMRARIv/aAAgBAQAGPwJ9KOhRLKKx/8QAGhABAQADAQEAAAAAAAAAAAAAAQARITFBUf/aAAgBAQABPyHgEOGIT27yS7UfFl8QuL//2gAMAwEAAgADAAAAEC/P/8QAFxEBAAMAAAAAAAAAAAAAAAAAAAERIf/aAAgBAwEBPxCKY//EABYRAQEBAAAAAAAAAAAAAAAAAAEAEf/aAAgBAgEBPxBO2t//xAAcEAACAgIDAAAAAAAAAAAAAAABEQAhMXFBUfH/2gAIAQEAAT8QcZQGAe5gVLLGBxGy2wIxZF3AkijZgRGhqf/Z'); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="Test Image"
title="Test Image"
src="/static/8bafcea43f0bc141b01ef5b43dd2003b/b37e7/testimg1.jpg"
srcset="/static/8bafcea43f0bc141b01ef5b43dd2003b/953fe/testimg1.jpg 500w,
/static/8bafcea43f0bc141b01ef5b43dd2003b/0a251/testimg1.jpg 1000w,
/static/8bafcea43f0bc141b01ef5b43dd2003b/b37e7/testimg1.jpg 1080w"
sizes="(max-width: 1080px) 100vw, 1080px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</span></p>
<p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
<h3>Small Image</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore.</p>
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 300px; "
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 56.333333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAQL/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAABhZNsvAoT/8QAGRABAAMBAQAAAAAAAAAAAAAAAgESMQAR/9oACAEBAAEFAhNSXdOfUMWd/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGRAAAgMBAAAAAAAAAAAAAAAAACEBAhEg/9oACAEBAAY/AosNI3j/xAAaEAEAAgMBAAAAAAAAAAAAAAABACERMUFh/9oACAEBAAE/IaD1TGXEBk+kJh2PXkSUYz//2gAMAwEAAgADAAAAEGc//8QAFREBAQAAAAAAAAAAAAAAAAAAEEH/2gAIAQMBAT8Qh//EABYRAQEBAAAAAAAAAAAAAAAAAAARQf/aAAgBAgEBPxDUf//EABkQAQADAQEAAAAAAAAAAAAAAAEAESExQf/aAAgBAQABPxDqCqF9HjAJqYZ4bcegoXkRv1KJEYlGBeE6Z//Z'); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="Small Test Image"
title="Small Test Image"
src="/static/b629d579b1c63df6750fc11d47141796/0cdb7/testimg2.jpg"
srcset="/static/b629d579b1c63df6750fc11d47141796/0cdb7/testimg2.jpg 300w"
sizes="(max-width: 300px) 100vw, 300px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</span></p>
<p>Labore et dolore.</p>
<hr>
<h2>List Types</h2>
<h3>Definition List</h3>
<p>Definition List Title
: This is a definition list division.</p>
<p>Definition
: An exact statement or description of the nature, scope, or meaning of something: <em>our definition of what constitutes poetry.</em></p>
<h3>Ordered List</h3>
<ol>
<li>List Item 1</li>
<li>
<p>List Item 2</p>
<ol>
<li>Nested list item A</li>
<li>Nested list item B</li>
</ol>
</li>
<li>List Item 3</li>
</ol>
<h3>Unordered List</h3>
<ul>
<li>List Item 1</li>
<li>
<p>List Item 2</p>
<ul>
<li>Nested list item A</li>
<li>Nested list item B</li>
</ul>
</li>
<li>List Item 3</li>
</ul>
<hr>
<h2>Table</h2>
<table>
<thead>
<tr>
<th align="center">Table Header 1</th>
<th align="center">Table Header 2</th>
<th align="center">Table Header 3</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">Division 1</td>
<td align="center">Division 2</td>
<td align="center">Division 3</td>
</tr>
<tr>
<td align="center">Division 1</td>
<td align="center">Division 2</td>
<td align="center">Division 3</td>
</tr>
<tr>
<td align="center">Division 1</td>
<td align="center">Division 2</td>
<td align="center">Division 3</td>
</tr>
</tbody>
</table>
<hr>
<h2>Preformatted Text</h2>
<p>Typographically, preformatted text is not the same thing as code. Sometimes, a faithful execution of the text requires preformatted text that may not have anything to do with code. Most browsers use Courier and that’s a good default — with one slight adjustment, Courier 10 Pitch over regular Courier for Linux users.</p>
<h3>Code</h3>
<p>Code can be presented inline, like <code class="language-text">&lt;?php bloginfo(&#39;stylesheet_url&#39;); ?&gt;</code>, or using <a href="http://jekyllrb.com/docs/templates/#code-snippet-highlighting">jekyll’s highlight
filter</a> to
highlight a block of code. Because we have more specific typographic needs for code, we’ll specify Consolas and Monaco ahead of the browser-defined monospace font.</p>
<div class="gatsby-highlight" data-language="css"><pre class="language-css"><code class="language-css"><span class="token selector">#container</span> <span class="token punctuation">{</span>
<span class="token property">float</span><span class="token punctuation">:</span> left<span class="token punctuation">;</span>
<span class="token property">margin</span><span class="token punctuation">:</span> 0 -240px 0 0<span class="token punctuation">;</span>
<span class="token property">width</span><span class="token punctuation">:</span> 100%<span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre></div>
<hr>
<h2>Blockquotes</h2>
<p>Let’s keep it simple. Italics are good to help set it off from the body text. Be sure to style the citation.</p>
<blockquote>
<p>Good afternoon, gentlemen. I am a HAL 9000 computer. I became operational at the H.A.L. plant in Urbana, Illinois on the 12th of January 1992. My instructor was Mr. Langley, and he taught me to sing a song. If you’d like to hear it I can sing it for you. — <a href="http://en.wikipedia.org/wiki/HAL_9000">HAL 9000</a></p>
</blockquote>
<p>And here’s a bit of trailing text.</p>
<hr>
<h2>Text-level semantics</h2>
<p>HTML elements</p>
<p>The <a href="#">a element</a> example <br>
The <abbr>abbr element</abbr> and <abbr title="Title text">abbr element with title</abbr> examples <br>
The <b>b element</b> example <br>
The <cite>cite element</cite> example <br>
The <code>code element</code> example <br>
The <del>del element</del> example <br>
The <dfn>dfn element</dfn> and <dfn title="Title text">dfn element with title</dfn> examples <br>
The <em>em element</em> example <br>
The <i>i element</i> example <br>
The <ins>ins element</ins> example <br>
The <kbd>kbd element</kbd> example <br>
The <mark>mark element</mark> example <br>
The <q>q element <q>inside</q> a q element</q> example <br>
The <s>s element</s> example <br>
The <samp>samp element</samp> example <br>
The <small>small element</small> example <br>
The <span>span element</span> example <br>
The <strong>strong element</strong> example <br>
The <sub>sub element</sub> example <br>
The <sup>sup element</sup> example <br>
The <var>var element</var> example <br>
The <u>u element</u> example</p>
* * *
<h2>Embeds</h2>
<p>Sometimes all you want to do is embed a little love from another location and set your post alive.</p>
<h3>Video</h3>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<p>Culpa qui officia deserunt mollit anim id est laborum.</p>
<div class="gatsby-resp-iframe-wrapper" style="padding-bottom: 56.166666666666664%; position: relative; height: 0; overflow: hidden; margin-bottom: 1rem" > <iframe src="//player.vimeo.com/video/103224792" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style=" position: absolute; top: 0; left: 0; width: 100%; height: 100%; "></iframe> </div>
<h3>Slides</h3>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<script async class="speakerdeck-embed" data-id="585245d01ee1013238737e42b879906f" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>
<p>Culpa qui officia deserunt mollit anim id est laborum.</p>
<h3>Audio</h3>
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<iframe width="100%" height="450" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/52891122&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;visual=true"></iframe>
<p>Culpa qui officia deserunt mollit anim id est laborum.</p>
<h3>Code</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.</p>
<p data-height="268" data-theme-id="0" data-slug-hash="bcqhe" data-default-tab="result" data-user="rglazebrook" class='codepen'>See the Pen <a href='http://codepen.io/rglazebrook/pen/bcqhe/'>Simple Rotating Spinner</a> by Rob Glazebrook (<a href='http://codepen.io/rglazebrook'>@rglazebrook</a>) on <a href='http://codepen.io'>CodePen</a>.</p>
<script async src="//assets.codepen.io/assets/embed/ei.js"></script>
<p>Isn’t it beautiful.</p>
<p>_[HTML]: Hyper Text Markup Language
_[CSS]: Cascading Style Sheets</p></content:encoded></item><item><title><![CDATA[The Purpose of Education]]></title><description><![CDATA[As I engage in the so-called “bull sessions” around and about the school, I too often find that most college men have a misconception of the…]]></description><link>https://josephlandy.github.io/purpose-of-education/</link><guid isPermaLink="false">https://josephlandy.github.io/purpose-of-education/</guid><pubDate>Mon, 20 Aug 2012 15:11:55 GMT</pubDate><content:encoded><p>As I engage in the so-called “bull sessions” around and about the school, I too often find that most college men have a misconception of the purpose of education. Most of the “brethren” think that education should equip them with the proper instruments of exploitation so that they can forever trample over the masses. Still others think that education should furnish them with noble ends rather than means to an end.</p>
<p>It seems to me that education has a two-fold function to perform in the life of man and in society: the one is utility and the other is culture. Education must enable a man to become more efficient, to achieve with increasing facility the ligitimate goals of his life.</p>
<p>Education must also train one for quick, resolute and effective thinking. To think incisively and to think for one’s self is very difficult. We are prone to let our mental life become invaded by legions of half truths, prejudices, and propaganda. At this point, I often wonder whether or not education is fulfilling its purpose. A great majority of the so-called educated people do not think logically and scientifically. Even the press, the classroom, the platform, and the pulpit in many instances do not give us objective and unbiased truths. To save man from the morass of propaganda, in my opinion, is one of the chief aims of education. Education must enable one to sift and weigh evidence, to discern the true from the false, the real from the unreal, and the facts from the fiction.</p>
<p>The function of education, therefore, is to teach one to think intensively and to think critically. But education which stops with efficiency may prove the greatest menace to society. The most dangerous criminal may be the man gifted with reason, but with no morals.</p>
<p>The late Eugene Talmadge, in my opinion, possessed one of the better minds of Georgia, or even America. Moreover, he wore the Phi Beta Kappa key. By all measuring rods, Mr. Talmadge could think critically and intensively; yet he contends that I am an inferior being. Are those the types of men we call educated?</p>
<p>We must remember that intelligence is not enough. Intelligence plus character—that is the goal of true education. The complete education gives one not only power of concentration, but worthy objectives upon which to concentrate. The broad education will, therefore, transmit to one not only the accumulated knowledge of the race but also the accumulated experience of social living.</p>
<p>If we are not careful, our colleges will produce a group of close-minded, unscientific, illogical propagandists, consumed with immoral acts. Be careful, “brethren!” Be careful, teachers!</p></content:encoded></item><item><title><![CDATA[Unity Animation Tool]]></title><description><![CDATA[Unity Animation Editor This project implements simplified keyframe animation on a timeline to edit animations in Unity’s .anim format at…]]></description><link>https://josephlandy.github.io/unity_animator/unity_animator/</link><guid isPermaLink="false">https://josephlandy.github.io/unity_animator/unity_animator/</guid><pubDate>Thu, 12 Dec 1929 10:00:00 GMT</pubDate><content:encoded><h1>Unity Animation Editor</h1>
<p>This project implements simplified keyframe animation on a timeline to edit animations in Unity’s .anim format at runtime.
I built it as a first step towards a system for posing and animating life size 3d characters in VR. I find VR development somewhat more tiring, so I’ve learned to avoid involving VR as much as possible before putting on the headset.</p>
<p>The simple GUI allows playing back animations on a timeline.
<img src="/2993d0943251054281e9cb30bf7a8247/playback.gif" alt="Playback"></p>
<p>And inserting keyframes (marked in red). </p>
<p><img src="/14f6d36613645fd33516eb76f4606270/insert_keyframe.gif" alt="Keyframe"></p>
<p>I considered it important to support animating hierarchies, since that is critical for animating characters. </p>
<p><img src="/ee4531a9f604ac1b3960b6a6ddef24f5/hierarchy.gif" alt="Hierarchy"></p></content:encoded></item><item><title><![CDATA[Todolist React App]]></title><description><![CDATA[This is the first project I made to learn ReactJS. It is fairly standard, but I added features to select and reorder items in the todo list…]]></description><link>https://josephlandy.github.io/todolist/todolist/</link><guid isPermaLink="false">https://josephlandy.github.io/todolist/todolist/</guid><pubDate>Wed, 12 Dec 1928 10:00:00 GMT</pubDate><content:encoded><p>This is the first project I made to learn ReactJS. It is fairly standard, but I added features to select and reorder items in the todo list with drag and drop.</p>
<p><img src="/3c690c15422f3d2ae6466bf900951602/reorder.gif"></p></content:encoded></item><item><title><![CDATA[Sleep Tracker Web App]]></title><description><![CDATA[I built this application to record data about my sleep and track how different factors affect it, when I didn’t find an existing option I…]]></description><link>https://josephlandy.github.io/sleeptracker/sleeptracker/</link><guid isPermaLink="false">https://josephlandy.github.io/sleeptracker/sleeptracker/</guid><pubDate>Mon, 12 Dec 1927 10:00:00 GMT</pubDate><content:encoded><p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 2000px; "
>
<a
class="gatsby-resp-image-link"
href="/static/22e392d38b49bfb45c1120e6d7f291e8/20759/week-display-cropped.png"
style="display: block"
target="_blank"
rel="noopener"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 43.99999999999999%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAABYlAAAWJQFJUiTwAAABXElEQVQoz61QSU7DQBD0lU3imGMOyQMQKMTbjDPjeOx4i31AIouEQMoX+FuI31Z0jw2K4IY4lLqmprt6cU7bK3xsLnF8vsBpe33GB5207m2E7nWE4/4W3f7G6l/gXI7drq91slUOhheEyIsSJs3wOHdRrxvLPd9H27aUsyIeoKprqDhGKCTKqoaMFhZVvYaQERlmWV9AUQgBpZcIAiqsKjRNgzRNUZalzYnJSEhJOTEkRf5nKMWmCtFCwTFJQsUliYqSQpSZhE9T5XmOoigQRdHA875hFMIsJcJQ2EY8CPN0KazusBFPwesk2sf74Y4MPSTUyJjEmhtj6L2kU9Dk6Qy79h5zVyBLDbRWeJgFOGwe8PI0g8MFWmvqEg4rx9aEOes/uaQ76SGH1+aBmPO6dmV+9GJgTZl7rtubM/e870LX9X7pfBLmHBnOZDLBdDoFx7/wc7DujMdj/Cc+Aa3BOHWiFFrHAAAAAElFTkSuQmCC'); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="week display cropped"
title="week display cropped"
src="/static/22e392d38b49bfb45c1120e6d7f291e8/f97d7/week-display-cropped.png"
srcset="/static/22e392d38b49bfb45c1120e6d7f291e8/0eb09/week-display-cropped.png 500w,
/static/22e392d38b49bfb45c1120e6d7f291e8/1263b/week-display-cropped.png 1000w,
/static/22e392d38b49bfb45c1120e6d7f291e8/f97d7/week-display-cropped.png 2000w,
/static/22e392d38b49bfb45c1120e6d7f291e8/49142/week-display-cropped.png 3000w,
/static/22e392d38b49bfb45c1120e6d7f291e8/20759/week-display-cropped.png 3360w"
sizes="(max-width: 2000px) 100vw, 2000px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</a>
</span></p>
<p>I built this application to record data about my sleep and track how different factors affect it, when I didn’t find an existing option I was satisfied with. I’ve struggled a lot with sleep issues since adolescence, and I’ve found that data collection is helpful for evaluating the effectiveness of different management strategies.</p>
<p>It was important to me to define the variables and and access and analyze the raw data myself, rather than trying to fit myself into someone else’s system.</p>
<p>The front end was written in Typescript using React and the Material-UI library, while the backend was also developed with Typescript and stores collected data in MongoDB. I considered using an SQL database, but ultimately decided that MongoDB had a lot of advantages, principally its commonalities with JavaScript.</p>
<p>In the course of this project, I learned a lot about some of the tooling available for developing web apps. In particular, I found <a href="https://storybook.js.org/">Storybook</a>, an environment for developing the individual components of a UI in isolation invaluable as the application got past a certain level of complexity.</p>
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 2000px; "
>
<a
class="gatsby-resp-image-link"
href="/static/c974bd6b98b1dd75fa71228f76929777/ad744/edit-night-record-cropped.png"
style="display: block"
target="_blank"
rel="noopener"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 75.8%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAABYlAAAWJQFJUiTwAAACHklEQVQ4y41Sy47aQBB0ohyiHOACROJhG2Ok3exKeYOT8LA9M35hAiiHzW8sfEj2jyvdY4/DkpWSQ6lb3dPl6mpb9x8sMI6fnuH+o6Vx/PwcJ8bsBU7BS5y+vqrAOdeo9+g95UeOBOvGt/H2ysNGrfGjTLAvJJL1F6hVQKBIuaQoloGOXJPUy6Jv2GUx9rlEFi9w7Q3hj17DmvhTXF2/Qb4pUW53kEmKWEhEBBPTrKDedyjqRbGoelJBqkT3VJrBIx7HHcMajYbwxmMc9nvsdjvEUQQlJaQUhCpy7+fdHcqyhBBx3SfSOEaWZSg3G0wmHlzXhWXbNsaeD1E/YhRFgSRJaFho8NB2u9XR1AyUUhQlPOLQhMMReXjjIFER8rx4RBaRWgNDwKrO62yBFCvicGE7TDi08f7WpjVCUqeaIQarjaJYw9SY5Jw0pJ4iwne3NaFZOQwjrc4QcizyjL5OeVyR5HmuV2QizrmWpinW67Be2akIfd/Xj9h0VmVIi0whEXQkURFuyHy2g3NzIK7x7HRae9jv9+E4TnOxc6/YbKn+2MDDrMjkXGelYRhqssFgAKvVaqHb7ZLsdeOT8YjVPDz80hfmvvHv8jCr1Qq9Xg/M1RAa3y7NPxwOzcX/unBde5KQ1+WjmN+G1+CB5XLZ5Jcw9ScJWQX7w2T/C37PQviQDWG73Uan08FsNkMQBJjP5/+EebdYLLQ6jiyKCX8DpUH77GI6fsMAAAAASUVORK5CYII='); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="edit night record cropped"
title="edit night record cropped"
src="/static/c974bd6b98b1dd75fa71228f76929777/f97d7/edit-night-record-cropped.png"
srcset="/static/c974bd6b98b1dd75fa71228f76929777/0eb09/edit-night-record-cropped.png 500w,
/static/c974bd6b98b1dd75fa71228f76929777/1263b/edit-night-record-cropped.png 1000w,
/static/c974bd6b98b1dd75fa71228f76929777/f97d7/edit-night-record-cropped.png 2000w,
/static/c974bd6b98b1dd75fa71228f76929777/ad744/edit-night-record-cropped.png 2376w"
sizes="(max-width: 2000px) 100vw, 2000px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</a>
</span></p></content:encoded></item><item><title><![CDATA[Perspective Warp]]></title><description><![CDATA[Try it out for yourself! I encountered a function while learning openCV to remove perspective distortion from a feature viewed at an angle…]]></description><link>https://josephlandy.github.io/perspective_warper/perspective_warp/</link><guid isPermaLink="false">https://josephlandy.github.io/perspective_warper/perspective_warp/</guid><pubDate>Mon, 12 Dec 1927 10:00:00 GMT</pubDate><content:encoded><p><a href="https://josephlandy.github.io/perspectivewarp">Try it out for yourself!</a></p>
<p>I encountered a function while learning openCV to remove perspective distortion from a feature viewed at an angle in an image and decided to try implementing it myself in JavaScript. It was a quick project that helped me explore different math libraries in JavaScript, and keep my linear algebra skills sharp. I used bilinear interpolation to improve the image quality of the output.</p>
<p>The somewhat extreme, but also surprisingly consistent perspectives applied to photos of buildings in particular are quite interesting and fun to play around with. The results remind me somewhat of Dalí and surrealism. </p></content:encoded></item><item><title><![CDATA[Web Audio Hackathon Project]]></title><description><![CDATA[QHacks 2019 Web Audio Project My team and I worked on this project for QHacks, Queen’s University’s annual hackathon in 2019.]]></description><link>https://josephlandy.github.io/QHacks_2019_webaudio/qhacks/</link><guid isPermaLink="false">https://josephlandy.github.io/QHacks_2019_webaudio/qhacks/</guid><pubDate>Sun, 12 Dec 1926 10:00:00 GMT</pubDate><content:encoded><h1>QHacks 2019 Web Audio Project</h1>
<p>My team and I worked on this project for <a href="https://qhacks.io/">QHacks</a>, Queen’s University’s annual hackathon in 2019. </p></content:encoded></item><item><title><![CDATA[Building this Website]]></title><description><![CDATA[Personal Website I built this website using Gatsby, a platform for developing static websites using React components. I hadn’t used Gatsby…]]></description><link>https://josephlandy.github.io/personal_website/this-website/</link><guid isPermaLink="false">https://josephlandy.github.io/personal_website/this-website/</guid><pubDate>Sat, 12 Dec 1925 10:00:00 GMT</pubDate><content:encoded><h1>Personal Website</h1>
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1664px; "
>
<a
class="gatsby-resp-image-link"
href="/static/70ba8ed943af285c6f64eddb17ce8c71/7bd25/website_code_screenshot.png"
style="display: block"
target="_blank"
rel="noopener"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 82.60000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAABYlAAAWJQFJUiTwAAAB0UlEQVQ4y51U2W6jQBDkM2IBczIXYGCwcQI+diOt9v//qLbBjh2tlNjOQ8PAaIqqrmqSuqlQVh7OexSFAmc5hJDgnCPPczDGnqrE12scTjsc3w8YDnus+x7auGXzR4DOW2w2FVxVQ7oSsrAQSp8Bs+wK/Ch40jQDdsMW/bZBG1uUcYtqGGHrBlwIsCdZJsZYOGfhfQHvFJw1MMTUlg10Ya4sH21BIn0Ns+7g4w6m7sAJfEVGpU2JPLinWSZhd0R3+oP28I5m+gUz7cH6CFEFqKK4svro471K1q97OOrXLE0oBSkoOhmBzFJ/4vJswMwuxAHNeIR2/syKcvgs2DmHbQ/b9BSZClKbS1y+kZXdkcwlIYscXHGSzMiE+U6lBbi8rKmua31797nm/QXQBwsb9AK2ANLGDM4X8MuHCPzjoCzE7fkzuL4AujYi78gUCrX0AXlK5nC2yBeKcsg4sjS9Sc2+kJ2dDUyYKfByegOnaWnHE+Lvv4jTEYF6W3YtQlVCUfjnHwZj37u+MBSzm5Q7Nr1ClzUZFMnpQHIlrFWYW1IEMkyqxyZF0EXEDnocl0PpaoUsS5fDGclIqQWL5P8C/vXo1RVW0xYv4wZ56e9KusfwHwCB2SbOCSE+AAAAAElFTkSuQmCC'); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="Code screenshot"
title="Code screenshot"
src="/static/70ba8ed943af285c6f64eddb17ce8c71/7bd25/website_code_screenshot.png"
srcset="/static/70ba8ed943af285c6f64eddb17ce8c71/0eb09/website_code_screenshot.png 500w,
/static/70ba8ed943af285c6f64eddb17ce8c71/1263b/website_code_screenshot.png 1000w,
/static/70ba8ed943af285c6f64eddb17ce8c71/7bd25/website_code_screenshot.png 1664w"
sizes="(max-width: 1664px) 100vw, 1664px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</a>
</span></p>
<p>I built this website using Gatsby, a platform for developing static websites using React components. I hadn’t used Gatsby before and essentially chose it at random, but I quickly came to appreciate it. It is an absolute joy to work with and I would very happily use it in future.</p>
<p>I gained some experience in a few areas including CSS grid layout, and GraphQl.</p>
<p>Graphic design has never been my strong point, and I initially intended to find an attractive template and adapt it as little as possible with my own content. After spending time searching I didn’t feel satisfied entirely satisfied with any of the templates I found and ended up building my website largely from scratch, taking design cues from a variety of websites online.</p></content:encoded></item><item><title><![CDATA[langsquid.com]]></title><description><![CDATA[Langsquid My old friend Fraser Fuite is an enthusiastic innovator in language education. After returning from a year teaching English in…]]></description><link>https://josephlandy.github.io/langsquid/langsquid/</link><guid isPermaLink="false">https://josephlandy.github.io/langsquid/langsquid/</guid><pubDate>Wed, 12 Dec 1923 10:00:00 GMT</pubDate><content:encoded><h1>Langsquid</h1>
<p>My old friend Fraser Fuite is an enthusiastic innovator in language education. After returning from a year teaching English in Taiwan, he came back with many ideas to improve the experience of learning languages for both children and adults. Starting in December 2019, I did some work with him on a website (langsquid.com) for his idea to use engaging, crowd sourced stories aimed at older children and adults to teach chinese characters and vocabulary. Repeated words would be progressively replaced with their translations and the user could mouse over the new word for its translation, somewhat like DuoLingo. I recommended using WordPress to try and develop simple prototypes to test out and develop the concept itself before looking into a more complicated tech solution that would allow us to integrate more features. </p>
<p>Although the project stalled, and hasn’t really been developed extensively yet, I got some experience working with Wordpress, using PHP for the first time to develop simple plugins. I also administered the website, handling setup, hosting and configuration.</p></content:encoded></item><item><title><![CDATA[Assorted 3d Renders]]></title><description><![CDATA[Here are a few 3d renders I’ve made, largely going back quite a long time. I first became interested in 3d graphics in high school first…]]></description><link>https://josephlandy.github.io/3d_renders/3d_renders/</link><guid isPermaLink="false">https://josephlandy.github.io/3d_renders/3d_renders/</guid><pubDate>Tue, 12 Dec 1922 10:00:00 GMT</pubDate><content:encoded><p>Here are a few 3d renders I’ve made, largely going back quite a long time. I first became interested in 3d graphics in high school first using Blender and later Autodesk Maya. This interest eventually led to my studying areas of programming more generally which somewhat overtook it. It’s something I still have a great deal of interest in, however and I would love to do more in future. A lot of these projects I’ve largely forgotten about over the years often unfinished. Sometimes I find them in obscure corners of old hard drives and end up rather impressed by the WIP renders. I’ll hopefully add some more soon next time I dig through old projects. </p>
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1920px; "
>
<a
class="gatsby-resp-image-link"
href="/static/87a03d212013ca169b59c8ccd5a8e212/aaf92/snowrender.jpg"
style="display: block"
target="_blank"
rel="noopener"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 56.199999999999996%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAQFAQL/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAABn6x3E8aK/8QAGRAAAwADAAAAAAAAAAAAAAAAAQIQABEi/9oACAEBAAEFAs1E5ZiZ/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFREBAQAAAAAAAAAAAAAAAAAAEBH/2gAIAQIBAT8Bp//EABUQAQEAAAAAAAAAAAAAAAAAABAh/9oACAEBAAY/AmP/xAAYEAEBAQEBAAAAAAAAAAAAAAABABEhQf/aAAgBAQABPyENeSg9g3u5ADISvYOF/9oADAMBAAIAAwAAABAvD//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAEDAQE/EIj/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEf/aAAgBAgEBPxAr/8QAGRABAQEBAQEAAAAAAAAAAAAAAREAITGB/9oACAEBAAE/EGgFfea8QPsTR8K7JnhR48uAbXwxBQ4Tzf/Z'); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="Snow scene render"
title="Snow scene render"
src="/static/87a03d212013ca169b59c8ccd5a8e212/aaf92/snowrender.jpg"
srcset="/static/87a03d212013ca169b59c8ccd5a8e212/953fe/snowrender.jpg 500w,
/static/87a03d212013ca169b59c8ccd5a8e212/0a251/snowrender.jpg 1000w,
/static/87a03d212013ca169b59c8ccd5a8e212/aaf92/snowrender.jpg 1920w"
sizes="(max-width: 1920px) 100vw, 1920px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</a>
</span></p>
<p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1920px; "
>
<a
class="gatsby-resp-image-link"
href="/static/aacda5ea60f0b6db0bfe496f39a6a631/ac7a9/logoHephaestus.png"
style="display: block"
target="_blank"
rel="noopener"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 56.199999999999996%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAACI0lEQVQoz3WSS2/TQBSF7bEDJUmbxI7jZ+zxIy8rCX2kUREQ0qQplEhtqSALJKhQV4DYsIIlYsOWNWz5mz5cuw0KLSyOxvY597t3xiOIooilGJMgCAKa0SnevPqJ2eQ8OZy+S2aTz0kzmichfwLXHiHgR/DqU6iVBmRZhCzJWZ0oChBWgaLIMkNTYwy25pg8epEszj4m3fgxevECnvMQpr6FwJsReIxKiROQ4VYul9WntX8BL7tcQpeajk+wuz3Hdv81wTZxZ63wx2NMIKAMSZLA/gXMlAXTgICqYtK0BnxvCF6/D8ccYO12IQNIWYbh+kA3gelZLs3/iBEw3WaOppNlic5QWoXeLEintKsl9Fs+Rrs9HO/fw7PZCIujA5yfPkU74FmOtptIjCWMrRzT9clSM5WhrOPBZhPvn+/j+4cz/PpygW9vFxh0IijlUnZ2uRQoSSkU0lWdkM/nUSwWUdrYgFKpQKtWYRg6yYRa0xE3Qny9mOPHp5fYu9tGsaTA0HXUNA2qqqBSLme168QoFPIQVEUhkyB6DZZpwLZM1B2bZNFdc9DvNHEyHuJ4vIduI6Ar48JNfduCQ1nLMLJanRiaqkIwdQ22WUPdMiho0l2z6I/aBLMRujaGHR87LY5eYONwp41uxBG4dUTcRUjwkJ4DasypiUtNBG7rFDDJJAB3KEhh/0r0zOsWfFIKD2ht0rdO4CEOOeLIp9Wnd46Wz8nz8Bt3rBhOOvZGLwAAAABJRU5ErkJggg=='); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="Hephaestus 3d logo"
title="Hephaestus 3d logo"
src="/static/aacda5ea60f0b6db0bfe496f39a6a631/ac7a9/logoHephaestus.png"
srcset="/static/aacda5ea60f0b6db0bfe496f39a6a631/0eb09/logoHephaestus.png 500w,
/static/aacda5ea60f0b6db0bfe496f39a6a631/1263b/logoHephaestus.png 1000w,
/static/aacda5ea60f0b6db0bfe496f39a6a631/ac7a9/logoHephaestus.png 1920w"
sizes="(max-width: 1920px) 100vw, 1920px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</a>
</span></p></content:encoded></item><item><title><![CDATA[Great Gatsby]]></title><description><![CDATA[In my younger and more vulnerable years my father gave me some advice that I’ve been turning over in my mind ever since. “Whenever you feel…]]></description><link>https://josephlandy.github.io/emancipation-proclamation/</link><guid isPermaLink="false">https://josephlandy.github.io/emancipation-proclamation/</guid><pubDate>Tue, 12 Dec 1922 10:00:00 GMT</pubDate><content:encoded><p>In my younger and more vulnerable years my father gave me some advice that I’ve been turning over in my mind ever since.</p>
<p>“Whenever you feel like criticizing any one,” he told me, “just remember that all the people in this world haven’t had the advantages that you’ve had.”</p>
<p>He didn’t say any more, but we’ve always been unusually communicative in a reserved way, and I understood that he meant a great deal more than that. In consequence, I’m inclined to reserve all judgments, a habit that has opened up many curious natures to me and also made me the victim of not a few veteran bores. The abnormal mind is quick to detect and attach itself to this quality when it appears in a normal person, and so it came about that in college I was unjustly accused of being a politician, because I was privy to the secret griefs of wild, unknown men. Most of the confidences were unsought — frequently I have feigned sleep, preoccupation, or a hostile levity when I realized by some unmistakable sign that an intimate revelation was quivering on the horizon; for the intimate revelations of young men, or at least the terms in which they express them, are usually plagiaristic and marred by obvious suppressions. Reserving judgments is a matter of infinite hope. I am still a little afraid of missing something if I forget that, as my father snobbishly suggested, and I snobbishly repeat, a sense of the fundamental decencies is parcelled out unequally at birth.</p>
<p>And, after boasting this way of my tolerance, I come to the admission that it has a limit. Conduct may be founded on the hard rock or the wet marshes, but after a certain point I don’t care what it’s founded on. When I came back from the East last autumn I felt that I wanted the world to be in uniform and at a sort of moral attention forever; I wanted no more riotous excursions with privileged glimpses into the human heart. Only Gatsby, the man who gives his name to this book, was exempt from my reaction — Gatsby, who represented everything for which I have an unaffected scorn. If personality is an unbroken series of successful gestures, then there was something gorgeous about him, some heightened sensitivity to the promises of life, as if he were related to one of those intricate machines that register earthquakes ten thousand miles away. This responsiveness had nothing to do with that flabby impressionability which is dignified under the name of the “creative temperament.”— it was an extraordinary gift for hope, a romantic readiness such as I have never found in any other person and which it is not likely I shall ever find again. No — Gatsby turned out all right at the end; it is what preyed on Gatsby, what foul dust floated in the wake of his dreams that temporarily closed out my interest in the abortive sorrows and short-winded elations of men.</p></content:encoded></item><item><title><![CDATA[Gettysburg Address]]></title><description><![CDATA[Fourscore and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the…]]></description><link>https://josephlandy.github.io/gettysburg-address/</link><guid isPermaLink="false">https://josephlandy.github.io/gettysburg-address/</guid><pubDate>Thu, 19 Nov 1863 10:00:00 GMT</pubDate><content:encoded><p>Fourscore and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.</p>
<p>Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated, can long endure. We are met on a great battle-field of that war. We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this.</p>
<p>But, in a larger sense, we can not dedicate-we can not consecrate-we can not hallow-this ground. The brave men, living and dead, who struggled here, have consecrated it, far above our poor power to add or detract. The world will little note, nor long remember what we say here, but it can never forget what they did here. It is for us the living, rather, to be dedicated here to the unfinished work which they who fought here have thus far so nobly advanced. It is rather for us to be here dedicated to the great task remaining before us-that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion-that we here highly resolve that these dead shall not have died in vain-that this nation, under God, shall have a new birth of freedom-and that government of the people, by the people, for the people shall not perish from the earth.</p></content:encoded></item></channel></rss>