Friday, December 30, 2011

This Blog Sucks

Sorry guys... I know this will come as a bit of a shocker... but this blog sucks =( I would never read it if I were you.

In all seriousness, I do have some awesome news - I am probably more excited for this Database Systems Management course this coming semester (CS4380) than any course I have ever taken. I got the coursebook yesterday and just about had kittens looking over the chapter titles and subjects to be covered. It's definitely thick - 1100 some pages - and not written at an Easy Reading level, but I'm ok with that. The time it takes to process the high language allows me the leisure to process it the way I would want to. Even so, I'm pretty much doubling back over every page. I want to at least get the first few chapters under my belt before the course starts, because.....

This semester, I'm also going to be taking Algorithms and Design II (CS2050) which has the reputation as the hardest course in all of CS at Mizzou. We'll see. Pointers, your time will come.

In a completely unrelated note, I wiped out on my bike last night, and my wrist is all messed up. That's all I have to say.

Goodnight, and Good Luck.

Friday, November 4, 2011

Art, and Programming

It's funny how you can lose sight of things. Small compromises, little sacrifices, and all of a sudden you realize all the things you are missing in your life.

The theme of this post: Where is the Art?

Art is not something that people go to museums to see. Being an artist is not an unachievable state, possessed only by the impressionist painters and german tenors and japanese paper-folders. Art is a way for you to take something, and SHOW IT TO PEOPLE, in a way that maybe they would never have seen.

Messaien famously orchestrated birdsong. Late in his life, when asked what his favorite sounds were, Stravinsky replied with 'New York City Traffic.' The greats will take something familiar to everyone, and portray it over again, not changed, but distilled. What is birdsong? The raises and drops, the sweetness, what is the very essence of birdsong? How can you show that to people?

It's hard to wake up in the morning and remember that you are an artist. For all the things you remember in the morning, in that hazy moment between asleep and cold, it is a sign that they are things you have forgotten. Did I forget I was an artist? Did I forget that I had within me this drive to take the way I saw the world, totally completely unique and distinct from the way the world is seen by others, and show it? yes.

Art is one part drive, four parts technical proficiency, and two parts chance. The technical proficiency is what will evade most. For every postmodernist painter who stumbles into the studio at 4 in the afternoon,  hair of the dog and a multivitamin, there is a quiet and determined illustrator who pays his taxes, wakes with the sun, and carefully hones his craft.

Art is craft with vision. Vision devoid of skill will fail to communicate. The most perfect of the sunrises, most pure of the birdsong, most beautiful and soul-stirring emotion in the world, is limited only in the skill of the artist.

This is something I have struggled with all my life. Communication, in and of itself, is art. To take the idea that you yourself hold within your mind and give it to others, present it as if it were a gift to the world, is communication. Communication is the essence of Art.

What is your art? How do you capture your world? How do you gather together the most important things, only the important things, and what is your craft? How do you put them back together, into one cohesive vision?

Programming is, at its root, an art. It is taking the way you think that things should be - an interaction, an exchange, the wonder of discovering knowledge and the joy at rediscovering an old friend - and giving them to the world. Art is a gift. There is craft to it, yes. You must be technically proficient (four parts). You must have drive (one part). And always there is chance. There is the moment of brilliance, the flash of understanding, the happenstance change that turns to genius. This holds true for musician, for composer, and for programmer.

Take the world, see it, and reflect it in your Art. Craft it, refine it, practice it, and SHARE it.

Java?

Monday, October 24, 2011

On Doing Things Fast

Today in my Database class was group project assignments! Rather, assignment of the group for the project. I'm super happy with the people I'm with, as at least one of them is somebody I've identified as the same caliber of programmer I aspire to be. Without having actually seen any of his group work, and based only on having been in class together, I have a great deal of respect for the way this individual interacts with people, and I'm looking forward to have them in my group.

But once we had grouped up, I noticed something interesting... First step of any group project is, of course, exchanging contact info. We all wrote down names, phone numbers, and emails on a piece of paper, and this specific individual offered to send out an email to all of us with all of the information, making sure that everyone had it, and nobody could lose it. The email was roughly formatted like so:


Name: Someones Name
Phone: 555-555-5555
Email: someones@email.com


Name: Another Name
Phone: 444-444-4444
Email: another@email.com


Name: One More Name
Phone: 333-333-3333
Email: 1more@email.com



So I watched, intrigued, as this person went through and laboriously typed out four times "Name:"... "Phone:"... "Email"... and so on. I was astounded by the inefficiency of the system. Surely, a programmer would recognize an extendible template? Even to give you the example above, I typed out:


Name:
Phone: --
Email: @


Thus enabling me to copypaste four times, and quickly and easily add in the only changing information, while preserving the duplicated formatting.

But the point of this post is, this habit of mine is so ingrained that, while I would never have given the use of it a second passing though, the ABSENCE of this efficiency mechanism resulted in quite the surprise. It took probably twice as long to produce this formatted email as it might have, and made me aware of actions I make myself and take for granted.

HOMEWORK ASSIGNMENT:

  • Think about things as you do them. What are some efficiency mechanisms you forget you use?
  • Think about areas where you COULD improve what you are doing. How would you do it?

Post your findings in the comments if you like... Teamwork is good =)

Thursday, October 13, 2011

To Dennis Ritchie


/*
I have only begun studying C,
but what a sad thing it is for
you to pass from this world
just as I begin to discover it.
*/
#include <stdio.h>

main()
   {
      printf("Goodbye, World\n");
   }

Monday, October 10, 2011

Cabbages and Kings

Class class class class class...

I am super busy.

I love database <3

C is alright, I guess... Doing what I can to transition into a TA position next semester. It breaks my heart to see people dropping out of CS because of C. It's like people refusing to travel because airport security is a hassle.

Interview for a summer internship tomorrow with a company I would LOVE to work with. Love Love Love.

I want to get involved with an open source project. I need to hone my java. I hope to combine the two.

Reading currently Clean Code: A Handbook of Agile Software Craftsmanship and loving it. Inspiring my open source dreams. Code is Beautiful.


Moving to NZ after college?


THE END

Friday, August 26, 2011

MacBook: Y U No Compile Good???

A moderately rage-centric post......

The University in Question has determined that I, as a newly transferred CS student, must start at The Beginning. All freshmen learn C. I, too, must learn C. That is fine - but my mac. Oh my mac.

checking whether make sets $(MAKE)... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See 'config.log' for more details.

The only help I seem to find online is "Oh, you need to install Xcode!" Ok, well I've installed xcode............... now? Um? Yes?

Sunday, July 3, 2011

ActionScript Slideshow, from the Ground Up

So the last week or so has had a few ups and downs. Among them, a lost job opportunity I had been treading water for for maybe 5 weeks now, a particularly hostile environment at my dayjob, and dealing with the death of a classmate in a very small and close school. Juxtapose that against the fantastic announcement of my mother being awarded tenure and promotion to Associate Professor of Biology, some really pleasant times with people really close to me, noticeable improvement in terms of my health - which is another post for some later point - and the hinting at the potential for a revamp of a very, very large job indeed. All together makes for a rather emotionally charged programmer.

Damn women programmers.

For the last week, however, my project at hand has been a bit of a slideshow project, which I hope to be able to do all kinds of neat stuff with at some point, and has turned out to be more therapeutic than anything else. Working in ActionScript, I've managed to get the last kinks worked out of the looping and tweening in a way that I'm happy with. I have a Slide class which loads into it my image, and is then added to a sprite in my Main class. This is, by all means, a work in progress. Next key points to tackle:
  • Pulling the image url from an xml file into imagesArray and pushing from that to my slides
    • Working with better loader classes - LoaderMax? - to load in my images
  • Externalizing my slideBox sprite as it's own SlideBox class
  • A dynamic text field associated with each image, pulled in from the xml, and placed into some kind of 50% alpha'd overlay
  • Nav buttons right and left
  • Figure out why my code breaks when I change the Xscale and Yscale params to Height and Width... Which when I'm not using a random file of desktops which are massive, will be essential
  • FINALLY: Exporting for mobile - Android and iOS.
Furthermore, I really need to figure out how to post the swf here on Blogger. I would love to give you a shot of my final product, but it's the external image files that is tricking the packaging up. Anyone with any thoughts on the how-to, I'm all ears. But.... Why do I get the impression I will just have to register a domain name? Unfortunately, I just discovered my required reading for fall semester will be... hefty. We'll see. And without further ado... Code after the jump.