Thoughts on teaching programming
Do programming courses in college really get you ready to code in the real world? Unless you're a pie-in-the-sky optimist the answer is definitely "No." How does one teach a programming course in order to have one ready to work in the real world? I think there is a very simple way on how this should be done, but let's look at what someone coming into the industry should know how to do:
- Code competently
- Dissect the problem and map it to the programming language (classes, etc.)
- Generate readable code
- Understand testing, debugging and multiple debugging methods
- Code deployment
- Understand refactoring and code clean up
- Converse competently with other developers
- Algorithms
- Programming lingo
- Design patterns
- Work in a team
- As a leader
- As a follower
- Use a version control system
- CVS, SVN or some other source code control at least in the context of an IDE
- Be able to learn another language and transfer knowledge of algorithms, etc. to the new language
These five goals are the foundation for a competent coder and someone who can "talk shop" with any other developer in any other group, department or company. Unfortunately, as a fresh out of college coder, you're not going to have experience in any of these and you should. Jobs change, technologies change, but certain things always remain constant: clean code is better than messy code, algorithms, teamwork, and version control. The fifth point I put up there is the holy grail, so to speak of learning; where you can make the jump of what you know in one language and apply it to another language.
Lets look at each of these points and see how they should be integrated into a programming curriculum. Competent coding and its five main points should be taught at a beginning level class. As the student is introduced to the syntax of the language incorporate readability as part of the assignments. Formatting, comments, appropriate use of methods, function, variables, etc. should all be considered. When a program is returned the student must refactor their code to fix all of the problems found with it. If the program doesn't work, use it as a time to teach them how apply various debugging techniques. Dissecting the problem into classes, methods and various other sub-problems won't initially be an issue since a beginning level class has to start at the bottom of complexity and go up, but beginning to introduce the ideas and thought process in examining problems should be introduced as well.
Conversing with other developers; as with everything new, they'll have no idea of the lingo of programming. The beginning level class should focus on teaching them on discussing their problems with other students in order for them to become acclimated with discussing problems. In later classes algorithms can be introduced and at the top level: design patterns.
Working in a team should also be stressed. However, it doesn't make sense in a beginning level class to have people working in teams. Teams need to be done in a class with more difficult problems where it will take all people on the team to complete the problem. In an entry level class: they'd work as teammates; but, as the classes move to the intermediate and advanced the roles should become more defined such as: one architect and three developers or one lead developer and three junior developers and allow enough projects to have the team of three get a feel for each position.
Version control system, the fourth point, I believe should be harped on from day one in every class. It might take a little bit of time for the students to get the version control system working (I'm not suggesting they set one up, just they use one defined for the class or one that is tied to their account through out their time at college). Forcing them to understand how important a version control system is in real life is needed. As the classes being taught become more complex, the usage of the version control system can be increased as well. Begin with the simple things: checking files in and checking files out; then move to the more complex items: versioning and branching; and finally, the more complex operations like merging, back-porting, etc.
The final item: knowledge transfer. The very last class taken by the students should be in a language completely different than what they've used before. Such as, you've been using Java, use C++. The assignments should be of the same difficultly level of the last Java class such that they must adapt to using the new language in a short amount of time. Of course, they'll have to learn the nuances of thew new language, but part of the knowledge transfer is also learning about the new language.
Of course, none of these changes will make the students completely ready for the work environment, but it will give them enough experience to know what to expect as to coming into the job market with no clue at all. I know I've left things out like software methodologies and speaking to management, but I feel those would be best put in other courses and not in the core programming courses. Perhaps a 4th course called Software Methodologies where it will cover the various programming styles and touch on topics such as speaking with management and other people not directly involved in programming.
Am I off my rocker thinking that this is what people should be learning in college programming courses? Is there something I missed that you think should be added? Let me know in the comments below. I look forward to eventually making a part 2 where I can destroy everything I've written here and have a new improved vision of teaching programming in the future
.
Alaska Trip
United was running specials on airfare to Alaska so one of my friends suggested we take a trip to Alaska. It seemed like a good idea, so I did. I missed seeing the Aurora Borealis in the night sky and missed seeing the reflecting pool in Denali, but still managed to see many, many things.
After you finish reading about my travels or if you just want to see the pictures, you can view them here.
Day 1 (Wednesday) - Travel from Austin to Anchorage and then to Seward
The flight to Alaska was an Austin to Denver to Anchorage flight, so I got to kill three hours in the Denver airport, which is pretty hard since the wireless signal isn't very strong anywhere in the B Terminal area that I could tell. After arriving in Alaska and meeting my friend we went and grabbed some dinner (at 10:30pm) at Fire Tap Ale House before heading out to Seward. Seward is about a three hour drive from Anchorage and at night, it moves pretty quickly. The drive is also supposed to be one of the most scenic highways in America, however, at midnight to 2am, I couldn't tell you much other than it is really damn dark, there will only be a few cars out, and you can actually see stars in the sky. Which was pretty cool. We finally arrived in Seward at 2:30am which is (as I found out in the light) a really small town. I might be exaggerating a little bit, but it seems like Seward was only a few city blocks. This left us a good 4 hours for sleep until we got to hop onto a wildlife and glacier boat cruise tomorrow (or later today depending on your view).
Day 2 (Thursday) - Seward
My first full day in Alaska got off to an early start: 6am. After a rather poor continental breakfast, we had a hotel shuttle take us down to the Kenai Fjords tour building so we could check in and hop on the boat -- and this was at 7:30am, since we thought the tour started at 8am. However, it turned out the tour started at 9am, so we had an hour or so to kill. Since I was depressed with the breakfast we asked for a suggestion on where to get some breakfast. The workers at Kenai Fjords told us to try Railway Cantina and their breakfast burritos, so we did. Now, price-wise I found it a little high, but like all the food in Alaska it all seems a little pricey. The breakfast burrito was quite tasty though and it hit the spot although it felt funny eating Tex-Mex food in Alaska (being a little snobby, it isn't Texas Tex-Mex, but it was good food).
After the decent breakfast, we still had time to burn, so it was easily burned in the Helly Hansen store attached to the Kenai Fjords tour building. Now, I suppose it makes sense, since well, you might not have dressed appropriately to sit out in the cold weather for 9 hours and Helly Hansen makes some nice outdoor gear. After looking at all the gear, it was about time to get onto the boat. So we made our way out to the docks, where I saw an awesomely named boat: El Patron. And some awesome bumper (stern?) stickers that said: "Kill Fish" and "Burn Diesel." The boat itself was a fairly large ship with a lot of deck and interior space.
The boat ride itself was definitely full and it got really cold on the water.. especially when they started cruising at 22 knots. The cruise was long and I felt I got my money's worth with over nine hours of time on the boat we saw bald eagles, sea otters, sea lions, puffins, seagulls, orcas, and humpback whales.. and this was just the wildlife. There were also glaciers, waterfalls, and various islands, where you find out they have great names for islands like: Guano Island and No Name Island. The tour pulled back into port right at 6:00pm and it was then time to find dinner.
For dinner there were really two choices: Ray's Waterfront or Chinook's Waterfront. Looking at the buildings, we picked Chinook's. I ordered Salmon stuffed with Alaskan King Crab because it sounded wonderful. When it arrived it looked great, and then I took a bite of it and I completely changed my mind. The salmon was very dry and not what you expect when you pay about 30 dollars for an entree. They offered to have the entree redone for me, but after hearing multiple people around me send back their fish, I settled on a cheeseburger. When that arrived it was a little crispy, but I was so hungry I just added enough mustard to the hamburger to tolerate the taste. I don't know if this was an aberration on their food or not, but this was enough to turn me off to this place if I ever go back to Seward. The beer I got was very tasty though, so that was at least the one bright spot in the meal. After the meal it was about 8pm and I decided to call it a night, since I'd only been running on a few hours of sleep before checking out some hiking trails in Seward the next day then driving to Denali.
Day 3 (Friday) - Seward and the Drive to Denali with a Stop in Anchorage
Friday started early as we took a trip to the National Parks Station near the docks to find out where we should hike. The ranger on duty suggested Exit Glacier a few miles away where you can see the Harding Ice Field. We decided to do that so we headed out to Exit Glacier and decided to hike to the toe of the glacier and then attempt the hike to the Harding Ice Field. Hiking to the toe of the glacier was a nice fairly easy hike and I got a lot of good photos of the toe. We then attempted the hike to the ice field. And I couldn't make it up to the bridge (0.6 miles away), I was seriously not ready for it. I was carrying my camera and three lenses along with a fairly heavy bag. About 30 pounds of gear and water along with a fairly intense start (over 100o foot climb in the first mile) I realized I couldn't make it. So my friend and I turned back after I had finished my 32 oz. of water, which I think was about half way to the bridge.
We then started off toward Denali, with a stop in Anchorage for REI and a good lunch. At the REI, I looked for a new backpack that I could wear during the mountain biking we were going to be doing in Denali and still be able to carry some of my camera gear. We can say that I learned more about appropriate hiking gear this trip than I have in a long time. At the REI, I picked up an Osprey Manta 20 backpack that had a 100oz (3 liter) water pack and 20L of storage space. As an awesome bonus, Anchorage has no sales tax which was completely awesome. I'll talk more about the Manta later (since it is a very, very nice backpack). For lunch, we ate at Simon and Seafort's and it is totally worth it. The food here was awesome and I highly suggest eating here if you're in Anchorage (I ate here twice). I ate the berry field medley salad, chili-smoked tiger prawns, salmon, and a fresh-berry cobbler with their Chardonnay Flight (Columbia Crest, Clos du Bois, and Sonoma Cutrer Russian). The Clos du Bois was the Chardonnay was the one that was well worth it; the other two were very meh. We got out of Anchorage around 5pm or so and started out toward Denali, only 250 miles away. The trip to Denali is pretty, but also the most empty stretch of road I have ever seen. There is no cell phone reception and no radio stations for most of the trip. Oh, and Wasilla is a tiny damn town. We ended up buying some food in a small supermarket and wow, some food in Alaska is expensive, just like the gasoline.
The drive however, took a long time thanks to the road being completely repaved so we didn't actually get into the hotel until 2am, at which point we found out, the hotel booked the room for the wrong night -- luckily they were able to get us into another room. We prepared for the next morning and then went to bed.. the morning was coming early again. The hotel we stayed at was not worth it -- and I can't remember the name right now, or I'd tell you not to go.
Day 4 (Saturday) - Denali and the drive to Alyeska (Girdwood)
Denali, now here is the reason I really wanted to go; to see Mt. McKinley and see the Alaskan tundra. The plan was to rent mountain bikes, get into the park when the bus opens, make it to Eielson then ride our mountain bikes 20 miles to Wonder Lake hike around there then catch a bus out of the park. As you can probably guess, it is not how it happened.
We showed up at the bike shop around 7am and no one was there. We called them and said they'd be there soon, so we waited. When they arrived, they didn't know how to rent us the bicycles, and had to wait for another person to show up. Which was another 10 minutes or so. The person showed up and then took care of some other people who arrived after us before helping us.. so we had to wait even longer. Needless to say, we missed our bus into the park. We also found out that they weren't going to drop us off at the visitor's center like they initially told us. So we biked to the Visitor's Center a few miles away. At the park, around 9:15am, we had to ride stand-by on the bus and hope we found one that would take us close to where we wanted to go -- and we weren't going to be able to take the bikes.
We did have a bit of luck and got a handicapped bus that had a life and section for people in wheelchairs. Since there were no wheelchairs, we managed to get our rented bikes onto the bus. So, something good did happen in the morning. The bus ride into Eielson was three hours long and we saw a lot of wild life, some that I actually took pictures of. I didn't bring my 100 - 400mm lens since it wouldn't fit into my Manta 20 pack. I brought the landscape lens and the close by lens. Looking back, I should have taken my landscape lens and the 100 - 400 mm lens. Once we arrived at Eielson, we asked the park ranger stationed there how long it should take to get to Wonder Lake and he said we should be able to make it before the last bus that was able to take us out was leaving. With that we hopped on our bikes and took off down the gravel road.
The bike ride wasn't bad at all, however, we only made it 11 of the 20 miles to Wonder Lake, the bikes we rented did not have the basic maintenance performed on them and then chains kept slipping meaning every mile or so we'd stop and hop off the bikes and put the chains back on the gears. Really not what I wanted since I really wanted to see Wonder Lake, I did end up seeing some nice scenery anyway so I can't say I left completely disappointed. Around 3:05pm is when we stopped biking because that was the time the last bus leaving Wonder Lake would be coming by us. So we sat at the side of the road for about an hour since all the buses were running a little late. We then had a nice hour bus ride out of the park and back to the visitor's center.
We arrived at the visitor's center around 8pm and then had to bike back to the bike rental place and grab some dinner. For dinner we ate at Prospector's Pizza, a local pizzeria and ale house (just a note, but almost every Alaskan-owned restaurant is also an ale house). The pizza was expensive, but quite tasty and when it came down to it, it was a great idea to have it, because after eating we headed toward Gridwood and Alyeska.
I started out driving toward Alyeska at 10pm, which you're probably thinking, damn that's late. And you'd be right. However, in Alaska it doesn't actually go completely dark until midnight or a little after, so I got to drive about two hours in the light until it went pitch black. I made it all the way to the south side of Wasilla before I asked my friend to finish off driving to Alyeska. We made it to Alyeska at 3am, and as you can guess, it was going to be another short night, check-out time at Alyeska was noon.
Day 5 (Sunday) and 6 (Monday) - Gridwood, Anchorage and The Plane Rides Home
Now, you'd think after getting into Alyeska at 3am I'd be sleeping as much as I could, however, I ended up getting up at 9am and getting everything packed up for the plane ride home and getting my backpack ready for a hike up the mountain at Alyeska. We checked out of Alyeska and grabbed some lunch at Maxine's Glacier City Bistro. I was not overly impressed with Maxine's at all. The food was decent, but for my money I would have liked a little more food. After we finished up at Maxine's my friend was still hungry so we decided to try another place to eat: The Bake Shop. I'd love to say we ate here and the food was great, but that'd be a lie. There was a line out the door and the food was seriously overpriced -- just like every other resort restaurant I suppose. We decided to not eat there and just head back to Alyeska and take the tram up to the mountain.
Once we were up on the mountain we hiked to the highest point allowed where I actually stood in some snow. Something I haven't done in a damn long time. We were also above some of the clouds, so my head was literally in the clouds. It was so ridiculous that I took a picture of it, me wearing pants and a heavy jacket up at the top of the mountain because at the base of the mountain you'd be comfortable in shorts and a t-shirt. After meandering around the top of the mountain for a while, we hiked back down to the tram and rode it down then headed back toward Anchorage.
After an almost nasty crash and an hour later, we were at REI in Anchorage (I'm not going to pass up the chance to buy gear with no tax and no shipping). My friend said, "We're gear whores" and I'd have to agree, there is always tons of neat stuff at REI to buy. I ended up with a new long sleeve shirt from Arc'Teryx and another shirt by Moutain Hardware that the REI in Austin stopped carrying (I liked the Arc'Teryx shirt so much, I bought the short sleeve version of it too). I also picked up some luggage packing cubes to keep my clothes sorted during travel, plus when the TSA goes through your luggage hopefully they'll be able to pack it back the way they found it. I got out of REI relatively unscathed, my friend however, didn't fare so well.
Finished with the REI, it was time to grab some dinner and I chose Simon and Seafort's, again. This time we had to sit in the bar area since it would be an hour wait to sit in the restaurant side. This time my meal consisted of: Clam Chowder, Salmon stuffed with Alaskan King Crab and Macadamia nuts, and bread pudding for dessert. For my drinks I did the Pinot Noir wine flight (Beringer Third Coast, Pencarrow, and Erath OR). The clam chowder was decent, the Salmon stuffed with crab and macadamia nuts was amazing and the bread pudding left me a little sad. I knew better than to order the bread pudding, but even with mediocre bread pudding, it still isn't bad. If you're ever at Simon and Seafort's and they have Halibut cheeks on the menu, I highly suggest buying them. They were great (even though I only had a bite). Dinner was finished around 8pm (I think) and at that point we made our way to the hotel where my friend was going to be staying since it was going to be doing more sight-seeing in Alaska. The hotel was nothing to write home about and in fact, I'd probably stay away from the hotel, it wasn't in the best looking neighborhood (but it was damn close to the airport). Around 10pm we headed out to the airport so I could have extra time in case the airport security gave me any trouble like in Austin when I left.
If you've never seen The Ted Steven's Airport in Anchorage, it is completely ridiculous how nice it is. I'm sure a lot of federal money was spent making it. I hopped on the Anchorage to Denver flight on time, couldn't get any sleep because the person beside me was a complete jerk and arrived at dinner hungry and grumpy. A quick McDonald's breakfast (I never thought I'd be happy to see a McDonald's) I made my way back to the terminal for the flight into Austin. This flight was much smoother and much more comfortable.. I still didn't get any sleep however. I will say that United does a good job of having flights running on-time and efficiently and Economy Plus is definitely worth it, however on the Anchorage to Denver flight, I would have killed for First / Business class just to stay away from that jerk of a passenger. Even though the time difference was only three hours I'm still recovering from the time zone difference... I was tired, but happy I went and if I ever go back I know I have a list of things to see and do, and I'll definitely plan to spend more than a few days there.
Random Thoughts about the Trip
Now, my random thoughts of what I'd do different when going on this trip
- Packing
- If you're going to be doing a lot of hiking or outdoorsy stuff, I'd come more prepared than I was. I thought I had everything, but when it came down to it, the Osprey Manta 20 backpack was a lifesaver. I had hiking sticks and the right layers and such, but not having the right backpack was an issue.
- Know where you're going so you can choose the camera lenses to take with you appropriately. I realized in Denali my 18 - 55 mm lens was completely worthless and I would have been better off carrying my landscape lens and the zoom lens.
- I packed in a carry-on sized bag, which made packing a bit of a challenge, but knowing what I know now, I would have not packed my jeans and just packed my two pair of technical / hiking pants since they were the pants I wore for the entire trip. That would have saved a lot of space in the bag.
- The packing cubes are a nice thing and I'll definitely use the next time I travel. They do a good job of keeping everything in order.
- If you're packing camera equipment, I found my Mountainsmith Borealis AT bag to be a great way to bring the camera equipment as carry-on luggage. If was able to fit my DSLR and three lenses along with a some reading material and my laptop computer.
- If I was staying for more than a week I would have checked a larger bag but packed with the same idea as the smaller bag.
- The Trip Itself
- It was a lot of fun, but we were rushing from place to place, which although OK, it was a little hectic trying to make it from place to place at night. We did the best with the time we had allotted but now, I'd take it a little easier so we could travel during the day.
- I'm definitely a fan of Economy Plus and now I'm thinking I'd almost buy two seats beside one another so I can keep annoying passengers away from me.
- Food and gas is expensive in Alaska and if you're going to drive place to place, be prepared for a lot of driving
- Most people don't understand how to drive nicely on a two-lane highway. People would have stacks of cars behind them and keep motoring along like it was no problem. What ever happened to pulling to the shoulder to left faster people pass you?
- People RVing clog up the highways and a lot of them were the reasons for the two-lane highway issues.
- For Denali, decide what you want to do because that'll change what you pack. I shouldn't have packed what I did and I probably should have planned for two trips to Denali, one to mountain bike around and then another just to take pictures.
- Things I missed
- The auroras, they weren't very active and I really needed a trip to Fairbanks to see them.
- Wonder Lake in Denali
- The Harding Ice field
- Lots of other cities that are supposed to be beautiful
The bottom line: It was a lot of fun and I would go back despite the negatives.
Back to the Insanity!
As you may have noticed I haven't updated about the Insanity workout for the past few weeks. It wasn't because I gave up on it. It is for some other reasons that I had to take a break. First, I came off of my second type I diabetic honeymoon (meaning the insulin production of my islet cells has reduced to the point where I need the insulin pump again) and secondly, I pulled a calf muscle while doing one of the exercises in the rest week workout.
I've managed to get my blood glucose levels back under tight control for breakfast to bedtime, however I need to work on the night time routine now. The night time routine shouldn't be that hard however, I'll just need to wake up around 1am, 2am, 3am, 4am, and 5am across the week (like one blood glucose test a night.. not all in one night) and figure out the pattern and adjust my insulin pump to prevent having a morning blood glucose high.
Two weeks of rest did a good job healing my calf muscle, however, it does lead me to question why Insanity lacks any sort of calf muscle stretch in their stretching routine. I guess I'll have to give a quick calf stretch near the end of the stretching so I won't be having those problems anymore.
I look forward to finishing off Insanity across the next four weeks and then start up on P90X. Then I'll start attacking a P90X / Insanity hybrid where I'll insert Insanity's plyometrics and cardio workout routines in place of P90X's versions.
As a side note, I did attempt the first workout routine of Insanity's second month and that is when I realized I was off the type 1 honeymoon... I did manage to burn over 1000 calories and maintain a high heart rate throughout the workout. It is definitely a whole different level of intensity compared to the first month -- and I love it.
Rest In Peace Grandma
I've been sitting on posting something like this because I wasn't sure how to truly say anything I thought worthy of my Grandma, Viola Holloway. What can I say from what my brother has already said? But, I decided to write a post, even if it is rambling.
Her death was painful to me since you get so used to having people in your life and when they are removed from your life it leaves an empty hole. Will this hole ever fill-up where my grandma once was? I don't think it ever will and I don't think anyone who has lost someone close to them can ever say that void is filled up. But, at the same time, I know she is in a better place because of her condition.
I'm going to miss her immensely, I'm going to miss not seeing her there when I (and my brother, for that matter) walk across the stage to get our PhDs (whenever that might happen:)). I'm going to miss seeing her come over on the weekends to wash her car, hear her talk about her twice-a-week bridge and hand and foot games with her friends at the apartment or her complaining that the tree outside her apartment could use some more water and feeding spikes, or how the water in the pool as a little cold at 8am in the morning for her morning workout.
I couldn't imagine how hard it is to write this, to try and think about all the things I'm going to miss and try and instead focus on all the great times we had with her around. Her words of encouragement on anything we did even when we were terrible at it.
As my brother said, she had it right: Exercise, be happy and live simply.
Fixing jExcel’s performance issue while running in a web application
Hopefully this post will help people who are experiencing performance problems with jExcel inside of a web application environment like Apache Tomcat, Websphere, and the like. The short version of the post is this: if you're experiencing a lot of slow-down while jExcel is being called set this switch in your web-application environment: jxl.nogc=true. If you're using Tomcat you'd modify the CATALINA_OPTS setting to be something like this:
CATALINA_OPTS=".... -Djxl.nogc=true ...."
Now, the full explanation:
I use jExcel to create Excel documents on-the-fly. It works really well, is simple to use, and is extremely fast; however, we were running into issues after creating the first Excel document. The time spent creating the Excel spreadsheets to be written increased more than seven times after the first spreadsheet document was created. Of course, this unacceptable, so I was tasked with finding the solution.
I loaded up the jExcel source code and began tracing through it figuring out how Excel documents are created within jExcel. While I was searching, I was sent the following tidbit of information by one of my coworkers who was looking at the high level and stumbled upon it through this website (I would have eventually found this bit comment, but I'm glad he did since it saved me a lot of time). The important bit of information is this in the WorkbookSettings class:
/**
* Flag to indicate whether the system hint garbage collection
* is enabled or not.
* As a rule of thumb, it is desirable to enable garbage collection
* when reading large spreadsheets from a batch process or from the
* command line, but better to deactivate the feature when reading
* large spreadsheets within a WAS, as the calls to System.gc() not
* only garbage collect the junk in JExcelApi, but also in the
* webservers JVM and can cause significant slowdown
* GC deactivated using -Djxl.nogc=true on the JVM command line
* Activated by default or by using -Djxl.nogc=false on the JVM command line
*/
The switch jxl.nogc was set to deactivate the manual call to Java's garbage collection and the time spent setting up the Excel workbooks dropped by a factor of six from when we first tested the application. Without the nogc activated jExcel performs a full garbage collection after certain operations are done within the jExcel code. Which, as you can guess, full garbage collection while handling a request destroys any sort of quick response time that you might have been hoping for.
A Mind Bending Weekend
Aside from spending copious amounts of time working on my Phd, I spent some time this weekend catching up on movies from my Netflix Instant Queue. I decided it would be a great idea to go with the weird and mind-bending films.
To get in the mood I re-watched Un Chien Andalou directed by Luis Bunuel and written by himself and Salvador Dali. As you can guess, it was quite the surrealist piece of film making. There is no conventional plot -- it is merely a collection of scenes where the only connection between them are the actors within it. I'm certain many doctorates and megabytes of space have been awarded and used on the analysis of this 16 minute film.
Next up, was the Norwegian horror flick Dead Snow. Now this one isn't exactly mind-bending in the truest sense of the word, but it had some twists that were quite nice to see in a horror film. I was drawn to the film because it's picture on NetFlix was a decapitated Nazi Zombie head in the snow with a chain saw above it. How can you not love it? As the movie started out I was expecting it to have a lot of nods to Evil Dead, Evil Dead 2 and Army of Darkness due to the setup being close to the same as the Evil Deads. It did have some nods to those films and some other horror films but not so many that it detracted from the film itself. Needless to say, I was highly entertained and the final fight scene, although not as amazing as DeadAlive (aka BrainDead to the rest of the world except the US)'s final fight scene.
Primer was the next film I settled in to watch. A lot of people told me Primer made no sense what-so-ever because the plot was circles upon circles upon squares or something weird. Well, I'll give them that it is a trip but if you follow the logic of the film, it isn't near as messed up, but it has a wonderfully ambiguous ending. I don't want to give away too much, but it is worth watching at least once.. and it is pretty short clocking in at around 77 minutes.
After Primer's thoroughly WTF circular - but not really, but really - plot, I decided on Man from Earth, a story about an impromptu farewell party for a college professor where they ruminate on religion, life, death and what if someone had really been alive since the Paleolithic era. At first, I thought the film was going to really suck because the acting seemed really wooden, but once every character was introduced the acting was much much better and the story began to flow very well. I ended up really enjoying this film it was a very thinking-person sci-fi type of film which I think there needs to be more of.
After two thinking films, what better than an old school vampire flick? And by old school I mean 1932. Vampyr is that film. Vampyr follows the story of a Westerner coming into town on a vacation and staying in a rather creepy hotel with lots of creepy villagers and somehow getting involved trying to stop a pact between Dracula and a sickly young lady. This film really did have some creepy moments in it and was very eerie the entire time. After watching the film, I took some time to read up on it and I'm very impressed with how they achieved the dream-like look of the film -- medical gauze. It seems almost like low-tech film making today, but it was very well.
Finally, to end the mind-bending weekend with a bang I watched two (of six) of David Lynch's short films available on NetFlix streaming. I would have watched the other four, but I had other things that needed to be done, so I'm sure I'll watch the other three soon (and then begin to watch all the other David Lynch films available on Netflix Streaming). The first one I watched was a entitled 'Six Men Getting Sick' which was meant for an art exhibit and it was the same 20 seconds looped continuously. Of course, it was very surreal and just showed drawings of six men getting sick. The second was entitled Lumiere and was a whopping 52 seconds long and it made no sense what-so-ever. But because it made no sense, it became more interesting -- much like Un Chien Andalou.