Eponymous
   



About
My Infrequently Updated Blog. The web-based journal of M. Forde, computer nerd, endurance athlete, and DeLorean owner


contact

Subscribe
Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

Flavors
There's more than one way to view this weblog; try these flavors on for size.

  • index
  • circa 1993
  • Sections

  • main
  • musings
  • running
  • DeLorean
  • code
  • unix
  • album
  • TBM
  • Archives

  • 2022
  • 2021
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2008
  • 2007
  • Disclaimers, Copyrights, Privacy, Etc.

  • ToS
  • Copyrights
  • Links

  • olix0r.net
  • netmeister.org
  • Giraffes
  • Eat. Run. Sleep.

  •        
    31 Aug 2008

    Writing

    "You need strong emotion, whether it's fiery or depressed, an extreme state of mind. I think in any art form it's the case." -- Daniel Ash


    Maybe it's my lack of experience. Maybe it's my lack of talent. I tried to sit down and write music for the song known as Ravage in the new naming scheme, but I failed miserably. When I try to force it, like I did tonight, nothing comes out right. I have ideas, I can hear them in my head, but without that inspiration, without that emotion, nothing I produce sounds right.

    I've been too happy recently and it's destroyed my creativity. I get the urge, I have the inspiration, to write when I feel negative emotions. I need anger; I need depression. It is in dealing with these emotions that I am able to write.

    I have tried several times to force myself to feel this way. This usually buys me a few minutes in which I can write, but it often fails. Because the emotions are artificial, the results are mediocre at best.

    I find this situation to be quite frustrating. I want to move forward with this album, but without that inspiration I am unable to do anything.

    In the meantime, I'm slowly teaching myself to play guitar and, to a much lesser extent, a keyboard-style synthesizer. I've also been going through materials my music teacher friend gave me to learn some basic music theory. Hopefully once I find that needed inspiration, or find a way to work without being angry or depressed, this new knowledge will make things easier.

    [/album] [permanent link]

    09 Aug 2008

    Revision Control
    One could argue that this should be filed under the Unix category, but this post is more about the album than it is about the Concurrent Versions System.

    Friday night I created a CVS repository on this server to manage album related files. After discussing it with rskutins, we agreed on several key points.

    First, with changes being made a little more frequently than before, it would be best to have some way to track what was going on, and to be able to roll back to a previous version if the changes don't quite work out. Second, we wanted to have a way to organize several files for each song, for instance, lyrics, notes, bass tabs, drum tabs, etc. Last, and maybe the most important reason for the reorganization, we wanted to move away from the numbering scheme that was in place. Each song was numbered from 0 to 17. This was fine until we realized 11 was likely to be the first track on the album.

    Now the album is stored in a CVS repository. This will keep a version history of each file, allow us to simultaneously work on parts of the album, and merge our changes.

    Within this repository we now have a tree structure where each song has its own directory. The directory will hold any and all files related to that song. In an effort to move away from the numbering scheme, an arbitrary naming convention was mutually agreed upon. The songs are now known by names such as Soundwave, Ravage, Frenzy, and Rumble.

    The album is starting to come together. I feel motivated to work on it and recently I've found myself inspired to write. Now if only I had time.

    Omlette listened to the Accidental Mix I posted (of the song now known as Soundwave) and gave me some feedback.

    It sounded ominous. I don't know how else to describe it since I'm not familiar w/ either artist. Oh wait. Were you mixing your own stuff?
    Ominous seems like it could be a good thing given the current direction of the album.

    If anyone else takes the time to listen to it, I'd appreciate any comments or suggestions. If you don't have it, my contact information is on this page.

    [/album] [permanent link]

    08 Aug 2008

    Another Demo Update
    Two weeks! Ha! It's been closer to two months.

    A few days ago I had some time so I sat down with the ProTools set up again. After considering some advice from jlight, I decided to record a second track of the bass line. I decided to use my Yamaha for the second track, as I had used my Fender for the original recording back in June. The two instruments have different characteristics in their sounds and the two playing together seems to add a "fullness" to the sound.

    So all I had to do was record 24 seconds of bass and put together a mix. This should take, what, 15 minutes? It took 45 just to record. Once again ProTools repeatedly crashed. When it wasn't crashing, it would report an error and stop recording. Does anyone know if there are updates for ProTools LE 7.1 that will fix this issue? As it stands now, I can't run ProTools for more than a few seconds without disabling multi-core support on my CPU. I have multiple processors. It is a multi-threaded application. It should run better... But I'll save this for that upcoming ProTools rant I keep promising.

    Anyway, after about an hour and fifteen minutes, I got two mixes complete. One of them was accidental and sounds, "interesting." The other is closer to what I had in mind. While I wait for feedback on the actual mix from certain people, everyone is free to enjoy the accidental mix found here.

    If anyone actually listens to it, I'd be happy to accept any comments and criticism.

    [/album] [permanent link]

    23 Jun 2008

    Demo -- Update
    Rskutins recorded his drum part and sent it to me via the wonders of TCP/IP netowrking. On Friday night I finally had enough time (and motivation) to start recording.

    I spent a lot of time fighting with ProTools. It repeatedly crashed. Often, when it didn't crash, it simply stopped recording and reported that an error had occurred. I'm remembering this for the ProTools rant that will be coming in the future.

    After 45 minutes I had recorded about 6 seconds of vocals and the 24 second bass line. The next block of Copious Free Time(TM) I have, I'll begin the rough mix of the three parts. Hopefully ProTools won't crash as often during that phase.

    With any luck, it'll be mixed in the next week or two.

    [/album] [permanent link]

    03 Jun 2008

    Demo
    In the next few weeks we are going to attempt to record and roughly mix a demo of a short track which will serve as an introduction to the album.

    Currently known as 11, it is a very short piece in 4/4 time at 80bpm. It is in the key of B minor and the spoken words are taken from a quote attributed to Nietzsche.

    What upsets me is not that you lied to me, but that from now on I can no longer believe you.
    This short demo will hopefully get me motivated enough to put more time into the album.

    More information will be posted when it becomes available.

    [/album] [permanent link]

    29 May 2008

    A Brief History
    Last Summer, my friend, rskutins, and I decided we were going to write an album. He got out his drum machine, being smaller and easier to store and carry than a full kit, and I got out my bass and we started putting together some pieces that were... not good.

    We had little direction, I was afraid to play things outside of my comfort zone, and we had some problems communicating. This project quickly fell apart, but we never completely gave up the idea.

    In March I found the inspiration I needed. I talked to rskutins and we started working on an album again. This time, fueled by strong emotion, both fiery and depressed, I started by writing lyrics.

    Not all are complete, but there are about 15 sets of lyrics for us to use as a starting point. Rskutins has tweaked the lyrics in some places to make them fit a better rhythm while still maintaining the intent of the words. I am quite pleased by what he has done.

    Based on these lyrics we have begun writing short pieces here and there when we feel inspired. Rskutins has laid down some pretty good beats to start with. I've been attempting to learn some basic music theory and trying to apply those ideas to the layers on top of what rskutins has written already.

    And that's where we are now. Still learning, still writing. Our day jobs have slowed down our progress considerably so it could very well take until the Autumn before we're ready to record and mix the album.

    [/album] [permanent link]


       
    Eponymous
    Eponymous
       



    About
    My Infrequently Updated Blog. The web-based journal of M. Forde, computer nerd, endurance athlete, and DeLorean owner


    contact

    Subscribe
    Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

    Flavors
    There's more than one way to view this weblog; try these flavors on for size.

  • index
  • circa 1993
  • Sections

  • main
  • musings
  • running
  • DeLorean
  • code
  • unix
  • album
  • TBM
  • Archives

  • 2022
  • 2021
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2008
  • 2007
  • Disclaimers, Copyrights, Privacy, Etc.

  • ToS
  • Copyrights
  • Links

  • olix0r.net
  • netmeister.org
  • Giraffes
  • Eat. Run. Sleep.

  •        
    09 Aug 2016

    He's Not Wrong...
    Over at Net Meister there's a nice peice entitled Things They Don't Teach You in School". A lot of what Jan has to say is spot-on observation and good advice.

    It's definitely worth a read.

    [/code] [permanent link]

    28 Apr 2014

    Looking back...
    As I look back at code I wrote a decade ago as an undergrad, I often find lots of little things that can be done better. For instance, in one file I found that reversing the order in which two functions were called would have eliminated a half dozen conditionals from one of the functions and would have resulted in the same expected behavior, but with fewer lines of code and a lower cyclomatic complexity.

    [/code] [permanent link]

    10 Dec 2013

    Thoughts on National Computer Science Education Week
    This week is apparently National Computer Science Education Week. Code.org is organizing the "hour of code" to promote teaching of Computer Science and Programming in schools. They're also organizing petitions to make CS courses count as credits in Mathematics or Science for High School graduation requirements.

    In High School, my CS courses were by far my favorites, Programming in Pascal, AP Comp Sci in Pascal, Programming in C++, and AP Comp Sci in C++ ( the language for the exam switched my junior year). I learned a lot about structured code, elegant, efficient code. I learned enough about Data Structures and Algorithms that I didn't have to study for my college CS classes until Computational Structures (Discrete Math II with Scheme, essentially) in my third semester. I had an amazing Computer Science teacher who also taught me Calculus and the proper order of precedence in life: God, Family, Math. I wouldn't be where I am today without that educational opportunity I had in High School. I want others to have that opportunity too.

    However, this is where I differ with the opinion of the Code.org folks. I do not believe that CS classes should count toward the Math or Science requirements. In this state, CS counts toward the "practical or performing art" requirements, I'm assuming under the "practical" label. I think this is a better place for it at the High School level.

    Computer Science is not a hard Science. It's not Physics. It's not Biology. It's not Chemistry. There's a saying that if the subject has science in its name, it's not really a science. That is true with Computer Science. It's not studying the how and why of atoms, of molecules, of living systems, of anything really. It's not science.

    Computer Science is really applied mathematics. I am very fortunate that the college program I went through was very strong in mathematics: Calc I and II, Linear (Matrix) Algebra, Discrete Math, Discrete Math II in the guise of Computational Structures, Probability and Statistics, Theory of Computation, Algorithmic Analysis... the list goes on. All of these mathematical foundations were then applied to a machine, to make the machine carry out a task in an efficient manner. It's those mathematical foundations that are the true core of Computer Science.

    While mathematics is the core of Computer Science and Computer Science is essentially applied mathematics, I do not believe it should count toward the Math requirements. The CS classes would likely detract from other mathematics courses such as Geometry, Trigonometry, and Calculus. These courses are far too important to an education to be replaced by a Computer Science course. Many, maybe even most, High School Computer Science courses focus more on "programming" than the fundamental mathematical theories. They will pick the language du jour and teach you the syntax and semantics. They'll teach about basic data structures like arrays, and linked lists. The AP exam currently focuses not on implementing lists, trees, stacks, queues, and sorting and searching algorithms, but on arrays and lists using Java library calls. This is not math. This is learning Java syntax.

    [/code] [permanent link]

    20 Aug 2012

    unHide
    After a friend's computer became infected with some malware that hides files in your home directory and tries to extort money from you in order to "recover" your data, I was inspired to write this little program.

    All it does is search for hidden, non-system files and unhides them. It defaults to the user's home directory (My Documents), but other directories can be chosen.

    If anyone wants to try it out, please do. If you do try it, let me know what parts I can do better. I primarily work on embedded systems and Unix daemons professionally; the user only knows my software exists when it isn't working. As such, I have very little experience with GUIs or human-computer interactions. Any feedback would be much appreciated.

    The Windows executable can be found at: http://www.skinnymf.com/~mforde/unHide/. Source code is available upon request.

    [/code] [permanent link]

    01 Mar 2012

    Just a Question
    Given the following code fragment, I was asked to implement foo such that the program would output "America." How would you do it?

            int main()
            {
              char *p = "Hello";
    
              foo(         );
              printf("%s",p);
    
              return 0;
            }
    

    My solution involved allocating new memory from the heap to store the new string, and changing p to point to that buffer. They didn't like that answer. They preferred the method of putting the new string in the data segment as well.

    I personally would always avoid that, whenever possible. "Hello" is stored in a read-only area of memory as is "America" in their preferred solution. Any attempt to alter those strings will trigger a segfault. This is an accident waiting to happen.

    [/code] [permanent link]

    19 Apr 2011

    It's not magic, it's C.
    I love reading comments like

    /* These defined magically in the linker script. */
    I found that in the GNU Standard C Library implementation when GCC told me the the variables to which the comment referred were undefined. I guess that linker script isn't magic after all...

    [/code] [permanent link]

    19 Oct 2009

    C#, XNA, and 8 Queens
    I spent some time this weekend learning some C# and getting working a bit with the XNA framework. I implemented a solution for the 8 Queens problem in C++, then ported that class to C#. After getting that working in Windows, I started moving it to the Xbox.

    It works there with little issue, but, as expected, writing to system.console doesn't produce useful output. My next step is to get some sort of graphical representation of the chessboard displayed with the solution set.

    [/code] [permanent link]

    17 Oct 2009

    XNA
    As of this morning, I am now a member of the XNA Creators Club.

    [/code] [permanent link]

    14 Oct 2009

    Self Documenting Code
    Despite what you think about your code, it is not self documenting. When writing code add comments, describe what a function does, explain why you're using that convoluted pointer arithmetic and bit shifting. I'm sure it makes sense now, but someday you'll have to go back and look at it and figure out what the hell you were doing. Or worse, I'll have to go back and look at it and figure out what the hell you were doing.

    Sometimes it is important to have some sort of separate documentation for the code; maybe some UML or ER diagrams, maybe some English text. Use what ever it takes to explain what you were doing. Do not paste snippets of your code into the text and call it documentation.That is not documentation, that is code.

    [/code] [permanent link]