August 24, 2007
Netflix Blogs
It seems like Netflix is jumping onto the blog bandwagon. There are employees who have personal blogs, such as myself and Michael Rubin. Personal blogs, of course, do not represent Netflix even if the company may be mentioned in it. But there is now an official Netflix Community Blog, which is moderated by Rubin, that was created as a way of communicating with customers and the rest of the world in general. Earlier this week, Reed Hastings, CEO of Netflix, started a personal blog as well; but he's quite aware that his blog reflects upon his position as CEO.
Posted by josuah at 7:15 PM UTC+00:00 | Comments (0) | TrackBack
October 31, 2006
I'm On Hacking Netflix
So anyone who delves into Netflix has probably heard about Hacking Netflix. It's not affiliated with the company though; it's run by an individual whom I don't know anything about. My previous reply to Netflix Fan is now featured on Hacking Netflix, although no one seems to care enough to post any comments. :P
I find it a bit amusing that Becky first wrote a blog post about blogging, and then I wrote a blog post about her writing a blog post about blogging, and now Hacking Netflix has a blog post about my blog post about her writing a blog post about blogging. And now I'm writing a blog post about a blog post about my blog post about her writing a blog post about blogging.
I stopped by Netflix Fan again today, and noticed Becky put up really big disclaimers saying none of the links she listed are corporate blogs. Maybe I made her feel a little guilty or something since I kept mentioning that in my reply post, but I didn't mean to. I think anyone would be extremely hard pressed to consider my blog as anything other than a personal site.
Hm. It seems that the TypePad developers don't think URL's should begin with https:// either. So no TrackBack ping for Hacking Netflix either. I should probably check my own ping URL regexp.
Posted by josuah at 5:45 AM UTC+00:00 | Comments (0) | TrackBack
October 25, 2006
A Netflix Blog?
Gary showed me today a post on Netflix Fan asking Why no corporate blog for Netflix? and, as it happens, including a link to my Work & Research blog category. I'm not particularly surprised, as I've received a few emails at my work address from Netflix customers asking various questions. The poster at Netflix Fan, Becky, asks if there is a company policy regarding our blogs.
Well, for starters, this is my personal blog, where I happen to have a work category. So anything I post on here is not something said on behalf of Netflix. My blog also includes posts from when I worked at IBM and also lots of entries concerning research I conducted while attending UNC Chapel Hill. If I worked for company XYZ, you'd also see posts on there that are my personal statements and opinions (e.g. I had fun at the company celebration) and don't in any way represent the company in an official capacity.
With that in mind....
When you ask about official policy, I don't think it's any secret that Netflix is a company that heavily trusts its employees.
At IBM, there were corporate policies that I didn't like because I felt they had a negative impact on the culture. I won't go into details because I don't know if those policies are considered secret or not, although I don't think they are. Other people I talked to about those policies found them perfectly reasonable, especially given the large size of the company where you don't know everyone else and where there are a fair number of contractors moving in and out.
In comparison, Netflix is a small company. A few hundred employees, and each of us can pretty much recognize by sight the other people that work at headquarters (maybe not by name). It's a company that emphasizes personal judgement and mutual trust. You are trusted to exercise good judgement in what you do. So I can have this blog, and it's my responsibility not to reveal secrets or information that might be harmful to the company (assuming it is ethical to withhold that information), and to make it clear that this is my personal opinion and not a company statement.
What I think is really important is that I can trust everyone else at Netflix. I'm not worrying about leaving my iPod out on my desk while I attend meetings, or that someone might try to get ahead at my expense. And it's equally important that this trust extends between all employees, from the CEO to the code monkey (me).
On a technical note, it appears the trackback server used by Netflix Fan doesn't support pings from sites that begin with https:// instead of http://. I couldn't find any contact info for Becky, and didn't want to sign up for an account, and their comment system didn't like my Google account even though it claims to support it. So maybe someone who reads this can let them know all those things aren't working. :P
Posted by josuah at 3:15 AM UTC+00:00 | Comments (2) | TrackBack
June 10, 2006
Netflix 5M Celebration
Today Netflix had a company party to celebrate reaching 5 million subscribers. Shuttle service was provided to Nestldown, a private park-like area in the Santa Cruz mountains. The theme of the party was a carnival, so there were some carnies, carnival games, and food like hot dogs and cotton candy.
I learned how to play Bocce Ball from William, and played against him, his wife, Donna, Tod, and one of the event people (who was also a Netflix subscriber, going through the top 250 movies off IMDB). I did okay, especially at the beginning, but later on I wasn't thinking about it as much so didn't do as well.
Afterwards, Tod and I went down to the pond and listened to some live music from a quartet playing a violin, two guitars, and an acordian. All of the instruments were amped though. I saw Lin's daughter Alexandria there so went up to talk to them. Then Alex wanted me to go with her into the forest so I went up. We walked around in there for a while and we were going to go back but then she changed her mind and started hiking some more. She ended up seeing the train and running after it, and I couldn't get her to stop so we could tell Lin we were going after the train.
We followed the train for a while then stopped in the games field to play some volleyball and frisbee and use the swings. Then we'd been gone for a while so I told her we had to go back, and followed the train tracks back to the pond where she met back up with her dad. Turns out Lin didn't realize we had run off and so went looking for us back at the cabin area.
Afterwards, I met up with Samir and Jamie and we rode the shuttle back down to Netflix HQ and then I drove home.
Posted by josuah at 3:53 AM UTC+00:00 | Comments (0) | TrackBack
February 1, 2006
Sundance Film Festival 06
I got back last night from spending the weekend in Park City, Utah at the end of the Sundance Film Festival 2006. Each year, Netflix gives its employees some money to subsidize a trip to Sundance. I left Friday morning and got back late last night.
On its own, Park City is a sleepy ski resort town. For one week each year, there is an extra inrush of people and things become very crowded and busy. And the atmosphere changes a whole lot too, I imagine, with celebrities and sponsor events drawing a unique type of person. I felt like there were a lot of wannabes and phonies. At least Park City makes a bunch of money with their super-inflated prices for the week.
There is really only two things to do while you're there. You can either watch lots of films (which requires either a significant financial commitment, both for lodging and tickets, or a lot of patience to stand in line for extra seats) or go skiing (which also requires a large financial commitment since lift tickets are a bit expensive). I didn't really want to spend a lot of money, so I didn't do much of either. And as a result, I was kind of bored most of the time.
I didn't see any celebrities, but FOX hosted a party for Netflix that I went to on Saturday. Unfortunately, it was quite loud and my ears were ringing a lot afterwards. That's not good. The party was also a little boring because I didn't know many people, and since it was so loud my throat was strained whenever I spoke. I also didn't much like the music. It was standard fare, but nothing I really like to listen to.
The restaurants are supposedly also not that great, and a bit expensive. Samir and Jamie spent $50 one night on dinner, and said last year they didn't find any good restaurants. I ended up buying groceries and cooking in the hotel room. I also ended up spending time in the hotel room watching stuff on TV and also the first three discs of Samurai Champloo.
The two screenings that I did go to watch were the animation spotlight and the documentary award winner. The first featured about ten short animation films. Most of them were horrible. One guy spent six years camped outside a studio with his wife to make a two minute animated poem. And it wasn't very interesting. I did like, however, the following: Jasper Morello, Gopher Broke, Fumi and the Bad Luck Foot, and Los ABC's ¡Que Vivan Los Muertos!.
The documentary winner was God Grew Tired of Us. Apparently, a number of documentaries have been made about the Lost Boys of Sudan. Maybe they keep making documentaries until someone will pick one up for mass distribution. I remember watching some stuff about them on the news before, so about half of its content wasn't new to me. This latest one was clearly directed by a non-Sudanese person, because a large part of it contains ethnocentric humor.
Posted by josuah at 6:11 AM UTC+00:00 | Comments (0) | TrackBack
January 14, 2006
Netflix Swag (Sundance 2006)
Netflix gave us our preparation kits for this year's Sundance Film Festival, including some show tickets and maps and Park City informational pamphlets. But they also gave us a cool OGIO backpack (Street Sector-Z, with Netflix embroidered on it), a hat and scarf with the Netflix logo, and also a Netflix fleece pullover.
Today was also an open house where friends and family of Netflix employees were welcome to check out the new building we moved to. A lot of family members and children showed up, but not as many as I think they planned for. There is no doubt a lot of leftover champagne and apple cider and sweets.
Samir and I checked out the new theater, because I wanted to see where the speakers would be. The speakers are located in the walls, or within alcoves in the walls, and hidden by the fabric. The projector is above the ceiling acoustic treatment panels. There's a lot of equipment in the rack, from Crestron and other manufacturers, including gear from Lexicon: MC-12, LX-7 and LX-5, and RT-20.
Posted by josuah at 6:44 AM UTC+00:00 | Comments (1) | TrackBack
November 13, 2005
My Foot Hurts
I came over last night to visit Shannon and Yvonne, and we went to a plaza near New Park Mall to spend some time looking around a Chinese store. There were a few things I liked, but they were all more expensive than I wanted to pay. We watched the rest of Azumanga Daioh. Shannon thought the ending wasn't good enough; Yvonne thought it wasn't angsty enough. Then we watched Chungking Express. Sometime during the movie, my foot started hurting. It was late and my foot hurt so I slept over. Now my foot feels swollen and hurts a lot.
So Mei-Ling called someone she knows that is supposed to be able to fix these sorts of injuries. Whatever it is, since it just started hurting while I was sitting there. We're going to that guy soon. He is like her grandma's grand-nephew or something. If it doesn't get fixed, then I'll have to stop at Netflix on my way home to get my laptop and probably have to work from home tomorrow.
Posted by josuah at 9:44 PM UTC+00:00 | Comments (0) | TrackBack
October 29, 2005
iCal Support for PHP iCalendar
It has been an extremely long time since I did any work for PHP iCalendar. During that time, the web site had been cracked through a PHP exploit and was down for quite a while. Apple's iCal application also underwent a calendar repository redesign, causing an incompatibility between PHP iCalendar and the native repository. Anyway, long story short is I've got changes pending to support the new iCal repository structure, as well as a couple of bugs. I'll check them into CVS once they've been peer-reviewed.
Posted by josuah at 8:23 PM UTC+00:00 | Comments (0) | TrackBack
October 27, 2005
Does Visual Studio Rot the Mind?
I discovered a very interesting publication by Charles Petzold entitled Does Visual Studio Rot the Mind? Petzold is a Microsoft-oriented software developer, and this publication was a talk he delivered to the NYC .NET Developers Group on October 20. I think it is pretty insightful reading that all software developers should read. The only error is that I believe many of the features discussed by Petzold were first introduced by IDEs other than Visual Studio.
Posted by josuah at 4:27 PM UTC+00:00 | Comments (0) | TrackBack
October 22, 2005
My First Company Meeting
Seems that at Netflix a company meeting is held each quarter in the Los Gatos Theatre. And the tradition is for all employees that were hired that quarter to dress up for some sort of movie-themed entertainment. Previous themes have been Monty Python and the Holy Grail and Kill Bill. This quarter's theme was The Little Mermaid. I was a bluefish. There were also starfish, clams, and clown fish. I get to keep the costume. The rest of it was free pizza and soda, business information, and a funny internal movie titled Gemini.
Posted by josuah at 7:02 AM UTC+00:00 | Comments (0) | TrackBack
October 10, 2005
Potential ID Theft via Blockbuster
Since I work at Netflix, this little tidbit was of some interest today: Blockbuster paperwork left on sidewalk. Apparently, a closing Blockbuster store in New York trashed their customer applications without doing anything to ensure confidential information like social security numbers and credit card numbers were destroyed. Some employee was obviously quite ignorant of the potential consequences.
Posted by josuah at 11:47 PM UTC+00:00 | Comments (0) | TrackBack
September 27, 2005
Agile Software Development with Scrum
My team at Netflix uses a development process that would smack of rebellion at some corporations. The process is called Scrum and I just finished reading the introductory book one of my teammates gave me when I got here: Agile Software Development with Scrum.
I found there is a lot about the Scrum process that I can identify with, and I think that makes it very easy for me to believe that Scrum is an excellent approach towards software development. I do think anyone who is concerned with or has a professional interest in software development processes should look into Scrum. There are several books available on the subject. The challenge is to get management acceptance of this process, as it will get rid of unnecessary people, and many corporations are top-heavy.
Posted by josuah at 7:47 PM UTC+00:00 | Comments (0) | TrackBack
September 17, 2005
To Sir, With Love
A few people came over tonight to watch To Sir, With Love. Alla and George showed up pretty late; Jeannie showed up on time but had to take a break to drive Leslie to the airport. It took her longer than she had thought to come back because there was traffic at SJO. Scott showed up around 10pm and Ellen cancelled. We had Chinese food from Golden House Chinese.
We talked a little bit about how things are going at IBM. Apparently Scott ended up in charge of my code after leaving, although Kavita had been the person I transitioned it to. And there were a few defects like NullPointerExceptions and a class cast exception. At least nothing major unless he didn't want to tell me my code sucks.
The movie started off kind of slow, and sort of boring. But it got better about half-way through once Sidney Poitier figured out how to react to the students. Then things got interesting, and followed a course similar to Dangerous Minds, a more recent film built around the same theme.
Alla fell asleep during the movie. Which doesn't surprise me since I'm sure she found it pretty boring and was a little tired. Scott kept making fun of Jeannie during the movie. Afterwards, Scott told us some stories about funny but stupid/cruel things he's done in the past. You'll have to ask him about that.
Posted by josuah at 8:14 AM UTC+00:00 | Comments (1) | TrackBack
800 Pound Gorilla Has No Coordination
I ran across an article today that I think is very important and very interesting. The information presented within is very close to my sentiments towards IBM but the company in question is instead Microsoft. This article was published in reaction to some of the information that has been revealed in the recent Kai-Fu Lee case involving Google. I think everyone should take a look at this to understand how things can get bad at a large company.
Posted by josuah at 1:00 AM UTC+00:00 | Comments (2) | TrackBack
September 6, 2005
Netflix BBQ
Spencer, one of the people on my team at Netflix, hosted a Labor Day barbecue at his house today. I went with Alla after we chaperoned her youth group's fund-raising car wash. Christian showed up with his wife, second daughter, and son. Marc showed up with one of his friends from LA. Michael came but his wife was out of town visiting family. And Samir came with his wife. We basically hung out talking and had some good food.
Posted by josuah at 5:02 AM UTC+00:00 | Comments (0) | TrackBack
August 20, 2005
IBM Farewell Movie Night
I had a farewell movie night yesterday, in recognition of me leaving IBM to join Netflix. Quite a few people showed up, including Jean, who hasn't shown up for anything in a very long time. It was the first time that Cindy, Chris, Stef, and Jeannie had been to my place too. Most of the time was spent making fun of people.
The movie we watched was the 1967 Wait Until Dark, starring Audrey Hepburn. Alan Arkin played the bad guy, and although the voice is the same, he looked very different back then. I thought it was a pretty good movie, although some of the "younger" crowd thought it was really corny at times. Mostly because of the gender-specific roles that were portrayed, consistent with a 1967 movie. There was one point where a bunch of people screamed because of a scary shock.
There was also a ton of food. People brought too much food. Or not enough people ate enough food. I've got a lot of leftovers, but at least some people took food home. I have enough food to last me a while.
Posted by josuah at 6:46 PM UTC+00:00 | Comments (0) | TrackBack
August 19, 2005
Going to Netflix
It's official. I have accepted a software development position at Netflix, working on the "digital distribution" agreement announced late last year with TiVo. In other words, downloading movies instead of receiving them in your mailbox. This will be really cool and fun stuff to work on, especially since my research background in school was in multimedia networking. Plus, a lot of the things I don't like about working at IBM shouldn't be an issue at Netflix. My first day will be August 29.
Posted by josuah at 4:05 AM UTC+00:00 | Comments (4) | TrackBack
July 11, 2005
Random Weekend
Yesterday, I was woken up by my manager because there was a problem and they needed someone to investigate and come up with a fix. So I spent a few hours on Saturday working on that. Then I picked up Yvonne from her volunteer work and took her to Ohlone College to watch Vivian play tennis. Shannon and I had some Subway for dinner, but then Yvonne and Shannon got hungry again later. We went to McDonald's to get a happy meal, so Shannon could get a Neopets plushie, then ended up at Denny's for food.
We got back around 11pm. Mei-Ling had tried to call us earlier but my cell phone ran out of batteries. So she had not taken a house key with her, and Shannon locked the garage door. So she was stuck in the garage by herself without any way to get home until we got back from eating.
We ended up watching the first part of some sort of golfing movie, then we watched Johnny English which was very funny. A lot funnier than the previous Bean movie which wasn't good at all. After that, we watched some movie that had an English title translation of I Not Stupid. This is a comedy that is also a social satire about Singapore. There are some pretty funny parts, but also some really emotional parts. And the whole thing is filled with anecdotes and personalities that a lot of Chinese people can relate with. A good movie.
This afternoon (I woke up at 1pm) we all went up to some sort of regional park. In the Sunol area. Shannon and I splashed around in the creek, while Yvonne reverted into her annoy-others-to-retaliate and obnoxious mode for having been dragged out there. She kept carrying around her book even though if she had dropped it, it would have gotten ruined and then she'd have been mad at everyone else even though it would have been her fault. We tried finding a place called Little Yosemite but ended up going the wrong way twice. And then we drove back.
Posted by josuah at 1:28 AM UTC+00:00 | Comments (0) | TrackBack
April 30, 2005
Visiting UNC
I finished working with the IBM Director people this morning, so after doing some work I left the IBM RTP site and drove over to Chapel Hill to visit some of my former professors: Ketan, Kevin, Jan, and Sanjoy. I also got a chance to visit with Josh, who was my carpool buddy during Extreme Blue. We did some catching up and talked about what's going on. Later on, I went over to the UNC Student Store and picked up a copy of Mac OS X Tiger.
John Siracusa over at Ars Technica has been providing in-depth technical reviews on Mac OS X for years now. He put together a really great review of Mac OS 10.4 along with his usual rants about what could be better. The review does make it quite clear that picking up Tiger is worth it, and that he believes Apple is making some progress in redefining (or implementing, depending on how you look at it) the modern OS for the general public. Apple is starting to bring back some of the things that made the original Mac OS so much more powerful and useful than the alternatives.
Posted by josuah at 1:11 AM UTC+00:00 | Comments (0) | TrackBack
April 29, 2005
Back in North Carolina
I got back from Las Vegas Tuesday night, and Wednesday morning I had to fly out to North Carolina to meet with some IBM Director developers. So I was able to meet up with some of the people I haven't seen in a couple of years, like Peter, Shari, Marcel, John, and Kevin. Keri wasn't at the Extreme Blue lab today though.
Peter and I had lunch at a local BBQ place, where they serve "real" BBQ: shredded pork with vinegar BBQ sauce. Peter had shreded pork, but I had chicken. Carolina BBQ is an aquired taste. I had Papa John's pizza for dinner; I haven't eaten Papa John's since leaving here because there isn't one near my in San Jose. Their pizza is very good for a chain restaurant.
Posted by josuah at 2:44 AM UTC+00:00 | Comments (0) | TrackBack
April 17, 2005
Ford Motor Company
IBM sent me to Ford Motor Company for all of last week to help close a business deal. I didn't want to fly over to Dearborn, MI for a week, but the deal is pretty important. Especially given the sharp plunge IBM stock took over recent earnings reports. Most of my time there was spent working on-site to resolve issues and address Ford's solution requirements. But I did get a few hours to do my own thing.
I arrived in Dearborn, MI at 3am Monday morning. My flight was delayed in Phoenix because the airplane wasn't taking on water like it was supposed to. The town of Dearborn is a Ford-town. It's relatively rural except for the money that Ford has poured into the economy. There are a number of expensive hotels and restaurants that no doubt survive off business travel. Other than that, Dearborn seems like your typical small town. I'll go through the food situation all at once, since spending money on food was about all I did outside of working in the Ford building.
Lunches I ate at the Ford Credit building cafeteria. It's a pretty decent cafeteria, but the salad bar is expensive. You could get a good two-item meal for around $4, but if you wanted fruit, salad, or vegetables it was $6 a pound. So eating right meant I had to spend quite a bit on lunch.
My Sunday night dinner was at the Phoenix airport. On Monday I went to Red Robin with Bill Leonard. Bill works in IBM Global Services and was in the TotalStorage Productivity Center class I was part of a couple of weeks ago. They have really good burgers at Red Robin.
Tuesday we went to Kiernan's Steak House. It is a really nice bar & grill restaurant, but also pretty expensive. Frank Chodacki was also there on Tuesday. He works Level 3 support for TPC for Data and also knows Microsoft Active Directory. Frank told us his stories about destroying hardware, both personally and professionally as an employee of Trellisoft before it was purchased by IBM.
Wednesday Bill and I went to Benihana. I don't think Benihana is such a great Japanese restaurant anymore, although their commercials are entertaining. I only saw maybe one Japanese person in the restaurant, and she was the waitress. The chefs were not Japanese. The prices were expensive for what you got, compared to regular Japanese restaurants, and not of the highest quality. I tried to order something at the sushi bar by talking to the chef, but turns out you actually have to fill out an order sheet.
Thursday I wanted to get some time to look around and buy last-minute souvenirs so I didn't go with the rest of the gang to dinner. Instead I ended up buying some food from a local organic grocery store. Wasn't super-cheap since I was buying all prepared food, and it was something of a gourmet store. But the food was very good.
Besides eating, I did stop at a couple of shops to buy souvenirs, but nothing Dearborn-specific. So not really anything to mention about that. I left Friday afternoon and ate my last business-trip dinner at the Phoenix airport again.
Unfortunately, there were mechanical problems with the airplane in Phoenix again, and our flight ended up getting cancelled because it took so long to fix that we could no longer land at San Jose International Airport before it closed at midnight. So I had to wait in a long line to get a hotel voucher and get booked on a Saturday morning flight at 10am. I stayed at a pretty nice place called Prime Hotels & Suites. Only got six hours of sleep though before I had to wake up to get to my flight. I did eat breakfast at their buffet in the morning. Finally I got back home at noon on Saturday.
Anyway, the people in Dearborn, MI were really nice and I enjoyed meeting them, but I really didn't much enjoy the trip as a whole. A lot of time spent working at Ford, and then in my hotel room to write things up for IBM. Work, eat, and sleep was about all I could do, and I wasn't getting enough sleep either. I just made up for a lot of lost sleep last night. I also don't think I'm ever going to fly through Phoenix again.
Posted by josuah at 5:45 PM UTC+00:00 | Comments (2) | TrackBack
April 2, 2005
Business Trip to SF
IBM sent me on a business trip this past week up to San Francisco. IBM held a information class for business partners about TotalStorage Productivity Center. I was sent up last-minute to help out with any technical problems that might occur and to provide answers for any technical questions the business partners might have. IBM is going to reimburse me for the hotel, parking, and food. I went up on Sunday night and got back yesterday evening.
On Monday, I had to buy a belt before the class because I forgot mine and I needed to dress up in for the business partners. Although I don't think they would have cared that much if I was dressed up or not since one of the IBM sales reps was wearing jeans and sneakers. And one of the coordinators was wearing a T-shirt. That night, I went to JapanTown to eat at a restaurant there called On The Bridge. I also stopped by the Kinokuniya bookstore, although I didn't buy anything.
Tuesday night the IBM coordinator took a bunch of us out to eat at Grand Palace Restaurant on IBM's tab. Most of the business partners didn't know what they were going to be eating, as this was a touristy authentic Chinese restaurant. One of the business partners knows a decent amount about Chinese food and ordered a beef tendon clay pot, jellyfish, and also sea cucumbers. I don't like any of those foods myself.
Before dinner, I walked around Chinatown looking for anything to buy. I ended up getting a copy of Boa - Listen to my Heart. I also wanted to get a copy of 2009 Lost Memories but I wasn't sure if it was a pirated version or not. The girl who worked at the store said it was because it was All-Region, but I think all Korean DVDs are All-Region.
Wednesday night I had dim sum with one of the IBM sales representatives. Originally, there were going to be a handful of people, but two of them were too hungry to wait, and the other people we were going to meet up with ended up having dinner plans with other people. We didn't know where to find a place that would serve dim sum for dinner, but after walking around for a while we found a restaurant that did: Four Seasons Restaurant on Grant Avenue.
Thursday night, Szu-Huey drove up. To avoid parking fees, she left her car at a Target in Daly City and I drove out to pick her up. By the time we got back into the city, it was kind of late so we walked around and ate a nice Italian dinner at a restaurant called Mangia Tucci. It was located off the main streets and almost empty for dinner. Apparently they are busy during lunch.
Friday, the class ended around noon. I stuck around a little longer until all the other people left, as one or two of them still had some questions for me. I left for San Jose around 3pm and got back home around 5pm.
Posted by josuah at 7:35 PM UTC+00:00 | Comments (0) | TrackBack
November 4, 2003
Another Security Exception
C# was installed on one of the public workstations in Sitterson yesterday, at which point I first tried to compile my Video Descriptor application. Ran into some trouble with finding references to libraries, but fixed that.
Today, I got the application to compile and create a .exe. However, I seem to be unable to run/debug VideoDescriptor.exe from within Visual Studio .NET; it complains that I am not an administrator or in the debug group. What kind of stupid development requirement is that? I don't have to be root or be in some special group to write programs on any other platform.
So, I tried executing VideoDescriptor.exe from the command line. In this case, I ran into a new security exception different from the supposed unsafe code one I was running into with DotGNU. This one is:
Unhandled Exception: System.Security.SecurityException: Request for the permission of type System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
Is this because the files are over an AFS share? Visual Studio .NET seemed to imply that earlier. Unfortunately I can't write anything onto the local drive...
Posted by josuah at 10:22 PM UTC+00:00 | Comments (2) | TrackBack
October 30, 2003
Visual Studio .NET Installation
Hi contacted the Computer Science help desk yesterday asking about a Visual Studio .NET installation. I can get a copy of the software and install it on my own machine, but only if I reimage my office workstation to Windows. Right now it is Linux because that provides me with remote access.
The other alternative was to use the one department system that was supposed to have Visual Studio .NET installed on it, but I found out that it was not installed after all. The original system at that location was replaced with one of the new small form factor boxes, and did not have Visual Studio .NET installed. Help has filed a trouble-ticket for this and should get it installed soon.
Until I can access Visual Studio .NET, I'm kind of stuck as far as the Adaptable Video work goes.
Posted by josuah at 7:23 PM UTC+00:00 | Comments (0) | TrackBack
October 28, 2003
leppie
I haven't been able to get much of anywhere on the System.Security.VerificationException error I'm running into with the MPEG-2 code. I do know that it has nothing to do with the Adaptable Video code, or the specific MPEG video file I'm using, as it still occurs with SimpleMPEGParser.exe and multiple video files. I also found that it appears to be a result of C# not being able to verify the type returned by MPEG2Event.IntraQuantiserMatrix.getDefault(), based on the code at verify_call.c:1088.
I logged onto #dotgnu on irc.freenode.net and ended up talking to someone named leppie. At his/her request, I sent a copy of the SimpleMPEGParser.exe file and somehow the error is related to a T/D436 struct (???).
Anyway, Ketan is probably right in suggesting I just switch completely over to Visual Studio .NET because that will probably avoid all these problems I'm running into with Portable .NET.
Posted by josuah at 8:42 PM UTC+00:00 | Comments (0) | TrackBack
October 22, 2003
Security Verfication Failure
For some reason, I cannot get the file attributes or length using DotGNU and Portable .NET. So, I am just bypassing that problem for now, which means no progress bar in the AdaptableVideo class.
However, now that I'm working around that, I've run into a different problem with C#'s security model. I suppose it's good for there to be a security model, but I have no idea why it's working the way it is working. Other than external data cannot be trusted from anywhere, given all the stupid kinds of security holes that Microsoft products suffer from. I'm getting this exception when it tries to return a static matrix:
Uncaught exception: System.Security.VerificationException: Could not verify the code
at MPEG2Event.IntraQuantiserMatrix.getDefault()
at MPEG2Event.Macroblock.getNext(BitStream, SequenceHeader, SequenceExtension, PictureHeader, PictureCodingExtension, QuantMatrixExtension, DCPredictor, DCPredictor, DCPredictor, Int32, IntPredictor, Int32&) in ./src/Macroblock.cs:170
I'll have to read up more on the unsafe code "feature" of C#.
Posted by josuah at 7:45 PM UTC+00:00 | Comments (0) | TrackBack
Runtime Errors
I've got a call scheduled with Ketan tomorrow morning instead of our usual Thursday afternoon, since Fall Break begins tomorrow at 5pm. I have managed to compile the AdaptableVideo C# code, but am now running into runtime errors. Kind of weird because they are IO errors and I'm not sure what is causing the problem.
Posted by josuah at 3:41 AM UTC+00:00 | Comments (0) | TrackBack
October 17, 2003
New Graphs + More Debugging
Ketan and I had our weekly phone call this Thursday afternoon. He's sent me an updated version of the PVR paper for submission to SPIE I need to redo the graphs so they look nicer, and find an updated reference for the bibliography. Since the submission date is the 27th, I need to get this to Ketan by mid-next week.
Ketan also asked me to start looking at putting together an API to the Adaptable Video code so that other applications can make use of it. For example, an API to perform descriptor comparisons and reconstruct one video from two.
Other than that I've been doing some more debugging on my current Adaptable Video code.
Posted by josuah at 6:05 AM UTC+00:00 | Comments (0) | TrackBack
October 1, 2003
Brief Discussion
Ketan and I had a brief conversation today via phone.
After reading through the current revision of our PVR paper, Ketan thinks we've got enough simulation data and variable coverage. He's going to work out what needs to be done next for SPIE.
As far as my research work goes, I think reachable goals for this semester are frame and coefficient separation and reconstruction, but I'm not confident about completing more than that. Ketan thinks we could write up a hook into some P2P distribution system like Kazaa.
I've also decided that I'm going to try and finish my IP first and then concentrate on the Adaptable Video research. The IP is more important for my graduation, and it also means I can work on one thing at a time, instead of having to multitask so much.
Posted by josuah at 2:21 AM UTC+00:00 | Comments (0) | TrackBack
September 29, 2003
EOF Delegate
I created an EOF class, in the VideoSequence.cs file, that is created whenever the parse_picture() function encounters EOF. When the EOF class is created, any registered delegates are called. This alerts the AdaptableVideo class of the EOF.
I've implemented this way, but if EOF was derived from CodingElement or AtomicCodingElement, then making use of the existing CodingElement.Handler delegate method would make more sense. I guess I could have set the bit address to one more than the last bit, and the number of bits to zero. Ketan hasn't gotten back to me about this, so I'll ask him about it tomorrow during our phone call.
Posted by josuah at 8:54 PM UTC+00:00 | Comments (0) | TrackBack
September 28, 2003
C# AdapatableVideo
I basically finished converting the AdaptableVideo class from Java to C#. Only issue I have left with that is how to handle the EOF. I asked Ketan if he has any opinions on making double-use of the existing CodingElement delegate, or if it would be better to create a separate VideoParser delegate. I'm leaning towards the latter.
Posted by josuah at 10:49 PM UTC+00:00 | Comments (0) | TrackBack
September 25, 2003
VideoDescriptor and Delegates
I worked on the VideoDescriptor class, trying to port to C# and make use of the delegate system instead of registering subscribers. It basically works the same way. I think I may need to add a special EOF implementation to the VideoSequence C# class. I'm not sure if this can be done easily through the existing delegate handlers, or if I need to set up another delegate handler list for that.
The general subscribers concept is more flexible because you can specify multiple communication methods (i.e. multiple function callbacks) while only requiring you to register your subscriber once. I think the problem is that in C# you don't become a delegate of an object, but instead a delegate of a function call.
In Java, subscribers must conform to an interface. There is no language construct explicitly supporting the subscriber-publisher model. C# goes farther to explicitly support this model, but does so from a functional approach. Objective-C has support for both the subscriber-publisher model (through notification in Foundation) and also an object-based delegation model that follows the chain-of-responsibility design pattern.
Posted by josuah at 2:09 AM UTC+00:00 | Comments (0) | TrackBack
September 24, 2003
Remote Ketan
Ketan and I spoke this afternoon about several things. Since the PVR simulation paper we wrote was accepted to SPIE, we need to make improvements and possibly run some additional simulations to get more data. We also talked about the Integrative Paper I am writing as part of the M.S. requirement of the UNC CS Department. Ketan is also interested in setting up a SourceForge server in the DiRT lab so people working on stuff will have a central repository that can be selectively shared.
Of course we also talked about my progress with the Adaptable Video research. The plan is to come up with goals next week when we talk again, in the hope of possibly putting together a paper. I'm not entirely sure how feasible this is, but we'll see.
I read up some on how C# makes use of delegates. It's implementation of delegates is somewhat convoluted simply because the naming scheme and definition syntax doesn't exactly make things match up. Kind of the same way properties are defined like functions but treated as fields, and when being used they look like functions even though they are fields. The C# implementation of delegates is not as elegant as the Objective-C implementation. It does technically follow the delegate design pattern, but coding it does not follow a developer's natural thought processes.
Ketan also heard about the SIGCOMM paper on Low-Rate TCP-Targeted Denial of Service Attacks. The paper describes how to exploit what could be called a design flaw, or also a design win, of TCP so as to cause DoS without using a whole lot of bandwidth. Ketan thinks there might be some possible research applications of this technique, but so far nothing that is actually new or that provides extra knowledge.
Posted by josuah at 2:39 AM UTC+00:00 | Comments (0) | TrackBack
September 22, 2003
Finished C# AdaptableVideoDescriptor Class
Just finished porting (but not compiling or debugging) the C# port of the AdaptableVideoDescriptor class. I streamlined some of the code to make it easier to maintain, and I think fixed some more of those off-by-one type bugs.
Posted by josuah at 7:14 PM UTC+00:00 | Comments (0) | TrackBack
AdaptableVideoDescriptor C# Skeleton
I spent more time porting the AdaptableVideoDescriptor class over to C#. Almost done, although I do have to make sure it compiles. Since I am new to C#, I am not as confident about compile-time success based on my visual inspection, as I am with other languages. I also think I may have found some more bugs in the original implementation. I think I've got about 60%-70% of it ported to C#; the rest is empty function signatures.
Posted by josuah at 12:20 AM UTC+00:00 | Comments (0) | TrackBack
September 18, 2003
Continued AVD Porting
I did some more work porting the AdaptableVideoDescriptor class over to C#. I may or may not have found some bugs in the Java code; it's hard to say since it's been so long since I worked on it, but a first look at the logic would seem to indicate they were bugs. Little things like off-by-one errors.
Associating properties, which are basically getters and setters for fields, with fields in a C# class tends to make things look a little cluttered. This is because the C# coding style is to place those property definitions right beneath the field definition. So it's not very easy to separate fields from properties, and then it only makes sense to place any non-simple getters and setters in the same area of the file, further disorganizing things to the eye.
Posted by josuah at 3:49 AM UTC+00:00 | Comments (0) | TrackBack
September 17, 2003
Little Progress
I've done a little bit more to convert the AdaptableVideoDescriptor class from Java to C#, but not much. Things are very busy for me everyday, and all those lectures don't help. Anyway, there are differences in the C# implementation of the MPEG-2 parsing classes, so that's also something I need to deal with. That and learning C#.
Posted by josuah at 1:17 AM UTC+00:00 | Comments (0) | TrackBack
September 15, 2003
C# in a Nutshell
I started working some more on porting the Adaptable Video code from Java to C#, but it was just too difficult trying to find the information I needed on MSDN. So I went to Barnes & Noble and got a copy of C# in a Nutshell. The copy I got is the 1st Edition, for version 1 of the .NET framework. The 2nd edition came out last month and covers version 1.1 of the framework, but it doesn't make much difference for what I'm doing.
Posted by josuah at 1:13 AM UTC+00:00 | Comments (0) | TrackBack
September 9, 2003
SimpleMPEGParser Compiles
Ketan got back to me and informed me that I should use the BitStream class, and not the PushbackInputBitStream. So I'm using that and now everything compiles successfully. I am able to execute the SimpleMPEGParser.exe program and it outputs the video information.
It still outputs warnings about unnecessary use of the new keyword. However, this class variable modifier is actually necessary to hide the same variable in the superclass, so I think maybe the DotGNU C# compiler is just confused. If I remove the new keywords, then it correctly complains about not hiding the superclass variables. But it doesn't realize this is happening if the keyword is left in. ???
Posted by josuah at 1:36 AM UTC+00:00 | Comments (0) | TrackBack
September 7, 2003
Learning C#
I've started the Adaptable Video port from Java to C#. I found the C# Language Specification which is where I'm learning the language. Microsoft needs to work on their navigation system for the specification; the reader is required to click too many times to progress through the specification without direct links to the previous, next, and enclosing sections.
I am having trouble finding specific things that I'm looking for in the specification because there is no index. You also can't search only the specification because the MSDN search tool applies to the entire library. So although I've read about the readonly and internal keywords, I have no idea how they differ from const and private.
Posted by josuah at 10:30 PM UTC+00:00 | Comments (0) | TrackBack
C# Compile-Time Errors
I started putting together a Makefile for the C# code Ketan sent to me, but I was having trouble getting it to work the way I wanted. So instead, I put together a C# Ant XML file, and that is working quite well. I can see the attraction of Apache Ant more clearly now, as I've never used an Ant-based build system before.
So I tried building the SimpleMPEGParser program included with the MPEG2Event code, but I ran into a few errors that seem to be related to some conflict between the BitStream and PushbackInputBitStream classes. They appear to define the same class in the same namespace. I've emailed Ketan about this problem.
I haven't yet started porting over my Adaptable Video Java classes to C#, but that is the next thing I have to do for this.
Posted by josuah at 8:56 PM UTC+00:00 | Comments (0) | TrackBack
September 5, 2003
MPEG2Event
Ketan just emailed me the C# code for the MPEG-2 parser. So I will start porting over the Java code I wrote for COMP 249.
Posted by josuah at 8:41 PM UTC+00:00 | Comments (0) | TrackBack
September 1, 2003
Hello World!
Well, I got the Hello World example for DotGNU to work. The README in the pnet/samples directory pointed me to the pnetlib/samples directory, where I ran make and then was able to execute programs using ilrun.sh. So hopefully I won't have to boot up into Windows or install and use Visual C# to continue the adaptable video project. Ketan will be sending me his new code sometime this week.
Posted by josuah at 6:12 PM UTC+00:00 | Comments (0) | TrackBack
August 27, 2003
Moving to C#
This semester, my final semester since I'm graduating early, I am going to continue work on the MPEG-2 super-adaptable video descriptor project I started but only got half-done in my Multimedia Networking class last semester.
Ketan has been working on some stuff at Microsoft over the summer and will be working there still this summer. While over there he had reason to use the MPEG-2 parser I used on my project, but he ported it to Visual C#. So I'm going to move over to his new C# library since it's cleaned up and more functional.
The only issue might be how do I actually make use of C#, since I don't really do Windows development. Looks like I'll use Mono, an open-source implementation of .NET that includes a C# compiler and Common Language Infrastructure runtime.
C# and .NET is Microsoft's response to Java and enterprise-grade development. Some people have picked it up, but Java and its enterprise Java beans has pretty much become the dominating solution. I'll be learning a bit more about that when I take the Enterprise Computing class offered this Fall. It's co-taught by IBM Fellow Diane Pozefsky.
Posted by josuah at 4:44 AM UTC+00:00 | Comments (0) | TrackBack
June 22, 2003
Switching Over Server
I went into Sitterson today in order to get the serial number of the Oracle server for Mike Carter. He will be getting the machine transferred over to Phillips Hall. I also changed sendmail.cf so it points at smtp.unc.edu and the hostname to oracle.video.unc.edu with an appropriate IP address and default route. So, that should just about wrap things up.
Posted by josuah at 11:14 PM UTC+00:00 | Comments (0) | TrackBack
May 31, 2003
Oracle Server
It's been a while since I last posted because not much has happened since I put together the VQM Oracle package. The IBM server ordered by Joel Dunn did arrive and was set up by Murray Anderegg with Red Hat 8.0. Since then, it's been temporarily installed in the DiRT colab and I've installed the VQM Oracle package. Right now, Vinay Chandrasekhar and myself are running tests on it to make sure everything is configured correctly. Once I'm satisfied that it is, I'll switch the setup over to what it needs for installation at wherever it is going to end up, and send it over.
Posted by josuah at 10:29 AM UTC+00:00 | Comments (0) | TrackBack
April 10, 2003
VQM Package
I just finished packaging up the software for the VQM Oracle. I cannot include any of the library files used by our server, or the VQM Software, and I've only included the relevant Open Mash binaries. I finished the watcher script that will make sure the server and oracle processes stay up, and created README and NOTES documentation.
At this point, I'm basically done with everything. Unless reports of erroneous behavior come back from Vinay Chandrasekar at NC State, the only thing left to do is transfer these files to the NCNI server when it arrives.
Posted by josuah at 4:04 PM UTC+00:00 | Comments (0) | TrackBack
April 8, 2003
New Dumps
Yesterday I re-dumped all the NCNI sequences in H.261 format. I didn't do them in M-JPEG this time, since the NC State client program is only sending H.263 requests. So now the VQM Oracle is up and running just fine.
I started packaging the VQM Oracle software up as well. I need to finish up some more documentation and create the cronjob watcher script that will keep the server and oracle processes up and running, but once that's done everything should be complete.
Posted by josuah at 6:33 PM UTC+00:00 | Comments (0) | TrackBack
April 6, 2003
Corrupt Frame Dumps & MPEG-2 Playback
I tracked down the problem with my VQM Oracle setup. A whole bunch of frames in the frame dumps were corrupted because I had used fprintf with a "%s" format string. This ended up not dumping out the entire frame because zero values would show up in the middle of a frame. I changed it to fwrite and everything works. But now I need to re-dump the NCNI sequences that Tyler Johnson got for me.
I also tried to run an MPEG-2 video clip through the Java MPEG-2 parsing classes that Ketan sent me, but I couldn't figure out how to playback the video clips I found on the Internet. I want to make sure I can do that so I know what I'm parsing.
Posted by josuah at 8:36 PM UTC+00:00 | Comments (0) | TrackBack
April 5, 2003
Oracle Running; VQM Error
I've spent the past couple of days putting together the automatic processing script for the VQM Oracle. The server and oracle scripts I've written work fine, however the VQM Software itself is choking on the data files. I'm getting the following error:
ERROR: UNDEFINED
Set By: cntl_file scan_line
Message: Reading Data File
File Format corrupted, line missing
Temporal Calibration:
I need to track down the problem and fix it.
Posted by josuah at 3:40 AM UTC+00:00 | Comments (0) | TrackBack
March 31, 2003
Completed Recaster Modifications
I finished making my modifications to the RTP recaster so that it has bandwidth restrictions, jitter, and loss. Seems to work well and correctly.
Posted by josuah at 12:18 AM UTC+00:00 | Comments (0) | TrackBack
March 24, 2003
Extending RTP Recast
I worked on my RTP recast program a little bit today, to add the three new arguments it needs to take: actual bandwidth, loss percentage, and jitter. Still working on completing this addition and testing it.
Posted by josuah at 10:08 PM UTC+00:00 | Comments (0) | TrackBack
