Adobe After Effects™ 6.0 ACE Exam 9A0-039

I bought a practice exam for the Adobe After Effects™ 6.0 ACE Exam 9A0-039. It was expensive but I could not find any braindumps for this exam and there are no study guides or books available. Most of the questions seem to be on things that are not covered in the Creating Motion Graphics With After Effects book. The practice exam does not contain any explanatory notes and you cannot copy and paste the text. I managed to work around that problem by taking screen shots of each question. I’ll have to do some research on the program features that the questions are based on.

I downloaded a PDF of the After Effects Scripting Guide and found the demo scripts which illustrate how very involved animations can be generated by a script.

Posted in Video Production | Leave a comment

Wireless Network Set Up Accomplished

I have completed the set up of my wireless network using a Buffalo Broadband Router & Access Point with High Gain Antenna. It took less than half an hour to set up my wireless network. Now I can get my Dell and Vista computers in the other room on the Internet without moving my cable modem around. The wireless router has a few LAN ports so I was able to use my two wireless network cards for the spare computers without putting one in my primary PC.

In other news, I will be making a major effort to finish reading my book on After Effects over the weekend. I just have one more chapter to read and take notes on. It is a long chapter on lighting in 3D layers. Although I will have finished reading the book, I still need to try the example projects in 7 chapters and add my notes to my help file. That will take me 7 weeks if I can manage a chapter a week.

Posted in General | Leave a comment

Going Wireless

I’m finally setting up a wireless network in my house. I’ve bought some wireless networking cards and I should get my wireless access point soon. I decided to go wireless because I have a new computer to run Windows Vista but it is in the other room. My cable modem is in the far corner of one room and my Vista PC is in the far corner of the next room. It is too far to run a network cable and I’m tired of moving the cable modem.

I bought the Buffalo WHR-HP-G54 Wireless-G MIMO Performance Router and Access Point which has not been delivered yet and two Buffalo Technology WLI2PCIG54S 125 High Speed Mode Wireless Desktop Pci Adaptet With AOSS cards. The Buffalo wireless card should work with Windows Vista after I install some new drivers. I made sure it would work with Vista when I was researching wireless technology. I probably won’t disrupt my online access until the weekend when I’ll have more time to set everything up and get it working.

Posted in General | Leave a comment

WordPress Code Markup Test

I have been frustrated with WordPress’s inability to accept my code in my blog postings. I either have to give up on including code in my blog or waste my time struggling with the formatting. Today I have installed the Code Markup plugin to see if I can solve this problem.

I’ve added three new topics to my notes this evening; Crystal Reports which I explored at work, C# Method Attributes, and ASP.NET 2.0 Expression Builders. None of the books I’ve read on ASP.NET 2.0 mentioned expression builders so I had to do a little research on this new feature. The syntax will serve as a test of the Code Markup plug-in:

C# method attributes is yet another aspect of the language that I’ve come across while reading about something else. They are used extensively in web parts classes and I’ve seen them before but it finally occurred to me to do some research on that too.

Posted in General | Leave a comment

Weekend Roundup – 3D Invigorator, YouTube For Dummies, Stickam Widget

Today I finally got around to learning how to use the 3D Invigorator software I bought from Zaxwerks. I created some 3D titles and figured out how to rotate them in 3D space. I was extremely pleased with the result. It can be pretty difficult to position something in 3D space because you have to deal with the X, Y, and Z axis and the mouse is not very useful for moving something in three dimensions.

There will be a YouTube For Dummies book published soon. I have placed a pre-order for this book on Amazon because YouTube is a big part of my social life and provides most of my entertainment.

YouTube For Dummies

The Yahoo! Widget Gallery still has not reviewed my Stickam Online Presence widget so I have uploaded it to my web site to make it available to the public. You can download it here as a zip file: http://www.williamsportwebdeveloper.com/stickam.zip I was unable to make it available without compressing it to a zip file because the web server refused to serve files with the .widget file extension.

Yesterday I tried DynamicPDF for the .NET Framework. I was really impressed by how easy it was to use. It has a custom designer which resembles Visual Studio. It generates XML which is easy to understand and adjust. In fact, the design view and code view makes it quite similar to working with HTML. It only takes three lines of actual code to then generate a PDF file that includes data from a database. I will probably be using DynamicPDF in two projects which require PDFs to be created from data in the database.

Posted in Video Production | Leave a comment

Web Parts Export, Import and User Controls

I am still studying web parts. I’ve learned how to export and import web parts but I’m not sure how useful this is because you can’t share web parts with other sites. You can only export a web part that is available in the site or import a web part that is available in the site. I don’t see how this serves any purpose then unless you want to save some web part settings.

I also learned that user controls used as web parts can implement the IWebPart interface and set all of the web part properties just like a class that inherits from the web part class can. This is good to know because I thought you could not use web part icons with user controls. It is much easier to create user controls than it is to define the entire HTML output through code in a class file.

Web parts require you to know more about implementing interfaces so studying web parts serves an additional purpose in familiarizing me with some of the intricacies of the NET Framework object oriented programming.

Posted in ASP.NET | Leave a comment

Video Production And Programming

I missed out on the big YouTube gathering on 07/07/2007 which appears to have been a lot of fun. I was made really sad by this because I could have meet a lot of my online friends that I’ve grown to known. These are very entertaining people that together form the sort of vibrant, fun, creative community that I’ve always wanted to be a part of. My real life community is so lame that they don’t even have an online forum or bulletin board system for the exchange of ideas. There is far less of a sense of community in my town than there is in the online community. However, I may be going to the National Book Festival in Washington DC on September 29th and I’m trying to get my online friends interested in meeting me there.

On 07/07/2007 I spent 14 hours straight studying just one chapter in my After Effects book, a long chapter on Masking. Im kind of bummed that I had to spend that much time just to cover one chapter but there were many examples to try out and I took extensive notes. Today I learned how to use JavaScript to script After Effects parameters, a feature known as After Effects Expressions. This allows you to use scripting instead of keyframes to animate objects. I also learned that you can script After Effects to automate the application using JavaScript. I was not aware of this capability because my book does not mention it. However it makes it possible to do some pretty neat things like programmatically create a large number of animated objects for some visual effects that would be extremely tedious to design.

I’m very interested in putting my programming skills to use in video production. So far I have only used the Stickam, LiveVideo, and YouTube APIs to create some minor things like web parts and portal widgets. But I would like to do some programming to automate the actual process of video production. After Effects appears to have greater potential for this then I realized.

I hope to take a certification exam on After Effects. That would really help me professionally because few programmers have an Adobe Certification. Of course, I would be better off passing an exam on Photoshop but After Effects is kind of like Photoshop for video and it has some of the same features. Being Adobe certified in video production could also lead to a more interesting line of work in the film industry.

Posted in Video Production | Leave a comment

Web Parts Properties, Verbs, And Connections

Today I expanded my knowledge of Web Parts, which is my favorite addition to ASP.NET in ASP.NET 2.0. I learned how to create custom properties for my web parts and I added a property to my Newsvine web part so that the user can change the RSS feed. It seems you never learn all there is to know about ASP.NET because I also learned there are two ways to register a user control. I was familiar with the method of supplying the source file path but I was not familiar with using a namespace with the tagprefix.

There are two ways to register user controls:

Register Namespace=”namespace” TagPrefix=”tagprefix” Assembly=”assembly”
Register TagPrefix=”tagprefix” Tagname=”tagname” xsrc=”pathname”

tagprefix – An alias to associate with a namespace.
tagname – An alias to associate with a class.
Namespace – The namespace to associate with tagprefix.
Src – The location (relative or absolute) of the declarative user control file to associate with the tagprefix:tagname pair.
Assembly – The assembly in which the namespace that you are associating with tagprefix resides.

A Web Part verb is a custom action that a user can perform. You can add verbs to the Web Part menu. The example code I studied adds a verb to send an email but it did not implement the actual functionality. My ASP.NET code for sending an email has been deprecated so I had to learn the new way of sending email to actually implement the new Web Part verb functionality.

Web Parts can exchange data through provider and consumer connections. I didn’t create my own version of the example code but I did get screenshots of how the Connections Zone looks in the browser and practiced making connections between web parts and then disconnecting them. I’ll probably expand my notes on Web Part Connections when I try to create my own and encounter technical difficulties.

I bought a book that is specifically on Web Parts, ASP.NET 2.0 Web Parts in Action: Building Dynamic Web Portals (In Action) by Darren Neimke. I am reading this book on my lunch breaks. Unfortunately, there probably won’t be anything else to learn after I’ve finished reading that book. Most of the articles and tutorials on web parts just cover the same basic features. I don’t think I’ll be able to find any advanced techniques or really useful examples because the developer community does not appear to be too excited about web parts.

Posted in ASP.NET | Leave a comment

SQL Server 2005 Annoyances

One of the many annoying things about SQL Server 2005 is how it replaces SELECT ALL written as “SELECT * FROM”with a complete list of the column names. After testing a SQL statement in the SQL Pane to determine that it works, I don’t want my asterisk expanded into a three or four line list of column names. I usually want to copy and paste a working SQL statement into my documentation or notes.

Today I discovered how to disable this behavior. Just select Tools and then Options from the menu and select All Languages under Text Editor. Uncheck “Auto list members”. This will stop the “statement completion”of the asterisk in a SELECT.

SQL Server 2005 Annoyances

Posted in Databases | Leave a comment

BABY/400 ODBC

I have figured out how to use the BABY/400 ODBC (Open Database Connectivity) driver to query the physical files. I’m hoping to use this to populate my physical files with data because it is very tedious to do data entry using BABY/400 and its WRKDTA tool.

BABY/400 ODBC

Posted in RPG | 3 Comments

Yahoo! Widget For Stickam Online Presence

Over the weekend I developed a custom Yahoo! Widget to show the online presence of a single Stickam friend. Yahoo! Widgets are little desktop applications based on the Konfabulator application platform that Yahoo acquired. Developing a Yahoo! Widget requires a knowledge of XML and JavaScript. You also have to be pretty good at creating PNG graphics with transparency, drop shadows, and gradients.

I have submitted my Stickam widget to the Yahoo! Widget Gallery but I don’t know if it will be accepted because they may object to my use of the Stickam logo for the dock image. You can download the Yahoo! Widget engine at http://widgets.yahoo.com/ and then search the gallery for widgets you might find useful. You can always obtain my Stickam widget directly from me if it is not added to the gallery.

Yahoo! Widget Stickam

The screen capture above shows that Producing101, a popular web cam chat host, is currently offline and was last online on June 3rd, 2007 at 12:15 AM.

Posted in Video Production | Leave a comment

ASP.NET 2.0 – Control Adapters

I recently did some research on control adapters, another new feature of ASP.NET 2.0 that I read about in the book “Essential ASP.NET 2.0” by Fritz Onion and Keith Brown. Control adapters allow you to change the rendering of web controls so you can replace tables with divs. Microsoft provides some examples for rendering a few controls in a more CSS friendly format at their web site: http://www.asp.net/cssadapters/ – ASP.NET 2.0 CSS Friendly Control Adapters 1.0.

Control adapters use .browser files to determine the browser capabilities for rendering web controls according to the browser quirks. Unfortunately, these .browser files are not being kept up to date. For example, there is no .browser file for the Safari browser. I may create a safari.browser file because this represents another opportunity. I am finding a lot of opportunities for simple projects that would fulfill a need in the developer’s community. It seems there are a lot of minor things that other developer’s have not given any attention to due to the overwhelming breadth and scope of new technology today.

While researching control adapters I can across a programming language syntax highlighting component created by Wilco Bauwer which you can find at: http://www.wilcob.com/Wilco/Toolbox/SyntaxHighlighter.aspx. I’ve been using Microsoft’s QuickStart highlighter to convert my ASP.NET code into HTML for my help content but that requires a somewhat tedious process of cut and paste steps. I’ve used Wilco Bauwer’s Syntax Highlighter to create a windows application program that makes it easier for me to highlight my code and document it as HTML. Unfortunately, this syntax highlighting component isn’t perfect because it does not highlight the word WHERE in a SQL statement even though it is supposed to support that language.

Posted in ASP.NET | Leave a comment

Transaction Savepoints

Today I learned how to roll back multiple database queries using transaction savepoints. This is useful when you have several related record inserts, updates, or deletes that should all succeed or all fail in order to maintain your data integrity. You can associate a transaction with a database connection, create a transaction savepoint, and then rollback all your queries if there is an error or commit the queries. Since I am mostly programming in C# nowadays I will provide sample code in C#:

string strSQL;
SqlCommand objCmd = new SqlCommand();
SqlConnection objCn = new SqlConnection(strCn);
objCn.Open();
SqlTransaction transaction = objCn.BeginTransaction();
// create a savepoint to rollback all database changes if necessary
transaction.Save("BeforeInserts");
try {
strSQL = "INSERT INTO table_name VALUES(column_name, column_name)";
objCmd.Connection = objCn;
objCmd.CommandText = strSQL;
objCmd.Transaction = transaction;
objCmd.ExecuteNonQuery();
strSQL = "INSERT INTO table_name VALUES(column_name, column_name)";
objCmd.Connection = objCn;
objCmd.CommandText = strSQL;
objCmd.Transaction = transaction;
objCmd.ExecuteNonQuery();
}
catch (SqlException ex)
{
lblMessage.Text = "Error: " + ex.Message + "rn" + ex.StackTrace + "rn";
// rollback all database changes
transaction.Rollback("BeforeInserts");
}
finally
{
transaction.Commit();
// additional database changes cannot use the transaction after it has been committed
strSQL = "UPDATE table_name SET column_name = '""' + value + "'";
objCmd.CommandText = strSQL;
objCmd.ExecuteNonQuery();
objCn.Close();
}
Posted in ASP.NET, Databases | 1 Comment

Zaxwerks 3D Invigorator

I bought the Zaxwerks 3D Invigorator plug-in for After Effects but I have not made a video using it yet. It allows you to convert 2D vector artwork into 3D titles or logos. It renders very slowly on my system. I’m hoping that 2 GB of memory will make After Effects run faster on my computer. I have bought a book “Illustrator CS For Dummies“ so I can learn how to make the vector artwork that 3D Invigorator requires. I did recently learn how to create alpha channels in Photoshop because After Effects uses alpha channels to control the transparency of a layer.

There is a certification exam for After Effects 6.0 Professional, ACE Exam 9A0-039. I may be interested in taking this exam because I am being very thorough in learning After Effects. It would be cool to be certified in some aspect of video production. It would help me professionally because having an Adobe certification demonstrates considerable graphics skills.

Posted in Video Production | Leave a comment

Cross-Page Posting

Today I added a help topic on Cross-Page Posting to my ASP.NET 2.0 notes. Cross-Page Posting allows a second ASPX page to get the form fields from a previous ASPX page when the form is submitted using the Post method. This is an old technique from ASP. However, you should create publicly exposed properties for the form fields in the source page and then reference those properties in the target page which makes this technique less intuitive than the old ASP way.

This evening I spent most of my time getting two RPG programs to work. I determined that I can use externally defined files with Input and Output Specifications so I can create physical files to use with RPG II programs.

Posted in ASP.NET, General, Programming | Leave a comment

Application Name In Connection String

Every day I learn something new at work or while doing stuff at home. Today I learned how to add the Application Name parameter to a connection string so the application name will appear in the SQL Server 2005 Activity Monitor instead of .NET SqlClient Data Provider which is what is shown if you do not specify the Application Name parameter. I am reading a book on SQL Server 2005 administration on my lunch breaks so I hope to learn more of the DBA role.

This evening I ordered 2 GB of memory for my computer because my system is running poorly. I have at least four programs that seem starved for memory and can’t be run at the same time; Outlook 2007, SQL Server 2005, Visual Studio, and After Effects. Since these are the programs I use the most I really need to do something about this problem. Unfortunately my motherboard will not accept more than 2 GB of memory. I should buy a dual processor system that can accept more memory but I don’t want to lose a week doing a system migration.

Posted in General | Leave a comment

RPG Programming

I have finished reading another book on RPG, “RPG II And RPG III Structured Programming” by Nancy Stern, Robert A. Stern, Alden Sager, James Cooper and added a great deal of material to my notes. Now I am turning my attention to BABY/400 to get some practice writing RPG programs. Over the weekend I finally managed to compile and run a program from the Judy Yaeger book “Programming In RPG/400“. I had considerable difficulty accomplishing this task and had to solve many technical problems.

The first problem was getting the RPG compiler to find my externally described data file. I had to post some messages on newsgroups about this and finally learned that I needed to add my library to the library list. Fortunately, I have the book “AS/400 Control Language Guide” by Brian Fu which has a chapter on the Library and Library List. The command to add a library to the library list is ADDLIBLE QMYLIB *FIRST. Then I had to make it the current library before attempting to compile my program using the command CHGCURLIB CURLIB(QMYLIB).

After fixing several problems with my Data Description Specifications and RPG source code I finally got my program to compile successfully! Then I figured out how to call my program which generated a report.  I’m cheating by viewing the files directly in a text editor rather than going through the menus in BABY/400 to view the printer output.

Later on I may add a how to section to my web site on the BABY/400 because there is absolutely no information on this rare software available on the Internet. So I have had to really struggle to figure out how to do RPG development on the BABY/400. If I put my notes on my web site it will become the only source of information that anyone else can refer to. I know a lot of local companies still use an AS/400 and have not upgraded to an System i5 IBM.

Posted in RPG | Leave a comment

ASP.NET 2.0 Master Page Properties & Navigation Controls

Today I created a new help topic on the Navigation Controls for ASP.NET 2.0. This is a topic that was not covered in the ASP.NET 2.0 For Dummies book. The navigation controls get their data from a XML sitemap but it is not the same kind of file as Google uses for its XML sitemaps. Visual Studio 2005 does not appear to have any user friendly way of creating this sitemap. You have to code it in text view. There may be an opportunity to develop a graphical means of creating the sitemap. It would also be nice if it could kept in sync with the XML sitemap format the search engines use.

The SiteMapPath is a great control for creating breadcrumb navigation. I’ve often had to create breadcrumb navigation manually and it is a pain to maintain the hyperlinks. The TreeView control can be formatted to look like a collection of help topics which would be useful if I wanted to make my entire collection of help topics available on the Internet. The Menu control can create a DHTML navigation menu without troubling you with the complicated JavaScript that usually requires.

I also learned how to create a master page property so my content pages can specify the text for a label control on the master page. The navigation controls should be contained within the master page so all your content pages will be reachable from the navigation. I quickly discovered that it would be too time consuming to place a navigation control on each page.

Posted in ASP.NET | Leave a comment

Visual Studio Content Installer

I recently created a custom VSI file which is a kind of ZIP file used to install Visual Studio content. A Visual Studio Content Installer can be used to distribute macros, addins, code snippets, toolbox controls, or templates. I created my VSI file to install some custom macros and one code snippet. A special XML file specifies the content of the installer.

I should probably create some XSL files to display several of the Visual Studio XML file formats in the browser as a means of documenting them in alternative display formats. That would be an easy way to do something innovative and gain me some notice in the developer community.

Posted in ASP.NET | Leave a comment

Visual Studio 2005 Item Templates

Yesterday I learned how to create custom Item Templates for Visual Studio 2005. An item template is used to add new items to a project like a starter class file. You can export any of your project files as an item template but you must add the Export Template… menu option to the File menu. I created a custom item template for my help topic template file so I can more easily start a new help topic. I encountered many difficulties and technical challenges in getting my item template exactly as I wanted it.

My help topic template needs a style sheet so I had to edit my template to include the style sheet. You can use a few built-in parameters to replace text in your item template. You can also create custom parameters. I added a custom parameter for the author where I can plug in my name and I used the built-in parameter for the year so the copyright year will always be correct. However I did not like the date format so I had to go to a lot of trouble to change that. I had to create a wizard extension to augment the standard New Item wizard with my own code and add a dynamic custom parameter for replacement in the project file.

I will probably add a page to my web site with complete instructions on how to create a custom item template. It is very complicated and technical so it will serve as a good demonstration of my technical skills.

Posted in ASP.NET | Leave a comment