Friday, February 28, 2014

Microsoft 70-480: Implement HTML5 APIs

Exam Objectives


Implement storage APIs, AppCache API, and Geolocation API


Quick Overview of Training Materials


Programming in HTML5 with JavaScript and CSS3 - Training Guide - Chapters 14, 15, 16*
MSDN Application Cache API ("AppCache")
MSDN Storage API blog - specific to Windows Apps, not too useful...
MSDN Storage and State reference
MSDN - Quickstart: detecting location using HTML5

*the chart in the back of the book includes Chapter 10, which covers the WebSockets API. However, another set of objectives covers WebSockets, so Chapter 10 really belongs there.

Friday, February 21, 2014

Microsoft 70-480: Create the Document Structure

Exam Objectives


Structure the UI by using semantic markup, including for search engines and screen readers (Section, Article, Nav, Header, Footer, and Aside); create a layout container in HTML


Quick Overview of Training Materials


Programming in HTML5 with JavaScript and CSS3 - Training Guide - Chapters 2 and 5
Developing in HTML5 with JavaScript and CSS3 Jump Start - Module 1 (part 1)
MSDN Articles on HTML5 - Specifically Learn HTML5 in 5 Minutes!
Element list from w3.org - HTML4
Attributes list from w3.org - HTML4
HTML5 specification from w3.org
Dive Into HTML5 - What does it all mean?
Microsoft.com - Exam 70-480 - suggested link: Get started using HTML5 - includes instructions on creating a webpage using WebMatrix
Convert a Warm, Cheerful Web Design to HTML and CSS - much broader than just this topic but an excellent tutorial to get your feet wet

Thursday, February 20, 2014

SICP - Metacircular Evaluator Part 2

Just like the last lecture, this one was a head scratcher for me. I'm going to have to break down and read the appropriate chapters in the book for this to make any sense. My notes are mostly just copying the overheads, most of the theoretical stuff was pretty lost on me. I'm going to keep muscling through for now in the hopes that just being exposed to it will allow me to put the peices together later on down the road.

SICP - Metacircular Evaluator Part 1

I had a real hard time following this lecture, I'm not even gonna lie.  Here are my notes:

Friday, February 14, 2014

SICP - Streams Part 2

I don't know if it was the material or just lack of sleep but this lecture whipped my ass. Though I must admit seeing the "infinite streams" in action made me very curious, it might be time to drop the lisp from the last two lectures into the Scheme interpreter and play around a bit. [hour of frustration later] ... ok the fact that apparently the MIT/GNU Scheme interpreter doesn't work the way Edwin working in 1986 is causing me a huge amount of headache, so I'll revisit it another day...

SICP - Streams Part 1

This was an interesting lecture.  More and more I find myself at a loss to come up with a good post-lecture summary for the top of these blogs, probably because like any programmer I hate needless repetition and everything about the video that matters is alread in my notes. So here ya go:

Thursday, February 13, 2014

Installing Windows 8.1 and Visual Studio 2013 in VirtualBox

I've been annoyed at the fact that I haven't been able to follow along the examples in the MVA courses and other tutorials that deal with writing HTML5 and Javascript in VS because you need to have Windows 8 to develop in those languages (Windows Store Apps). So I finally got around to downloading Windows 8.1 Pro and VS 2013 Ultimate from Dreamspark. Fortunately for me, the Harbert School of Business is a Microsoft Alliance partner (or whatever), so they were free. Whoohoo.  I've installed plenty of operating system in VirtualBox before, so I was hoping this would be an easy process (and a beautifully brief post), but alas, it was much more interesting (read frustrating) than I'd have cared for.

Wednesday, February 12, 2014

SICP - Computational Objects

This lecture used digital circuits as the primary example, and went over a lot of LISP code. As part of building the primitives for an embedded language in LISP for describing these circuits, we did some interesting things with assignments and creating lists for agendas and queues.  Indirectly touches on the subject of pointers and reference variables. I took a few screen shots this time to capture some of the diagrams.

SICP - Assignment, State, and Side Effects

This lecture is done by Jay Sussman and he really seems to dislike assignment. It muddles up all this very pretty functional code.  It's a bit of an anachronism that he talks about Fortran, BASIC and Pascal, though the setting is half the charm here. Mullet about made my head explode again, oy vey.  Overall a very valuable look at some fundamental programming concepts like variable scope and environments. He didn't talk about side effects directly but it did make me think of a word... what was it [navigates to Google...] idempotence, thank you Wikipedia. 

Monday, February 10, 2014

MVA Course Advanced Windows Store App Development with HTML5 Jump Start Part 3

This is the last two modules of this MVA course. I didn't take notes as copious as I did with Module 4 so I figured it wouldn't be a big deal to combine them.  The certificate of completion is pretty farcical for this course considering there wasn't a single test. I actually showed 100% progress before I even watched the third lecture. Oh well...

MVA Course Advanced Windows Store App Development with HTML5 Jump Start Part 2

I finally figured out that I would be able to take much more meaningful notes if I took them as I watched the lectures, much as I do with the MIT OCW stuff. As a result the notes for Module 4 of this class are much long and I felt they deserved their own post.  About half the module was spent on promises, I'm not sure they meant to go so long on it but the second half of the lecture was much quicker.

Here is the note dump:

Friday, February 7, 2014

MVA Course Advanced Windows Store App Development with HTML5 Jump Start Part 1

I worked through the first three modules of this course, which is focused on certain features of developing Windows 8 apps.  These features aren't all necessarily Windows 8 specific, but that was the focus of the course so far.

Thursday, February 6, 2014

SICP - Generic Operators

This lecture was ostensibly about generic operators, though much of the lecture ACTUALLY dealt with typing.  I took a TON of notes this time around because the lecture was nearly an hour and a half long. I'm really starting to get annoyed with Mr. Stache-Mullet, he sometimes asks good questions but more often than not he gets hung up on stupid crap.

SICP - Pattern matching and rule based substitution

I'll have to admit this lecture was harder to follow, though I think I did a better job following along than the mustache guy who spent five minutes beating the same question to death.

Wednesday, February 5, 2014

SICP - Symbolic differentiation and quotation in LISP

This lecture looks at producing derivatives using algebraic notation and calculus rules rather than the numeric estimation we looked at in an earlier lecture.  One interesting point made was that LISP expressions actually exhibit a list structure.

This was a shorter lecture (45min instead of the usual 75min), so the notes are a bit shorter:

SICP - Lists in LISP and the Henderson Escher functional geometry language

Today's lecture built on some of the concepts we already learned regarding combinations, introducing the concept of lists in LISP.  About half the lecture dealt with a language implemented in LISP that describes Escher like tiling pictures.  It was an interesting segment but because I can't really reproduce the graphics I didn't take very thorough notes on it.  The University of Oxford Computing lab has an exercise on their website that looks at the same Escher fish tiling problem in their own language called GeomLab. It doesn't appear to be implemented in LISP, but it does follow the same principles discussed in today's lecture. An example of the complete "Functional Geometry" language developed by Henderson implemented in LISP can be seen here.

Monday, February 3, 2014

SICP - Compound Data and Data Abstraction

Due to ongoing technical issues with my work computer, I'm shifted gears from .NET and back to the MIT lecture series. Today's lecture dealt with data abstraction.  I found this to be an interesting lecture, particularly the discussion of constructors and selectors. I couldn't help but mentally connect it constructors and properties in a .NET context.  Some more LISP today though I didn't get a chance to try and run it as I haven't installed the LISP interpreter on my laptop, and I am not in the mood to deal with installing it in linux. If I still don't have my PC back from IT tomorrow I might think about installing it.

How to implement Depth First Search algorithm for maze generation

In my post last week about the Microsoft maze game tutorial I touched briefly on the method I used to generate the maze, but I didn't go into a lot of detail. Mostly I just thought the whole thing was way too cool to necessitate an in depth look. But on further consideration I thought I could be pretty fun to explain exactly what the program is doing.