-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
126 lines (101 loc) · 4.29 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
---
layout: default
---
<h1>Hi,</h1>
<p>
My name is Joe and this website is home to my projects.
</p>
<p>
Use the tabs at the top to navigate around. The <a href='/about'>about</a> section has something on me and the site's evolution.
</p>
<hr>
<h3>Favourite Projects</h3>
<p>
If only here for a quick browse, I thought I'd save you some time by compiling my top few projects.
</p>
<ul>
<li><a href='/projects/arduino/quadrupod'>quadrupod</a> - a four legged robot inspired by newts;</li>
<li><a href='/projects/javascript/blocks'>blocks</a> - a minecraft-like multiplayer game that runs in the browser;</li>
<li><a href='/projects/arduino/violent_robot_arm'>robot</a> - a robot arm to set up the chess board;</li>
<li><a href='/projects/javascript/chess'>chess</a> - a chess AI written in JavaScript;</li>
<li><a href='/club/snake'>snake</a> - a simple LED snake game that we built in <a href='/club'>Arduino Club</a>.
</ul>
<hr>
<h3>Open Cosmos Shoutout</h3>
<p>
I recently developed a demonstration satellite sub-system for <a
href='https://www.open-cosmos.com/'>Open
Cosmos</a>. I have written a technical description of the project on <a
href='https://github.com/joeiddon/ADCS_demo'>GitHub</a>, so if you are
interested in the project, take a look at that. There are some pictures in <a
href='https://photos.app.goo.gl/isr3sSZi2DETxmJA6'>this Google Photos album</a>
which tell a little bit of the story of making it.
</p>
<p>
Open Cosmos wrote an <!--<a
href='https://open-cosmos.com/sub-systems-for-small-satellites/'>
article</a>--> <a
href='/misc/archive/Sub-systems%20for%20small%20satellites_%20so%20simple%20a%20teen%20can%20build%20them%20_%20Open%20Cosmos.html'>
article</a> on my work (the post was lost to the web when they rebranded their
website, so this is a link to an archive of the original blog post). The
article ties the low cost project with their company's message of low cost and
ease-of-access to space endeavours.
</p>
<hr>
<h3>Send me an anonymous message?</h3>
<p>Often when reading other people's work, it is hard to contact the author
without signing up for some kind of account. Due to my limited traffic on this
site, I encourage all the comments I get. Don't worry: these aren't displayed,
only I can read them, and you do not need to create an account or provide an
email to leave one.</p>
<p>
So if you have anything to say to me simply type it in the text box below, click <code>send</code>, and I'll read it.
</p>
<textarea id='input'
style='width:50%;height:100px;magin:0.5em 0 0.5em 0;'
placeholder='Send me anything...'></textarea>
<div>
<input type='button' id='button' value='send'></input>
<div id='status' style='color:orange;display:inline-block;'>status: awaiting</div>
</div>
<p><em>
Note that if you would like a reply, mention your email address in the message
and I can contact you via that.
</em></p>
<hr>
<h3>Coming soon...</h3>
<p>Here's a little teaser, for a <a href='https://github.com/joeiddon/chess_robot'>big project</a>.</p>
<video src='/videos/chess_robot/teaser.mp4' controls></video>
<hr>
<p>
Finally, to increase the cat to non-cat content on the web, here are mine:
</p>
<a href='/images/cats/wisps.jp'><img class='quater_img' src='/images/cats/wisps.jpg'></img></a
></a><a href='/images/cats/wisps2.jpg'><img class='quater_img' src='/images/cats/wisps2.jpg'></img></a
></a><a href='/images/cats/kitkat.jpg'><img class='quater_img' src='/images/cats/kitkat.jpg'></img></a
></a><a href='/images/cats/cats.jpg'><img class='quater_img' src='/images/cats/cats.jpg'></img></a>
<script>
'use strict';
let status = document.getElementById('status');
let already_sent = false;
document.getElementById('button').addEventListener('click', function(){
if (already_sent) return;
let xhr = new XMLHttpRequest();
xhr.open('POST', 'https://joe.iddon.com')
xhr.onerror = function(){
status.innerText = 'server error';
status.style.color = 'red';
}
xhr.onreadystatechange = function(){
if (xhr.response == 'thanks'){
status.innerText = 'sent';
status.style.color = 'green';
already_sent = true;
} else {
status.innerText = 'sending...';
status.style.color = 'dark orange';
}
}
xhr.send(JSON.stringify({'type':'log_this', 'data':document.getElementById('input').value}));
});
</script>