Thursday, February 19, 2015

Update of sorts

I'm terrible at this regular blogging thing.

Then again, I have usually made a point to blog about progress or interesting things I find pertaining to coding or scripting, and not much of either of those things have been happening lately (much to my chagrin).

I did take a huge step forward this week when I finally tackled an AWS EC2 Instance. EC2 is Amazon Web Services' virtual server service that allows 750 hours of micro instance runtime per month for a year, and you can host on Linux or Windows. There are lots of other services that fall under the "free tier" of Amazon Web Services, so go check them out if you feel it may help you out.

Right now, I have a private server running a game called Starbound. I wasn't able to get it set up without lots of help, namely a step-by-step guide from a kind fellow on Youtube who made a 15min video about a year ago. Starbound has been updated since, so it wasn't a perfect guide, but I was able to get it figured out. It is now plugging along quite happily on my Ubuntu instance.

Possibly the most difficult part of working on this project has been getting used to the lack of a GUI. I'm not good at that yet. I need to practice more and get better, and that was part of the reason I shied away from exploring AWS as a viable hosting option for a private server. Something clicked the other day, though, and I realized that I was never going to get better at it if I didn't give it a shot. So I went for it.

Now, I'll be looking into getting a Ventrilo or Mumble server set up for using in Starbound or any of the MMOs I play (GW2, FFXIV, WoW, SWToR) in either the same instance or a separate one. It is so empowering that it costs nothing and I have 100% uptime. I no longer need to worry if my internet goes out at my apartment, or if my computer auto-updates and terminates my server in the process. My next project will be to figure out how to work FTP on the virtual machine, so I can backup the universe files on my Starbound server.

As far as programming things, I have still been all over the place. I had a disenheartening chat with someone recently who managed to stick that small doubt back into my head that wonders if I'm ever going to feel like programming comes naturally, or if I will always fight with the logic. One of my biggest fears is that I will come to find out that I have spent so much time learning all of these things, only to be a mediocre programmer at best. I can handle being mediocre while I'm still learning; but to think that I'd be terrible at it no matter what I do is a hard feeling to beat.

Regardless, I'm plugging along with a Python class that is followed immediately by a C class. These are internet classes that are hosted by a kind person who believes in making programming easier for people to understand. His site, Learn Python the Hard Way, has helped me immensely. He encourages good study and research habits, points out tips and tricks along the way, and if you give him a little money, he offers personal 1-on-1 assistance via e-mail. I'm a big fan. ;)

Outside of that, I have been busy writing down ideas and plotlines for a major project. That keeps me busy when I'm not playing games or working. Maybe sometime soon, I'll be able to sit and hammer out more programming stuff. I also want to get a personal website up and running for myself, but that is pretty far down on the list of priorities. We'll see if it happens.

Tuesday, October 28, 2014

CSS Zen Garden

Perhaps lots of people already know about this resource, but perhaps not. I stumbled upon it last night while I was trying to figure out just what it was that I did to completely frog the skunk out of my website design.

CSS Zen Garden

Welcome to a website with general information and a multitude of design options to show just how powerful CSS can be. Each design can be downloaded and the CSS studied. Lots of the designs are also very well commented. The site is a little dated, and it admits that in the Resources section. But the designs are very inspiring, and they encourage using them as examples.

Progress on the Wordpress front has halted. I think it will be an option for another project, or a revise of the website down the road. For now, I'll be focusing on getting the design I have to do what I want without any advanced bells and whistles.

Monday, October 27, 2014

Code is Poetry



I found this on the Wordpress Website. I'm researching what it will involve to include a page on my company's website that will allow me to post updates on a daily or weekly basis. Wordpress has been mentioned in almost every resource I've read recently (that is anywhere near up-to-date), so I'm looking into it now.

Finding this at the bottom of their page was neat and I really like it. Click through the image to visit the Wordpress Codex, where I found this gorgeous little design piece.

Sunday, October 26, 2014

Anecdotal Advice



My tunes for the night. This soundtrack is so amazing. The game is great, too. I thoroughly enjoyed it, and I look forward to playing the second game the same studio produced and released recently, called Transistor.

I promise I didn't come here to babble about video games, much as I'd like to. Instead, I want to babble about the furthering of ones' knowledge and skill.

This has been a recent discovery for me. I described it when I first felt it as "a desire so strong to achieve a goal that the relatively unenjoyable steps that need to be taken along the way are no longer unenjoyable". When I questioned my fiancé on what a feeling like that could possibly be, he merely named it "motivation". That's when I realized that I had not been truly motivated to do something for a very long time. Long enough to forget what it felt like.

That was in 2011. At the time, the feeling applied to my artwork, which I was using as an outlet for brainstorming a story that Andrei and I were working on together. I became enamored with the concept of MUDs after being introduced to one, and in 2012, I spent all of my time learning as much as I could about them. The desire I had to learn about them made me voracious for any information I could find, though it was quite thin by the time I started looking (most MUD information was out-of-date by 2007, with the massive popularity of emerging MMOs at the time). As I learned more about MUDs, I only became more fascinated by them. The majority of the old codebases were written in C, so I took the natural next-step and picked up C to try to fully understand them. The knowledge certainly helped when I started trying to script short programs into the MUD I build for!

Progress on that front has been halting, thanks to several projects I have on my plate that have been vying for priority. Now that I've made the overall decision to focus on HTML/CSS, I feel the same motivation driving me forward when I get stuck. I've grown to call it "possibility", personally. If I give up on whatever I'm working on, the possibility of anything coming of it will die. And, really... Anything is possible.

But, enough broad anecdote. What does that kind of motivation look like? Outside of the forward-driving force that is ones' own motivation, it looks something like this:


  • Scouring shelves at bookstores for used and new books that could hold useful information
  • Hunting for online resources; magazines, white papers, newsletters, blogs... anything.
  • Stepping away from the games or TV shows a little earlier at night to fit a little bit of reading in before bed
  • Keeping a digital copy open on the phone/tablet/computer on the off-chance that a 15-minute span of time pops up to allow for some quick reading
  • Writing a lot of code
  • Making lots of mistakes
  • Reading or talking about those mistakes and finding industry advice on how to avoid them
  • Making more mistakes, and hopefully, some visible progress

At least, that's what it looks like for me. I was lucky enough to stumble upon a used book published in 2004 for $6 that focuses on web standards for HTML and CSS. Inside, the author made heavy reference to his blog, so I went to see what he had to say. The blog hadn't been updated in a year or so, but even so... Thankfully, HTML and CSS haven't changed too much in the past 10 years, and the changes that have been made are very helpfully documented on the W3Schools Website. With that being the case, this blog is a fount of information. Additionally, the author often references a great deal of other resources. While reading through his blog, I found myself bookmarking every other page I visited for the quality of content I read. Some things were a little confusing, being marketed to web designers who have been in the industry for years. But, that unenjoyable feeling of being confused? It didn't last long when I reached a point in those articles when things began making sense. If I had given up and decided to come back when I had more experience, I'd have robbed myself of the opportunity to understand. It took more effort to continue reading something I legitimately didn't get, but the payoff was far greater.

This has been an incredibly rambly way of explaining why it's a bad idea to give up. If something seems out of reach, there are times that you give yourself an excuse to not work as hard. It is tough to keep the motivation going. But to throw the towel in because something is too hard or you don't get it is the wrong approach -- instead, figure out why it's too hard or why you don't understand, and go from there. And if that is way too much work, then start asking yourself if you've chosen the right thing to take up your time.

Some of the HTML/CSS references I found are listed below, for anyone interested. I wish all a wonderful night or day, whichever the case may be.


All Over the Place

It has been a bit of a roller coaster for me lately, except without the rails for guidance. I'm not necessarily complaining, but it is certainly making my head spin.

I'll start by saying that this state of affairs is not a bad thing; it simply is the state of affairs. My direction changes every week, it seems. I don't really like telling people what I'm working on because I know by this point that something will change and I'll no longer be working on that thing I told them about.

This could account for my quietness here, despite having announced my return.

For a little bit, I had a bit of a programming mentor. We shared similar interests, played the same games, and really got along great for a while. During this time, I plunged head-first back into my C lessons. I read information from as many as three different resources, depending on which one was most convenient for the place and time. I also took up Python with an interesting approach of "code this and the instructor will show you why it works afterwards". That lasted until I reached the abstract "object" part of Python, and my mentor spent two hours trying to explain it over chat. I ended up grasping the idea, but I put off going back to the Python lessons. Instead, I read about more C.

This lasted until my mentor no longer had the time to dedicate to helping me. I continued, regardless, but I had a bit of a crisis in the meantime. The work I was putting in to learn C was for some pretty lofty goals -- goals that wouldn't be achieved for possibly years to come. Even the programs I had been brainstorming to automate certain systems at the printshop would have taken an enormous amount of time, and until I had something to show for it, I felt like I was a ship taking on water. The skill I was learning wasn't going to help me or my company by the time I could use it!

I'll take this moment to explain that I am part-owner of the above-mentioned printshop. Since 2012, when I became office manager, I have simply been putting in the time I need to and waiting to punch my card at the end of the day. My job started out being rewarding, but a combination of bad experiences with clients and the daily shifting deadlines had jaded me. The other business owners and myself spoke about selling the business, and since that was the plan, I didn't think too deeply on the details. Now, I realize that no one will pay what we ask if they don't think there is enough worth to justify it. Part of that worth is the online presence my business has.

During this epiphany, I was browsing some free coding classes. It was a Sunday morning. My fiancé was sleeping in. I was either going to find a free class or I was going to pay Blizzard money to reactivate my World of Warcraft account. Since nobody wants to teach C for free (or, if they do, they're hard to find), I was willing to take whatever I could get. What was the first thing that popped up for me?

HTML/CSS.

The course was on Codeacademy.com. They claimed you could learn everything you needed to know about basic HTML and CSS in 7 hours. I knew it wouldn't take me that long. So I completed the course in 6 hours. After that, I did a dummy page for a tabled project I had been mulling over. I showed it to my fiancé and after his outpouring of positivity, I began working on the design for my company's website.

I realize where this path takes me. Jquery/Javascript. MySQL. PHP. XML. There isn't much here that I can apply to C. But, there is a lot of information out there that I can accumulate. And once I learn it, it won't go away. This is a topic I can apply immediately to my work and will also help me immensely down the road.

So that is my state of affairs. In other news, House of Cards is an amazing series and I highly recommend it to anyone and everyone (Kevin Spacey is fantastic). And I'll leave with a note that there could be a slight shift from C programming to web programming.

Thursday, August 21, 2014

New Program to Oggle

I finally hammered out the computational error in the program project I've been working on this week the past day or two. As with most of the programs out of this book, it is riddled with specific tools the author wants to be used at this point, and arbitrary numbers (which, are hopefully less-arbitrary with the comments I've written). Have a gander:

/* Programming Project #8 Chapter 5                                *
* Write a program that asks the user to enter a time (expressed in *
* hours and minutes, using the 24-hour clock). The program then    *
* displays the departure and arrival times for the flight whose    *
* departure time is closest to that entered by the user.          */


#include <stdio.h>

int main (void)    {

    int hours_entry, minutes_entry, min_since_midn;
                          /* minutes since midnight */

    printf("Enter a 24-hour time: ");
    scanf(
"%d:%d", &hours_entry, &minutes_entry);
   
    if (hours_entry > 24)    {    
         /* Error message for invalid hour value */

        printf("Invalid hour value; please try again.\n");
        return 0;
        }
       
    if (minutes_entry > 59)    {   
         /*Error message for invalid minute value */

        printf("Invalid minute value; please try again.\n");
        return 0;
        }
   
    min_since_midn = hours_entry * 60 + minutes_entry;
   
    if (min_since_midn <= 532)   
           /* 8:00am is the first departure, converted to
            * minutes equals 480 minutes since midnight, plus
            * the equivalent of half of the amount of minutes
            * between 8:00am and 9:43am */

        printf("Closest departure time is 8:00 a.m., arriving at 10:16 a.m.\n");
    else if (min_since_midn <= 631)
            /* 9:43am is the second departure, same as above */
        printf("Closest departure time is 9:43 a.m., arriving at 11:52 a.m.\n");
    else if (min_since_midn <= 723)
            /* 11:19am is the third departure */
        printf("Closest departure time is 11:19 a.m., arriving at 1:31 p.m.\n");
    else if (min_since_midn <= 804)   
            /* 12:47pm is the fourth departure */

        printf("Closest departure time is 12:47 p.m., arriving at 3:00 p.m.\n");
    else if (min_since_midn <= 893)   
            /* 2:00pm is the fifth departure */

        printf("Closest departure time is 2:00 p.m., arriving at 4:08 p.m.\n");
    else if (min_since_midn <= 938)   
            /* 3:45pm is the sixth departure */
        printf("Closest departure time is 3:45 p.m., arriving at 5:55 p.m.\n");
    else if (min_since_midn <= 1223)   
            /* 7:00pm is the seventh departure */
        printf("Closest departure time is 7:00 p.m., arriving at 9:20 p.m.\n");
    else if (min_since_midn <= 1439)   
            /* 9:45pm is the last departure, so all times after *

             *
9:45 will display this time */
        printf("Closest departure time is 9:45 p.m., arriving at 11:58 p.m.\n");
    else
        printf("Invalid entry; please try again.\n");
       
    return 0;
}
Criticisms and advice are both welcome -- just know that I only really have int/float types and if/switch statements with a smattering of logical operators and relational operators in my arsenal at this point in time. Next chapter will be on Loops, and a few chapters later, I'll finally get into Arrays! (I also apologize for the atrocious line-break issue. I did my best to make it pretty and easy to read!)

Wednesday, August 20, 2014

Is there such a thing as a variable name that is too long? Lol.

I'll make a post eventually to give this a little more context

Monday, August 18, 2014

Jurassic Park: Trespasser

This is a "Welcome back!" post as well as a conglomeration of links to an interesting topic. Jurassic Park: Trespasser was a game I never experienced, but because of its ambitiousness (and the lack of funds and time to properly implement said ambitious design) it was equally regarded as the worst and best game of its time. Here are the resources, of which I have only read through about half:

Wikipedia Article (short and sweet)

Source Code Review (gameplay videos, interviews, and more)

Postmortem by Richard Wyckoff (from the designers, a behind-the-scenes look)

Source Code and More (I didn't link to this)

It is written in C++ which makes it an interesting chunk of code for me after I'm done messing around in C.

Did you hear me right? Yes, you did. I may have disappeared for a year or so, but I'm back! And working on becoming a "crack programmer so my dad can retire". :)

Tuesday, August 13, 2013

Bug-Checking a Program

Thought I might go ahead and post this, cuz why not. Work has somewhat slowed down as I begin writing this at 2:48 on a Tuesday afternoon (though I am tempting fate with that statement), and I've had enough free time to work on this so far...

The program is supposed to ask for the total amount of a loan, the interest rate the loan was taken at, and the monthly payment. Note that I am posting this despite the fact that I KNOW there is something up with my calculations -- otherwise, I wouldn't be having a problem!

The example in the book states:

Amount of Loan: 20000.00
Interest Rate: 6.0
Monthly Payment: 386.66

Balance remaining after first payment: $19713.34
Balance remaining after second payment: $19425.25
Balance remaining after third payment: $19135.71

Seeing as this is the easiest way to tell if my own calculations are correct, I'm using this as a constant. So, here's the code I've come up with, after tweaking it for a bit and adding some variables:

#include <stdio.h>
#define months 12

int main (void)
{
   float loan_total, interest, interest_rate;
   float monthly_pymt, balance;
   float balance_first, balance_second, balance_third;

   printf("Enter Loan Amount: ");
   scanf("%f", &loan_total);

   printf("Enter Interest Rate: ");
   scanf("%f", &interest);

   printf("Enter Monthly Payment: ");
   scanf("%f", &monthly_pymt);

   interest_rate = (interest/100)/months;
      /* 100 is used to turn the value given as the interest rate
      into a percentage */
   balance = loan_total - monthly_pymt;
   balance_first = balance + (balance * interest_rate);

   printf("Balance after first payment: %.2f\n", balance_first);

   balance = balance_first - monthly_pymt;
   balance_second = balance + (balance * interest_rate);

   printf("Balance after second payment: %.2f\n", balance_second);

   balance = balance_second - monthly_pymt;
   balance_third = balance + (balance * interest_rate);

   printf("Balance after third payment: %.2f\n", balance_third);

   return 0;

}

This was a test on my part, and I've already ruled out the possibility that balance is retaining its first value throughout the program. When entering the same credentials, here is what the above program returns:

Enter Loan Amount: 20000.00
Enter Interest Rate: 6.0
Enter Monthly Payment: 386.66

Balance after first payment: 19711.41
Balance after second payment: 19421.37
Balance after third payment: 19129.88

Pennies of a difference! Okay, maybe a few dollars. But still! Naturally, the next step is to check over the equations to make sure they are doing what they need to do...

And I think I found it. 

balance_first = balance + (balance * interest_rate);

The balance after the first payment is off by approximately 2.50 because the interest is being calculated against the updated balance here -- I think it needs to be calculated against the original loan amount.

balance_first = balance + (loan_amount * interest_rate);

This should even out the rest... Gonna run a quick test.

Enter Loan Amount: 20000.00
Enter Interest Rate: 6.0
Enter Monthly Payment: 386.66

Balance after first payment: 19713.34
Balance after second payment: 19423.31
Balance after third payment: 19131.84

Well, it fixed the first payment. But I see exactly what needs to change now!

balance_second = balance + (balance_first * interest_rate);

balance_third = balance + (balance_second * interest_rate);

Testing with this minor change...

Enter Loan Amount: 20000
Enter Interest Rate: 6.0
Enter Monthly Payment: 386.66

Balance after first payment: 19713.34
Balance after second payment: 19425.25
Balance after third payment: 19135.71

Hah! Yes! It is now returning the correct amounts!! I never did like accounting... It can be somewhat confusing. The problem essentially came from the interest being calculated with the newly initialized balance value, instead of the balance that had been reported for the previous month. Of course, interest isn't going to take into consideration that you are making a payment this month -- it's going to accrue based on the last month's balance. I swapped out those variables so the interest calculated correctly, and voila!

So there. A bug-checking process for you all! I am now off to take notes on Chapter 3!! See you all when its time for more programming exercises!!

Feeling Confident

I have this tendency. I will sit down and start writing a program, then get halfway through it and realize the entire logic of the thing is fucked.

I started on this exercise around 9:30 or 10 this morning (though it has taken so long partially due to the nature of being at work and actually having to... well... work). The exercise is to write a program that will take an original dollar amount, and split it into twenties, tens, fives, and ones.

Oh man. When I wrote it the first time? I thought I had too many variables to begin with, so I tried to make the variables I had do crazy things. I should have saved it. I can't remember exactly what I did, but it ended up with hilarious answers like:

$20 bills: 3
$10 bills: 0
$5 bills: -13
$1 bills: -137

I couldn't help but laugh and delete the whole thing, ahahaha...

After tweaking and pouring over my graphing calculator and a few paper scraps with notes on them, I did get it working though! As of 11:45, here is my working USD splitting program:


#include <stdio.h>
#define twenty 20
#define ten 10
#define five 5
#define one 1

int main (void)
{
   int original_amount;
   int twenty_bills, ten_bills, five_bills, one_bills;
   int orig_after_twen, orig_after_ten, orig_after_five;

   printf("Please enter the original dollar amount: ");
   scanf("%d", &original_amount);

   twenty_bills = original_amount/twenty;
   orig_after_twen = original_amount - (twenty_bills * twenty);

   printf("$20 bills: %d\n", twenty_bills);

   ten_bills = orig_after_twen/ten;
   orig_after_ten = orig_after_twen - (ten_bills * ten);

   printf("$10 bills: %d\n", ten_bills);

   five_bills = orig_after_ten/five;
   orig_after_five = orig_after_ten - (five_bills * five);

   printf("$5 bills: %d\n", five_bills);

   one_bills = orig_after_five/one;

   printf("$1 bills: %d\n", one_bills);

   return 0;
}

Valuable Lesson Learned

So, last night I was working some more on my programming projects. I got through one of them with no trouble at all, but the next one was giving me a fit. I had to write a program to ask for a value for x, then compute that value in a fifth degree polynomial.

My lesson came after I had corrected the errors and warnings that was keeping the program from compiling. I entered the value I chose for x, and the answer was -6. I entered another value for x... and the answer was still -6. It seemed way off to me.

Here's a look at the code I had written:

#include <stdio.h>

int main (void)
{
   float x, final_value;

   final_value = ((((3*x+2)*x-5)*x-1)*x+7)*x-6;  

       /* By the way, this is an example of Horner's Method, which allows
      for polynomials to be solved, despite C not having an exponential 
      function */

   printf("For the polynomial 3x^5 + 2x^4 - 5x^3 - x^2 + 7x - 6\n");
   printf("Please enter a value for x: ");
   scanf("%f", &x);
   
   printf("Final answer: %.1f\n", final_value);

   return 0;

}

Most people will probably find the issue immediately, but it was totally baffling me. It got to the point where I had to ask my fiance for help. He did some tests, such as changing the final integer of the polynomial to 4. When he ran that test, the answer the program gave was -4 instead of -6!! Fortunately, he knew what to do...

#include <stdio.h>

int main (void)
{
   float x, final_value;

   printf("For the polynomial 3x^5 + 2x^4 - 5x^3 - x^2 + 7x - 6\n");
   printf("Please enter a value for x: ");
   scanf("%f", &x);

   final_value = ((((3*x+2)*x-5)*x-1)*x+7)*x-6;

   printf("Final answer: %.1f\n", final_value);

   return 0;
}

Can we say DERP??? In the first example, x hadn't been initialized because the polynomial came first in the program. It assumed x must be 0, solved the polynomial, stored the final integer (because everything else had been multiplied by 0, because x was equal to 0) as the value of final_value, and returned that every time. It was working correctly! Just not the way I wanted it to!!

In the second example, x is initialized by scanf right off the bat. THEN the program enters it into the polynomial, returning final_value with x equivalent to the value initialized with scanf.

Ahhhhhhhhhhhhh....

Monday, August 12, 2013

Quietly Lurking, Quietly Working

Oh man, I've been pulled in so many different directions lately.

Over the past few weeks, I have:

  • Watched Last of Us from start to finish as my fiance played it (WOW, what an amazing game)
  • Resubbed to World of Warcraft (ugh, Mists is terrible)
  • Started playing Guild Wars 2 again
  • WRITTEN A LOT OF STUFF
  • Watched Minority Report, Tron, Tron: Legacy, The Fifth Element, Daybreakers, and kept up with Breaking Bad and Dexter
  • Messed around with C
  • Done some really fulfilling sketches for character designs
I've been really really busy. But the main reason I'm posting today is to say, "LOOK, LOOK!! I'm coding things on my own!!"

Take a gander! :)

These are exercises in my textbook -- which I have since decided that taking the notes down in my notebook is time-consuming enough... I don't think I'll be uploading them to this blog anymore. Instead, I'll be sharing the source that I write, when I feel like it. C: I'm stingy, I know.

So, the program I'm particularly fond of at this time is this exercise. I was prompted to find the volume of a sphere using a constant. So I did:

#include <stdio.h>
#define RADIUS 10.0f

int main(void)
{
   float volume;

   volume = (4.0f/3.0f * 3.14159 * (RADIUS * RADIUS * RADIUS));

   printf("Radius = %.1f\n", RADIUS);
   printf("Volume = %.3f\n", volume);

   return 0;

}

It was pretty nifty! Compiled and performed just fine out of Xcode (which is what I use on Mac because I haven't had time to investigate any others -- on the Zombie, I've just been using Mousepad to make changes so far). But I wondered if there was another way to do it. So I experimented...

#include <stdio.h>

int main(void)
{
   float radius, volume;

   radius = 10.0f
   volume = (4.0f/3.0f * 3.14159 * (radius * radius * radius));

   printf("Radius = %.1f\n", radius);
   printf("Volume = %.3f\n", volume);

   return 0;

}

Wouldn't you know! It compiled and worked just fine, too!! Gave the same answer I calculated manually on my calculator (which is 4188.787, rounded as the final decimal repeats). I'm so thrilled!

The second part of the exercise stated to alter the program so the user enters the radius before the calculation is made. Here goes:

#include <stdio.h>

int main(void)
{
   float radius, volume;

   printf("Enter radius of sphere: ");
   scanf("%f", &radius);

   volume = (4.0f/3.0f * 3.14159 * (radius * radius * radius));
   printf("Volume of sphere: %.3f\n", volume);

return 0;
}

Ahh, works perfectly. So I now have a fifteen line program that calculates the volume of a sphere... You know, just in case. ;D

Monday, July 8, 2013

So busy.

I have so little time now. I really do mean to come back to my coding work, but in the near foreseeable future, I will be very occupied with my position in the MUD.

I also wanted an excuse to post this photograph so I can link to it on Tumblr, haha.


[Editing only to add another photo]



I did get a break from work this past week, but again... Between my position on the MUD, all the writing I've had to do, and the things I've been using to take a break from that (including Guild Wars 2 and hanging with people outside of the internet *GASP I KNOW RIGHT? BLASPHEMY*), I just can't focus long enough on my textbooks to get anything worthwhile out of them.

And writing a ton of pseudo-code doesn't count, though I've been doing that.

Ugggg. I'll be back. I promise!

Friday, June 14, 2013

I've not forgotten anyone...

I promise I've not abandoned this blog. If anything, I am more enthusiastic to learn how to code than I was before.

I've been promoted to an immortal position in the MUD I currently play. I've been building there instead of in The Builder's Academy for the past week or so, and I can't overstate how surreal it feels to have a position like this in this particular MUD. I've logged over 70 hours since last Saturday night... out of a total of 168 hours I could have spent on there this week, that is rather considerable, I think. My fiance got a position as well, and he only has 30 hours logged...

Anyway, I'm gushing and probably talking about it too much. The point is, at least until my zone is complete and ready for launch, I will be on coding homework hiatus. Hopefully I don't forget too much... But I will also be working extensively with something called m/o/rprogs, and my notes on those may come here, much like my notes on DG Scripts.

I'll be around!

Thursday, June 6, 2013

More Chapter 2: King

Chapter 2 is huge. Huuuuuge. I had six pages written halfway through section 4...

While working on these notes earlier this week, I was listening to Chopin's Nocturne Op. 9-72. Andrei was merrily doing some creative writing pertaining to our story at the time, and despite the tribulations from the afternoon prior, I felt truly peaceful and content. It was a beautiful, fleeting feeling.

Driving to work, today, too... It was raining because we have a tropical depression hanging over us, and it was dark because it was still early... But I just had this feeling like... "I am so light and happy..." Just in general. Things are just really good.

Anyway, notes are below the break--


Tuesday, June 4, 2013

Slacker...

Oh man. These past few days have been so so SO so busy... Ahhhh...

First, I didn't study coding at all this past weekend because I was lazy on Friday night and Saturday. Shame... I can't help it though, I get home from work for the weekend and all I want to do is lounge like a lethargic kitten who just drank too much milk...

Sunday was a very exciting day because Andrei and I announced our engagement to a big group of our friends and family! I know a bunch of people took photos, but I've only seen a few so far... Not everyone has emailed them to me yet. But, one of my favorites...


Andrei wasn't expecting to have to give a speech, but he moved us all with his words, regardless. That's me getting all teary-eyed over what he's saying. Ahh, I love this man.


Anyway. I may end up bogging down some of my posts with messy pseudo-code. I'm going to be using my knowledge with C to design a text game (I've mentioned that before). I need to get some of the main functions down for features I want to offer, and in the process, I'll be trying to figure out if they're going to be possible.
Things like save-files that are password protected for characters... Garages or stables where they can store animals/vehicles for mounts or minions... A leveling/storage system for minions that allows them to gain experience and skills alongside their masters (it is SO Pokemon-y, but I hope that the end product won't feel like that at all)... Crafting that actually makes it feel like you have complete control over how a piece of armor looks, instead of making the same shirt/pants/boots over and over... Not to mention, items that give invisible flags, like comm-links that allow a character to talk into an IC channel that is only available to other characters with that comm-link item...

Idk, I just have so many ideas. I didn't ever ever EVER think I would get into game-design... but if I can get good with this coding bit, or find someone who likes the ideas I have enough to help me... Oh man. Ohhhh man. I just get all excited thinking about it.

I've got note-taking on my list of things to do today, if I can tear myself away from Facebook and Tumblr. I've got to keep my goals in sight. I know I can do this as long as I keep myself motivated!!

Saturday, June 1, 2013

Oh, Interesting Things I Find

So, late this morning, I was waking up slowly and checking over all of my social networking sites for updates, when I found a blog I follow shared something quite interesting back on May 29th. I missed it on that particular day, and only found it because I was investigating something else... But I found it relevant.

I have a particular appreciation for music, as it has always been in my life, just as I have a love of art and color. I used to love staring into the old iTunes visualizers for the amazing color combinations that I could see move together during my favorite music... But I was always slightly put off by how the visualizer really couldn't predict the music, and continued sporadic movements even when the music was no longer sporadic.

This is far from a visualizer of that sort, but I still find it fascinating to watch.


Just like visual/kinetic typography, the sounds you hear are visible. I find this so amazing.

This gentleman has dozens of compositions that he has designed with his overlapping talents in music and programming. I look at this, and I think to myself that anything can be possible.

Now, to find some more Saint-Saens to listen to...

Friday, May 31, 2013

"jif" or "gif"

After seeing a series of amusing Tumblr posts...






...it truly piqued my interest why so many people were posting about it all of a sudden.

Apparently, this happened.

(In case you were wondering, I have always pronounced it "giff", as in "graphics".)

So, yes, it is pronounced "jif", but it will take a long time for me to adjust... if ever. It just sounds so weird to meeeee.

Also, I laughed pretty hard when I Googled "define gif" and hit the speaker next to it. Google wants none of your shit.

Wednesday, May 29, 2013

Also, an interesting read

Andrei mentioned in passing earlier that some of the earliest coders back in the '40s were actually women.

The mathematicians of the time were too concerned with developing mathematical concepts, and most notably, John Backus realized that there were women who were just as brilliant who would be willing to work on groundbreaking projects like those he was planning.

He designed Fortran with the assistance of some great woman thinkers of their time.

I thoroughly enjoyed reading about Grace Hopper, who had quite a hand in early programming. She achieved the rank of US Navy Rear Admiral, and contributed to Backus's work with Fortran.

Anyway, just thought I'd mention. I hope I don't offend anyone with my blog title... Just commenting on the societal notion that girls aren't nerds and definitely don't exist on the internets.

Busy-ness!!

Man, this blog has been lingering in the back of my mind all weekend. o-o;

I feel so bad for not updating it aggh. But I seriously didn't want to do any work on my coding this weekend... I've been madly creative and inspired (and also kicking ass in pvp on ToR with Fiance...)

This morning hasn't been crazily busy by any means, so I took it upon myself to scribble down some more notes from K&R. Mom walked by my desk and made a comment about how fast I write, then became very interested in what I was writing about. I flipped the cover of K&R over to show her, and the following conversation ensued:

Mom: "Coding!?"
Me: *grins* "Include standard input/output dot H..."
Mom: "What the fuck, girls don't code!!"

It made me giggle. C:

Anyway, I'm getting into Character Input and Output, specifically with getchar and putchar. I really have to work at this one to figure out what they're talking about. I'm trying to paraphrase, but I keep finding myself writing their explanations word-for-word because I don't understand them enough to paraphrase. Baahh.

First, I need to transcribe my notes from 1.4. Then I'll move to 1.5, which is input/output for character info. Belowwww the break...