If you have a GMail account you can get new movie releases to appear in your calendar. It’s really easy too!
- Log into your GMail account.
- Go to: http://www.hollywoodchicago.com/forums/3266/automatically-updating-google-calendar-of-upcoming-movie-dvd-releases
- When the page loads you will see an example of the calendar in the centre of the page.
- At the bottom of the calender panel there is a (+) Google Calendar icon. Click it.
- Your web browser will open a new window taking you to your Google calendar page.
- A dialogue box will appear asking you to confirm the addition of the new calendar so click Yes, add this calendar.
- It took a brief moment and the calendar updated with all the new movie releases.
I can’t wait for Dark Knight Rises in a couple of weeks!
It’s all very well to talk to these CORBA objects floating around the network but how do you get your first one; how do you get into the system? The Quantel Broadcast System uses an Interoperable Object Reference (IOR) in a well known location. The IOR is nothing more, than just a series of characters making up a locator string. In the example below I’ve wrapped the lines but in real life this is just one line:
The IOR “string” is a formally serialised object that can be converted back to a real CORBA object. We can see the data contained in the IOR string by using the
dior command (decode IOR) from the JacORB bin folder we looked at in the previous article:
dior -i IOR:00000000000…
Gives the output:
TypeId : IDL:Q_Quentin/Q_InternalPortal:1.0 TAG_INTERNET_IOP Profiles: Profile Id: 0 IIOP Version: 1.2 Host: 10.162.55.14 Port: 20100 Object key (URL): 638361439/%05%17%23%0C%1FH%3E%23F%23 Object key (hex): 0x36 33 38 33 36 31 34 33 39 2F 05 17 23 0C 1F 48 3E 23 46 23 -- Found 2 Tagged Components-- #0: TAG_ORB_TYPE Type: 1245790976 (JacORB) #1: TAG_CODE_SETS ForChar native code set Id: ISO8859_1 Char Conversion Code Sets: UTF8 ForWChar native code set Id: UTF16 WChar Conversion Code Sets: UTF8, UCS2
As you can see the IOR string contains all the information needed to talk to a particular object in the CORBA system. It includes everything from IP address and port number to protocol version and text encoding type.
Quantel has made it easy to obtain the IOR from the ISA Manager by delivering it through the built-in web server. The ISA Manager is a critical component to the Quantel Broadcast System. As a consequence there is an ISA Manager and an ISA Slave for fail-over and redundancy. Each ISA delivers the IOR of the manager so you don’t have to worry about tracking which one of the ISAs is in control of the system.
For the largest part we don’t really care what’s is in IOR we just get it, convert it and make calls on it. So let’s continue with that in mind and start with a simple client to read the IOR string from http://isa-manager/ZonePortal.ior
From the output of the
dior program (above) we can see the that underlying type of the IOR object is
Q_Quentin/Q_InternalPortal:1.0. However this is a bit useless because we don’t have the interface definitions for that. We, as users, must be told that we can cast a
Q_Quentin/Q_InternalPortal:1.0 into a
Casting is a computer language term which means to take the same bit of memory where an object lives and treat it as a different type. It only works if the 2 types are related. In CORBA terms 2 classes might share the same interface but may be totally different classes. In this case CORBA coins the term narrowing to convert one type into another. It almost always requires a bit of extra knowledge that says that 2 items are related on an interface level: this is where the Object Request Broker (ORB) comes in.
The ORB knows about the relationships between the CORBA interfaces and will allow you to convert between them. Your local ORB will ask the remote ORB to do the narrowing for us because we might not have the full interface definitions, i.e. we have no way to find out what a
Q_Quentin/Q_InternalPortal:1.0 is or how to convert it into a
Setting up the CORBA sub-system is a bit like creating Sockets for network communications in that there are lots of options and documentation about those options but after going through all of it, you inevitably end up with the same couple of lines of code!
The CORBA interfaces are built into the Java Standard libraries so all we need to do is tell Java to use the JacORB implementation, which is simply a case of telling it which class to use. The args and props variables give you the opportunity to add extra configuration options from the command line and configuration files respectively.
Now that we have our very own ZonePortal we can test it with a simple get version call:
So let’s put it all together.
I should start off by saying that Lotus Notes is a piece of shit but unfortunately I still have to use it from time-to-time.
But, I have too so I have to at entries to my blog to help me remember how to do all the trivial tasks I need to like searching email folders or creating mail lists, operations that in other mail client applications are so simple there’s no need to write additional blogs.
This one is to help me remember how to search a mail folder. You’d have thought it’s something like right-click on the folder and select search or select the binoculars from the toolbar when the folder is highlighted but ooohhh nnoooo!
- Complain to your boss again about how awful Lotus Notes is.
- First select the folder you would like to search, just the one mind!
- From the menu bar select View -> Search This View.
- This will open the Search in View dialogue box.
- In the Search for box enter your criterion.
- Click the Search button to begin the search.
- To exit the search just click the ‘X’ in the top right corner.
You have just finished Installing a Quantel ISA Manager with DummyServers for test development and now we are going to look at launching the ISA Manager and recording a test clip.
Running the ISA System is really simple now:
- Navigate to
- Double click
- This will launch the ISA Manager. The window is titled Quentin Manager: Execute mode. In the centre of the window you will see a list of pools: Pool 11, Pool 12 and Pool 13. They all appear in red which indicates they are currently down.
- Back to Explorer and change directory to
- Double click
- A window titled Dummy Zone 1 will appear. It contains 3 Dummy Servers called Dummy 1100, Dummy 1200 and Dummy 1300 which hold pools 11, 12 and 13 respectively.
- Switch back the the Quentin Manager and you will see that all the pools are now listed in blue which indicates that they are available.
Now that all the servers are up we can launch the controller to …erm control the system! Now let’s do a record. Make sure the Dummy Zone is visible on your desktop. As we use the controller we’ll be able to see the effects in real time.
- Navigate back to
- Double click
- Choose the System tab.
- Select Dummy 1100 and then double click Channel S1100C0 (Server 1100, channel 0).
- Click Record. The server record panel will open in the controller and the first port on Dummy 1100 will switch from colour bars to a dummy feed.
- Click the button next to Initial Frames, it should have a number on it. Enter the number of frames you would like to record. To help with the sums, if you set the system up as PAL it’ll be 25 frames per second and if you set it up as NTSC it’ll be 30 frames a second. Then click ok.
- Click Initial Frames to acquire the space and set up the record.
- When you are ready click Start. You will see the pattern change for each frame. The view port in the controller will match the port on the Dummy Server.
- In the Save Data section of the controller enter a title and click save. You have just recorded and saved a clip.
- We can make another smaller clip from the same rush. Hover the mouse pointer over the gap between frame 6 and frame 7 and double click. The green In point will be set. Move the slider to the other end and do the same between frames 83 and 84. This time a red Out point will be set. Add a new title and click save again.
- One of the cool things about the Quantel system is that you can create as many sub clips as you like and it won’t take up any more space on your server!
- Click the Release button in the server control panel at the top of the controller window, to make the port available to the system again.
- Click the Zone Dummy 1000 (local) tab.
- Click Search and you will see your new clips.
- You can select any of the entries in the search results with the usual click/control+click/shift+click to select more than one and then click Delete at the bottom of the controller window.
Congratulations you have successfully recorded a clip, searched for that clip and deleted it.
The Radio Times has recently updated their web site and while it looks good and has a couple of nice new features there’s one thing I really hate about it.
If you asked the old version of the site to show what’s on telly now, the listings start from that time. The new site shows the current hour so quite often I was checking the listings at 19:45 and wondering why the guide didn’t match what was on the telly. It was because the start line was showing 19:00 and that program finished at 19:30. Your eye had to scan down the channels and keep scanning up to check if that program was still running. It made reading the page a bit of a chore.
And so I’ve try to fix it! The time bar label is still locked to the hour so it doesn’t match the programs but it’s a small price to pay for being able to scan down the start line and see what’s on now. I’ve also put an update button at the top of the screen to refresh the page so you don’t have to phaff around with their awful mouse-over navigation menu thing at the top. The refresh button has the last updated time on it which has turned out to be a handy little feature.
I replaced my existing Radio Times bookmark, and frankly I haven’t looked back!