-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
189 lines (163 loc) · 12.9 KB
/
Copy pathindex.html
File metadata and controls
189 lines (163 loc) · 12.9 KB
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
<!doctype html>
<html class="no-js">
<head>
<meta charset="utf-8"/>
<title>ehryk.github.com</title>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!-- Adding "maximum-scale=1" fixes the Mobile Safari auto-zoom bug: http://filamentgroup.com/examples/iosScaleBug/ -->
<meta name="description" content="Code and Random Thingies" />
<meta name="keywords" content="Code,Ehryk,xkcd,Bookmarklet" />
<meta name="author" content="Eric Menze" />
<meta property="og:url" content="http://ehryk.github.io" />
<meta property="og:title" content="Ehryk" />
<meta property="og:image" content="img/Ehryk.png" />
<meta property="og:description" content="Code and Random Thingies" />
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" media="all" href="css/main.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
<div class="page">
<h1>ehryk.github.io</h1>
<h5>Random Thingies - for more: <a href="https://github.com/Ehryk">github</a>, <a href="http://www.ericmenze.com/cv/portfolios/">portfolio</a>, or <a href="mailto:ehryk42@gmail.com">email</a>.</h5>
<section>
<div class="Detail">
<h3><a href="espsauna.html" title="Check it out!">ESPSauna</a></h3>
<p>An ESP32 based sauna controller for Home Assistant; powered from 100 to 240 VAC, with temperature, humidity, and current monitoring. Built on an ESP32-DEVKIT-V1 (U4) with an HLK-5M12 (PS1) AC–DC module, AP63203WU buck (U1), and AO3400A MOSFETs (Q1/Q2) PWM-driving TE-SPDT relays (RLY1/RLY2) for remote and safety heater control. AM2302/DHT22 (U3) and SHT45 sensors cover sauna and changing-room conditions; a 3.5 mm jack (J1) accepts a current clamp for stove current, power, and energy entities.</p>
</div>
<div class="Image">
<img src="Circuits/ESPSauna/Images/Front.jpg" alt="ESPSauna" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail left">
<h3><a href="espfridge.html" title="Check it out!">ESPFridge</a></h3>
<p>An ESP32 based fridge monitor for Home Assistant; powered from an 18650 battery, with temperature, humidity, and light monitoring. The ESP32-C3-WROOM-02 (U1) rides on a PCB sized to stack with the cell (BT1); a TMP117 (U6) provides ±0.3°C readings, an OPT3001DNPRQ1 (U4) detects door-open light levels, and DW01A plus 8205A (U2/U3) protect the pack while an MCP1700-3.3 (U5) and AO3401A (Q1) keep quiescent current low across deep-sleep wake cycles.</p>
</div>
<div class="Image left">
<img src="Circuits/ESPFridge/Images/Front.jpg" alt="ESPFridge" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail">
<h3><a href="espprobe.html" title="Check it out!">ESPProbe</a></h3>
<p>An ESP32 based temperature monitor with triple K type thermocouples for Home Assistant; powered from USB C, used for my wood stove. An ESP32-DEVKIT-V1 (MCU1) hosts three MAX31855KASA (U1–U3) on screw terminals (J1–J3) for intake, chamber, and exhaust probes, plus an AM2302/DHT22 (U4) for ambient conditions; polling speeds up automatically when fire is detected.</p>
</div>
<div class="Image">
<img src="Circuits/ESPProbe/Images/Front.jpg" alt="ESPProbe" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail left">
<h3><a href="espradiator.html" title="Check it out!">ESPRadiator</a></h3>
<p>An ESP32 based electric radiator fan controller; with battery monitoring and HA integration. Built for a Jeep Wrangler aftermarket fan on an ESP32-DEVKIT-V1 (MCU1), with dual IRLZ44N MOSFETs (Q3/Q4) driven by a TC4427 (U3), LTV-827S optocouplers (U2) for ignition and A/C-clutch sense, an AP63203WU buck (U1), 3568 fuses (F1/F2), AO3401A battery-sense switch (Q1), and an ECT voltage divider.</p>
</div>
<div class="Image left">
<img src="Circuits/ESPRadiator/Images/Front.jpg" alt="ESPRadiator" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail">
<h3><a href="espdrive.html" title="Check it out!">ESPDrive</a></h3>
<p>An ESP32 based monitor for vehicles and power wheels; checks battery voltage, outputs a status to an RGB led, has a ~12VDC output for upgrading to higher voltage main batteries. Centered on an ESP32-DEVKIT-V1 (MCU1) with AP63201WU (U2) and AP63203WU (U1) bucks, LTV-827S optocouplers (U3) for vehicle and light inputs, a TE-SPDT relay (R1) with AO3400A/AO3401A drivers, BAT54S clamping (D1), and a resistor-divider battery sense circuit.</p>
</div>
<div class="Image">
<img src="Circuits/ESPDrive/Images/Front.jpg" alt="ESPDrive" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail left">
<h3><a href="fertilator.html" title="Open the calculator">Fertilator</a></h3>
<p>A fertilization calculator for planning nutrient applications across the growing season; configure fertilizers, stage targets, seasonal totals, and weekly application schedules. Supports N-P-K-Ca-Mg-S seasonal targets and a product library from urea (46-0-0) and MAP/DAP/TSP through micronutrient blends, with stage-percentage tables, nutrient differentials, and weekly lb/acre rates — all calculated in the browser.</p>
</div>
<div class="Image left">
<img src="img/fertilator.jpg" alt="Fertilator" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail">
<h3><a href="espkey.html" title="Generate an encryption key">ESPKey</a></h3>
<p>A browser-based ESPHome encryption key generator; creates a fresh 32-byte hex key ready to copy into your device YAML or secrets file. Keys are generated locally with <code>crypto.getRandomValues()</code> — never sent to a server — with a ready-to-paste <code>api: encryption: key:</code> YAML snippet you can copy or regenerate on demand.</p>
</div>
<div class="Image">
<img src="img/espkey.jpg" alt="ESPKey" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail left">
<h3><a href="javascript:(function(){var e={a:1,style:1,script:1,iframe:1};var t=function(r,i,s){var o,u;for(var a=r.childNodes.length-1;a>=0;a--){o=r.childNodes[a];if(o.nodeType==1){u=o.nodeName.toLowerCase();if(!(u in e)){t(o,i,s)}}else if(o.nodeType==3){n(o,i,s)}}};var n=function(e,t,n){var r,i=[];while(r=t.exec(e.data)){i.push(r)}for(var s=i.length-1;s>=0;s--){r=i[s];e.splitText(r.index);e.nextSibling.splitText(r[1].length);e.parentNode.replaceChild(n(r[1]),e.nextSibling)}};var r={'power':'The Throne','Donald Trump':'King Lannister','Reince Priebus':'the Hand of the King','Trump Towers':'Tower fo Joy','Eric Trump':'Joffrey','Border Wall':'Mexicans are Coming','Milania':'Cersei','Tiffany Trump':'Daenerys Targaryen','Ivanka':'Melisandre','Trump':'Lannister','election':'duel to the death','winter is coming':'Illegals are Coming'};var i='';for(var s in r){i+=s+'|'}i=i.substring(0,i.length-1);t(document.body,new RegExp('\\b('+i+')\\b','g'),function(e){var t=document.createElement('span');t.innerHTML=r[e];t.style.fontWeight='Bold';return t})})()" title="Drag Me to your Bookmarks!">Game of Trump</a></h3>
<p>Sick of all the tiring mentions of Trump all over? This is a bookmarklet that you can add to your bookmarks bar that will replace mentions of Trump, his cabinet, and common rhetoric of his with Game of Throne references. A great example page to start with is the <a href="https://en.wikipedia.org/wiki/Donald_Trump_on_social_media">Donald Trump on social media</a> article on Wikipedia.</p>
</div>
<div class="Image left">
<img src="img/DeTrumpify.png" alt="DeTrumpify" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail">
<h3><a href="javascript:(function(){var e={a:1,style:1,script:1,iframe:1};var t=function(r,i,s){var o,u;for(var a=r.childNodes.length-1;a>=0;a--){o=r.childNodes[a];if(o.nodeType==1){u=o.nodeName.toLowerCase();if(!(u in e)){t(o,i,s)}}else if(o.nodeType==3){n(o,i,s)}}};var n=function(e,t,n){var r,i=[];while(r=t.exec(e.data)){i.push(r)}for(var s=i.length-1;s>=0;s--){r=i[s];e.splitText(r.index);e.nextSibling.splitText(r[1].length);e.parentNode.replaceChild(n(r[1]),e.nextSibling)}};var r={witnesses:'these dudes I know',allegedly:'kinda probably','new study':'Tumblr post',rebuild:'avenge',space:'spaaace','google glass':'Virtual Boy',smartphone:'Pokedex',electric:'atomic',senator:'Elf-lord',car:'cat',election:'eating contest','congressional leaders':'River Spirits','homeland security':'homestar runner','could not be reached for comment':'is guilty and everyone knows it'};var i='';for(var s in r){i+=s+'|'}i=i.substring(0,i.length-1);t(document.body,new RegExp('\\b('+i+')\\b','g'),function(e){var t=document.createElement('span');t.innerHTML=r[e];t.style.fontWeight='Bold';return t})})()" title="Drag Me to your Bookmarks!">xkcd 1288 - Substitutions bookmarklet</a></h3>
<p>This is a bookmarklet that you can add to your bookmarks bar that will perform the text replacements in <a href="http://xkcd.com/1288/">xkcd #1288</a>. To add it, drag the title into your bookmarks section or bookmarks bar. A great example page to start with is the <a href="https://simple.wikipedia.org/wiki/Car">Car Entry</a> in the simple Wikipedia.</p>
</div>
<div class="Image">
<img src="img/xkcd-substitutions.png" alt="xkcd the News" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail left">
<h3><a href="javascript:(function(){var e={a:1,style:1,script:1,iframe:1};var t=function(r,i,s){var o,u;for(var a=r.childNodes.length-1;a>=0;a--){o=r.childNodes[a];if(o.nodeType==1){u=o.nodeName.toLowerCase();if(!(u in e)){t(o,i,s)}}else if(o.nodeType==3){n(o,i,s)}}};var n=function(e,t,n){var r,i=[];while(r=t.exec(e.data)){i.push(r)}for(var s=i.length-1;s>=0;s--){r=i[s];e.splitText(r.index);e.nextSibling.splitText(r[1].length);e.parentNode.replaceChild(n(r[1]),e.nextSibling)}};var r={'is':'was','has':'had','having':'which once had','are':'were','have':'have had','doing':'did','plays':'played','occurs':'occurred','provides':'provided'};var i='';for(var s in r){i+=s+'|'}i=i.substring(0,i.length-1);t(document.body,new RegExp('\\b('+i+')\\b','g'),function(e){var t=document.createElement('span');t.innerHTML=r[e];t.style.fontWeight='Bold';return t})})()" title="Drag Me to your Bookmarks!">Convert to Past Tense</a></h3>
<p>This is a bookmarklet that you can add to your bookmarks bar that will change common verbs to past tense for a more dystopian feel - it works especially well on wikipedia articles. To add it, drag the title into your bookmarks section or bookmarks bar. A great example page to start with is <a href="https://en.wikipedia.org/wiki/Water">Water</a> on Wikipedia.</p>
</div>
<div class="Image left">
<img src="img/past-tense.png" alt="Dystopify the Web" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail">
<h3><a href="mike/" title="Put those sites together">Combine two sites and we'll dial it in later</a></h3>
<p>Ever been asked to '<a href="mike/">put two sites together</a>'? My friend was, so I thought I'd help her out. Click and the 'site' switches, now with dials for 'dialing it in'.</p>
</div>
<div class="Image">
<img src="img/mike.jpg" alt="Put Together" />
</div>
<div class="clearfix">
</section>
<section>
<div class="Detail left">
<h3><a href="name-js/" title="Name-That-JS.js">Javascript library name assistant</a></h3>
<p><a href="name-js/">name-js</a> is a clone/implementation of <a href="https://github.com/EpochFail">EpochFail</a>'s <a href="https://github.com/EpochFail/name-js">name-js</a> and <a href="https://github.com/EpochFail/word">word</a> projects, when <a href="http://wutjs.com">wutjs.com</a> was down.</p>
</div>
<div class="Image left">
<img src="img/name-js.jpg" alt="Name-JS" />
</div>
<div class="clearfix">
</section>
<footer>
<hr />
<p>© Eric Menze 2013</p>
</footer>
</div>
<div id="image-overlay" class="image-overlay" aria-hidden="true">
<div class="image-overlay-content"></div>
</div>
<script src="https://cdn.jsdelivr.net/npm/jquery@4.0.0/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js"></script>
<script src="js/overlay.js"></script>
<script src="js/esp-images.js"></script>
</body>
</html>