April 2009 Archives

Citrix/RDP Shortcut Keys... The Cheat Sheet

| 13 Comments
This is an update posting for my original blog entry on this subject.

It looks like the page to which I was previously linking for Citrix and Microsoft Terminal Server/Remote Desktop hotkeys/keystroke combinations has gone bye-bye.

Rather than leave everybody hanging, here is the original list as found using the Internet Archive's WayBack Machine. Since Session Computing Solutions LLC was gracious enough to make the original list available, it was never my intention to paste it on my blog and claim it as my own. At this point, though, I haven't much point but to make it available here while giving full credit for it to the original page. The only changes I have made are a few tweaks (e.g. line-breaks, font style changes) that make it a little more readable.

[Also, from digging around a little on Citrix's site, it appears that you can make Windows hotkeys "pass-through" to the RDP session. I haven't tried this personally, but supposedly, if you follow the instructions here, you can get native hotkey combinations to be picked up by the remote OS instead of your local Windows. Please drop a comment to let me know if you get this working.]

If this list of keystrokes helps you half as much as it helped me, you are about to have a much, much better day. Enjoy!

(NOTE: You can also download this "Cheat Sheet" as a PDF.)



Terminal Server / Remote Desktop Client Shortcut Keys

Key combination Function Similar local keys
CTRL+ALT+END Opens the Windows Security dialog box

CTRL+ALT+DELETE
CTRL+ALT+BREAK Toggles the Terminal Services client display from window to full screen

NONE
ALT+INSERT Cycles through running programs on the remote computer

ALT+TAB
ALT+HOME Displays the remote computer's Start menu

 
ALT+DELETE Displays the remote window's Control menu

ALT+SPACE BAR
CTRL+ALT+NUMBER PAD MINUS Places an image of active window onto the TS clipboard

ALT+PRINT SCREEN
CTRL+ALT+NUMBER PAD PLUS Places an image of the entire Terminal Services client on the Terminal Services clipboard PRINT SCREEN

 

Citrix ICA Client Shortcut Keys

Key combination Function Similar local keys
SHIFT+F1
The Task List hotkey displays the local Windows Task List for Windows NT 3.51 client computers or the local Start menu for Windows NT 4.0 or Windows 95 client computers.


NONE
SHIFT+F2 The Toggle Title Bar hotkey causes the Citrix ICA Client window to display or hide its Windows title bar.

NONE
SHIFT+F3 The Close Remote Application hotkey disconnects the ICA session and exits the ICA Win32 Client. Using this hotkey either leaves the associated application in a disconnected state on the Citrix server or exits the application on the Citrix server, depending on how the application is configured.

NONE
CTRL+F1 This hotkey displays the Windows NT Security desktop in the ICA session.

CTRL+ALT+DEL
CTRL+F2 When using this hotkey during an ICA session on a WinFrame server, the remote Task List appears. For MetaFrame ICA sessions, the remote Windows NT Start menu appears.

CTRL+ESC
CTRL+F3 This hotkey displays the Windows NT Task Manager in the ICA session.

CTRL+SHIFT+ESC
ALT+F2 Use this hotkey to cycle through maximized and minimized Windows of programs that have been opened in the ICA session.

ALT+ESC
ALT+PLUS Use this hotkey to cycle through applications that have been opened in the ICA session. A popup box appears and displays the programs as you cycle through them.

ALT+TAB
ALT+MINUS Cycles through applications that have been opened in the ICA session but in the opposite direction. ALT+SHIFT+TAB



Yoink: Oracle gobbles up the Sun

| 4 Comments
Methinks that sometime soon, the good folks over at IBM will be kicking themselves. Hard.

When I heard that IBM was trying to acquire Sun, it seemed like a no-brainer. Even if a little part of their motivation was to spite Microsoft, IBM has long been a driving force behind Java's successes. In recent years, they've spearheaded the very successful Eclipse project, acquired Rational, continued to invest in Websphere... So, to have Sun and IBM under the same banner just seemed to be the perfect union between very different but nonetheless compatible companies.

Well, it wasn't meant to be. After IBM dropped negotiations, Sun Microsystems was left at the altar, wondering what had happened.

Caught you on the rebound

The bouquets from the cancelled IBM/Sun wedding hadn't even faded when Oracle entered the scene and, for a paltry 10 cents more a share ($9.50 vs $9.40, or 1.06% difference), swept up a darling of the industry that had been reeling since the "dot com" bubble burst in the early 2000's.

This unexpected acquisition is a great example of how a company can leverage its strengths (e.g. solid product, reputation, cash reserves) to build up a foundation for further success. In this case, given the level of trust that people (customers and potential customers) already have in their DBMS, I can easily imagine Oracle developing and packaging Oracle-branded turnkey hardware+software DBMS solutions à la Google Search Appliance.

Whether you're talking about a rack-mounted cluster of servers or a single box, they will be able to deliver and support integrated solutions featuring Sun hardware, Solaris and the latest version of Oracle. Just brand it all as an Oracle product, set up a clear (subscription-based?) fee structure and start printing money. If they do it right, Oracle may well have hit a home run with this acquisition.

Et tu, Java?

As for the Java angle, well, Oracle is already closely integrated with Java (see: Java stored procedures in Oracle), so on the technical side they'll be working in known territory. What remains to be seen is whether they will be able to increase Java's market share and what they will do with fledgling initiatives such as JavaFX.

I'm also particularly curious to see how IBM will react on the Java front. I can' t imagine them moving to a scorched earth policy and trying to sabotage the progress that Java has made in recent years, but even if they just lose some of their zealousness, it could damage the Java market overall. I personally believe that without IBM's support over the years, Java would never have had the level of success it has enjoyed. Oh well, we'll find out soon enough.

Congratulations, Oracle. Now go forth, be fruitful and multiply.


As always, thank you for reading and I invite your comments on this topic.

Flash Platform News: "Well, I do play one on TV..."

| No Comments
Over at the NAB Show* in Vegas, Adobe has some potential good news for those of us with a vested interest in the success of the Flash Platform.

As part of a PR push at the NAB Show, Adobe has announced that it will team up with a number of partners to bring the Flash Platform to TV sets, set-top boxes and Blu-Ray players. The name of this technology is (and it's a mouthful) the "Adobe Flash Platform for the Digital Home". This presumably means that, among other things, some much-anticipated web-enabled TV sets will be Flash-enabled, opening up a whole new market for developers in the Flash/Flex space. This is likely related to the "Open Screen Project" at Adobe.

I'm a partner, not a side-kick

The partners they list include Atlantic Records, Broadcom, Comcast, Disney Interactive Media Group, Intel, Netflix, STMicroelectronics, The New York Times Company, NXP Semiconductors and Sigma Designs. Note that some are content providers, some are hardware manufacturers while others are cable companies... so this seems to be a pretty broad base of partners across industries to kick it all off with.

Sounds like the goal is to allow a TV (or set-top box or Blu-Ray player) manufacturer to drop an (STM) chip into their kit, allowing their device to gain Flash capabilities (e.g. FLV decompression, decryption, UI support). Content providers can then package Flash content into their offerings which is then served up in a seamless way. Might this allow Flash applications to be delivered on Blu-Ray disks? Truly interactive TV shows on cable? Bizarre content/software mash-ups on your TV set? Allow yourself to dream.

Flash Lite redux? Oh please no.

One quote from the press release makes me a little uneasy, though: they describe this new version of Flash as an "optimized implementation of Flash technology (...)" That very statement is enough to give me cold sweats and resurrects unpleasant memories of Flash Lite as "a highly optimized implementation of the Flash runtime for mobile phones, consumer electronic devices, and Internet-connected digital home devices."

I know that everything has its place and purpose, but part of me sees Flash Lite as little more than a crippled version of Flash 8 that should be dragged out behind the wood shed and shot.

Where art thou, Silverlight?

MLB recently ditched Microsoft's Silverlight technology in favour of Flash-based video. With until-now Microsoft partner Netflix (which is steadily moving from a disk-based to a streaming model) now getting on board with this new Flash initiative, could Adobe have finally found the rabbit punch that they need to get the definitive upper-hand on Microsoft's fledgling RIA technology?

As awesome a video technology as Silverlight is, in a throw-down of "platform-like" technologies, market share is everything (see: BETA vs VHS, MacOS vs MS-DOS/WinXX, DVD-HD vs Blu-Ray... Rocky Road vs Chocolate). Eventually, for the good of everyone, somebody has to "win".

One must assume that Adobe is hoping that this is the initiative that finally puts them over the top in the RIA wars.


* The National Association of Broadcasters trade show

VerifyError: Error #1025: An invalid register 4 was accessed.

| 4 Comments

I've seen many error messages in my time but for obtuseness, this one takes the cake. It is truly one for the ages. I can just imagine how much time I might have wasted if a Good Samaritan hadn't posted the solution on his blog.


The Error

Here is the logical sequence of my original code (located inside a public static function):

  1. Set the "default" namespace
  2. Traverse some XML using E4X to pull out a particular attribute of one of the nodes
  3. Make a call to another public static function in the same class

The result:

Now I can't claim any great knowledge that would illuminate why this occurs (my guess is that the namespace affects resolving the class + method I'm calling in step 3). Whatever the cause, thank goodness for Adnan Doric who posted the solution.


The Solution

The new (working) sequence:

  1. Set the "default" namespace
  2. Traverse some XML using E4X to pull out a particular attribute of one of the nodes
  3. Reset the default namespace to an empty string ("")
  4. Make a call to another public static function in the same class
The result:

Victory!

The exact line of code for Step 3 looks like this:




Mash-ups... Just not the kind you're thinkin'!

| No Comments
I'm sorry. It's Friday and a good chuckle is the best way to start the weekend.

Check out these "Movie Poster Mash-Ups" over at Empire Magazine. Some are very ingenious. Don't forget to click on the previous categories on the left. There are some really funny "posters" to be found.




Now ain't PhotoShop fun!?!

Flashback '07: "RIA Shoot-Out" on SYS-CON.TV

| No Comments
I was searching for something else and came across this interesting round-table discussion on the state of RIA development, circa September 2007. The host, SYS-CON, selected a good range of experts who made many interesting points vis-à-vis RIA development.

To put the discussion in context: this was shortly after the announcement of JavaFX at JavaOne, shortly before Flex went open source and before the production release of the Silverlight SDK. AJAX was still considered a pretty exotic bird and therefore dominates a good part of the early discussion.

Topics of discussion include (in no particular order):

  • Open source in the RIA marketplace (dual licensing?)
  • A good amount of discussion on AJAX
  • The Silverlight Alpha SDK releases of the time (1.0 and 1.1)
  • The (then recent) release of JavaFX... to mixed reviews
  • Do Silverlight and JavaFX have a shot at dethroning Flash/Flex? (Jury still out... presumed lost.)
  • That old whipping boy: search engine optimization with RIAs ("But can Google index your RIA?")
  • Security in RIAs
In one interesting segment, the always (refreshingly) opinionated Yakov Fain makes some good points about choosing an enterprise RIA technology. Specifically, he makes the case for Java (server) + Flex (client) citing the fact that you often inherit whatever OS infrastructure your client already has in place, so you would do well to use cross-platform technologies. All the same, he adds that it would be a disservice to your clients to fall in love with a particular technology. He therefore leaves the door open to the possibility of JavaFX overtaking Flex on the client. All the same, he discounts .NET on the server side, since it doesn't play nice outside of the Windows platform.

It's amazing how fast things change in the development world. It's equally amazing how we are still discussing/disagreeing on many of the same issues nearly two years later. Anyways, I personally enjoyed listening to the discussion... perhaps you will, too.

Check it out here.

Flex and REST... Is it time to scrub out SOAP?

| 11 Comments

Flex apps are beasts that thrive on a healthy serving of server-side XML. How exactly you go about feeding any given app depends on your client's environment and practices, as well as your skill set and comfort level with the different preferred technologies.

My personal background lies mainly in Java development and the server-side technologies I have used most often are SOAP and servlets (i.e. plain old servlets, Struts and Spring). While I can acknowledge the value of SOAP, pay me a buck for every time I've heard someone complain about the overhead of creating/using SOAP-based services and I'd be rich enough not to be writing this. On the other hand, using servlets to satisfy the voracious appetite of a healthy Flex app has its own draw-backs.

I've suspected for some time that there is a more elegant, more lightweight way to write Flex-friendly XML-producing server-side Java code. I was therefore excited when asked to explore the world of Java RESTful web services during the lead-in to a new project here at 4Point. What follows is a summary of the many promising things I have learned in the past few days -- things that have led me to ask: "Is it finally time to scrub out SOAP?"

REST in a nutshell

REST stands for "Representational State Transfer", but frankly, the name doesn't really say much about what it really is. REST is a means of exposing a resource to outside interaction through a combination of a URI and an HTTP method (i.e. one of POST, GET, PUT and DELETE). These methods are mapped (roughly) to the classic CRUD operations, allowing you to create, read, update and delete data.


HTTP
CRUD

POST
Create

GET -- Equivalent -->
Read

PUT
Update

DELETE
Delete

In order to invoke an operation on a REST resource, you simply invoke the appropriate URL using the appropriate HTTP method ...and voilà!




About this Archive

This page is an archive of entries from April 2009 listed from newest to oldest.

March 2009 is the previous archive.

May 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.