<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5534567376655441415</id><updated>2011-12-14T01:05:27.038-08:00</updated><category term='Bloggs'/><category term='open-source'/><category term='OOP344'/><title type='text'>CloudS' Open Sores Blog!</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-491133782661045733</id><published>2011-12-14T01:05:00.000-08:00</published><updated>2011-12-14T01:05:27.045-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Progress being shown with CubicVR.Octree.js, frustum issues arrising</title><content type='html'>So another day has gone by, I've managed to get the system culling objects, but not correctly. Having glanced through the AABB code and frustum code, I'd have to assume my issue right now is with the frustum, as the AABB code is giving consistent results. The frustum code has been reused from the old implementation (which I firmly now believe didn't actually work correctly, at least not in the latest build) and it seems to be the source of my trouble, I am considering simply writing a new one from scratch, shouldn't take more than half a day.&lt;br /&gt;At the moment, the system isn't actually even using the octree, instead using the isolated AABBs of each object to do its culling. I plan to make use of the octree, but not until I have it correctly culling at the AABB level, once that works, I know the frustum code is working correctly. &lt;br /&gt;I plan to get this completed within  the next few days, a week tops. But the fact that I haven't submitted anything for 0.4 yet is too pressing. I am going to be submitting this current build as my 0.4, I have gotten a fair bit done, so hopefully it will suffice. I really wish I had picked up this bug for my 0.3, everything would have sorted out much better. I will continue working on the bug and blogging about my progress each day, and with Humph's permission, update my 0.4 submission as I make progress. But for now, this is where I am marking my 0.4.&lt;br /&gt;Below will be a short list of what has been accomplished for my 0.4 as of the time of this blog being published:&lt;br /&gt;-Octree tests brought back to operational status&lt;br /&gt;-Old octree implementation stripped out (Frustum code salvaged)&lt;br /&gt;-New octree code added as module&lt;br /&gt;-Octree components tied into system (migration about 70% done)&lt;br /&gt;-Scene now culls scene objects using frustum and object level AABBs (frustum incorrect, causing unwanted culling)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-491133782661045733?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/491133782661045733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/progress-being-shown-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/491133782661045733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/491133782661045733'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/progress-being-shown-with.html' title='Progress being shown with CubicVR.Octree.js, frustum issues arrising'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-7213215864304338527</id><published>2011-12-13T01:29:00.000-08:00</published><updated>2011-12-13T01:31:48.837-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Incorrect expectations: Octree.js migration into CubicVR</title><content type='html'>As the title describes, my initial expectations about this migration were not accurate. I went into this with the expectations that the octree.js code had been coded towards use in CubicVR, but instead it seems to have been coded as a simple stand alone octree system, and at that, not a fully complete one. I am a little confused as to why they seem so interested in integrating this new octree system though it lacks much of the functionality of the current one. These are questions I am gonna have to ask them about tomorrow I guess.&lt;br /&gt;&lt;br /&gt;So far, the two sound things I think I've managed to accomplish has been bringing the old tests back to operable status (patch has already landed), and the migration of much of the math work in octree.js into the CubicVR.Math.js (scratching the redundant code). After that, I am really unsure whether or not I am going in the correct direction with this work. I am rather chaotically patching the new system into place, and have recently just got the octree "operational". I am unsure as of now if the octree is actually doing anything or is simply wasting cycles accomplishing nothing, but it was my goal for tonight to get the octree.html test running with the new system in place. This system implementation into the scene object just sits on top of all the old stuff, for simplicity for now, I plan on cleaning it out, but on the other hand, perhaps I should consider scrapping this whole bunch of code and starting from scratch with a better idea of what I am getting into....&lt;br /&gt;&lt;br /&gt;The biggest thing I have against scrapping what I have done is simply that my 0.4 for OSD600 was due days ago, and I still have nothing submitted. I'd really like to have this whole thing implemented, reviewed, and completed properly before submitting it as my 0.4, but for it to reach that status may take another week, especially considering I have exams this week. I am pretty much completely out of time, so perhaps a somewhat rickety implementation submitted tomorrow would be better than a correct implementation submitted in a week.... not sure, hopefully D. Humph can give me advice on this.&lt;br /&gt;&lt;br /&gt;If I were to scrap what I have, I'd think I'd take a more orderly approach to it, first tearing out all of the octree related stuff from the current build of CubicVR and getting it back to operable status again, then starting to add in the new implementation piece by piece on a more or less clean slate. SecretRobotron wasn't around today, so hopefully I can talk to him and ccliffe and see what they thing the best choice would be, and weigh that with my already late submission...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-7213215864304338527?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/7213215864304338527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/incorrect-expectations-octreejs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7213215864304338527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7213215864304338527'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/incorrect-expectations-octreejs.html' title='Incorrect expectations: Octree.js migration into CubicVR'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-8702376423443248962</id><published>2011-12-11T18:31:00.000-08:00</published><updated>2011-12-11T18:31:28.392-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>CubicVR Octree progess part 2</title><content type='html'>So the tests are working, the changes had to be made in the Scene object, not sure if the changes I made follow standards, but I simply added the variables to the local object (added this.) and the variables were no longer falling out of scope. This shouldn't cause too much of a problem since these variables are reset every render pass and are hooked into the Octree object, so it shouldn't conflict with anything else. I'll ask for a code review on the change when I make a pull request.&lt;br /&gt;Been analyzing how CubicVR uses its current octree implementation to see what I have to change and where. I was hoping their operations would line up a bit more seamlessly, but its gonna take some modding on both ends (the new octree system as well as many of the CubicVR source files) before I can get them working together correctly. I am hoping to have this finished up by the end of the night, the fact secretrobotron hasn't been on IRC today makes this a little more difficult as he would know the most about what can and cannot be changed in the new octree implementation, but I'll do what I can. If I change something I am not supposed to, hopefully it will be picked up during the code review. Obviously, with the tests now working, I should be able determine if everything is running correctly. I've already benchmarked the old implementation, and am hoping to see some improvements with the new one, if not, I hope to not see a drop in performance, as that would likely indicate I may have messed it up some.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-8702376423443248962?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/8702376423443248962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/cubicvr-octree-progess-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/8702376423443248962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/8702376423443248962'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/cubicvr-octree-progess-part-2.html' title='CubicVR Octree progess part 2'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-1372221679356491048</id><published>2011-12-11T09:42:00.000-08:00</published><updated>2011-12-11T09:42:19.260-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Progress on CubicVR octree migration</title><content type='html'>I was assigned &lt;a href="https://github.com/cjcliffe/CubicVR.js/issues/26"&gt;issue 26&lt;/a&gt; earlier in the week, which is about migrating a new octree system written by &lt;a href="https://github.com/secretrobotron"&gt;secretrobotron&lt;/a&gt; into CubicVR. &lt;br /&gt;I started out by testing that the current octree tests were working, so I could benchmark the current implementation and test and benchmark the new implementation to see that it has been implemented correctly. Unfortunately, almost all the tests were either partly or completely broken. I informed the people in the #paladin channel on Moznet, and I volunteered to get those working as well. This naturally pushed back my schedule, but there really wasn't a way around it.&lt;br /&gt;Thus far I've found one of the bugs, which fixes about half the tests, which was a function call that hadn't been updated to keep with the changes of the octree. The other breaking bug seems to be that a variable is falling out of scope, though I'm not sure why. Once these tests are fully functional again, I'll head to work on the actual migration again. &lt;br /&gt;On another note, the tests for Mouselock weren't added to the patch because they were not working correctly. I had done a test review for one of the tests, but no one noticed that there was a duplicate on the list (of 20 items) and that what I was working on had already been done, so that was a great waste of time. More work needs to be done on the test reviews, but I need to finish my work for CubicVR first. If there is still work to do when I'm done, I'll gladly help finish this out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-1372221679356491048?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/1372221679356491048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/progress-on-cubicvr-octree-migration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/1372221679356491048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/1372221679356491048'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/progress-on-cubicvr-octree-migration.html' title='Progress on CubicVR octree migration'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-3986510414835247323</id><published>2011-12-09T02:13:00.000-08:00</published><updated>2011-12-09T02:17:18.465-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Burning the midnight oil....</title><content type='html'>So, as I figured, the IRC channel came alive later in the night. I noticed no one had grabbed the test_syntheticMouseEvent test review and went underway. After making a series of changes, mostly stylistic and only a few that actually affected code, I configured it to work with the harness and it was ready for testing. rhung had been complaining that he was unable to get the tests to run correctly, so I pulled from his repo and attempted to run them, but it didn't work, not because it would fail, but because the tests would simply lockup and not proceed. Not sure as to why it is failing. Really I am writing this blog to pull myself away from issue for a minute while I try to think of what could be causing the problem...&lt;br /&gt;&lt;br /&gt;My posts often lack anything particularly helpful to the reader, so I'm just gonna list some tips I've either found or been given. Just to make this worth your time reading.&lt;br /&gt;&lt;br /&gt;1) Its always a good idea to keep your whitespace clean in your code, heres a few regex commands that can help keep your code nice and clean (mind you these are all for vim, but you should be able to translate most of them to other apps(ignore the %, thats vim only)):&lt;br /&gt;-Remove whitespace at the end of a line: %s/\s$//&lt;br /&gt;-Replace tabs with (2)spaces: %s/\t/  /g&lt;br /&gt;-Replace (2)spaces with tabs: %s/  /\t/g&lt;br /&gt;NOTE: These are obviously not made to be safe with string in your code, they will manipulate anything in the file&lt;br /&gt;&lt;br /&gt;2) Build tips for linux:&lt;br /&gt;-When using a make file use the  -j# argument to specify how many jobs this make uses, generally you should use the number of core your computer has plus one. So on a quad core computer it should look like: make -j5&lt;br /&gt;-For time consuming builds, screen can be a lifesaver. Screen is a linux utility you can use that will essentially make a virtual client, one that does not expire when you close your SSH connection. So you can start a build on a server, and leave it running, close your connection and come back to it later. I'll list the basic commands here, for more detail go &lt;a href="http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/"&gt;here&lt;/a&gt;. &lt;br /&gt;$ screen &lt;-- open a new virtual client&lt;br /&gt;(Once in a 'screen') Ctrl+a  d  &lt;-- detach from the screen&lt;br /&gt;$ screen -R &lt;--Reconnect with the screen&lt;br /&gt;NOTE: if you use screen twice instead of using -R, you will make a second client, and -R will no long work, you will need -r and specify the screen id&lt;br /&gt;&lt;br /&gt;Thats all the tips I can think of right now. Hope this helps someone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-3986510414835247323?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/3986510414835247323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/burning-midnight-oil.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/3986510414835247323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/3986510414835247323'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/burning-midnight-oil.html' title='Burning the midnight oil....'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-3356852607672338930</id><published>2011-12-08T13:31:00.000-08:00</published><updated>2011-12-08T13:31:57.425-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Freedom and confusion at the end of the day</title><content type='html'>Luckily I am now done all my work for other courses, so I can pretty much submit all my time to OSD, which I am pretty happy about. Things are moving around quite randomly with the mouselock implementation at the moment, making trying to contribute to it fairly difficult... NorthWind and myself have been trying to get a piece of work for the reviews for the past few hours, but have been unable to find anyone to give us a solid answer on how things are being distributed. The IRC channel has been surprisingly dead considering it is the end of the semester, perhaps not everyone is scrambling to finish work for other courses at the time. So for the time being, I'm avoiding working on it entirely, as I don't want to end up wasting my time or breaking someone else's work. I would have hoped it worked out like the test assignment did, that we all had a central point to contact (in the case of the test assignment, rhung) to figure out who was doing what and how things were supposed to flow together, but alas, no dice.&lt;br /&gt;&lt;br /&gt;Instead I am getting back to work on my involvement in the CubicVR project. I have been assigned the task of migrating an octree implementation into CubicVR and removing the current implementation. I am hoping to have this fully implemented and tested before next week, and have it land next week. Hopefully this will suffice for my 0.4 assignment. Luckily I already have a decent understanding of how octrees work, so the migration will hopefully be a piece of cake.&lt;br /&gt;&lt;br /&gt;If people start showing up and talking in the IRC channel at some point today, I am likely to redirect my efforts back to the mouselock, but until then, I'll put myself to work on CubicVR.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-3356852607672338930?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/3356852607672338930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/freedom-and-confusion-at-end-of-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/3356852607672338930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/3356852607672338930'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/12/freedom-and-confusion-at-end-of-day.html' title='Freedom and confusion at the end of the day'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-2790120381823013669</id><published>2011-11-26T03:44:00.000-08:00</published><updated>2011-11-26T03:44:54.539-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>0.3 material testing system</title><content type='html'>I got all the common material types working into the testing system, and got the camera controls working so the materials could be more accurately checked. Not much else was added to the tester. I attempted to get another bug to work on, but the ones listed were either already taken or seemed like to large of bugs to pick up at this one. I'll leave ccliffe a message in hopes he can get me some more work to do. I feel the work done in this tester wasn't good enough to account for 0.3, so I guess my only option is to do an extra amount of work for 0.4 to make up for this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-2790120381823013669?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/2790120381823013669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/03-material-testing-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/2790120381823013669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/2790120381823013669'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/03-material-testing-system.html' title='0.3 material testing system'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-9205896818403852410</id><published>2011-11-24T00:06:00.000-08:00</published><updated>2011-11-24T00:06:32.908-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Getting 0.3 caught up</title><content type='html'>Ya know, as a programmer, being separated from your computer, and thus your ability to work, for several days can make you feel awful helpless... but thats neither here nor there.&lt;br /&gt;&lt;br /&gt;Still working on 0.3 as of now, though it was due a few days ago. Still trying to fix up the testing platform, though the tester and fix I made for 0.2 landed early last week. I want to get this tester to a point that I think it is actually worth while, capable of testing all the materials and with the ability to fine tweak the testing environment without actually changing code... So far I've changed the interface to better reflect how it will be controlled, added camera controls, and did some more research on the material system in CubicVR. I still have to get the materials all in and working, and I wanted to implement both an automation process and a environment dump into the testing platform, so I still got a day of work on it. This could have been done on time, yet my inability to remember to pack my laptop when I leave severely hampered it. &lt;br /&gt;&lt;br /&gt;Even when I get the tester done... I don't feel it will be enough for me to justify my 0.3, so I'll take a glance through the CubicVR bugs, and see if I can nab one that I can fix in a day and bundle that in with the tester as 0.3. I have become pretty familiar with the way CubicVR works that I can't imagine it will be difficult to finish. I guess I am hoping do a bit extra will excuse my tardiness. &lt;br /&gt;&lt;br /&gt;As a cool side note, the Doom 3 source code was released. I am pretty excited to get a chance to dig through it, see if I can find any patterns or conventions use that I can learn from and adopt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-9205896818403852410?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/9205896818403852410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/getting-03-caught-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/9205896818403852410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/9205896818403852410'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/getting-03-caught-up.html' title='Getting 0.3 caught up'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-5198180837628897341</id><published>2011-11-14T20:05:00.000-08:00</published><updated>2011-11-14T20:18:45.455-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Mouse controls in Firefox: Going from the ground up</title><content type='html'>So we were tasked with trying to find some way of manipulating the mouse controlling code for the Firefox browser. For those who haven't seen it before, the Firefox code base is massive, so randomly choosing where to start will likely leave you stranded with no way to find what your looking for. It is in your best interest to start from something you are already familiar with and move from there. Even in foreign code, there will be many overlapping tools or code bases you are likely to already be familiar with. So I started from the lowest level I could find, simply because I am most comfortable and knowledgeable there, which in this case was the Windows API.&lt;br /&gt;&lt;br /&gt;So I went into this thinking two things: &lt;ul&gt;&lt;li&gt;I am trying to find where the browser gets the mouse data so I can manipulate it&lt;/li&gt;&lt;li&gt;This build is compiled on Windows, so it needs to talk to the Windows API to get hardware input&lt;/li&gt;&lt;/ul&gt;So this left me with an easy opening, I'd simply search through the code base looking for Windows API input based function calls, and that would narrow down my search to a few files. It did, leading me to the \widget\src\windows\ folder. From there I found nsWindow.h and nsWindow.cpp; after glancing through the .h file, I knew I was looking for things that modified the sLastMousePoint variable. With a quick flip through the CPP file, I found where it was initialized, and where it was updated, the DispatchMouseEvent function. Having had the needed information passed in by the function, I glanced down to find the GET_Y_LPARAM functions that set the event pointer position which later altered the sLastMousePoint variable. Knowing I had found the entry point for the mouse information, I simply swapped the X and Y values for the mouse and tested it. As expected, the browser now though the movement on the X was on the Y and vice versa. With that working, I called it a day, I now knew where the raw mouse information was injected from the OS.&lt;br /&gt;&lt;br /&gt;If anyone wants more information on this, comment and I'll post an updated post with more explanation.&lt;br /&gt;&lt;br /&gt;**Update** - If my previous explanation was too wordy, here is a simple code sample.&lt;br /&gt;&lt;br /&gt;mozilla-central\widget\src\windows\nsWindows.cpp&lt;br /&gt;&lt;font color="gray"&gt;&lt;br /&gt;bool nsWindow::DispatchMouseEvent(PRUint32 aEventType, WPARAM wParam,LPARAM lParam, bool aIsContextMenuKey,PRInt16 aButton, PRUint16 aInputSource)&lt;br /&gt;{&lt;br /&gt;  bool result = false;&lt;br /&gt;  UserActivity();&lt;br /&gt;   &lt;br /&gt;&lt;font color="green"&gt;...&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  nsIntPoint eventPoint;&lt;br /&gt;&lt;font color="red"&gt;&lt;br /&gt;  eventPoint.x = GET_Y_LPARAM(lParam);&lt;br /&gt;  eventPoint.y = GET_X_LPARAM(lParam);&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;  nsMouseEvent event(true, aEventType, this, nsMouseEvent::eReal,aIsContextMenuKey&lt;br /&gt;                     ? nsMouseEvent::eContextMenuKey : nsMouseEvent::eNormal);&lt;br /&gt;&lt;font color="green"&gt;...&lt;/font&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-5198180837628897341?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/5198180837628897341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/mouse-controls-in-firefox-going-from.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/5198180837628897341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/5198180837628897341'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/mouse-controls-in-firefox-going-from.html' title='Mouse controls in Firefox: Going from the ground up'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-1593445195257587166</id><published>2011-11-14T13:21:00.000-08:00</published><updated>2011-11-14T13:21:45.064-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Javascript: The language everyone wishes it wasn't</title><content type='html'>Having just gotten to watching the Crockford videos (well, 2 of 5 so far) due to the video's intimidating length (~7.5 hours in total), I'll say its definitely interesting and worth viewing. If you haven't yet seen them, they are easy to find on youtube (yahoo theater versions seem to have been moved or taken down). &lt;br /&gt;&lt;br /&gt;The first part about the history of programing was quite interesting, but fairly inconsequential and can be skipped if you want to save yourself an hour and a half of time. It can be found &lt;a href="http://www.youtube.com/watch?v=JxAXlJEmNMg"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The second part really starts getting into the workings of javascript and its relationship to the browser. Crockford outlines many advantages and disadvantages to javascript, almost all of which I already knew, but he also outlined the ES5 standard, which had many awesome things that I think javascript sorely needed. The video can be found &lt;a href="http://www.youtube.com/watch?v=RO1Wnu-xKoY"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Of the pros he discussed, the only thing that particularly sticks out is the sheer dynamism of the language, mostly given to it through its use of prototypical inheritance. This dynamism allows for a program to undergo a drastic change in structure or scope with less tedious refactoring involved when compared to other languages. &lt;br /&gt;&lt;br /&gt;Of the cons he discussed, they all seem to stem from a simple lack of forethought on the part of the language's developers. Many of the issues came from the developers trying to make the language accessible to beginners, while they did manage to succeed in this, it resulted in many pitfalls that still plague the language today. One that stuck out to me was the NaN variable, as I didn't know that NaN does not equal NaN and that NaN is subsequently toxic to all numeric operations there after that use the NaN. Seems like a fairly useless implementation; I recall Objective C (terrible language btw...) having a similar situation with NaN, but I am unsure if NaN didn't equal NaN in that language. &lt;br /&gt;&lt;br /&gt;The part I found most interesting was the new things that were being introduced in the ES5 standard. I was unaware of this functionality, but much of it seems very useful and would address many of the problems I have with javascript. A short document on the ES5 changes can be found &lt;a href="http://whereswalden.com/files/mozilla/es5-lightning/"&gt;here&lt;/a&gt;. These changes seem to primarily introduce ways to give greater control over the objects you create and use in javascript, giving you the ability to more rigidly and accurately structure your objects which in turn allows you to more accurately structure your scripts. I am not sure as of right now how widely supported these are across all the browsers out there, but I would hope that it is a fully supported standard by now, as I would like make use of these features in my future scripts. &lt;br /&gt;&lt;br /&gt;I'm gonna finish this out by expressing an opinion I've had about javascript for sometime now... What holds javascript back is its attempt to be accessible and easy to learn. This is great for beginners but will seriously hold back the development of a more complex and intricate system that requires a large complicated infrastructure and mass resources to work. I think it may be in the interest of developers to create a new language, keep javascript around for compatibility and for beginners to code on, but give us the option of a cleaner, more robust language that we can work on for larger, more complicated systems that run in the browser. If the browser really is the future platform, the thing we are heading towards for all of our entertainment and media like some suggest, then a better implemented language is a must, because it will take far too long to improve and restructure javascript as to where it is the language we all need it to be.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-1593445195257587166?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/1593445195257587166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/javascript-language-everyone-wishes-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/1593445195257587166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/1593445195257587166'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/javascript-language-everyone-wishes-it.html' title='Javascript: The language everyone wishes it wasn&apos;t'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-28035782700882361</id><published>2011-11-12T16:03:00.000-08:00</published><updated>2011-11-12T16:03:33.175-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Using git and setting up my git server</title><content type='html'>Having used git for a few months now, I seem to have become fairly comfortable with it and have started implementing it into other projects that I have on the run. Really, with the exception of some initial start-up processes it can really be used as nothing more than a simply SVN server, so people familiar with SVN shouldn't have much of a problem operating git at a basic level. From this basic level, the users can slowly start unwrapping the layers of functionality within git. It doesn't seem to be too different from mercurial, I've heard some argue that git has a better branching system but I have heard opposing arguments that git lacks some of the utility that mercurial offers.&lt;br /&gt; &lt;br /&gt;One con of git that I have noticed is that due to the way git works, simply making copies and copies of data as it branches and whatnot, it makes it inviable to keep binary resources(images, models, etc) grouped in with source code. If a project were to ever become large are well distributed, the sheer disk space usage that these resources would incur would very quickly spin out of control. I suppose this isn't too much of an issue, as it is probably good practice to keep your resources separate from your repo system anyways, instead using a more specialized solution to distribute a program's binary resources. &lt;br /&gt;&lt;br /&gt;I recently got a git server running on my own personal server using gitosis. It was surprisingly difficult to get running, but this likely has a lot more to do with the fact that git server software are not usually built to run on Windows Server 2008 and are instead meant to run on Linux based system. Though through the use of cygwin and a few hours of tweaking I got a private git server running. If anyone is interested in having a place to privately store your code (as opposed to github which public unless you wanna drop like $8/month), you could set up your own git server running on your desktop or, once I get the security tightened up and tested on my server, I may be willing to give people accounts on my server so they may have access to a git repo that is unaccessible by the public.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-28035782700882361?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/28035782700882361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/using-git-and-setting-up-my-git-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/28035782700882361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/28035782700882361'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/using-git-and-setting-up-my-git-server.html' title='Using git and setting up my git server'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-7475594763410538659</id><published>2011-11-11T17:05:00.000-08:00</published><updated>2011-11-11T21:14:30.522-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Building Firefox in debug</title><content type='html'>So, I have recently attempted to build firefox in debug mode on windows. Having follow the instructions posted &lt;a href="https://developer.mozilla.org/En/Simple_Firefox_build"&gt;here&lt;/a&gt; after having downloaded all files from the git repository. Things were moving smoothly until I attempted to execute the make process, in which case it displayed the following error: &lt;br /&gt;client.mk:121: *** This source tree appears to have Windows-style line endings. To convert it to Unix-style line endings, run "python mozilla/build/win32/mozilla-dos2unix.py".  Stop.&lt;br /&gt;&lt;br /&gt;I ran the python script it suggested, and after processing it, I re-ran the make process, but it continued to fail with the same error. I have looked up some in information on this problem, some have indicated that I have to set a option when I pull from the repository... I have yet to test this but I will update this when I have successfully completed the make process and share my findings.&lt;br /&gt;&lt;br /&gt;**UPDATE** - So, found out why those errors were coming up, funny because I believe David Humphrey mentioned this in class (or someone did) but I didn't understand the context of what he was talking about. The problem is that git wasn't configured to deal with windows line endings correctly, so by entering the following command:&lt;br /&gt;git config –global core.autocrlf false &lt;br /&gt;&lt;br /&gt;and re-cloning the repo, this issue should be fixed.&lt;br /&gt;&lt;br /&gt;**UPDATE** - So, took a while but it finally finished building. When I go to run it, for some reason it opens up my normal firefox application instead of the nightly build, but I'll figure that out tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-7475594763410538659?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/7475594763410538659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/building-firefox-in-debug.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7475594763410538659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7475594763410538659'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/11/building-firefox-in-debug.html' title='Building Firefox in debug'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-6690637186843468012</id><published>2011-10-30T14:49:00.000-07:00</published><updated>2011-10-30T14:49:33.346-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>CubicVR Issue 30 - 0.2 Tester</title><content type='html'>So I finished the first run through of the material tester. I decided to develop more of a testing platform instead of a simple tester for materials, allowing the user to use and tweak the settings of the tester on the fly. I only managed to incorporate three basic material types into the tester, but the basic lighting and and dynamic object creation component seems to work. I plan on hopefully having this tester finished by 0.3, working with all materials and all lights, as well as other things that may end up conflicting  in the system. It can be accessed here https://github.com/CloudScorpion/CubicVR.js/blob/issue30-dev/tests/material%20regen/Material%20Test.html&lt;br /&gt;&lt;br /&gt;The other issue I am working on is the dirty material issue. I couldn't figure out much else to do other than simply adding the dirty flag variable to the materials and incorporating it with my previous changes. It can be accessed here https://github.com/CloudScorpion/CubicVR.js/blob/issue30-dev/source/CubicVR.Material.js&lt;br /&gt;&lt;br /&gt;So that will hopefully suffice for 0.2. Hopefully I will have more time to sink into 0.3 than I did into 0.2 but only time will tell. I'm still unsure if I am supposed to submit this 0.2 somewhere, I haven't found anything about it on the wiki, hopefully I can contact David Humphry today to find where I can submit this stuff, if I even have to...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-6690637186843468012?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/6690637186843468012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/10/cubicvr-issue-30-02-tester.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/6690637186843468012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/6690637186843468012'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/10/cubicvr-issue-30-02-tester.html' title='CubicVR Issue 30 - 0.2 Tester'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-3207530251937551803</id><published>2011-10-28T13:26:00.000-07:00</published><updated>2011-10-28T13:26:44.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Getting back to things....</title><content type='html'>I've been working on a material testing system for the last while, in a hope to make a system with enough utility to do more than simply test one or two things at a time. I've also added the "dirty material" flag to all materials to my original bug, but I'm a bit confused on where else I can go with that bug, thus I have been concentrating on the test system.&lt;br /&gt;&lt;br /&gt;My time has been strung quite thin lately, dealing with tests and assignments from other classes and dealing with details pertaining to my other jobs, I haven't gotten to blog much lately, mostly because I haven't had time to dabble in OSD work at all, thus I'd have nothing to blog about. Hoping to finish this 0.2 tonight since I have another assignment due in a few days for another class.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-3207530251937551803?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/3207530251937551803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/10/getting-back-to-things.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/3207530251937551803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/3207530251937551803'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/10/getting-back-to-things.html' title='Getting back to things....'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-4342260468409568613</id><published>2011-09-29T22:18:00.000-07:00</published><updated>2011-09-29T22:18:41.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>CubicVR Issue #23 version 0.1 release</title><content type='html'>It took me some time to figure out how CubicVR works, but now I have a basic understanding of its workings and was able to create a 0.1 release that isn't completely worthless. The issue was that when a material was initialized with an opacity of 1.0, it could not because changed because the shader was already setup not to do alpha blending for performance reasons. Subsequently, material that started opaque could never change.&lt;br /&gt;&lt;br /&gt;My development proceeded in three steps. First, I created a tester page to recreate the bug so that I could test to see if my solutions had fixed it or not. This tester can be found &lt;a href="https://github.com/CloudScorpion/CubicVR.js/blob/issue23-dev/tests/material%20regen/Material%20Test.html"&gt;here&lt;/a&gt;. I simply displayed two boxes on screen with the camera spinning around it with controls at the top to adjust one of the box's material's opacity, which started at 1.0. This tester was partially based off of the Normal Mapping render tester that was already on the repo.&lt;br /&gt;&lt;br /&gt;The second step was a very simple fix by forcing all opaque objects to having blending on them. This fixed the issue but at a needless cost, so I had no intention of considering it an actual fix. &lt;br /&gt;&lt;br /&gt;The final step was the development of the fix submitted as the 0.1 release. This fix kept track of whether or not the material had blending enabled on it, while the system was rendering the materials if it came across a material with blending not enable and an opacity below 1.0, the shader would be cast aside and a new one generated on the spot. Its obviously not the best solution, but it seems to work well enough for the time being.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-4342260468409568613?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/4342260468409568613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/cubicvr-issue-23-version-01-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/4342260468409568613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/4342260468409568613'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/cubicvr-issue-23-version-01-release.html' title='CubicVR Issue #23 version 0.1 release'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-6958169797069956941</id><published>2011-09-29T21:17:00.000-07:00</published><updated>2011-09-29T21:18:01.638-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>CubicVR Material Bug</title><content type='html'>I have been suited with a material transparency bug for the CubicVR 3D graphics system. The problem seems to be that when a material is initialized with an opacity of 1.0, that it cannot be changed afterwards. It was mentioned that the material system might just as well benefit from some form of dirty flag that will force the material to be regenerated during the next cycle so that inconsistencies like this should not be an issue any longer. I had a fair bit of experience in 3D graphics (for about a year now) so I was also asked to look into another issue, which is to create an automated test suite for the all of the commonly used material types. If no one else ends up wanting to grab that one, I might take it on board as well. &lt;br /&gt;&lt;br /&gt;I have just recently completed a small test page that replicates this issue so it should make it easier to identify the state of my bug fix as I am developing it. It is a simple pair of boxes with the camera spinning around it and a control at the top of the page to allow you to change the transparency of one of the boxes, using the other box as a reference point. Its nothing spiffy but with it complete I am hoping I can have a rough bug fix ready before mid-night.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-6958169797069956941?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/6958169797069956941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/cubicvr-material-bug.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/6958169797069956941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/6958169797069956941'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/cubicvr-material-bug.html' title='CubicVR Material Bug'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-746646782848580558</id><published>2011-09-28T16:41:00.000-07:00</published><updated>2011-09-28T16:41:01.194-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>The Open Source Community Readings</title><content type='html'>The readings for week 2 were pretty interesting , both based around the same concept, the open source community, but both presented in different and interesting ways. Both of their concepts seemed to be tried to inspire the same thing, the motivate people into jumping into the open source community, because they David said, you are not going to be invited in. &lt;br /&gt;&lt;br /&gt;The most powerful idea they both seemed to be presenting was that, trying to wait and build up your skills before jumping into the open source community is a flawed approach, though one that is pretty  much the standard approach used elsewhere. They tried to emphasize that its OK to just jump in and absorb whats going on around you, its OK to try and fail. By simply taking part in any small part of the community, you are helping build the community, and even if what your attempting to do fails, you will learn enough not to make the same mistakes the next time and you will grow more integrated into the community. &lt;br /&gt;&lt;br /&gt;One thing that struck me about what Mike Beltzner said was that one of the most useful skills you will learn in the open source community is who you should listen to, and who you can safely ignore, and that you can probably safely ignore 80% of the those who are communicating in the community. This spurred a few conflicting thoughts in my head, while I would naturally completely agree with such a statement, that most talk is simply noise, it makes me wonder if that means in the open source community, if you are just entering the scene, does that mean your goal is to try and fight your way into the 20% margin of people worth listening to? Or is it OK to simply go ignored until you have done something worth listening to, though this sorta conflicts with the idea that you should just jump in and try....&lt;br /&gt;&lt;br /&gt;One last thought I had came from David's speech about the festivals. By simply going to the festival, does that really make you part of the community? Or are you simply there to utilize the fruits of the community's efforts? What I am trying to differentiate is the use of the community vs participating in the community. A festival doesn't come together the day of, it requires much planning and preparation, and by simply going to the festival doesn't make you a part of it. How do you make the transition from festival goer to actually participating in it? While I believe there is value in going and seeing and understanding the activities, the transition into actually becoming a part of it hasn't been well illustrated here...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-746646782848580558?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/746646782848580558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/open-source-community-readings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/746646782848580558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/746646782848580558'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/open-source-community-readings.html' title='The Open Source Community Readings'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-7668807775462699627</id><published>2011-09-27T13:18:00.000-07:00</published><updated>2011-09-27T13:18:12.355-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Open vs Closed Licenses</title><content type='html'>For this entry I have read the BSD license and the proprietary license for Skype. I will be illustrating 3 things about these licenses that stuck out to me below. &lt;br /&gt;&lt;br /&gt;The first thing that stuck out to me was their vastly differing sizes. The BSD license seems to be written in a broad, vague, all encompassing manner using very simple and easy to understand concepts to dictate the purpose of the license. It would seem that it is written this way to invite people to read, understand and use the license to its fullest. In contrast, the Skype license is very long, repetitive and very bloated, repetitively using long strings of synonyms to concretely dictate very simple ideas that could be written much more concisely. It seems the purpose of this tactic is so that consumers will not actually read these and simply agree to them, thus allowing them to sneak in sketchy terms that the user might otherwise not agree to. &lt;br /&gt;&lt;br /&gt;The second things that stuck out was not a difference between the licenses, but a similarity. Both licenses dictate that if the software somehow ends up causes any form of damages, that the copyright holders are not liable. With the BSD license, it pretty much flat out states that no matter what you can't go after the copyright holders for anything no matter what the software may end up damaging. The Skype license spends several paragraphs dictating what they are not liable for, but at no point flat out states that they are not at all liable for any damages as the BSD license does. Interestingly, the Skype license also spends a fair bit of time dictating what belongs to what company, presumably spreading around liabilities. &lt;br /&gt;&lt;br /&gt;The final thing that stuck out specifically about the Skype license is that they pretty much state that you don't own anything and that they can change anything as they will without notice. If you purchase a phone number from them, in the eula they state that you do not own it, that they can change it at any time and that you cannot transfer ownership to another person if you wish. It also states that any content you put up can be taken down for any reason at any time and they are not required to put it back up or return it to you. They also reserve the right to cancel your account at any time if they believe you have in anyway broken any agreements you agreed to, which can be changed at anytime and by simply continuing to use the product you agree to the amended terms. &lt;br /&gt;&lt;br /&gt;Those are what really stuck out to me about those licenses. One thing it makes me question is the viability of the BSD license in a business situation, because the use of it makes it impossible to hold the creators liable, making it hard to want to invest time/money into software could fail at any time and there would be no one liable for the possible damages or loss of data/time/money as a result of the failures....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-7668807775462699627?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/7668807775462699627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/open-vs-closed-licenses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7668807775462699627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7668807775462699627'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/open-vs-closed-licenses.html' title='Open vs Closed Licenses'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-6213925439550577375</id><published>2011-09-22T22:09:00.000-07:00</published><updated>2011-09-22T22:09:48.488-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>Sickness, recovery, and so many open sores...</title><content type='html'>I'll start with the obligatory yet meaningless reason as to why this is my first blog in some time; I got pretty sick last week and I really wasn't able to accomplish much of anything. I am finally catching up on my work now and though this post will be quite outdated and possibly meaningless, I'll write it anyways, gotta keep the spirit alive right?&lt;br /&gt;&lt;br /&gt;The readings put open source development is a slightly new light that I hadn't considered before. I have never been a huge supporter of open source development, not that I am particularly against it, but I am just not one to look at a proposed methodology and simply accept it as being a more correct or superior methodology without having given all other methods serious consideration. With that said, open source development does seem to have a very concrete and everlasting place in the software development world. Still I can't see it overtaking all aspect of software development, closed source development has just as concrete a future in the software world. &lt;br /&gt;&lt;br /&gt;The cathedral and bazaar paper illustrated where I think open source development really thrives, where people have a common issue they need solved. With Eric's example of his fetchmail project, he made it seem that he was able to muster up such an large number of people to assist him because they wanted to see the product work, they wanted the problems that they had fixed and that they just wanted to feel like they were contributing something useful. Though I have started noticing more and more that open source seems to be more like an intern program, something you do simply to be able to put it on a resume or to start making contacts and gaining experience, be it unpaid. But perhaps my views on this are clouded, on the tail end of college and only seeing this trend in my peers desperately clamoring for employment.&lt;br /&gt;&lt;br /&gt;There is one thing I find brilliant about the bazaar method, quite obviously its greatest strength, which is illustrated in Eric's version of Linus' Law; "that given enough eyeballs, all bugs are shallow". Any programmer knows that finding bugs and narrowing down their cause is likely to be your greatest source of wasted time when you are trying to develop something. Having your clients act as testers and developing rapid fixes for the bugs that arise is probably the best way to make the most out of your programmers time, allowing them to develop more things faster. But this does come with one risk, and that is of course taxing your clients patience, which is why the split distribution is such a good idea, having one stable and one unstable build, allowing the clients to revert to the stable versions if they simply want to work with the product without dealing with bugs.&lt;br /&gt;&lt;br /&gt;That about raps up my thoughts on these readings. One thing I did find funny about the people in the video was that, you would think that open source figures like them would be open and (to a degree) submissive but in fact they came across as very territorial, especially towards each other.&lt;br /&gt;&lt;br /&gt;As a last note, I filled in my wiki page with some basic information about myself, so if you want to know a bit more about me, check out http://zenit.senecac.on.ca/wiki/index.php/User:CloudScorpion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-6213925439550577375?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/6213925439550577375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/sickness-recovery-and-so-many-open.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/6213925439550577375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/6213925439550577375'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/sickness-recovery-and-so-many-open.html' title='Sickness, recovery, and so many open sores...'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-29628278156537285</id><published>2011-09-06T13:08:00.000-07:00</published><updated>2011-09-06T13:09:01.601-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open-source'/><title type='text'>OSD600 Blog</title><content type='html'>I am not really gonna say anything in this blog post, simply putting it in to make sure it works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-29628278156537285?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/29628278156537285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/osd600-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/29628278156537285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/29628278156537285'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2011/09/osd600-blog.html' title='OSD600 Blog'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-8794023222297273240</id><published>2009-12-19T09:34:00.000-08:00</published><updated>2009-12-19T10:43:02.176-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>OOP344 Assignment 2 Implementation</title><content type='html'>With exams done at last, I can finally take a minute to write about OOP344 A2. We have decided to build a text editor, which keeps getting more complex each time we talk about it. I am currently writing a word wrapping feature for the text editor, that is taking longer than expected but it should be done soon enough, I am just hoping that I don't hurt the team with this little tangent I decided to follow.&lt;br /&gt;The program is going to need a whole new batch of classes to work correctly, first the controller, which will actually control the program and will act as the programs root class, which will organize all the classes and access the programs menu manager, file manager, and settings classes, while containing all the forms and fields it requires. I am responsible for the controller, so that is my mess to figure out. The menu manager system controls the primary menu and holds a series of other menus and function pointers inside of it, so when a menu item is selected, it either displays another menu, or calls a function that will accomplish some task. This has already been completed by northWind, and he did it in such a way that adding, organizing and displaying menus is very simple, which makes my job of creating the controller a bit easier. The file manager allows the program to open, read, write and close files on the fly, this will allow the controller to access files more easily, this is being handled by Ausley. The settings will be a class of their own and this will allow a function based interface with all of the program settings, and quick access to all the setting variables, I think northWind wants to do this class as well. The rest of the work is still kinda up in the air, but we are planning on making specialized forms, a small button system, a highlighting system (which I plan on doing, if the dead line doesn't come up too quickly), copy, paste, ect. So, this is the plan, for everyone else planning on making a Text Editor program, see you at the finish line &gt;:-D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-8794023222297273240?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/8794023222297273240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/12/oop344-assignment-2-implementation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/8794023222297273240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/8794023222297273240'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/12/oop344-assignment-2-implementation.html' title='OOP344 Assignment 2 Implementation'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-3937203870578886660</id><published>2009-12-14T02:04:00.000-08:00</published><updated>2009-12-14T02:27:00.849-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>Onward into the shadows</title><content type='html'>Well, this is the last week... I just woke up from a great little sleep and now its time to get ready and study for my INT322 exam that is in 6 hours. My biggest advice to anyone reading this, is make damn sure you have a good night's sleep before an exam, I really messed up some of my other tests because I simply didn't allow myself time to sleep. I plan on going over my previous two INT tests and writing out the two pre-tests we were given in the tutorials to hopefully get my self set for INT, then all I got left is DBS and I am gone.&lt;br /&gt;I also wanted to post my opinions about the OOP344 exam here too. I have always hated the concept of a programming exam, essentially writing some small piece of junk code, in a short period of time. I have two methods of writing tests: take my time and write it correctly, but lose a bunch of marks at the end for questions I don't have time to answer, or write it quick and sloppy and finish all of the questions, but lose marks on questions answered incorrectly, often on purpose. I usually take the former method, but for the OOP344 exam I thought I'd try the latter, but it nearly killed me doing so, I intentionally wrote at least 3 questions completely wrong, simply because I knew I didn't have the time to write the whole thing out correctly, which is really infuriating, because I already know how it is supposed to be written, but I know my hands simply can't write fast enough to allow me to write it. For the save and load functions on the exam, I simply wrote something like 'f.write((char*)this, sizeof(queue);', I know how completely wrong this is, but I didn't have time to write it correctly. Exams should be short IMO, but w/e, its water under the bridge, or w/e that saying is.&lt;br /&gt;I am gonna end this off with the OOP344 assignment, which is gonna be worked on through out the holiday so by the time it is time to hand it in, we have something that is actually worth something, an actual working text editor. Lets see how it goes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-3937203870578886660?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/3937203870578886660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/12/onward-into-shadows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/3937203870578886660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/3937203870578886660'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/12/onward-into-shadows.html' title='Onward into the shadows'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-7059494996964917364</id><published>2009-12-09T16:50:00.000-08:00</published><updated>2009-12-09T17:25:04.638-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>The time of darkness draws near</title><content type='html'>So, the exam is in a few hours, and I just woke up from a beautiful 17 hours of sleep, and I am set and ready to do some last minute cramming.  I will explain my studying plans each day for the next few days so anyone who doesn't know where to start will have a good idea, mind you, this will include all of my classes, not just OOP.&lt;br /&gt;So, for tomorrow, I have SYS366 and OOP344, and I have a detailed plan already set. For SYS366, I will simply review my previous two tests, see what I did right and what I did wrong, then I will re-write it so that it matches what should be worth a perfect mark. That should take about two hours, and then I figure I am set for SYS366, for anyone reading this that thinks they need more help than that, I would also suggest checking out the slides and example models that Mary-Margaret Walton has posted on her class schedule.&lt;br /&gt;For OOP344, I will be looking at my previous tests, but since I got perfect on one and near perfect on the second, I won't spend much time on them, I will also re-read chunks of the Evan Weaver text and look over the quizzes, then I will assign myself random programming tasks on areas that I am not too confident in, and do my best to make complete and working examples of how that specific area works. This will likely add up to 5-6 hours of studying, Then I guess I am as ready as I am going to be.&lt;br /&gt;As a final note, with all that is going on, I want to stress the fact that everyone has to remember to do the INT322 assignment 2, do not forget, do not leave an inadequate amount of time for it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-7059494996964917364?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/7059494996964917364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/12/time-of-darkness-draws-near.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7059494996964917364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7059494996964917364'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/12/time-of-darkness-draws-near.html' title='The time of darkness draws near'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-8073651525992804448</id><published>2009-11-27T18:16:00.000-08:00</published><updated>2009-11-27T18:54:38.861-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>School is becoming a pain the in asterisk</title><content type='html'>The OOP344 Assignment 2 just seems to be getting bigger and bigger each time I look at it. My group plans to make a text editor, meaning there are a lot of things we are going to have to change to properly implement this thing. By the looks of it we will need a minimum of 5 new classes not specified on the wiki, and that will just give us a barely functioning text editor, with nothing fancy at all. I've already finished IO_Field and IO_Form for my group, now I am grinding through IO_TextEdit, which is taking me MUCH longer than expected, and its still not completely debugged. With each bug I find, it usually means an extra 5 - 10 lines of code, so by the end of this IO_TextEdit will easily be over 300 lines without comments, which is taxing to think about when the 'due date' is tomorrow. My group members are having problems with some of their tasks as well, which makes our outlook kinda bleak. But of course, I am sure we will get things running smoothly, I'm just saying a lesser group would be dead in the water by now. The week from hell starts tomorrow, test after test, assignment after assignment, coming next week, then exams, this semester went by WAY too quickly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-8073651525992804448?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/8073651525992804448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/11/school-is-becoming-pain-in-asterisk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/8073651525992804448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/8073651525992804448'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/11/school-is-becoming-pain-in-asterisk.html' title='School is becoming a pain the in asterisk'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-5764420834073582219</id><published>2009-11-12T20:41:00.000-08:00</published><updated>2009-11-12T20:55:47.672-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>A return to form</title><content type='html'>For the last while, I haven't been paying the same love and attention to OOP344 as I usually do to my C++ programing courses. Enough of that, I'm back into the coding mood, by the looks of things, my group will have A2 done by the end of this week. Which means I have to haul ass and finish my assigned work too, so I will be getting back to my roots of all-nighters coding C++ until my eyes bleed. This may sound bad but it makes me happy. Even once we are done A2, we will be adding a megaton of features, hopefully, so that this text editor (which will actually be a text editor when we get a some file manipulation functions going) will be seriously worth its salt.&lt;br /&gt;I plan to make a formatting tool for it, which will, upon activation, format the text into properly indented and stylized C++ bundle of code, and I also hope to make it so that it highlights and colors in braces, quoted words, functions ect. Now I'll give credit where its due, I will likely be using a similar method to the one tdot posted on his blogg (and no I won't link you to it, find it yourself) because he seems to have it nicely explained there.&lt;br /&gt;Anyways, I figured it was about time I updated this blogg again, but now I must tie it up because I have some classes to write!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-5764420834073582219?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/5764420834073582219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/11/return-to-form.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/5764420834073582219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/5764420834073582219'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/11/return-to-form.html' title='A return to form'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-1853862882200886154</id><published>2009-10-29T22:55:00.000-07:00</published><updated>2009-10-29T23:21:05.861-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>My blogg is hungry...</title><content type='html'>I have been neglecting my blogg for some time now, probably due to lack of excitement, but Fardad insisted I feed it so it didn't whither up and die. So, to the point, the irc meeting, which was conducted on Wednesday, went down with a fair level of success. Fardad wasn't too strict on how the meeting was to be conducted, so I was allowed to goof around a bit as to keep myself from getting disinterested in the whole affair. He made sure the four of us had a reasonable understanding of SVN and how to organize our group, plus gave us a hand with a few things to prevent future conflicts. He also helped give us a grasp how much our group members understood in terms of SVN and A2 as a whole. While most of this turn out well, I would suggest to everyone that you listen in on other group meetings, as there were a few things he didn't cover with my group that he did cover with others.&lt;br /&gt;When it comes to the actual assignment, I went ahead and grabbed the io_field section to write, which I'll have done by the end of next week. I also plan to write a formatting program in my spare time, because I really hate some of the things my group decided on for the coding standards, so instead of pestering myself by abiding by them while I code, which would wear down my productivity, I plan to just write a formatting program that will swap my code between my format and theirs. If I finish this and it works, I am willing to provide the &lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;binary program&lt;/span&gt;&lt;/span&gt; (to hell with open source XD) to all those who suffer a similar ailment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-1853862882200886154?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/1853862882200886154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/10/my-blogg-is-hungry.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/1853862882200886154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/1853862882200886154'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/10/my-blogg-is-hungry.html' title='My blogg is hungry...'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-7074208342848543197</id><published>2009-10-07T18:13:00.000-07:00</published><updated>2009-10-07T20:13:33.165-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>Bugs in OOP344 As1tester.c V0.9</title><content type='html'>Hey, just thought I'd point out some bugs that may prevent As1tester.c from running correctly on some Borland compilers and the matrix compiler.&lt;br /&gt;&lt;br /&gt;In the ResetStr function there is a line of code that looks like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; while(str[i] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ Garbage after data"[i++]);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;On some borland compilers this will result is messed up data, to fix this change it to:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  while(str[i] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ Garbage after data"[i])&lt;br /&gt;    i++;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And on the matrix and borland compilers, the function prntextbox is broken. The line:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;from = from + len + 1;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Allows the compiler to pass the null char, allowing it to read into data that does not really belong to from. Change it to:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;from = from + len;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And it works!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-7074208342848543197?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/7074208342848543197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/10/bugs-in-oop344-as1testerc-v09.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7074208342848543197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7074208342848543197'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/10/bugs-in-oop344-as1testerc-v09.html' title='Bugs in OOP344 As1tester.c V0.9'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-6774106802787195878</id><published>2009-10-06T23:19:00.001-07:00</published><updated>2009-10-06T23:30:05.659-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>An Interesting Discovery With Linux</title><content type='html'>While this will probably be well known to those familiar with Linux, I made an unexpected discovery while I was figuring out the key codes for the Linux platform for assignment 1. I am not sure if it was because of the shell I was using or the OS itself, as I was using PuTTY to connect with the matrix servers and didn't test any other methods. But I noticed that when I used the restore buttons on the PuTTY window (the small window button and the maximize window button) that the keycode.c program picked up 2 key strokes, much like the function keys in windows. The value returned was -1, so the program itself didn't know what it was looking at, but something was definitely passed through as a key stroke. This may or may not cause problems for our programs, but it definitely holds potential for the text editors projects we will be making later this semester.&lt;br /&gt;&lt;br /&gt;It is possible someone may have already blogged about this, or it may even be in the instructions, but it caught me by surprise so I figured I might as well post it here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-6774106802787195878?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/6774106802787195878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/10/interesting-discovery-with-linux.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/6774106802787195878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/6774106802787195878'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/10/interesting-discovery-with-linux.html' title='An Interesting Discovery With Linux'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-6005025663093685831</id><published>2009-10-02T01:51:00.000-07:00</published><updated>2009-10-02T02:11:27.557-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>Finding Middle Ground</title><content type='html'>Surprisingly this post will have nothing to do with the fact that it is 5:00 am and I've been programming all night. &lt;br /&gt;&lt;br /&gt;I seemed to be having trouble finding middle ground in terms of code readability now. I just don't know how readable I should make it vs how compact and clean it should look. For example, the code in assignment 1. The backspace code Fardad wrote for us to be used in assignment 1 (which btw is broken, because it will corrupt the string if you press the backspace key when cursor is at the beginning of the line (curpos = 0 and offset = 0)(&lt;span style="font-style:italic;"&gt;I'll remove this upon request since A1 is individual&lt;/span&gt;)) is about 9 or 10 lines of code, but I rewrote it to be less lines even though it included an addition condition statement (to fix the broken code) and I don't know if I have really impeded on the readability of the code. I won't post it due to the nature of the assignment but I know its gonna pester me while I write the code. Any general tips would be appreciated ^_^&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-6005025663093685831?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/6005025663093685831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/10/finding-middle-ground.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/6005025663093685831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/6005025663093685831'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/10/finding-middle-ground.html' title='Finding Middle Ground'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-7548778410199027525</id><published>2009-09-30T19:11:00.000-07:00</published><updated>2009-09-30T19:34:57.199-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>Assignment Progress and Bloody Braces</title><content type='html'>Well, I've finally started seriously working on Assignment 1 for OOP344, and I have noticed a few things about myself. First off, I am a much sloppier coder when I am working with someone else's code, I go through and figure out what the code does, then I proceed to roughly patch each individual problem piece by piece, and I find that by the time I have completely fixed the problem, it looks ridiculous, for example, by the time I was done fixing one of the parts in Assignment 1, I realized I had three consecutive if statements that could have easily been packed into one. There are often other redundancies as well, but since I am satisfied that it finally works, I just write a comment in caps the clean up the code, which I hopefully won't miss when I finally submit it. &lt;br /&gt;Which brings me to my next problem... Braces, more accurately, brace styles. The standard, or at least what I often see from other programmers looks like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Function(arg, arg){&lt;br /&gt;  code;&lt;br /&gt;  if(arg){&lt;br /&gt;    code;&lt;br /&gt;    code;&lt;br /&gt;  }&lt;br /&gt;  code;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I HATE this style, it makes it so damn easy to misplace a brace, put the a line of code in the wrong block, and in general is a pain in the ass to read. I much prefer this method:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Function(arg, arg)&lt;br /&gt;  {&lt;br /&gt;  code;&lt;br /&gt;  if(arg)&lt;br /&gt;    {&lt;br /&gt;    code;&lt;br /&gt;    code;&lt;br /&gt;    }&lt;br /&gt;  code;&lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This looks so much better, easier to read, if you misplace a brace, it will glare out at you, you can easily see what code belongs to what function or what code belongs to what conditional or loop statement. I realize it takes up an extra line every time, but I'd easily be willing to pay that for code that isn't so infuriating to look at.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-7548778410199027525?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/7548778410199027525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/09/assignment-progress-and-bloody-braces.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7548778410199027525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7548778410199027525'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/09/assignment-progress-and-bloody-braces.html' title='Assignment Progress and Bloody Braces'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-4727623711605881290</id><published>2009-09-25T13:04:00.000-07:00</published><updated>2009-09-25T13:09:13.173-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>Challenge II</title><content type='html'>Here is my result for challenge 2, she works but she is ugly.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;void io_display(const char *str, int row, int col, int len){&lt;br /&gt;  io_move(row, col);&lt;br /&gt;  len &lt;=0?io_putstr(str);:{int i=0; while(len--) io_putch(str[i]?str[i++]:' ');}&lt;br /&gt;  return;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In fact, I'll do one worse.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;void io_display(const char *str, int row, int col, int len){&lt;br /&gt;  io_move(row, col);&lt;br /&gt;  len &lt;=0?io_putstr(str);:{int i=0; while(len--) io_putch(str[i]?str[i++]:' ');}}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Since most compilers don't need the return to be specified. I'm not sure how she works in terms of efficiency, but this is a small piece of code IMO, and a great way to get your co-workers to hate you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-4727623711605881290?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/4727623711605881290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/09/challenge-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/4727623711605881290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/4727623711605881290'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/09/challenge-ii.html' title='Challenge II'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-8105538511005576839</id><published>2009-09-17T22:16:00.001-07:00</published><updated>2009-09-18T00:08:59.636-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>OOP344 GetInt Challenge</title><content type='html'>Well, here she is, written from scratch and shiny as a penny, and no I don't know what I mean by that. I tried to eliminate any limitations or inefficiencies as I could, I don't think its perfect, but I tested it and it seems to run beautifully. I managed to accomplish this on my bus ride home from york to Hamilton, and subsequently haven't had anyone look it over yet, but I don't think I made any "no-no's" as Fardad calls it.&lt;br /&gt;&lt;br /&gt;*EDIT* I noticed some mistakes in the code, I used C++ comments in C, for whatever reason I used val -= val * 2 instead of val = -val.&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/*This GetInt fuction was written by JP Hughes (CloudScorpion)*/&lt;br /&gt;/*This function first checks to see if val is negative, inserting a - in the first slot of the &lt;br /&gt;strint array if it is. The function then proceeds to find the remainder of a divition of the &lt;br /&gt;int val by 10, storing the value in the next slot in the array. Once complete, the function checks &lt;br /&gt;if there is a - in the fist slot, if so if increases count to account for the difference, then &lt;br /&gt;proceeds to reverse the values in the array so they do not appear backwards, then corrects the &lt;br /&gt;count to its original value. Finally the function caps the array with a NULL byte at the end &lt;br /&gt;of the string. */&lt;br /&gt;void GetInt(char *strint, int val)&lt;br /&gt;  {&lt;br /&gt;  int count=0, c2 = 0; /*two counters required to keep track of the placement in for statements*/&lt;br /&gt;  char tmp;            /*A char to hold a temporary value during the reversing process*/&lt;br /&gt;  &lt;br /&gt;  if(val &lt; 0) /*checks if the val is negative*/&lt;br /&gt;    {&lt;br /&gt;    strint[0] = '-'; /*if so, it inserts the - in the array*/&lt;br /&gt;    val = -val; /*inverts the value of val so it is positive*/&lt;br /&gt;    count ++;&lt;br /&gt;    c2++;    /*counters are ajusted for later use*/&lt;br /&gt;    }&lt;br /&gt;  if(val &gt; 0) /*This is used to ensure the value is not 0*/&lt;br /&gt;    {&lt;br /&gt;    for(; val &gt; 0; count++)&lt;br /&gt;      {&lt;br /&gt;      strint[count] = val % 10 + 48; /*systematically inserts the numbers in reverse order*/&lt;br /&gt;      val /= 10;                     /* using ascii numbers, then removes the number from val*/&lt;br /&gt;      }&lt;br /&gt;    if(strint[0]=='-') count++; /*checks if the number is negative and adjusts the counter*/&lt;br /&gt;    for(; c2 &lt; count/2 ; c2++)&lt;br /&gt;      {&lt;br /&gt;      tmp = strint[c2];    /*reverses the order of the numbers in the array by swapping the*/ &lt;br /&gt;      strint[c2] = strint[count - c2 - 1]; /*numbers with the number on the other side of*/&lt;br /&gt;      strint[count -c2 - 1] = tmp;         /* the array*/&lt;br /&gt;      }&lt;br /&gt;    if(strint[0]=='-') count--; /*corrects the counter if it was adjusted*/&lt;br /&gt;    }&lt;br /&gt;  else&lt;br /&gt;  { &lt;br /&gt;  strint[0] = '0'; /*if the value is 0, it is simply put in the first slot of the array*/&lt;br /&gt;  count++;&lt;br /&gt;  }&lt;br /&gt;  strint[count] = 0; /*finishes off the string with a NULL byte*/&lt;br /&gt;  return;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-8105538511005576839?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/8105538511005576839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/09/oop344-getint-challenge.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/8105538511005576839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/8105538511005576839'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/09/oop344-getint-challenge.html' title='OOP344 GetInt Challenge'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-126347407762874300</id><published>2009-09-15T16:06:00.000-07:00</published><updated>2009-09-15T16:18:11.892-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOP344'/><title type='text'>OOP344 prelim progress</title><content type='html'>All the early stuff is almost done on my end, and I got myself a group so I'm feeling pretty good, though I accidentally missed half a class and insanely missed my first quiz, but that is just my luck.&lt;br /&gt;&lt;br /&gt;I realize we will be covering the primary platforms (VCC, Linux, ect) but I am also wondering if we might be covering some more abstract platforms such as gaming platforms or compilers for small devices like smart phones or PDAs, even briefly. This is likely more complicated that I know of and from what little I understand about this topic we would likely need some form of SDK to be able to build programs for such devices or whatnot. Eh, I'm really just thinking out loud, but more info on this would be awesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-126347407762874300?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/126347407762874300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/09/oop344-prelim-progress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/126347407762874300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/126347407762874300'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/09/oop344-prelim-progress.html' title='OOP344 prelim progress'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5534567376655441415.post-7894474388942047089</id><published>2009-09-08T14:48:00.000-07:00</published><updated>2009-09-15T13:30:37.725-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bloggs'/><title type='text'>OOP344 Blog</title><content type='html'>Well, here it is, my new blog, though I hate the word blog and I don't know why blogs didn't get called something more reasonable and logical but w/e. I've always avoided blogs because I consider the act of frequent blogging to be nearly as vile as participating in social networking sites, which is, as far as I am concerned, the cancer of the internet that usually accomplishes next to nothing and is infested with juveniles frantically trying to relate to others and gather as many "friends" as possible so they can convince themselves that they aren't the awkward social outcast that they truly fear they are.&lt;br /&gt;&lt;br /&gt;But enough of my miserable ranting, as ranting on a blog about the uselessness of social networking sites and blogs is in itself borderline hypocritical. For once owning a blog makes sense in the context of the OOP344 course, as it may actually aid in programming and communication with my classmates. The idea of open source programming is interesting, though I do not honestly think the ideal of open source programming will be overly applicable to the field I plan on entering, video game programming, as that industry has a fairly secretive and closed source environment.  None the less, I am sure I will find this course absolutely brilliant and essential to becoming a more efficient and skilled programmer.&lt;br /&gt;&lt;br /&gt;As I final note, from now on I'll keep my posts to minimal length as I can't imagine what I am writing to exquisitely interesting. I will likely not refer to this as a blog for much longer and instead call it a journal, because as far as I am c&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xVFtdiyrHOA/Sqbc386AXeI/AAAAAAAAAAM/tkLtsf_XJm8/s1600-h/Alpha_blogg.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 210px;" src="http://4.bp.blogspot.com/_xVFtdiyrHOA/Sqbc386AXeI/AAAAAAAAAAM/tkLtsf_XJm8/s320/Alpha_blogg.JPG" alt="" id="BLOGGER_PHOTO_ID_5379229658740973026" border="0" /&gt;&lt;/a&gt;oncerned a blog is a sea creature from metroid, shown in the picture I have posted. (Well its a blogg but w/e)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5534567376655441415-7894474388942047089?l=cloudscorpion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cloudscorpion.blogspot.com/feeds/7894474388942047089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cloudscorpion.blogspot.com/2009/09/oop344-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7894474388942047089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5534567376655441415/posts/default/7894474388942047089'/><link rel='alternate' type='text/html' href='http://cloudscorpion.blogspot.com/2009/09/oop344-blog.html' title='OOP344 Blog'/><author><name>CloudScorpion</name><uri>http://www.blogger.com/profile/14437818910063938213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xVFtdiyrHOA/Sqbc386AXeI/AAAAAAAAAAM/tkLtsf_XJm8/s72-c/Alpha_blogg.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
