<?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" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[null]]></title><description><![CDATA[code, etc]]></description><link>https://xenome.io/</link><image><url>https://xenome.io/favicon.png</url><title>null</title><link>https://xenome.io/</link></image><generator>Ghost 3.2</generator><lastBuildDate>Sun, 19 Apr 2026 00:09:07 GMT</lastBuildDate><atom:link href="https://xenome.io/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Realtime Charts with D3, React/Redux, SocketIO and Flask]]></title><description><![CDATA[<!--kg-card-begin: html--><div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/9d6bfc839a834d8bb0982e4ddb7a489e" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div><!--kg-card-end: html--><p>A little example app with realtime updating charts using D3.js and React with Redux and Axios on the front end to render a chart generated from randomized data with a button to send a POST to the flask app which serves the front end to randomize the data and</p>]]></description><link>https://xenome.io/realtime-charts-with-d3-react-redux-socketio-and-flask/</link><guid isPermaLink="false">603722ad7330c304d6425059</guid><dc:creator><![CDATA[Louis Monday]]></dc:creator><pubDate>Thu, 25 Feb 2021 04:08:35 GMT</pubDate><media:content url="https://xenome.io/content/images/2021/02/realtime_charts.gif" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: html--><div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/9d6bfc839a834d8bb0982e4ddb7a489e" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div><!--kg-card-end: html--><img src="https://xenome.io/content/images/2021/02/realtime_charts.gif" alt="Realtime Charts with D3, React/Redux, SocketIO and Flask"><p>A little example app with realtime updating charts using D3.js and React with Redux and Axios on the front end to render a chart generated from randomized data with a button to send a POST to the flask app which serves the front end to randomize the data and send an update to all listening clients.</p><p>You can view the code here: <a href="https://github.com/Cameleopardus/D3-React-Realtime-Charts">https://github.com/Cameleopardus/D3-React-Realtime-Charts</a></p>]]></content:encoded></item><item><title><![CDATA[Third Person Game with Godot]]></title><description><![CDATA[<p>I have been toying around with Godot engine for a little while now, always on this ever evolving third person game.</p><p>So far I have a character controller class, a model and a clipped camera.</p><!--kg-card-begin: html--><div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/9f448600988c4806934971679e38c3a6" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div><!--kg-card-end: html--><p>Mixamo and Blender are a great combination for rapidly prototyping character animations</p><!--kg-card-begin: html--><div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/7af4cd63f0934ca5a49f109155a99464" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div><!--kg-card-end: html-->]]></description><link>https://xenome.io/third-person-game-with-godot/</link><guid isPermaLink="false">602e04ef7330c304d642503d</guid><dc:creator><![CDATA[Louis Monday]]></dc:creator><pubDate>Thu, 18 Feb 2021 06:19:18 GMT</pubDate><media:content url="https://xenome.io/content/images/2021/02/thirdpersongame2.png" medium="image"/><content:encoded><![CDATA[<img src="https://xenome.io/content/images/2021/02/thirdpersongame2.png" alt="Third Person Game with Godot"><p>I have been toying around with Godot engine for a little while now, always on this ever evolving third person game.</p><p>So far I have a character controller class, a model and a clipped camera.</p><!--kg-card-begin: html--><div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/9f448600988c4806934971679e38c3a6" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div><!--kg-card-end: html--><p>Mixamo and Blender are a great combination for rapidly prototyping character animations</p><!--kg-card-begin: html--><div style="position: relative; padding-bottom: 56.25%; height: 0;"><iframe src="https://www.loom.com/embed/7af4cd63f0934ca5a49f109155a99464" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[HTTP Request Smuggling via Unicode Payloads]]></title><description><![CDATA[<p>Some libraries and applications including those used in older versions of NodeJS will convert Unicode characters into latin1 character sets by truncating the hexadecimal value representing each glyph so it fits in the 0-95 range for the basic latin character set, as well as with some control codes.</p><p>I've put</p>]]></description><link>https://xenome.io/http-request-smuggling-via-unicode-payloads/</link><guid isPermaLink="false">60298306e2b2ea40c023363d</guid><dc:creator><![CDATA[Louis Monday]]></dc:creator><pubDate>Sun, 14 Feb 2021 20:47:17 GMT</pubDate><media:content url="https://xenome.io/content/images/2021/02/payloadgenscreen2-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://xenome.io/content/images/2021/02/payloadgenscreen2-1.png" alt="HTTP Request Smuggling via Unicode Payloads"><p>Some libraries and applications including those used in older versions of NodeJS will convert Unicode characters into latin1 character sets by truncating the hexadecimal value representing each glyph so it fits in the 0-95 range for the basic latin character set, as well as with some control codes.</p><p>I've put together a little script that does the heavy lifting and will take a text file and generate a unicode payload here: <a href="https://github.com/Cameleopardus/latin1enctrunc_payload_generator">https://github.com/Cameleopardus/latin1enctrunc_payload_generator</a></p><p>This bug was first reported in NodeJS Here: <a href="https://github.com/nodejs/node/issues/13296">https://github.com/nodejs/node/issues/13296</a></p><p>If the puppy emoji gets translated to `=6`, I wonder if we could map out what characters translate into http control characters in latin1.</p><figure class="kg-card kg-image-card"><img src="https://xenome.io/content/images/2021/02/image-8.png" class="kg-image" alt="HTTP Request Smuggling via Unicode Payloads"></figure><p>Interesting, we see the "c with carron" character translates to `0D` . Which when turned into a string will represent a carriage return.</p><p>The reason for this is that when implicitly transcoding to latin1, the unicode value for each character is simply truncated to fit.</p><p>the <code>č</code> character has a unicode value of <code>U+010D</code>, the unicode value of a carriage return is <code>U+000D</code></p><p>the <code>ů</code> character has a unicode value of <code>U+016F</code>, if truncated the same way we get the letter <code>o</code>, which has a unicode value of <code>U+006F</code>.</p><p>If the http module used to send requests is implicitly converting Unicode characters into latin characters without escaping any of the data, we can inject a payload into a URL that when parsed and turned into an HTTP request would append an additional request to the body, which may be processed by the server as two separate requests.</p><figure class="kg-card kg-image-card"><img src="https://xenome.io/content/images/2021/02/payloadgenscreen2.png" class="kg-image" alt="HTTP Request Smuggling via Unicode Payloads"></figure>]]></content:encoded></item><item><title><![CDATA[AsyncRunner]]></title><description><![CDATA[<p>A .NET Core restful api that allows launching worker instances to scale horizontally and perform longrunning tasks with per-task status tracking</p><p>This project is an implementation of horizontal scalability in a restful API built with .NET Core MVC.</p><p>The project includes a docker compose configuration, and a Postman collection for</p>]]></description><link>https://xenome.io/dotnet_asyncrunner/</link><guid isPermaLink="false">5e0c89660ac273175471f3de</guid><category><![CDATA[Portfolio]]></category><dc:creator><![CDATA[Louis Monday]]></dc:creator><pubDate>Wed, 01 Jan 2020 12:03:20 GMT</pubDate><media:content url="https://xenome.io/content/images/2020/01/AsynRunner.png" medium="image"/><content:encoded><![CDATA[<img src="https://xenome.io/content/images/2020/01/AsynRunner.png" alt="AsyncRunner"><p>A .NET Core restful api that allows launching worker instances to scale horizontally and perform longrunning tasks with per-task status tracking</p><p>This project is an implementation of horizontal scalability in a restful API built with .NET Core MVC.</p><p>The project includes a docker compose configuration, and a Postman collection for working with the API.</p><p><a href="https://github.com/Cameleopardus/dotnet_api_async_runner">https://github.com/Cameleopardus/dotnet_api_async_runner</a><br></p><p>Dispatching a new async task via API</p><figure class="kg-card kg-image-card"><img src="https://github.com/Cameleopardus/dotnet_api_async_runner/blob/master/.readme_images/count_by_seconds.png?raw=true" class="kg-image" alt="AsyncRunner"></figure><p><br>Output from worker receiving the task:<br></p><figure class="kg-card kg-image-card"><img src="https://github.com/Cameleopardus/dotnet_api_async_runner/blob/master/.readme_images/worker_output.png?raw=true" class="kg-image" alt="AsyncRunner"></figure><p><br>Fetching task status from API:<br></p><figure class="kg-card kg-image-card"><img src="https://github.com/Cameleopardus/dotnet_api_async_runner/blob/master/.readme_images/check_task_status.png?raw=true" class="kg-image" alt="AsyncRunner"></figure><h2></h2>]]></content:encoded></item><item><title><![CDATA[Loveseat.com ecommerce platform]]></title><description><![CDATA[<figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/loveseat-checkout.png" width="1902" height="988"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/ls-checkout-1.png" width="1917" height="984"></div></div></div></figure><p>A complete ecommerce platform build on top of Django using Postgres, Redis RabbitMQ/Celery, Bootstrap and Angular featuring third party listing content syndication, email marketing integrations, receipt systems and more.</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/ls_website_1.png" width="1917" height="986"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/ls_site_style.png" width="1919" height="987"></div></div></div></figure>]]></description><link>https://xenome.io/loveseat-ecommerce-platform/</link><guid isPermaLink="false">5e0b142cfa98270f437e16f5</guid><category><![CDATA[Portfolio]]></category><dc:creator><![CDATA[Louis Monday]]></dc:creator><pubDate>Wed, 01 Jan 2020 09:27:00 GMT</pubDate><media:content url="https://xenome.io/content/images/2019/12/loveseat-checkout-1.png" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/loveseat-checkout.png" width="1902" height="988" alt="Loveseat.com ecommerce platform"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/ls-checkout-1.png" width="1917" height="984" alt="Loveseat.com ecommerce platform"></div></div></div></figure><img src="https://xenome.io/content/images/2019/12/loveseat-checkout-1.png" alt="Loveseat.com ecommerce platform"><p>A complete ecommerce platform build on top of Django using Postgres, Redis RabbitMQ/Celery, Bootstrap and Angular featuring third party listing content syndication, email marketing integrations, receipt systems and more.</p><figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/ls_website_1.png" width="1917" height="986" alt="Loveseat.com ecommerce platform"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/ls_site_style.png" width="1919" height="987" alt="Loveseat.com ecommerce platform"></div></div></div></figure>]]></content:encoded></item><item><title><![CDATA[Auto Key/Transponder lookup app]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://xenome.io/content/images/2020/01/busybees_example-1.png" class="kg-image"></figure><p>An application written for Busy Bees Locks &amp; Keys in San Diego to manage their car key pricing catalog and help customer service reps order parts.</p><p>It is an Angular app on the front end, Django on the backend with elasticsearch and postgres for data storage and retrieval.</p>]]></description><link>https://xenome.io/auto-key-transponder-lookup-app/</link><guid isPermaLink="false">5e0dbc749b0a050e54bfee06</guid><category><![CDATA[Portfolio]]></category><dc:creator><![CDATA[Louis Monday]]></dc:creator><pubDate>Tue, 31 Dec 2019 09:50:00 GMT</pubDate><media:content url="https://xenome.io/content/images/2020/01/busybees_example.png" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://xenome.io/content/images/2020/01/busybees_example-1.png" class="kg-image" alt="Auto Key/Transponder lookup app"></figure><img src="https://xenome.io/content/images/2020/01/busybees_example.png" alt="Auto Key/Transponder lookup app"><p>An application written for Busy Bees Locks &amp; Keys in San Diego to manage their car key pricing catalog and help customer service reps order parts.</p><p>It is an Angular app on the front end, Django on the backend with elasticsearch and postgres for data storage and retrieval.</p>]]></content:encoded></item><item><title><![CDATA[Terrastride Pro marketing site]]></title><description><![CDATA[<figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/tspwebsitescreen-3-1.png" width="1581" height="782"></div></div></div></figure><p>Responsive marketing site for the Terrastride Pro platform</p>]]></description><link>https://xenome.io/terrastride-pro-marketing-site/</link><guid isPermaLink="false">5e0b177bfa98270f437e1719</guid><category><![CDATA[Portfolio]]></category><dc:creator><![CDATA[Louis Monday]]></dc:creator><pubDate>Tue, 31 Dec 2019 09:41:08 GMT</pubDate><media:content url="https://xenome.io/content/images/2019/12/tspwebsitescreen-3-1-1.png" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/tspwebsitescreen-3-1.png" width="1581" height="782" alt="Terrastride Pro marketing site"></div></div></div></figure><img src="https://xenome.io/content/images/2019/12/tspwebsitescreen-3-1-1.png" alt="Terrastride Pro marketing site"><p>Responsive marketing site for the Terrastride Pro platform</p>]]></content:encoded></item><item><title><![CDATA[Huntstand.com]]></title><description><![CDATA[<figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/hsappgif.gif" width="1600" height="900"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/huntstand20landingpage.png" width="1596" height="812"></div></div></div></figure><p>A simple parallax design marketing site built with bootstrap</p>]]></description><link>https://xenome.io/huntstand-com/</link><guid isPermaLink="false">5e0b14befa98270f437e1703</guid><category><![CDATA[Portfolio]]></category><dc:creator><![CDATA[Louis Monday]]></dc:creator><pubDate>Tue, 31 Dec 2019 09:33:50 GMT</pubDate><media:content url="https://xenome.io/content/images/2019/12/hsscreenshot-1.png" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/hsappgif.gif" width="1600" height="900" alt="Huntstand.com"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/huntstand20landingpage.png" width="1596" height="812" alt="Huntstand.com"></div></div></div></figure><img src="https://xenome.io/content/images/2019/12/hsscreenshot-1.png" alt="Huntstand.com"><p>A simple parallax design marketing site built with bootstrap</p>]]></content:encoded></item><item><title><![CDATA[Loveseat Point Of Sale App]]></title><description><![CDATA[<figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/pos_screen_1-2.png" width="604" height="792"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/pos_screen_2-1.png" width="602" height="791"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/pos_screen_3-1.png" width="620" height="792"></div></div></div></figure><p>A Point Of Sale mobile application that communicates with listing syndication API to mark items as sold when they are purchased in store.</p><p>Written with Phonegap/Cordova using Angular, Ionic and Sass</p>]]></description><link>https://xenome.io/loveseat-point-of-sale-app/</link><guid isPermaLink="false">5e0b116bfa98270f437e16e1</guid><category><![CDATA[Portfolio]]></category><dc:creator><![CDATA[Louis Monday]]></dc:creator><pubDate>Tue, 31 Dec 2019 09:17:18 GMT</pubDate><media:content url="https://xenome.io/content/images/2019/12/pos_screen_2-1-1.png" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/pos_screen_1-2.png" width="604" height="792" alt="Loveseat Point Of Sale App"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/pos_screen_2-1.png" width="602" height="791" alt="Loveseat Point Of Sale App"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/pos_screen_3-1.png" width="620" height="792" alt="Loveseat Point Of Sale App"></div></div></div></figure><img src="https://xenome.io/content/images/2019/12/pos_screen_2-1-1.png" alt="Loveseat Point Of Sale App"><p>A Point Of Sale mobile application that communicates with listing syndication API to mark items as sold when they are purchased in store.</p><p>Written with Phonegap/Cordova using Angular, Ionic and Sass</p>]]></content:encoded></item><item><title><![CDATA[Terrastride Pro Mobile]]></title><description><![CDATA[<figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/unnamed-1.png" width="506" height="900"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/tsp4.png" width="506" height="900"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/tsp1-1.png" width="506" height="900"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/tsp1.png" width="506" height="900"></div></div></div></figure><p>A hybrid mobile mapping and real estate application built with Cordova/Phonegap, backend with Django</p>]]></description><link>https://xenome.io/terrastride-pro-mobile/</link><guid isPermaLink="false">5e0b185dfa98270f437e1725</guid><category><![CDATA[Portfolio]]></category><dc:creator><![CDATA[Louis Monday]]></dc:creator><pubDate>Mon, 07 Oct 2019 09:45:00 GMT</pubDate><media:content url="https://xenome.io/content/images/2019/12/unnamed-1-1.png" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-gallery-card kg-width-wide"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/unnamed-1.png" width="506" height="900" alt="Terrastride Pro Mobile"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/tsp4.png" width="506" height="900" alt="Terrastride Pro Mobile"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/tsp1-1.png" width="506" height="900" alt="Terrastride Pro Mobile"></div><div class="kg-gallery-image"><img src="https://xenome.io/content/images/2019/12/tsp1.png" width="506" height="900" alt="Terrastride Pro Mobile"></div></div></div></figure><img src="https://xenome.io/content/images/2019/12/unnamed-1-1.png" alt="Terrastride Pro Mobile"><p>A hybrid mobile mapping and real estate application built with Cordova/Phonegap, backend with Django</p>]]></content:encoded></item></channel></rss>