<?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[kurozael's blog]]></title><description><![CDATA[programming + technology + games]]></description><link>https://kurozael.com/</link><image><url>https://kurozael.com/favicon.png</url><title>kurozael&apos;s blog</title><link>https://kurozael.com/</link></image><generator>Ghost 5.33</generator><lastBuildDate>Sat, 04 Apr 2026 05:48:49 GMT</lastBuildDate><atom:link href="https://kurozael.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Nano Currency - Why I'm Holding]]></title><description><![CDATA[<p>In 2015 I predicted the boom of <a href="http://ethereum.org/">Ethereum</a> with my post <a href="https://kurozael.com/ethereum-org-future-of-the-web/">Ethereum.org - Future of the Web</a>, and I&apos;m ready to do it again.</p><h2 id="what-is-nano">What is Nano?</h2><p><a href="https://nano.org/">Nano Currency</a> is <em>digital money for the modern world </em>and it offers a variety of revolutionary features that rival Bitcoin.</p>]]></description><link>https://kurozael.com/nano-currency-why-im-holding/</link><guid isPermaLink="false">63d796b66206e117d4885e35</guid><category><![CDATA[cryptocurrency]]></category><category><![CDATA[technology]]></category><dc:creator><![CDATA[conna]]></dc:creator><pubDate>Tue, 09 Feb 2021 17:57:55 GMT</pubDate><content:encoded><![CDATA[<p>In 2015 I predicted the boom of <a href="http://ethereum.org/">Ethereum</a> with my post <a href="https://kurozael.com/ethereum-org-future-of-the-web/">Ethereum.org - Future of the Web</a>, and I&apos;m ready to do it again.</p><h2 id="what-is-nano">What is Nano?</h2><p><a href="https://nano.org/">Nano Currency</a> is <em>digital money for the modern world </em>and it offers a variety of revolutionary features that rival Bitcoin. It has <strong>no fees</strong> for transactions, and it is <strong>eco-friendly</strong> because it does not rely on mining. In addition, Nano transactions are near-instant and the technology is scalable.</p><h2 id="why-not-bitcoin">Why not Bitcoin?</h2><p>Over recent years Bitcoin has seen huge success, and this success has largely been driven by the following things:</p><ul><li>The fear of missing out as the price increases</li><li>Influencers artificially driving up the price</li><li>The potential profitability of mining</li></ul><p>Bitcoin is valuable, because it has value. People are willing to buy Bitcoin. However, we have seen that Bitcoin does not scale very well, and in addition to that, it incurs a huge cost in real-world resources to mine it. Massive GPU farms are mining Bitcoin and using up valuable energy that is better served elsewhere.</p><p>In a modern world, a world where people are conscious of their carbon footprint and the damage that we as human beings are doing to the world, we must be cautious of wasting energy.</p><h2 id="no-mining">No Mining?</h2><p>Because of Nano&apos;s very interesting <a href="https://docs.nano.org/glossary/#open-representative-voting-orv">Open Representative Voting</a> mechanism, Nano describes the way it provides value over other cryptocurrencies as such:</p><blockquote>Minimal block size allows for lightweight communication resulting in ultrafast transaction confirmation times</blockquote><blockquote>Without traditional Proof-of-Work and mining, nodes use significantly less energy per transaction than other popular networks</blockquote><blockquote>Emergent centralization forces for node operators are reduced due to the near zero marginal cost of producing consensus in Nano</blockquote><h2 id="why-not-ethereum">Why not Ethereum?</h2><p>I want to be clear here that by supporting Nano I do not detract from my previous views on Ethereum. I maintain that Ethereum is extremely important for the future of the web and this can be seen from the applications developed for it, and the surge in interest over the last 5 years.</p><p><strong>Ethereum is not a currency.</strong> Ethereum provides a very unique and important way to build decentralized applications for the web. We must not mistake Ethereum as your everyday fiat replacement.</p><p><strong>Nano is a Bitcoin alternative. </strong>The difference is that Nano is scalable, fast, fee-less, and contributes far less energy wastage than Bitcoin does. This makes it a great eco-friendly alternative and what has the potential to be the best currency of the future.</p><h2 id="further-reading">Further Reading</h2><ul><li><a href="https://nano.org/">https://nano.org/</a></li><li><a href="https://docs.nano.org/whitepaper/english/">https://docs.nano.org/whitepaper/english/</a></li><li><a href="https://www.reddit.com/r/nanocurrency/">https://www.reddit.com/r/nanocurrency/</a></li></ul><p>For a great read on Nano check out <a href="https://senatusspqr.medium.com/fight-the-climate-crisis-usenano-6e7c22d45b0e">Fight the Climate Crisis, #UseNano</a>, by <a href="https://reddit.com/u/SenatusSPQR">/u/SenatusSPQR</a>, their article delves deeper into to the true value of Nano in preventing the disastrous effects that Bitcoin could have on our planet.</p><h2 id="disclaimer">Disclaimer</h2><p>This is not financial advice.</p>]]></content:encoded></item><item><title><![CDATA[Twitter Contest Bot]]></title><description><![CDATA[<blockquote>&#x201C;This is the story of how I wrote a Twitter bot to automatically enter contests and ended up winning on average 4 contests per day, every day, for about 9 months straight.&#x201D; &#x2013; Hunter Scott<br></blockquote><p>Recently Hunter Scott, an American programmer and Electrical Engineer at <a href="https://www.motorolasolutions.com/">Motorola Solutions</a>, <a href="http://www.hscott.net/twitter-contest-winning-as-a-service/">wrote</a></p>]]></description><link>https://kurozael.com/twitter-contest-bot/</link><guid isPermaLink="false">63d796b66206e117d4885e31</guid><category><![CDATA[programming]]></category><category><![CDATA[random]]></category><dc:creator><![CDATA[conna]]></dc:creator><pubDate>Sat, 15 Aug 2015 15:32:00 GMT</pubDate><content:encoded><![CDATA[<blockquote>&#x201C;This is the story of how I wrote a Twitter bot to automatically enter contests and ended up winning on average 4 contests per day, every day, for about 9 months straight.&#x201D; &#x2013; Hunter Scott<br></blockquote><p>Recently Hunter Scott, an American programmer and Electrical Engineer at <a href="https://www.motorolasolutions.com/">Motorola Solutions</a>, <a href="http://www.hscott.net/twitter-contest-winning-as-a-service/">wrote a post on his blog</a> about using a bot to win over 1,000 contests on Twitter by re-tweeting contest tweets. The story broke on various news article such as <a href="http://www.engadget.com/2015/08/10/twitter-bot-wins-a-thousand-contests/">Engadget</a>, the <a href="http://www.independent.co.uk/life-style/gadgets-and-tech/news/man-creates-twitter-bot-that-enters-competitions-automatically-and-wins-more-than-1000-prizes-10443040.html">Independent</a>, and the <a href="http://www.theguardian.com/technology/2015/aug/05/us-coder-twitter-bot-wins-1000-competitions">Guardian.</a></p><p>Like so many who read about this story, I immediately realized how amazing it is that nobody had done this before. So in a state of complete boredom I decided to quit procrastinating and conduct a bit of research on the <a href="https://dev.twitter.com/rest/public">Twitter API</a> and see how quickly I could whip up a similar bot using <a href="https://www.python.org/">Python</a>.</p><h3 id="a-little-bit-about-python">A little bit about Python</h3><p>Prior to this experiment I hadn&#x2019;t used Python too much, so I had to familiarize myself with its syntax. After an hour or so of tinkering around I had created a script &#x2013; that although very basic &#x2013; accomplished the same fundamental result as Hunter&#x2019;s bot.</p><p>Whilst coding with Python I came to realize how <em>pleasant</em> it is for a few good reasons:</p><ol><li>Python uses indentation for scope. Instead of using curly braces (or <em>then, end,</em> and do in Lua), you simply use tabs to denote where a block begins or ends.</li><li>You don&#x2019;t need to provide parenthesis around the arguments of a function call, and while I&#x2019;ve seen this in other languages too, it&#x2019;s nice for simple methods that take only a string.</li><li>The package manager &#x201C;pip&#x201D; is lovely to use, and very quick to get started on a new script and import any necessary dependencies.</li></ol><h3 id="how-does-it-work">How does it work?</h3><p>The Twitter API for Python is used to scan new tweets for keywords like &#x201C;RT to win&#x201D; every 10 seconds (to adhere to Twitter&#x2019;s request limits), and are added to a queue.</p><pre><code class="language-python">r = api.request(&apos;search/tweets&apos;, {&apos;q&apos;:&apos;RT to win&apos;, &apos;since_id&apos;:last_twitter_id}) for item in r: if item[&apos;retweet_count&apos;] &gt; 0: post_list.append(item)</code></pre><p>Then, every 5 seconds, the first item in the queue is re-tweeted. The content of the post is analyzed to figure out whether it is required to be favourited, or for the author to be followed.</p><pre><code class="language-python">if len(post_list) &gt; 0: post = post_list[0] CheckForFollowRequest(post) CheckForFavoriteRequest(post) api.request(&apos;statuses/retweet/:&apos; + str(post[&apos;id&apos;]))</code></pre><h3 id="where-can-i-find-this-bot">Where can I find this bot?</h3><figure class="kg-card kg-embed-card"><iframe src="https://ghbtns.com/github-btn.html?user=kurozael&amp;repo=twitter-contest-bot&amp;type=fork&amp;count=true&amp;size=large" width="158px" height="30px" frameborder="0" scrolling="0"></iframe></figure><blockquote><em>This bot is written purely for educational purposes. I hold no liability for what you do with this bot or what happens to you by using this bot. Abusing this bot can get you banned from Twitter, so make sure to read up on <a href="https://support.twitter.com/articles/76915-automation-rules-and-best-practices">proper usage</a> of the Twitter API.</em></blockquote><p>If you&#x2019;re interested in checking out the source code, you can <a href="https://github.com/kurozael/twitter-contest-bot">find it over at the twitter-contest-bot repository on GitHub</a>. From the time of this posting it has been Starred by users 53 times and Forked over 25 times. Two GitHub users have already contributed to it through pull-requests and I expect more will probably do the same.</p><p>Yesterday night I received an e-mail from GitHub user <a href="https://github.com/raulrene">raulrene</a>, he was letting me know that he too had created a similar bot (coded with JavaScript) in response to the news. <a href="https://github.com/raulrene/Twitter-ContestJS-bot">You can find his bot here</a>. I have sinced included a link to it under the Alternatives section of <em>twitter-contest-bot/README.md</em>, and he has done the same.</p><p>I posted a <a href="https://www.reddit.com/r/technology/comments/3gpqyo/i_built_a_twitter_bot_that_enteredand_won1000/cu0efaz">link to the bot on Reddit</a> in response to a post about Hunter&#x2019;s bot; it very quickly received over 300 upvotes from users, and garnered way more attention I thought it would. R.I.P. my inbox.</p><p><em>In conclusion, Python is cooler than I thought and writing bots is pretty fun.</em></p>]]></content:encoded></item><item><title><![CDATA[Ethereum.org - Future of the Web]]></title><description><![CDATA[<h3 id="ethereum-what-s-that">Ethereum, what&#x2019;s that?</h3><p>If you haven&#x2019;t heard of <a href="http://ethereum.org/">Ethereum</a> you should certainly <a href="http://ethereum.org/">check it out</a>. I followed the Bitcoin movement from it&#x2019;s humbled beginnings, but unfortunately didn&#x2019;t invest too much into BTC (otherwise I&#x2019;d be rich.)</p><p>Ethereum, powered by the</p>]]></description><link>https://kurozael.com/ethereum-org-future-of-the-web/</link><guid isPermaLink="false">63d796b66206e117d4885e30</guid><category><![CDATA[technology]]></category><category><![CDATA[cryptocurrency]]></category><dc:creator><![CDATA[conna]]></dc:creator><pubDate>Sun, 09 Aug 2015 14:21:00 GMT</pubDate><content:encoded><![CDATA[<h3 id="ethereum-what-s-that">Ethereum, what&#x2019;s that?</h3><p>If you haven&#x2019;t heard of <a href="http://ethereum.org/">Ethereum</a> you should certainly <a href="http://ethereum.org/">check it out</a>. I followed the Bitcoin movement from it&#x2019;s humbled beginnings, but unfortunately didn&#x2019;t invest too much into BTC (otherwise I&#x2019;d be rich.)</p><p>Ethereum, powered by the altcoin<em> Ether</em>, is a decentralized platform for the creation of <em>Dapps.</em> It&#x2019;s like Bitcoin in the way that it is a distributed, encrypted, peer-to-peer system that runs on a <a href="https://en.wikipedia.org/wiki/Block_chain_%28database%29">block chain</a>.</p><h3 id="what-are-dapps">What are Dapps?</h3><p>Dapps are essentially a decentralized application &#x2013; or <em>Contract</em> &#x2013; that uses peer-to-peer networking and a block chain to stay alive and run, with their output verified by each node. This is great because Dapps can be used as a method for various trust-less systems, such as but certainly not limited to: electronic voting, autonomous democratic socities, or Kickstarter style crowd-funding of projects with no central authority.</p><h3 id="why-does-this-matter">Why does this matter?</h3><p><a href="http://www.coindesk.com/ibm-reveals-proof-concept-blockchain-powered-internet-things/">Huge companies and experts in cryptography are collaborating</a> to build the infrastructure paving the way toward the <a href="https://en.wikipedia.org/wiki/Internet_of_Things">Internet-of-Things</a>, and Ethereum is a contender for part of the systems involved in its development.</p><p>If we&#x2019;re going to move toward a world where everything is connected, it needs to be a world where everything is connected to each other, and not to a centralized network that routes information to and from each device. Why? <em>Trust.</em> If 26 billion devices are routing communication through a central server, each device, and <em>more importantly</em>, each human must trust that authority with their data, and to relay the correct information.</p><p>As we&#x2019;ve seen <a href="https://en.wikipedia.org/wiki/Financial_crisis_of_2007%E2%80%9308">countless times</a> over the last decade or so, central authority <em><a href="http://www.theguardian.com/us-news/the-nsa-files">cannot be blindly trusted</a>. </em>If we as a society, and as a species, are going to move forward; we have to develop a system to remove this trust altogether.</p><p>&#x201C;According to <a href="https://en.wikipedia.org/wiki/Gartner">Gartner, Inc.</a> (a technology research and advisory corporation), there will be nearly 26 billion devices on the Internet of Things by 2020.&#x201D; [1]</p><h3 id="further-reading">Further reading</h3><p>If you&#x2019;re interesting in learning more about Ethereum, whether it&#x2019;s investing in Ether or development of Dapps, check out some of the links below:</p><ul><li><a href="https://dappsforbeginners.wordpress.com/">Dapps for beginners</a></li><li><a href="https://coinmarketcap.com/currencies/ethereum/">Ether market visualization</a></li><li><a href="https://coinmarketcap.com/currencies/ethereum/">Geth go-etherum repository</a></li><li><a href="https://kiwiirc.com/client/chat.freenode.net/#ethereum">#ethereum on Freenode</a></li><li><a href="https://coinmarketcap.com/currencies/ethereum/">Ethereum.org</a></li></ul><h3 id="references">References</h3><ul><li>[1] <a href="http://www.gartner.com/newsroom/id/2636073">http://www.gartner.com/newsroom/id/2636073</a></li></ul>]]></content:encoded></item><item><title><![CDATA[Codekiddy]]></title><description><![CDATA[<p>I know I haven&#x2019;t written a blog post in a while&#x2026; so I&#x2019;ve recently made an addition to my calendar to try and write at least one a week, so here goes.</p><p>A few months ago I was browsing through some archived folders on my</p>]]></description><link>https://kurozael.com/codekiddy/</link><guid isPermaLink="false">63d796b66206e117d4885e2f</guid><category><![CDATA[programming]]></category><dc:creator><![CDATA[conna]]></dc:creator><pubDate>Tue, 04 Mar 2014 16:20:00 GMT</pubDate><content:encoded><![CDATA[<p>I know I haven&#x2019;t written a blog post in a while&#x2026; so I&#x2019;ve recently made an addition to my calendar to try and write at least one a week, so here goes.</p><p>A few months ago I was browsing through some archived folders on my development machine and came across some old projects that I&#x2019;ve worked on over the years. Unfortunately I don&#x2019;t often get time to work on personal projects that much anymore, and struggle to get any work done on <a href="https://cloudsixteen.com/">Clockwork</a>, but I&#x2019;d really like to start open-sourcing some of these projects.</p><p>When I say a few months ago, I actually mean about 7; time goes extremely fast when you&#x2019;re trying to get on with life, most of the time I don&#x2019;t even realize it.</p><h2 id="codekiddy"><a href="https://github.com/kurozael/codekiddy">Codekiddy</a></h2><p>Codekiddy is a game engine I started making a few years ago for a course at University. It&#x2019;s a nifty little engine written in C++, using a library called <a href="http://www.clanlib.org/">ClanLib</a>. ClanLib isn&#x2019;t so bad, it&#x2019;s mostly cross-platform (although at this stage Codekiddy isn&#x2019;t) and is really easy to use.</p><h3 id="what-s-cool-about-codekiddy">What&#x2019;s cool about Codekiddy?</h3><p>When I made Codekiddy (originally called Sidelined &#x2013; a prototype game I was working on with a few friends before it all went downhill), I wanted it to be easy to mod. What better what to make something moddable than to implement <a href="http://lua.org/">Lua </a>bindings, right?</p><ul><li>Codekiddy uses Lua bindings for pretty much anything. It&#x2019;s possible to create an entire game using the engine just from the bindings provided.</li><li>Codekiddy is pretty poorly documented (some text files in the project, I&#x2019;d like to expand this documentation one day.)</li><li>LuaJIT is used to speed up Lua at run-time and works pretty well.</li><li>Includes a fully functional UI library written in Lua.</li><li>Loads content from an archived file, but content inside can be overriden by being placed in the distributed directory.</li><li>Includes a fully functional level editor with levels saved as <a href="http://en.wikipedia.org/wiki/JSON">JSON</a> files (plus the ability to include a .lua script that runs specifically for that level.)</li><li>State system: MenuState, PlayState, etc.</li><li>Built-in Console (written in .lua, too, so fully customizable!)</li><li>Box2D physics, and entity management including base classes.</li><li>Built-in dynamic lighting system made by porting over <a href="http://code.google.com/p/box2dlights/">box2dlights </a>from Java to Lua.</li><li>Material system with material meta data in the form of custom .cmf files.</li></ul><p>The only thing missing that I haven&#x2019;t open-sourced yet is a fully working example game. <a href="https://kurozael.com/pickford-bros/">I&#x2019;ve actually made a couple</a>, but I&#x2019;m just trying to tidy one of them up to open-source as soon as I can.</p><p>And because <a href="https://kurozael.com/git-version-control/">I love Git so much</a>, <a href="https://github.com/kurozael/codekiddy">Codekiddy</a> it&#x2019;s freely available on GitHub. Contribute or fork as you please!</p><p>That&#x2019;s all from me today, hopefully I&#x2019;ll write another blog post next week, thanks guys.</p>]]></content:encoded></item><item><title><![CDATA[Git Version Control]]></title><description><![CDATA[<p>I&#x2019;ve never really collaborated with somebody else on a project before; I&#x2019;ve always been a rather independent programmer, but Git has made development a breeze.For those of you living under a rock, and are unfamiliar with it; Git is a fast, powerful, and easy to</p>]]></description><link>https://kurozael.com/git-version-control/</link><guid isPermaLink="false">63d796b66206e117d4885e2c</guid><category><![CDATA[technology]]></category><category><![CDATA[programming]]></category><dc:creator><![CDATA[conna]]></dc:creator><pubDate>Wed, 01 Feb 2012 16:02:00 GMT</pubDate><content:encoded><![CDATA[<p>I&#x2019;ve never really collaborated with somebody else on a project before; I&#x2019;ve always been a rather independent programmer, but Git has made development a breeze.For those of you living under a rock, and are unfamiliar with it; Git is a fast, powerful, and easy to use <a href="http://en.wikipedia.org/wiki/Distributed_revision_control" rel="noopener">distributed revision control</a> system. It was created by the face behind the open-source Linux initiative, <a href="http://en.wikipedia.org/wiki/Linus_Torvalds" rel="noopener">Linus Torvalds</a>.Once you&#x2019;ve set up a Git repository for your project, the basic principle of Git is this:</p><ol><li>Programmer A edits a file from a local clone of the repository on his/her system.</li><li>When Programmer A has finished implementing Feature A or fixing Bug A, they &#x201C;Commit&#x201D; to their changes; a note can be added describing what they&#x2019;ve changed, added, or removed.</li><li>It would be wise at this point for Programmer A to &#x201C;Pull&#x201D; any changes to the remote repository; any alterations made will be cleverly merged.</li><li>When Programmer A so desires, he or she can then &#x201C;Push&#x201D; the changes to the remote repository.</li><li>Programmer B will receive these changes when he or she makes a &#x201C;Pull&#x201D;.</li></ol><p>There&#x2019;s way more to it than that, but that&#x2019;s the basic idea; Git is awesome and I much prefer it to <a href="http://en.wikipedia.org/wiki/Apache_Subversion" rel="noopener">Apache Subversion (SVN)</a>.</p><blockquote><strong>Linus Torvalds</strong><br>&#x201C;Intelligence is the ability to avoid doing work, yet getting the work done.&#x201D;</blockquote>]]></content:encoded></item></channel></rss>