Gretel and the Ferret
Yuppers. I need to work on image alignment. How about floats within Markdown? I simper.
See, when I do it this way, it most likely will work, but who wants to write html in a journal entry?
I can dig through the BlueCloth code and modify it, ya know.
Ya know?
Oouh!An Infinity To Nudge You Along
I’d term today as lackadaisical. I made progress on neither the Sheep Blog nor Hope For Wildlife. Perhaps this is a rationalization, but I conclude my second day of rest is because they are both at a stable point. Heh. I titter at myself.
A few items to add to the Sheep Blog:
- Multiple user functionality
- Signup for new users
- Comments
- Topics
The final one is the easiest to initially implement. The others are all tied together with the idea of multiple users and their ability to each post and each comment on others’ posts. That is, it will take more planning.
Topics will only add one column to the entries table (a topic_id). A general topic will exist which will be used for any post which is topic-less. On the right will be a collapsible list of topics and once one is clicked, only posts of this topic will be included in #content. The current topic will be indicated at the top of #content along with a clear topic link which does as one would expect.
I shall have to go through the old entries of my ex-blog and take their topics to be used in the Sheep Blog. (Entries from the old blog have already been transferred). Eventually, I’d like to get all my archives from Livejournal and have them be a part of the Sheep Blog, as well. Another idea is to slowly type entries from written journals into the database. This will take time. Hm. I need to begin experimenting with images within the blog, as well. I have not properly tested Markdown in this manner. Well. I guess we can try it now, eh? Here we go.
So, we’ll have to see just exactly what this does when the page is rendered. I am sure everyone reading this is very excited about the result. I can hear the hoorahs in my distant dreams from perhaps distant futures. 
Enough of that, anyway.
I have not begun on the music for Cycle (formerly entitled AcyBob), yet. Actually, that is untrue. The original sketch from last February is finished (I love those verse melodies) and some ‘middle music’ exists, though I cannot recall exactly what it sounds like. I am thinking I’ll go the 80s Crimson way and jump from part to part with no real warning or ‘proper’ transitions. Yus! Marvellous, I must say, sweaty-one. The melody that stirred in my mind in the late morning (just pre-noon), I jotted down, and it is this (with Tony-lyrics to accompany):
a a a e e f g a f e d
We'll be nested in and argent on that day
I know I have heard this or a slight variation of this melody somewhere before. I believe it is from another Alfred track, however, so my plagiarism is a desirable crime. I assume at this point the bass will be playing eighth-note triplets on f and this melody will be much too consonant. If the next line, which goes like this,
and the sangria and soup will pour
is during the triplety e part, the same or slight variation of this melody will still be too consonant, so I may somehow shift it, including the bes which is a tritone of the e. I am still not sure if this triplety (see a few entries ago) part will only have these two notes in the bass or wander off into other realms. My first hunch is to stay with the minimalism, though.
Now back to the BOOK.
Oouh!Guapo
Guapo thunders in my ears and I am inevitably taken back to spring 2005 and the concert Michal, Patricia and I attended at Klub 007 in Strahov. I must say it was one of the best shows I’ve ever been to.
Oouh!Cycle
Ostinato + verse 1 and verse 2
Triplety monotone ostinato + vocal 1
3/4 deranged waltz + vocal 2
Ambient extreme dissonance
3/4 deranged waltz with resonanced keys solo
Triplety monotone ostinato + vocal 3
Ostinato + verse 2 and verse 1
Oouh!Ambience
Thinking about Salience, I’ve been concentrating on lack of specific focus when it comes to aural stimuli. Therefore the focus drifts from sound to sound in a spacious sphere enclosing me. In the car on the return trip from the grocery just a bit earlier, instead of blocking out the faint flapping of air scooting through the driver’s side cracked window, or the crumbling crush of my father’s cigarette being extinguished, I let the minute sounds usher themselves into my left aural field. I identified their position and distance without discursive thought. They lay over the hum and tremolo of the vehicle’s journey along the asphalt. The words my father spoke were not meaningful in a linguistic manner, but created an ostinato of vaguely a b a a g.
Oouh!A Sealed Womb
I enjoy bitching about the despotism that was always a part of my ex-friend Christian and began manifesting itself more and more in his personality throughout the years. It was repressed for quite a long time whilst he was with his bane and obsession, Karolina, and spewed forth geyser-like when he popped free of that relationship.
In Cloud Atlas, there is a discussion of a hermetic environment. I believe that is what Christian, in his despotism, is attempting to create. The people who inhabit his world are to be sealed away from outside influence at all costs. Any deviance is crushed mercilessly. He longs to be the sole mind and have his subjects be mere pieces to achieve useless (in my opinion) aims. Communication with the outside universe is limited to foraging or manipulating for funds.
Oouh!Enjoy What I Do, Bastard, Or Die
Wikipedia states that the Authority Bias is the tendency to value an ambiguous stimulus (e.g., an art performance) according to the opinion of someone who is seen as an authority on the topic. I am strongly affected in a negative manner when people around me exhibit this bias, whether it is towards me or towards others. I find it ignorant and at times sycophantic. One good example follows Wikipedia’s description. Many people I have known trust a musician’s opinion of a piece of music and especially whether it is worthy of the term art more than what they may consider a ‘normal’ person. I have found, however, that when it comes to taste in a particular art form (media that can only be evaluated in a subjective way, I find, is best for exemplifying the appearance of this bias), one who is a practitioner of the particular art form has no better taste than a said commoner. True, they may have been exposed to more details in the realm of that art form (and especially in a particular genre of that art form) and know more about the technical details of creating the form, but I certainly do not place their opinion any higher than any one else’s. A commoner - one who knows almost nothing about the creation or structure of such a form - can often offer an opinion which would never come to a practitioner’s mind, which is often entrenched in training and rigidity.
Rancour.
Dodecahedra.
Grisly dinner guest.
I just finished an article on the Projection Bias. My mother exhibited a facet of this bias earlier today. As did my father. I’ll say that they did in conjunction. They conjoined in this bias, cooperating in its use. I was at the receiving end of the bias. This is how it went:
My mother has diabetes. She and my father are worried that I, also, have diabetes. I am no stranger to this fixture of my mother (and of hypocondriacs, of which my mother is not one) to project her ailments fictitiously onto those around her and use this imagination to worry and stress herself. I agree that she had a semi-plausible reason for coming up with my pseudo-disease in the first place. I do act as if I am constantly thirsty. I consume bottle after bottle of water and carbonated beverage after can of carbonated beverage. This fact also causes me to urinate incessantly. I’m not sure this is a symptom of the onset of diabetes, but constant thirst certainly is. My ex-friend Zuzana realized she was a victim of this unpleasant malady when, night after night, she awoke every hour to hour and a half with a painfully parched tongue and throat. This endless need to quench her thirst led her to consult a physician. So she discovered she had diabetes. Great. Well, not great for her, but great for the theory that constant intake of liquid may be a bad sign. This, coupled with the Projection Bias, motivated my mother to motivate me to check my blood sugar. Happily, I found it is very normal. So. That ends that debate. For now, anyway!
I’ll also extend this idea of the Projection Bias to my ex-friend Christian who finds that if he is fond of a snatch of music or a particular painting, then pretty much anyone would and should be also a fan of it. I recall a demonstration of this tendency of his at the small coffee shop in Letna (I forget its name) which serves excellent quiche. We were there (dining on quiche) with his friend Milena and listening to some of the raw tracks I had recently written and recorded. (These happen to be the ones I am completing during this very stretch of time, actually.) After her rejection of Fold (then either unnamed or called Reprise), Christian insisted that she’d enjoy the improvisation She Ain’t My Girl because he claimed to enjoy it so much. From Milena’s obvious extroverted and immediate personality, I was rather sure she would not have the patience for even 30 seconds of the piece. Christian was projecting his own likes onto her. In fact, he is not the only one who is susceptible to this among people I have known. It is sometimes impossible for a person to understand how another cannot appreciate a certain piece of art (a novel, a song, a photo, a painting…) in the same way they do. I hope I do not exhibit this bias any longer, but I am sure I did in my younger days. I even recall an exact thought where I was in almost despair because someone I cared for dearly (or was obsessed with - same thing) did not appreciate a piece of music in the same way or to the same intensity that I did. The music was Recycled by Nektar. Why I remember this moment, I know not. Interestingly, this may have been the spark which led me to take account of this aspect of my personality, take it in hand, and slowly remove it from my psyche. Perhaps.
Oouh!The Circles Of Horus
…and how I was told time and time again back in the old days that I should always listen to every one’s opinion about each piece and change it accordingly to please as many as possible (of my friends, of course, who were pretty much the only ones listening, anyway). I never should have listened to this and certainly do not now. I am happy that Tony and I do not interfere with each others’ compositional process. We seem to both appreciate the other. We do make suggestions at multitudes of points. Some are employed. Others are sloughed away. I think we are walking our own path.
Why do I suppose we are?
What contradistinguishes Artists from Carpenters is the process of creation. The former is inspired, sure, by myriad sources, but he melds those inspirations into a whole, making it his own. He invents using tools. At times he even forges his own tools to invent with. And so on. He is the architect and sometimes also the builder of these designs. And, most importantly, he does not try to please anyone but his own inner muse. Therefore, he walks his own path. Whether he receives praise or not for his creation is not an issue for him. He has created. He moves on to create more.
The Carpenter, on the other hand, which is what most people are who call themselves mistakenly artists, has a scheme in mind. He has a plan laid out for him. He is its slave. The room for expression is minimal. Though he feels he is inserting some of his own artistry into the technique he has learned to mimic over hours, days, months, years of practise, he is mistaken. A Carpenter is just a tool for an Artist. They are, as the tired saying goes, a dime a dozen.
I recall a heated conversation in Polo back in most likely 2005 where Christian, Karolina and I discussed the idea of Carpenters and Artists. Christian wanted to insert a new category - a Composer - which is right above Artist. He is an imbecile. He wants to be called an Artist, and so do most of his ilk, but they are all carpenters. They are trained monkeys just like guitarists whose muscle memory is flashier than their brain’s computational power.
Part 17
After the Xmas excursion to Hobbs and its Casino, I am sitting again in my bed. It is my normal location at this time of the evening. I am not ashamed of this routine yet. I have found vigor in it lately, though I know it will stagnate me if perpetuated for too long. Already I feel a nag in some twitching neuron telling me to rest from music making this evening and break the habit. I may do just that. Tomorrow I may go to Java Jitterz and create there for a while, despite the slushy noise within the establishment. If I am still working on Filter, it may contribute.
Approximately two hours were spent working on the Hope For Wildlife web site. It is running now on Bluehost here after a bit of wily debugging! The main problem was the request.path was having /dispatch.fcgi prepended. This shat up my original code a bit.
I also wrote some very ugly, hackish code which will, I am absolutely sure, cause big problems in the future. I won’t even understand what I was thinking in a few weeks. Marvellous:
- if !submenus.blank?
#buttons
- cols = organize_columns submenus, column_headers
- if columns == 1
#left.span-9
- cols.values.flatten.each do |submenu|
%a.round{:href => "/pages/#{page}/#{submenu}"}
= format_menu_name submenu
- else
- c_keys = cols.keys
#left.span-9
- if c_keys[0].is_a? String
.column_header
= c_keys[0]
- cols[c_keys[0]].each do |submenu|
%a.round{:href => "/pages/#{page}/#{submenu}"}
= format_menu_name submenu
#right.span-9
- if c_keys[1].is_a? String
.column_header
= c_keys[1]
- cols[c_keys[1]].each do |submenu|
%a.round{:href => "/pages/#{page}/#{submenu}"}
= format_menu_name submenu
def organize_columns(submenus, column_headers = nil)
if column_headers
ch_keys = column_headers.keys
one = submenus.select do |submenu|
column_headers[ch_keys[0]].match(submenu)
end
two = submenus.select do |submenu|
column_headers[ch_keys[1]].match(submenu)
end
else
ch_keys = [ 1, 2 ]
one, two = (submenus.size == 1 ? [submenus,[]] : [submenus[0..(submenus.size / 2)], submenus[(submenus.size / 2 + 1)..-1]])
end
{ ch_keys[0] => one, ch_keys[1] => two }
end
Pretty stupid, eh? If anyone is bored enough to have the desire to look at the whole project, then I direct you to its github home.
I have decided to not continue my work on what I am simply calling The Album (yes, I need to name it, much as I did Filter in yesterday’s entry) this evening. If inspiration smacks me, I’ll contradict this stance, of course. One decision I reached today regarding it was to actually add a piece after Fold. If you have been living within my brain for the last two years, this radical idea may come as a near electrocution for you, but it makes sense to me. I wrote about it also in my pocketmod whilst taking my almost daily cleansing stroll about the Seminole park. The inspiration was in part from Filter and its portion which has the snare and rhodes bashing away on offbeats, and from Les Cercles d’Horus by Univers Zero, which I listened to at the casino.
I shall continue Cloud Atlas now.
Oouh!The disintegrating guitar in my left ear is beguiling
Hello, Irritating Day! I am irritated at you. You are, as some say, an irritant. So, yesterday evening, if I failed to mention it in yesterday’s writing, which, if I recall, had very little or nothing to do with what I actually did during the day, I signed up for the hosting service ‘Bluehost’ because those using their service have SSH access. Well, this excited me. I want to host all my Sinatra apps somewhere (besides Fucksheep, which I haven’t pursued so much lately, though I shall at some point). Let’s concentrate on that parenthetical statement for a bit here. I just checked the Apache configuration file on Fucksheep and see that if I run an application on port 6666, it will be accessible at blog.fucksheep.org, and if I run an application on port 9090 (or something like that), it will be accessible at polaris.fucksheep.org. Well, this happifies me. I’ll set up the Sheep Blog there and maybe also on Bluehost.
Ok - Bluehost
I transferred martesmartes.org from limedomains (which was a waste of time and money) to Bluehost. I also snatched martesmartes.net from out of the flux of unclaimed domain names. What has caused my frustration during the past few hours is attempting to get the Hope For Wildlife site up and running on Bluehost. I want it to be accessible at hfw.martesmartes.org so that Allison and Hope can take a look at my progress and comment during the development (which is happening every day now!). I need their feedback so I do not have to backtrack. Well, this is understandable and even a small Nigripes would understand so I shan’t continue about such matters. What is important is that it doesn’t fucking work. I am getting an Internal Server Error and am unsure how to track it since the site works fine on Mustela-Ermina and logging doesn’t seem to have any effect on martesmartes.org. Perhaps I just burned myself out. I am stepping back at this moment and shall reconsider the matter either tomorrow morning (if I have time before we are all off to the Casino in Hobbs) or in the evening. After I achieve functionality of one Sinatra app, any following one will be a cinch. That reminds me that I should snatch up thirstily siralfrediv.org and siralfrediv.net.
After writing yesterday evening, I began working on the Loopy piece. Before going into details, however, I’d like to address my lack of creativity in naming the pieces. We have Intersection and Union, both of which I like, but we also have Loopy, AcyBob and Reprise, all of which are not to my liking. An idea was to name everything from set theory (note the first two names), but I glanced through the Haskell Data.Set library and found little, unless I want to name something ‘foldr’. Hm. Actually, that is a good idea. I’m going to rename ‘Reprise’ to ‘Foldr’. It is a smooshed together piece containing many of the ideas in pieces which will come before it on the album. So, that is that. I’m happy I have achieved something by creating this paragraph. It amuses me that I am actually using themes from Foldr as I complete the other pieces. The result is the same. I’ll continue the naming convention when I get into AcyBob. Let’s take a look through the Data.Set library once again to see if we can find something which adequately describes Loopy. So wait a moment. Ok. I am going with Filter. The piece is a number of ideas tied together by a single theme, which is the 5/8 7/8 ostinato and simple atmospheric chords which churn on for long stretches. Yes. Filter it is. And I shall call Foldr just Fold.
After completing this, I’ll do my best to finish Filter to the extent that I finished the other pieces (that is, not really at all, but good run throughs and fleshing outs to be considered even closer on second scrutinies). Here are my notes:
7/8
-
2 cycles of ‘groove’ - 5 measures each.
-
4 cycles of ‘groove’ - with birds guitars.
-
2 cycles of nothing - with ascending tuneless guitar
5 measures of 7/8 and 7 measures of 5/8.
I want to add rhodes at the first of each measure.
-
6 cycles of ‘groove’ - That’s 15 bars of 7/4 or 30 of 7/8.
21 measures of 5/4 with 5 beat guitar phrase repeating. E
Put rhodes and drum on every other beat.
Starts at 37.
37 + (5 * 21) = 142.
-
4 cycles of ‘groove’ - with atmospheric guitar in repeating 7/8. A
This is where the BEAT kicks in.
Make a string melody for this. Perhaps Tony-vocal.
-
4 cycles of ‘groove’ - with atmospheric guitar in repeating 5/8. D
Add some strangeness to this. Let the rhodes do something simple.
Like some ‘jazz chords’.
-
2 cycles of ‘groove’ - with atmospheric guitar in repeating 7/8. G
There is a distorted guitar during this, but take it out.
Add string melody for this.
-
2 cycles of ‘groove’ - with nothing over it. F
Add rhodes stuff from Reprise, but it 5/8, plus strings.
-
2 cycles of ‘groove’ - with atmospheric guitar in repeating 7/8. G
There is a distorted guitar during this, but take it out.
Add string melody for this and Tony vocal.
-
4 cycles of ‘groove’ - with nothing really over it. Ees
More rhodes stuff from Reprise. Various craziness.
It makes sense to me! Initially, I’ll finish the bass lines. They are simple and groovy. Tony will approve. The madness parts will be the most interesting. The melody which Tony will sing (and the string part will play, though probably not at the same time) will echo the melody in Fold of either the bass or the middle tritone portion.
Good evening.
Oouh!Pipe wrench, smouldering corpse, floor
This evening I am going to revisit the thoughts I scribbled down, usually quickly, in my first pocketmod last week.
The first thing I wrote has to do with a currently ‘on pause’ project, that being the novel I began in November. On November first, in fact. I was inspired by another writing site. Actually, it was the site which recommended this very site on which I am writing now. This is it! I got a little past 25 000 words (I think - I may be fooling myself now that I consider it) and then lapsed into lethargy. Ok, that is not exactly true. What actually happened was that I went to Austin and the sheer excitement of being in that city which runs orange with nostalgia and inspiration entwined did not let me concentrate on novel-writing. You must admit that writing a book is a very solitary profession. During the first half of November, during which I wrote persistently every day, I was alone. There is little to distract in Seminole, Texas. It was easy to imagine the adventures of the Beast and of the unnamed main character and of Natascha, Nivalis, Houmlessak, Jonatan, Shambal and various other odd individuals (not to mention the un-individuals, that is, the seething masses gazing at passing trains, spanning platforms with their centipede-like bulk. Oh, yes, the novel was (still is) about the ambiguity of personality and its merger into larger forms (ie, society in all of its forms, from peer groups to nations).
But I meander.
The first bit in the pocketmod states this: Map out the path the beast took towards the leaving of his lady! The beast was one of the original ideas when the novel (first conceived as a short story) took seed in my sloshy brain. He was initially a television commercial about anti-lubricants for women who just got too sopping wet down within that crevice-thing they have. The idea if him (it?) morphed. In several parts in the novel (which is unnamed, as you may have imagined since I call it repeatedly ‘the novel’), the beast, from within a projection or a television, elaborates on various goods which are supposed to help the main character along on his ‘journey’. It’s more of a sojourn or a pilgrimage, actually. This beast is accompanied by a she-beast who usually just howls, makes rude gestures and provides various other visual accompaniments to the beast’s soliloquies. What is going to happen at some point is the main character and the beast will sit and actually converse. They’ll spill their guts to one another. The precursor to this activity is the beast’s she-beast leaving him. I still have not actually traced the path to that juncture, however. I can assume the beast irritated the beastess by taking the stage and hogging it one too many times, for example. I still want to let it lie. Inspiration shall strike at some point, I feel assured.
Next - “Sometimes I feel I could live in West Texas just because of the sunsets. The colours, though washed out pastels they may be, are irresolutely striking. Now, to continue my walk.
There is not much to add to that, is there? I imagine many fans of West Texas to claim the sunsets here are indeed some of the best (if not the best) on earth. I’ll have to agree they are magnificent. They don’t hold a candle to the ones up north (I’m thinking Alaska), however. So fuck you, fellow Texans. This place is a blight and should be erased from existence! Yes!
Fuck Texas.
That brings me to a peripheral point. My mother mentioned the other day (I think yesterday, in fact) that one day I’ll have to take care of this house because I’ll be the one living in it. I considered this. How would my life be at that point? I suppose I’d be quite a bit older. They’d be in the cemetery just out of town. I’d convert the living room into a studio. I’d be stocked up on booze just in case it would help with inspiration. Christopher would come stay for a few weeks and we’d have a grand time. Tony would visit and we’d create marvellous music. Most of the time, however, I’d be alone, sequestered in this nook on the bleak side of the earth and on the barren side of the universe. I’d continue my programming projects. Maybe I’d actually become proficient on an instrument… ? Thinking about it is calming, I suppose, but it is also the easy way. It is a lapse into lethargy. Hm.
My 750 words are up! Now, I shall continue my adventure with the Loopy track. It needs a better name. Do you have any suggestions?
Oouh!I was the primer for the first universe
I am incredibly fucking frustrated concerting Project Euler #254. I am befuddled. Flummoxed. And overall - irritated. The problem is an irritant. I posted some things about it in the Sheep Blog earlier and have since learned that none of that matters at all. Of course, this will be soon merged with the Sheep Blog, so the last sentence is half superfluous. But, anyway, creating a list of every number which has digits which add up to i was big fun, though ultimately pointless. Having the values of f(n) does nothing for me because with each of them I’d have to calculate the n. The sheer amount of computation involved is staggering. Furthermore, to get each f(n) for i = 150 takes longer than it would to pull a tugboat full of raving mustelids from here to South Africa without encountering any water or poisonous snakes.
So!
I hope you have noticed that I have begun writing these entries (starting today) with markdown since the Sheep Blog uses BlueCloth to create the fucking html from fucking text. Yeah.
So!
My next strategy was to make a map of sf(n) -> n. The code I have just come up with is this:
sfMap z = sfMap' (IntMap.fromList []) [1..z]
where sfMap' theMap [] = theMap
sfMap' theMap (x:xs) = sfMap' (if (IntMap.lookup sfx theMap) == Nothing
then IntMap.insert sfx x theMap
else theMap) xs
where sfx = sf x
I’m using IntMap because I read in the glorious ghc library reference that it is exceedingly quick (maybe even quicker than a marten). Now, this creates a map with only one entry for each i (which is sf(x)). Since I am being sequential in my xs (note the [1..z]), the first time a x results in an i (sf(x)), it is recorded. Any further duplicate *sf(x)*s are ignored. I think this is the correct step forward (as opposed to the false stagger in a random direction earlier) even though when attempting to find is up to 1 000 000, it was taking so long I had to interrupt the process. I need to create a more efficient way of making this map. I have some shades of ideas, but they are still murky.
I shall continue after returning from an excursion to ‘Southern Rose’ with my parents for dinner. Yum…. I suppose.
I have returned. Actually I returned over two hours ago. What have I done since then? Well, unfortunately, I have not forgotten about Project Euler and my little problem (cue the song, though it has little to do with mathematics). I played Hand and Foot with my parents (I came out on bottom and do not mind in the least), consumed some oatmeal cookies (much to my tummy’s chagrin) and wrote a program.
I had this brainstorm whilst at the restaurant, actually. There was a book I espied in Luxor in Praha back in, um, most likely 2007. It was about sharpening discursive skills or some rot of the like. I enjoyed thumbing through it and desperately wanted to purchase it because I felt my quickness of mind has been dulling like a blade scraped repeatedly on porous rock. Yeah. Like that. Unfortunately, when I next returned to the bookstore, I could no longer locate the tome. I did remember a point from it which stuck with me and has taken me over three years to implement. insert smiley. The book suggested doing a number of simple arithmetic problems quickly every morning consistently. I always liked the idea, but have, as I just wrote, and you know I love repeating myself, procrastinated until about 30 minutes ago in employing the method in any sort of tangible manner.
So I wrote the program. It is called daily_arithmetic.rb. Any fool can see that I wrote it in Ruby. I really should have done it in Haskell, instead, but IO in Haskell flummoxes me terribly, as very few of you know. Possibly none of you knew that until the very moment you read the last sentence. Just for fun, I’ll post the whole program here. 750words.com would probably call this cheating, but it is an original work, after all, and I’ll attempt to vomit up another 100 or so words afterwards to appease the spirit of fair prose play.
require 'rubygems'
require 'datamapper'
require 'dm-mysql-adapter'
DataMapper.setup(:default, 'mysql://localhost/morning_quiz')
class Arithmetic
include DataMapper::Resource
property :id, Serial
property :question_count, Integer
property :score, Float
property :time, Integer
property :type, String
property :created_at, DateTime
property :updated_at, DateTime
end
choices = { 1 => :+, 2 => :* }
puts "Good morning, Schweinehund."
puts "1) Addition"
puts "2) Multiplication"
while !choices.keys.include?(choice = gets.chomp.to_i)
puts "Don't fuck with me, sunshine!"
end
puts "How many questions, you dullard?"
while (count = gets.chomp.to_i) < 1
puts "You are straining our relationship, cabbage-boy."
end
puts "Ready?"
gets
start = Time.now
correct = 0
count.downto(1).each do |i|
fst = rand(9) * 10 + rand(9)
snd = rand(9) * 10 + rand(9)
ans = fst.send(choices[choice], snd)
puts "Question ##{count - i + 1}: #{fst} #{choices[choice].to_s} #{snd}"
if gets.chomp.to_i == ans
correct = correct + 1
puts "Very good, vole."
else
puts "Nope!"
end
end
finish = Time.now
score = correct.to_f / count.to_f * 100
puts "From #{count}, you answered #{correct} correctly."
puts "Your score is %.02f%%" % score
puts "It took you #{finish.tv_sec - start.tv_sec} seconds."
Arithmetic.create(:question_count => count,
:score => score,
:time => finish.tv_sec - start.tv_sec,
:type => choices[choice].to_s)
Isn’t that fantastic? DataMapper is an especially cool gem. I recall the days of struggling with mysql (or postgres, or whichever). Now, well, existence is made more beautiful by the simplicity of DataMapper.
Ok, the next task of the evening is to begin working on the Loopy piece. I wish to flesh it out and shall exude mellifluous energy from my beta-brain into LMMS and Audacity. I think I will not even bother with Lilypond. The spirit of the original ‘composition’ was one of spontaneity. Jesus Christ Mother Of Satan And His Holy Bedfolk, I do not even recall what key (if any) it is in. Perhaps that 7/8 5/8 ostinato was an A and a…. well… I am not sure, actually. Doesn’t this ‘unknowing’ make it more exciting, however? I am babbling away. So have nice evening.
Oouh!