<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Minousoft Software &#187; Programming</title>
	<atom:link href="http://www.minousoft.com/category/software/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.minousoft.com</link>
	<description>Software Development</description>
	<lastBuildDate>Wed, 09 Jun 2010 01:45:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Polaris: Current development progress</title>
		<link>http://www.minousoft.com/2009/08/polaris-current-development-progress/</link>
		<comments>http://www.minousoft.com/2009/08/polaris-current-development-progress/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 20:13:49 +0000</pubDate>
		<dc:creator>oakwhiz</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[Polaris]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.minousoft.com/?p=301</guid>
		<description><![CDATA[<p>A lot of people have been asking about Polaris lately, so I&#8217;m going to clarify what is happening and what needs to be done.</p>
<p>Current status:</p>

Design:

Physics:

Gameplay/mechanics:

Optimization:

Testing:

Overall:


<p>Notes:</p>

Design: I still have to clarify a couple of game design issues, and I have yet to even design the artificial intelligence. Many of the other game elements have already been [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of people have been asking about Polaris lately, so I&#8217;m going to clarify what is happening and what needs to be done.</p>
<p>Current status:</p>
<ul>
<li>Design:<br />
<img title="75" src="http://www.minousoft.com/cms/wp-content/uploads/2009/08/75.png" alt="75" width="102" height="15" /></li>
<li>Physics:<br />
<img src="http://www.minousoft.com/cms/wp-content/uploads/2009/08/90.png" alt="90" width="102" height="15" /></li>
<li>Gameplay/mechanics:<br />
<img src="http://www.minousoft.com/cms/wp-content/uploads/2009/08/40.png" alt="40" width="102" height="15" /></li>
<li>Optimization:<br />
<img src="http://www.minousoft.com/cms/wp-content/uploads/2009/08/40.png" alt="40" width="102" height="15" /></li>
<li>Testing:<br />
<img title="75" src="http://www.minousoft.com/cms/wp-content/uploads/2009/08/75.png" alt="75" width="102" height="15" /></li>
<li>Overall:<br />
<img src="http://www.minousoft.com/cms/wp-content/uploads/2009/08/50.png" alt="50" width="102" height="15" /></li>
</ul>
<p>Notes:</p>
<ul>
<li>Design: I still have to clarify a couple of game design issues, and I have yet to even design the artificial intelligence. Many of the other game elements have already been designed, however.</li>
<li>Physics: I spent a very large amount of time on the custom-made physics engine, and it seems to have paid off. Occasionally I will find a little glitch in the engine, but I don&#8217;t expect too many modifications in this area in the future.</li>
<li>Gameplay/mechanics: I need to work on the gameplay because at the moment, Polaris is just an engine. I also have to fix the bugged resource system, and create a better management interface for everything.</li>
<li>Optimization: Polaris hogs a huge amount of resources right now. It&#8217;s mostly in the CPU department, but occasional load occurs on the GPU.  My own aging PC struggles to keep the framerate up when many ships are created. I&#8217;m probably going to add more checking for objects that are too far away, and replace their calculations with faster, more granular approximations. Another idea is to actually freeze processing on objects that can be ignored. However, some progress has already been made with optimization; for example, objects in the game that are far away are not drawn, or things like small graphical effects which require extra CPU time are not drawn. Additionally, I found several ways to &#8216;recycle&#8217; some expensive physics calculations that were being called multiple times, which increased speed quite a bit.</li>
<li>Testing: Most of the features have been tested extensively, and debug interfaces have been added, so future additions to the code won&#8217;t take long to test thoroughly.</li>
<li>Overall: I&#8217;m halfway there, and it&#8217;s pretty much downhill from here.</li>
</ul>
<p><em>On a side note, I&#8217;d like to thank Chris Walden for his generous donation of $10!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.minousoft.com/2009/08/polaris-current-development-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minousoft on Twitter! (plus minor updates)</title>
		<link>http://www.minousoft.com/2009/06/minousoft-on-twitter-plus-minor-updates/</link>
		<comments>http://www.minousoft.com/2009/06/minousoft-on-twitter-plus-minor-updates/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 05:40:13 +0000</pubDate>
		<dc:creator>oakwhiz</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Offtopic]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[Polaris]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.minousoft.com/?p=290</guid>
		<description><![CDATA[<p>You can now follow Minousoft on Twitter. You&#8217;ll get the added benefit of receiving tweets when new posts are made!</p>
<p>Also, some minor updates&#8230;</p>

A couple of bugfixes have been made in Polaris. Not much progress has been happening with Polaris lately, and it looks like it&#8217;ll take a while before it&#8217;s ready for release.
I&#8217;ve been working [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.twitter.com/minousoft">You can now follow Minousoft on Twitter.</a> You&#8217;ll get the added benefit of receiving tweets when new posts are made!</p>
<p>Also, some minor updates&#8230;</p>
<ul>
<li>A couple of bugfixes have been made in Polaris. Not much progress has been happening with Polaris lately, and it looks like it&#8217;ll take a while before it&#8217;s ready for release.</li>
<li>I&#8217;ve been working on several &#8216;experimental&#8217; apps lately. I might post one up sometime soon.</li>
<li>Some previously unknown 404 and 403 errors on the site have been fixed.</li>
<li>The server software and hardware is being improved. No downtime is expected at all.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.minousoft.com/2009/06/minousoft-on-twitter-plus-minor-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Polaris &#8211; New game in development</title>
		<link>http://www.minousoft.com/2009/04/polaris-new-game-in-development/</link>
		<comments>http://www.minousoft.com/2009/04/polaris-new-game-in-development/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 18:36:42 +0000</pubDate>
		<dc:creator>oakwhiz</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[Polaris]]></category>
		<category><![CDATA[screenshots]]></category>

		<guid isPermaLink="false">http://www.minousoft.com/?p=237</guid>
		<description><![CDATA[<p>We&#8217;re working on a new game called Polaris, which will be a space travel simulator. Polaris will be my top development priority until June, when we expect to release a public beta. Note that I will probably spend less time improving the site until then.</p>
<p>The main goal of Polaris is to simulate the design ideas [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re working on a new game called Polaris, which will be a space travel simulator. Polaris will be my top development priority until June, when we expect to release a public beta. Note that I will probably spend less time improving the site until then.</p>
<p>The main goal of Polaris is to simulate the design ideas and processes that go into planning and launching space missions. We would also like to make Polaris both educational and fun at the same time.</p>
<p>Spacecraft in Polaris are constructed using a revolutionary modular approach. All spacecraft are comprised of small interconnected modules. Each module has its own functions and behavior, and works together with its neighbors. <span id="more-237"></span>A simple example would be a space probe. It could include a main computer, a communications dish, and a thruster. Each part would be a module, and they would be linked together with special dynamic constraints. The constraints ensure that the modules stay together, even if one of the modules rotates or moves away. If a constraint or one of a constraint&#8217;s constrained modules is destroyed, the other modules attached to the constraint will simply disconnect and float away. This allows for some dramatic explosions; i.e. as modules are destroyed, the other modules connected start to break off in chunks and collide with each other, leaving a trail of burning debris.</p>
<p>At this point in development, we have finished basic constraint operations, and I have succeeded in linking five modules and having them interact successfully. This compares to the old physics system, which had major bugs and collided with itself, usually with catastrophic results. But the new physics system is astounding. The individual modules, which move and collide normally, act as one object when a simple constraint object is created between them. Hopefully the rest of it will go smoothly.</p>
<p>The following tasks are on the priority to-do list:</p>
<ol>
<li>Make multiple-object rotation more realistic. This is when multiple constrained modules have a spinning force and moving force acting on all of the modules at once. Right now it works (mostly) but acts a little odd.</li>
<li>Improve force propagation. This is when a force on one constrained object causes a force on the other. This should scale automatically to situations when one module is the master to several other constrained modules.</li>
<li>Create and test thruster capabilities.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.minousoft.com/2009/04/polaris-new-game-in-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sporkbomb</title>
		<link>http://www.minousoft.com/2009/03/sporkbomb/</link>
		<comments>http://www.minousoft.com/2009/03/sporkbomb/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 05:08:49 +0000</pubDate>
		<dc:creator>oakwhiz</dc:creator>
				<category><![CDATA[Offtopic]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://www.minousoft.com/?p=188</guid>
		<description><![CDATA[<p>This just in: hxhl95 reports that Sporkbomb B somehow managed to corrupt the MFT (master file table) and boot records on his PC&#8217;s hard drive. Don&#8217;t try this at home.</p>
<p>Yesterday, I was a bit bored and decided to make a Windows forkbomb.</p>
Definition: forkbomb&#187; 
<p>WARNING: DO NOT ATTEMPT TO RUN ANY OF THE CODE EXAMPLES PRESENTED [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>This just in:</strong> hxhl95 reports that Sporkbomb B somehow managed to corrupt the MFT (master file table) and boot records on his PC&#8217;s hard drive. Don&#8217;t try this at home.</p></blockquote>
<p>Yesterday, I was a bit bored and decided to make a Windows forkbomb.</p>
<a href="javascript:;" class="hackadelic-sliderButton"onclick="toggleSlider('#hackadelic-sliderPanel-4')" title="click to expand/collapse slider Definition: forkbomb">Definition: forkbomb&raquo;</a> <span class="hackadelic-sliderPanel concealed" id="hackadelic-sliderPanel-4"></span>
<p><b>WARNING: DO NOT ATTEMPT TO RUN ANY OF THE CODE EXAMPLES PRESENTED IN THIS ARTICLE.<br />
<font size="+2">REALLY! DON&#8217;T TRY THIS AT HOME.</font><br />
WE TAKE NO RESPONSIBILITY FOR YOUR ACTIONS.</b></p>
<p><span id="more-188"></span></p>
<p>That said, here&#8217;s the code for Sporkbomb A:<br />
<a href="javascript:;" class="hackadelic-sliderButton"onclick="toggleSlider('#hackadelic-sliderPanel-5')" title="click to expand/collapse slider Sporkbomb A">Sporkbomb A&raquo;</a> <span class="hackadelic-sliderPanel concealed" id="hackadelic-sliderPanel-5"></span><br />
Sporkbomb A has randomization to make it more fun to watch. You can try to kill the processes and watch as they come back.</p>
<p>Here&#8217;s the code for Sporkbomb B:<br />
<a href="javascript:;" class="hackadelic-sliderButton"onclick="toggleSlider('#hackadelic-sliderPanel-6')" title="click to expand/collapse slider Sporkbomb B">Sporkbomb B&raquo;</a> <span class="hackadelic-sliderPanel concealed" id="hackadelic-sliderPanel-6"></span><br />
Sporkbomb B is highly dangerous and can crash your system instantly. DO NOT RUN IT.</p>
<p>Post your forkbomb modifications here. We want to see them!</p>
<div id="hackadelic-sliderNote-4" class="concealed"><p><br />
<blockquote>A fork bomb is a program that executes a form of DOS Attack. On a computer, it repeatedly forks (or creates new processes) until the computer crashes. All currently running programs may become unresponsive and become impossible to close.</p></blockquote>
<span style="display: block; margin-top: 3px; font-size: 7px"><a href="http://hackadelic.com/solutions/wordpress/sliding-notes" title="Powered by Hackadelic Sliding Notes 1.6.4">Powered by Hackadelic Sliding Notes 1.6.4</a></span></div><div id="hackadelic-sliderNote-5" class="concealed"><code>@echo off<br />
echo SPORKBOMB A: PROCESS START<br />
:loop<br />
IF %random% lss 30 %0|%0<br />
IF %random% lss 5 start %0<br />
goto loop</code><span style="display: block; margin-top: 3px; font-size: 7px"><a href="http://hackadelic.com/solutions/wordpress/sliding-notes" title="Powered by Hackadelic Sliding Notes 1.6.4">Powered by Hackadelic Sliding Notes 1.6.4</a></span></div><div id="hackadelic-sliderNote-6" class="concealed"><code>@echo off<br />
echo SPORKBOMB B: PROCESS START<br />
:loop<br />
start %0<br />
goto loop</code><span style="display: block; margin-top: 3px; font-size: 7px"><a href="http://hackadelic.com/solutions/wordpress/sliding-notes" title="Powered by Hackadelic Sliding Notes 1.6.4">Powered by Hackadelic Sliding Notes 1.6.4</a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.minousoft.com/2009/03/sporkbomb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NtSetSystemPowerState Documented</title>
		<link>http://www.minousoft.com/2009/03/ntsetsystempowerstate-documented/</link>
		<comments>http://www.minousoft.com/2009/03/ntsetsystempowerstate-documented/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 18:18:44 +0000</pubDate>
		<dc:creator>hxhl95</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[shutdown]]></category>

		<guid isPermaLink="false">http://www.minousoft.com/?p=126</guid>
		<description><![CDATA[<p>Deep inside the Windows kernel, there crawls many, many undocumented functions. With Microsoft&#8217;s secrecy, developers have only been able to document most of them, but not all.</p>
<p>There is one function, however, that has been known to exist but is not documented anywhere (or at least not in any source I&#8217;ve seen). That function is NtSetSystemPowerState. [...]]]></description>
			<content:encoded><![CDATA[<p>Deep inside the Windows kernel, there crawls many, many undocumented functions. With Microsoft&#8217;s secrecy, developers have only been able to document most of them, but not all.</p>
<p>There is one function, however, that has been known to exist but is not documented anywhere (or at least not in any source I&#8217;ve seen). That function is NtSetSystemPowerState. It&#8217;s known that NtShutdownSystem calls NtSetSystemPowerState at the very last stages of the Windows shutdown process after flushing all Registry hives, clearing the disc cache, etc. NtSetSystemPowerState is then responsible for <span id="more-126"></span>turning off all plug-and-pray devices and either telling the system to poweroff, reboot, sleep, or hibernate.</p>
<p>The formal definition of NtSetSystemPowerState is the following:<br />
<a href="javascript:;" class="hackadelic-sliderButton auto-expand"onclick="toggleSlider('#hackadelic-sliderPanel-8')" title="click to expand/collapse slider Code">Code&raquo;</a> <span class="hackadelic-sliderPanel concealed auto-expand" id="hackadelic-sliderPanel-8"></span></p>
<p>Note that on systems with NT4.0 or earlier, NtSetSystemPowerState does nothing, and only returns a STATUS_NOT_IMPLEMENTED message.</p>
<p>Both POWER_ACTION and SYSTEM_POWER_STATE are documented on msdn, while flags is simply the reason for shutdown, also documented on msdn.</p>
<p>To read more on how to call this function by using NTDLL.DLL, visit my article on CodeProject:<br />
<a href="http://www.codeproject.com/KB/winsdk/Windows_Shutdown.aspx">http://www.codeproject.com/KB/winsdk/Windows_Shutdown.aspx</a></p>
<div id="hackadelic-sliderNote-8" class="concealed"><code>NTSYSAPI<br />
NTSTATUS<br />
NTAPI<br />
NtSetSystemPowerState(<br />
IN POWER_ACTION SystemAction,<br />
IN SYSTEM_POWER_STATE MinSystemState,<br />
IN ULONG Flags); </code><span style="display: block; margin-top: 3px; font-size: 7px"><a href="http://hackadelic.com/solutions/wordpress/sliding-notes" title="Powered by Hackadelic Sliding Notes 1.6.4">Powered by Hackadelic Sliding Notes 1.6.4</a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.minousoft.com/2009/03/ntsetsystempowerstate-documented/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
