Mimir:Spring 2018 Illya Kovarik Log

From Openitware
Jump to: navigation, search

Week Ending February 6, 2018


Last class, after class, we, the grad students, met and agreed that the task for the week was to review the existing materials. Everyone has some strength or maybe a preference what they might best contribute. We can't all start writing and hope it will fall together. The thought, at least, was that folks can review and think a little what they might be best at to contribute. Some people might like to draw, some people might like to write. The next class we are to discuss what we would like to do.


The text so far is not bad, I mean to say there is quite a bit of work done. Several years students have already worked on it. Some of it does come across a little disjointed and it is not a packaged textbook. Does it need to be? Work In Progress. I am still reviewing the text.


The plan is to come up with a plan or a strategy what to do here. Likely, we need to trim this down to manageable work units. Maybe focus on one chapter.


There are a lot of students and everyone has to play some role. It will be a challenge to keep this organized. What is the actual deliverable? We should probably get some better guidance from Prof Jonas.

Week Ending February 13, 2018


Class was cancelled due to snow storm. We did not actually meet but there has been a decent flow on the Slack page which Patrick started. Looks like last week's task to figure out what you want to do was more or less completed, we have people in the functional groups of writing, picture drawing and code snippet writing.
We also decided to focus on Chapter 1. I suggest we get out of the wiki and write in a writing program to make it easier to edit. I would argue that might be why there hasn't been such big progress on this project is because this code editor gets in the way of nice writing.

I think what we want is an outline for starts and that is what I am working on. Ideally, a template to follow so all chapters follow the same form.


Posted the outline for Chapter 1 on Slack on 2/10.
Started collecting information to write out the chapter which will start next week


Think about the outline and/or template. I'll do some research on existing programming books and whatever online examples I can find. Share what I have by Saturday evening (2/10).
Start with the topics in the outline. We are starting with Chapter 1 which is an introductory chapter. Basic questions should be addresses, such as, why study programming languages, what are they made of, like that. Get some background info out of the way and orient the reader.
I'll start writing some of it.


I don't like Slack.

Week Ending February 20, 2018

  • Grad students met after class 2/14. Patrick made a list of deliverables.
  • My task has been clear, I will be writing.
  • I'll continue researching and start writing out chapter 1.
  • Post my stuff by Sat evening 2/17
  • Roto-rooted Chapter 1 according to the outline we had discussed. done 2/17
  • Added some idea outlines with some text. This will need much more and I'll work on that.
  • Writing in a wiki is like writing comments for a section of code.

Main plan this week is to start writing and get some material going. Should be able to write a dense page or more.
If I don't see any other activity, or if there's no objection, I'll start actually formatting and uploading to the wiki so that it appears to outside observer (ie. Prof Mike) that something is getting done.
Plan to post what I have by Saturday evening 2/17. Done.
Will likely revisit early on in the week and add another round.


Not sure a wiki is the right format for a textbook. The result will always be a wiki, better or worse.
Also, the class notes Prof Mike set forth as an example are really quite good. How are we adding value with this? This seems redundant.

Week Ending February 27, 2018

  • Had 'Hangout' video class which didn't go so well because of crappy connection
  • Class got out maybe 20 minutes early
  • Met with grad students after class to discuss strategy.
  • We split up into groups to work on various chapters
  • I haven't looked at the Slack in the few days. I'll catch up with that tonight (2/22).

  • Reviewed the breakdown of the assignments. I originally started chopping up Chapter 1 but now it looks like I've been reassigned by management and am not on it anymore. OK.
  • So I will be writing Chapter 4. It has some reasonable substance. The question is whether to repair or redo it.
  • Spend the balance of the time budget working on the class notes which are almost done. My writing is slow going but I like to think it's good and readable. There are enough dry and boring reads out there, you don't me to add to that pile.

I will continue trying to write. I don't have access to Slack by day because of firewall. Will look through the updates tonight (2/22)

So the revised plan is that since the homework is LISP and the chapter writing assignment is essentially LISP, I can combine efforts. Writing out the chapter and thinking about should aid in completing the homework, like a study guide. That's the thought.


We have 3 different things to do:

  • Log (that's this)
  • Class notes (that's the groups 1-6 where you work with a partner to capture the weekly notes from class)
  • Mimir textbook (that's the grand plan to write a textbook on the side)

In yesterday's grad students meeting, all three of these topics were woven throughout the discussions making me get the sense, that not everyone understands the difference.

Week Ending March 6, 2018

  • Grad students met again after class 2/28.
  • Seem like the direction is fairly clear. We have our chapters split up among ourselves and it seems like people know what they are doing. And so it was a fairly short meeting.
  • I believe Patrick and Bridget have a poster proposal already in works. I can drop in a section, as needed then. Vice versa, since my work is so close (across the street), in lieu of working on the poster, I can offer to put in some time at the booth during the show.
  • Class notes are about 80% done, more or less. This week completing the HW2 has priority. But it's easy to write a few lines here and there and it'll get done in that way just as well.


Getting a bit ahead of myself to HW3, having tried Scratch and it didn't work on my computer. Turns out, it doesn't work or FireFox, or at least our setup of it on my work computer. Works fine on Explorer. Did not try Chrome. OK, back to HW2


The same plan carries over from last week. Since the homework is LISP and the chapter writing assignment is about functional languages, or essentially LISP, I'll combine efforts. Writing out the chapter and thinking about it should aid in completing the homework, like a study guide.


I have none at the moment. The few minor issues mentioned in past seemed to have resolved themselves. And there was much rejoicing.

Week Ending March 20, 2018

  • Mistakenly assumed class was cancelled due to snowstorm we had but class met of Hangouts.
  • Parts came in at work, they don't work properly and that has been a scramble.

Honestly can't post a bunch of results for this week. It was spring break too.
Timing was pretty good with the parts arrival at work right during the spring break. But... Unfortunately, the parts don't work very well. Seemed like we tried too many new things at once, but that's a different story.



Busy at work...

Week Ending March 27, 2018

  • Quick grad student meeting again. We know what we have to do on the project.
  • There are enough folks on the poster to take care of it. I offered to attend the fair when that happens. I can be there at the poster session and explain things.
  • Outline for the Scratch project due. The due date was extended, I presume because nobody was paying attention during break (!)
  • I presume the Scratch project was approved because it wasn't rejected or commented.
  • Yes, later in class then it was briefly mentioned who was doing what. All's well.

I proposed to do a synthesizer. There seems to be generally not that many of them, whereas games there are tons.
Main item in the plan is to investigate whether hardware can be attached to Scratch. What I want to be able to to is to attach an outboard keyboard (musical keyboard) via the USB. I know you can assign the standard QWERTY keyboard keys and mouse clicks to do things, but I do not know if any other hardware can be interfaced. The plan is to figure that out.


We'll see how my Scratch project plays out. Maybe there's a good reason why there aren't that many sound makers...

Week Ending April 3, 2018

  • Class went overtime and grad students didn't meet, however updates are posted on Slack
  • My contribution to the poster is that I offered to attend the fair.
  • Finish Scratch project.


Scratch is an interesting program but it falls short on what it can do with audio. It seems to be more geared towards graphics. I think audio just wasn't really ever addressed, not that the program wouldn't be capable.
My opinion is that a graphical program like Scratch could make an excellent audio processor or synthesizer. Being able to piece together graphical blocks, such as generators, mixers, filters, etc would make a very intuitive user interface.
Here's what I learned about Scratch:

  • Only selected and limited access to external hardware. You can't connect an external (musical) keyboard.
  • Sounds are all canned routines. You can modify parameters up front but then it just executes. You can't control them "live". So, for example, you can only say up front how long the note will play, you can't have it play as long as you press a key. Well, you can write a loop routine, but the sound is so choppy and bad sounding, forget that.
  • No access to the sound card. Pity, this is essentially a "free" resource, ie every computer has one. For example, recording your voice and then running that audio through an effects block set you designed, would be perfectly educational and would seem to fit right in with what Scratch is all about.
  • Slow processing and latency. This is web based and the sounds are laden with delays, jumps, pops etc. This doesn't need to be "studio quality" but the sounds are more like cheap kid's toys. Very Lo-Fi.
  • Scratch generally treats sound as an effect that serves to animate the graphics. In other words, it takes a supporting role to the graphics.

Concentrating on my Scratch project, which is a synthesizer.


Not really a concern but as I worked on the Scratch project, I realized limitations and that the synthesizer won't really be as good as I would have liked.

Week Ending April 10, 2018

  • We are into the real core of the class now and have the parser we wrote in class.
  • HW 4 assigned. Start looking at it and be prepared with questions for next week.
  • Need to do more work on the textbook chapters.
  • We want "second draft" by next week.
  • Class notes still aren't done, a little bit left to do and should wrap that up.
  • Worked more on the class notes. The only thing left are the BNF grammar examples and a good proof-read.
  • Got the javac compiler loaded and working. I have never used java, so this will be fun!
  • First part of the homework seems easy enough - complete the grammar and add to the parser. It's the second part which is tricky.


Java is a concern. I have ZERO experience with this language. I think I will be largely cut/paste sections of syntax or possibly 'googling'.
No concern about what or how to do this. Time is quickly running out!

Week Ending April 17, 2018

  • Work on HW4
  • If time allows, edit the textbook
  • Small examples section left to do on the (first) notes.

Appears I am not the only one who isn't done with the homework! A bit of a relief, we were given an extension:

  • Part 1 and Part 2 due Tues 24. Prof Mike then gives us the working interpreter with which we then finish the rest...
  • The 3 programs to be written for the interpreter, due Fri 27

Not much of any plan. Try to get the HW4 done as much as possible. Still struggling with errors and generally not that up on this stuff.


Inexperience with java.
Not a whole lot of extra time for the textbook.
No concern about what to do. Time is quickly running out!

Week Ending April 24, 2018

  • Continue HW4



Not a whole lot of extra time for the textbook.
Problems figuring this stuff out. Constant errors and lack of java experience.
Time is quickly running out! How we started with all the time in the world and here we are pressed to the end and racing to the finish line.

Week Ending May 1, 2018

  • Finish any outstanding assignments
  • Consider and submit project proposal
  • Consolidate things and start studying for the exam


Took a time out and did a general overview of the textbook, where it really stands at this point. My opinion (read that again and don't get me wrong!) is that it just doesn't read like a textbook. At this stage, no different than at the beginning, I'm hardly in a position to be changing that, not to mention I have my hands full just finishing off the other requirements of the class. Why I say this is that I was never a fan of a wiki textbook in the first place, I don't like the format, it simply doesn't read like a textbook, regardless of the phenomenal effort anyone might have put into it. It might have to do with the bottomless scrolling effect. When I read (a textbook), I flip a page and have a sense of where I am marching to and where the text is going. Maybe that's just what we are used to. One has a book in the hand and knows how fat it is and when a page is flipped, there is a subconscious realization where one is. Maybe if we were in ancient Babylon and all we knew were scrolls of papyrus, the bound book would seems like something strange and unreadable. Again, that is my opinion.
That being said, it does look better than it ever has...


Start studying for the exam
Turn in project proposal
Seems like the best idea at this point is to focus on the exam since that is a chunk of points which need to get some attention.
Get the proposal turned in enough to get that out out of the way but really need to focus on the exam.


Appears like I'd be the worst programmer in the class. In class, I choked and was missing whole sections of the rapidly typed compiler and so of course I couldn't get it to work. Fortunately, I got a little help to finish it off and it worked. But that was just the one step, not sure about the rest of this. I'm also not sure where the sqrl compiler written in lex and yacc actually wound up, somewhere on a unix server. Anyway, we'll see about it. I think that is better addressed after the exam, as there are two weeks to wrap that up.
Fortunately, my other class is going well enough so I can budget most of my time on this class.

Week Ending May 8, 2018

  • Study for the exam!

Class notes are finished off. Seems like someone screwed up the formatting and everything downstream is like computer type-face. It appears to be in the SQRL upload of the entire code, something doesn't format correctly. I tried retracing to see if I could fix it but trying a few things didn't. I'm not that much of an expert with this, I can get by. It's not the first time, Sometime last week Prof Mike came in and cleaned it up. Oh well...

Odd timing... while typing the notes and making some basic edits at what I would have thought to be an odd time, the save was blocked and so I was wondering if my partner on this, Sam, was typing at the same time trying to save something! This is awkward to say the least. One could have put considerable effort into typing a section only to lose it during such a double write. So there's another reason why I don't like the wiki textbook.



The usual concern is that time is running out. Not sure more time would really make any difference though. Just need to finish and be done with it.