Friday, November 28, 2008

Teamprise Remote Accelerator

(This post is geared primarily towards Visual Studio developers who use Team Foundation Server)

Rarely do you see me sing praise for products out there, but in this case, I felt I have to write about a product that has already increased our team's productivity and its ROI is continuing as our projects are getting larger in scope and source code size.

The product is called Remote Accelerator, by Teamprise. It acts as a local version control proxy for Team Foundation Server - its main functionality is to increase access speed to version control data for remote developers, and boy! does it do it well!

You can read more info (and some benchmarking data) about Remote Accelerator, but if your team uses Team Foundation Server and
you're a code developer who likes to work from home or from remote locations, run, don't walk to purchase this product. For $99, it's a steal!

Friday, November 21, 2008

A piece of history... with some future!

It was nice to be in London for a couple days (although my body isn't getting any younger, so these quick turnaround trips are a bit more tiring lately).

The reason for my visit was dual:

- A visit to the Brooklands museum, where the first one of the Britain-built Concordes (G-BBDG) is resting comfortably at home, to talk to some of the wonderful people there who spend their volunteering hours helping preserve history (and ensure that our Concorde-X product is going according to spec, while we were able to snap some more detailed photos for the FSX and ESP versions).

- The Microsoft ESP conference in London, where my role was dual: As MVP, to sync up with the team and as Flight Sim Labs lead, to meet some very interesting people and ensure our collaborative efforts are ongoing. I was pleased to also be introduced to some excellent and very intelligent people as well who I had not met before, who I expect will be making a big difference in the near future for flight simming as well.

Monday, September 15, 2008

For the developers among us...

Finally! A web site with REAL questions and REAL answers for those developers who are tired of googling for a very specific programming question and having to look through pages and pages of Programmer Q&A website non-answers, needing to weed through idiotic encrypted "expert exchange" sites which require you to pay to get answers, or other, advertisement-filled pages with spam-to-info ratios which would blow your ears in the decibel scale...

This is provided by Joel Spolsky (among others) - of Joel on Software fame - and so far, even though at a public beta stage, has been showing tremendous promise in reaching critical mass (others have tried, only to fail and become ghost sites eventually).

The site is called Stack Overflow - I think it's grrrrreeeat! :-)

Thursday, September 11, 2008

GoFlight MCPPro driver for PMDG FSX products out!

Just a small note to say that Flight Sim Labs just released another one of their specialized driver interfaces, this time the MCPPro-X for GoFlight's MCPPro and optional EFIS modules. The driver enables the hardware to interface with PMDG's 747-400 aircraft family for FSX, something long-desired by cockpit enthusiasts and hardware builders.
You can find the product announcement at Flight Sim Labs and the interface link here.

Sunday, August 17, 2008

Building a sim cockpit?

You might probably have heard by now that CPFlight has been producing some excellent hardware for Flight Simulator hard core enthusiasts and cockpit builders.

Up to now, these products were designed exclusively with Project Magenta in mind, as there was no 737NG addon for any simulator version out there that could fully utilize the various modules CPFlight so expertly has created. Various efforts to use keyboard commands, mouse clicks etc. allowed some interfacing with the PMDG 737NG to some extent, but it was always a tricky proposition and not everything would work properly.

This is not so anymore!

Flight Sim Labs is now able to interface the CPFlight MCP, MCPPro, EFIS modules to the FS2004 PMDG 737NG family directly, with its upcoming FS2004 CPFlight driver interface software. No keyboard command programming is required and you can easily forget about having the PMDG panels open while flying your favorite aircraft.

If that was not good enough, Flight Sim Labs will offer full compatibility for an extra 8 CPFlight modules, allowing full and complete interfacing for the following modules now:

- MCP Pro (USB version)
- MCP (USB version)
- MCP (RS232 version) - will require a hardware dongle from CPFlight
- EFIS module(s)
- Radio Stack VHF1, VHF2 modules
- Radio Stack NAV1, NAV2 modules
- Radio Stack ADF1, ADF2 modules
- Radio Stack XPDR module
- Main Instrument Panel, containing
- Autobrakes
- Fire Warning
- Master Caution
- Captain / FO sixpack warning lights
- Flaps Lights
- Gear Lights
- Test Panel
- SPD Ref
- N1 knobs
- Fuel Flow
and many others!

We are very happy to provide such full functionality with the upcoming CPFlight driver interface for Flight Simulator 2004 and the PMDG 737NG family of products. Stay tuned for more news about this in this blog and in our web site!

Friday, August 08, 2008

Was this for our own good? (Part DEUX)

- Well Manuel, it seems like Deja Vu all over again!
- Que?

Excuse the attempt at some dry humor, but having spent two straight days investigating a weird Flight Simulator X crash to desktop, that was apparently completely unrelated to anything remotely related to FS, I have to find some avenue of escape for the unrealized amount of frustration. Thankfully, the solution itself, while not apparent to the untrained eye, provides some level of fulfillment to those who keep blaming the %^%%#@ operating system for everything that goes wrong with their simulator. And guess what: This time, they're right.

To explain:

At the labs (yes, that is the new affectionate term for our new company, Flight Sim Labs), we've been getting some customer support emails from friends who've tried repeatedly to purchase our hardware interface products that have been released as Try-Before-You-Buy, only to hit a hard Crash-To-Desktop (CTD) as soon as they click on the "Purchase" button on their driver dialog window.

Long story short, Yada Yada Yada, some days later, (insert your favorite bit here), and with the very appreciated help of our web sales vendor, eSellerate.net, it became apparent that the common element (if you can call it common) in the CTD has been that the operating system was NOT Windows XP. We were able to reproduce it on machines running Windows Server 2008 (my machine here - experiences with which I'll blog about at some point soon) and/or Vista (regardless of flavor - 32bit and 64bit, Home, Premium, Business, Ultimate - it happened sporadically to those).

It turns out that the common denominator in those systems was the security facility called "Data Execution Prevention" (DEP for short), which does not play nice with Flight Simulator X. While goog- I mean searching through the net for a solution, I found several posts that described weird FSX crashes that seemingly had nothing to do with what the user was doing at the time. In our case, something in the concurrent threads that the eSellerate webClient DLL uses to run online comms with the credit card verification scheme is considered to be "bad bad bad" with FSX, even though we were assured that there's absolutely no attempt at wrong doing by our very respected vendor.

Solution? Simple. If you are running Vista and you haven't done so already, disable DEP if you want your sanity maintained with Flight Simulator X. It won't hurt you either, as I am sure you already have a good firewall and antivirus system going, and you're not relying on DEP to protect you anyway. - And no, it won't be enough to "OptOut" - you'll need to set it off permanently on the PC, or else you'll think you've done it but FSX will still complain and crash. The way is simple:

Run a command prompt (DOS) with elevated permissions ("Run As Administrator") and issue the following command:

bcdedit.exe /set {current} nx AlwaysOff

Then reboot your machine and you're good to go. Simple, eh? For more information and a detailed explanation on what DEP does, how to turn it on and off etc, visit this link.

I cannot profess to know exactly why FSX crashes with DEP turned on, I will leave that to Phil and our good friends at ACES - perhaps it's something we're doing wrong, but if so, I'd definitely welcome a technical explanation and a hint or two on how to fix it, if possible ;-).

Thursday, August 07, 2008

Concorde-X wallpapers

We published some high resolution (1600x1200) images (for desktop wallpaper) of the Concorde-X dressed in FSLabs colors on the Flight Sim Labs website, as many of you requested it in its splendor.

You can find them here.

Wednesday, July 30, 2008

Overwhelming response!

I would like to extend a very heartfelt Thank You! to all of you, my readers and friends, who've flooded my mailbox with such warm wishes for Flight Sim Labs. While I expected that there was a relatively large number of you who were anxiously waiting to see what project my stealth mode was all about, I never expected to be inundated with emails that had so much good stuff to say!

Once again, thank you for the kindness! It's very refreshing and gives me added strength and willpower to create even better products for your enjoyment!

Saturday, July 26, 2008

Flight Sim Labs, Ltd.

Those of you who have known me for awhile will be wondering by now why I've been so silent in the past couple months or so. Apart from the odd post on various sundries, I have stayed very quiet and there was a very good reason for doing that... none other than the launch of a new Flight Simulation company and associated web site.


FSLabs, as we more affectionately call the company in-house, is formed to serve the demanding flight sim pilot who wishes to upgrade himself from the default aircraft complexity level and enter a realm of fidelity found in products that I've associated myself with in the past and will continue to do so (even better) in the future. Apart from aircraft addons, though (first in line of which is the beautiful Concorde which we're developing together with Andrew Wilson and his associates from SSTSIM), FSLabs will be providing driver interfaces to link home cockpit hardware with other addon products such as PMDG's 747-400 for FSX, as well as working together with 3rd parties who wish to contract our consulting services for specialized work.

So, without further ado, you're cleared direct to Flight Sim Labs, Ltd., number one for the approach!

Monday, July 07, 2008

Google C++ style guide

Haven't posted in awhile... that's not because I have nothing important to say - in fact, there's going to be a very important announcement very soon, but for the moment, I wanted to bring your attention (at least those of you who are C++ coders among us) to a very useful style guide that Google published (kudos to Steve Lacey for blogging about it).

I think that if we can follow the recommendations (at Google, they're mandatory) shown in that style guide, we'll make our programming lives a lot easier (we've all had to maintain older code, no?)

Here
's the guide...

Sunday, June 01, 2008

Gia tin Ygeia / For Health

I have it as my rule not to turn this blog into a political forum - I try to keep it "in context", with matters that are mostly related to computers, flight simulation and my work / hobbies.

I'll make an exception here, as today marks the one-year anniversary of Amalia Kalyvinou's death. Amalia, a 30 year-old literature graduate died on 1 June 2007, after fighting for 17 years not only with cancer and amputation, but also with malpractice, bribery ("fakellaki") and bureaucracy in the corrupt Greek National Health System.

Amalia - you'll live forever in our memory. May your efforts find repeaters, copiers and let your death mean something to those who keep fighting to "fix things".

Please read this page - and if you feel like it, sign the petition at the bottom...

Wednesday, May 07, 2008

Package Tracking 2.0

I am sure most everyone knows that the major package shipping companies (UPS, FedEx, DHL etc.) offer online tracking if you take the trouble to visit their web site and plug your Tracking Number in there...

I didn't know, however, that there's an aggregator site that now offers a unified and graphical way to track your in-transit package... Kudos to isnoop for this site...

Wednesday, April 30, 2008

ESP now on MSDN!

Did you know that Microsoft ESP is now part of MSDN? As a result of months of hard work by the good people at ACES (yes, Todd, that includes you too! :-)) you can now find the ESP developer center on MSDN. If you're an MSDN customer, you can also download ESP without having to go through the normal purchasing channels.

Let me know if you need assistance with developing on ESP! Also, if you are a current or potential ESP customer and require contract work or help with developing your software, I'd be interested in hearing about it as well!

Here's the link for where all that good fun happens!

Thursday, April 24, 2008

Penryn Q9450 - just received it!

I owe a small debt of gratitude to my good friend George Marinakis for picking up one of the new Penryn Q9450 CPUs (Intel specs here) on my behalf and shipping it to me (it took five days to ship from Cincinnati, OH to Athens, Greece! Amazing record for the US and Greek postal services, during Greek Easter busy shipping times too!).

Installation was pretty straightforward... (Yeah - I wish!) My rig is a Thermaltake Kandalf LCS super tower box which includes liquid cooling. It weighs in at a hefty 20kgs so removing it from under the desk was tough to begin with... putting it sideways was pretty much out of the question, as I didn't want all the crap spilling out of the pump container, so I had to undo the screws that were holding the pipes and heat sink onto the old (Core 2 Quad 6600) CPU, remove the CPU itself without harming the myriad pins and install the new CPU into its slot (try doing that all while the motherboard is still hanging vertically!).

Once that was done and the heat sink was put back in place, I had to endure about five panic-stricken minutes of pain during which the box would start booting, beep, then cycle power down and up again to go through the same process... ugh. At least I had my wife's PC on the desk next to mine, so I could log onto the Internet and see if anyone else had gone through that problem. Sure enough, I found out I had to update the BIOS on my ABit IP35 Pro motherboard to a new (beta!) version which would boot the new Penryn generation (funny - I thought the IP35 Pro was designed with those Penryns in mind... guess not).

How do you get the box stable enough to replace the BIOS? You guessed it (right?): Out comes the Penryn, in goes the old Q6600 (yes, yes, heat sink, hold vertically, unscrew while holding CPU in place, screw back on, etc. etc) and the process continues.

The rest was quite uneventful. New BIOS went back in, CPU was replaced again (yes, yes, heat sink out, etc. etc.) and booting now was successful.

After about three hours, I am typing on this new Penryn box. Wow! Amazingly fast performance for writing Blogger articles! :-) :-).

I couldn't resist though, so I put it through some preliminary tests: I am seeing about 20-30% faster performance with the PMDG 747-400X in Flight Simulator X SP2 with my settings. This means I can now turn back on the ground and aircraft shadows and put a modicum of AI traffic for a more pleasant outside view, or fly online at VATSIM with the new Squawkbox 4 Beta version...

Overall? Well worth the $320 I spent on it (shipping included - but not counting the free flight George gets in the C172 as a well-earned thank you for his willingness to help me out!).

Go get it? Heck yeah!

It's all about the weather...

Literally! If you're interested, there's a huge collection of weather forecast and related links here.

The titles are in Greek, but I am pretty darn sure that everyone will understand from the URLs what the topics are.

Wednesday, April 23, 2008

ESP - now blogging at a URL near you...

Excited to find out about this from fellow MVP Arno Gerretsen:

The product team responsible for Microsoft ESP is now blogging! They just started, but you can find more here.

(Soon I'll start talking about what I've been doing in Stealth Mode and I'll start inviting queries on it - and it might also be ESP related - who knows!).

Tuesday, April 08, 2008

In Stealth Mode...

I've been quiet for awhile. You haven't seen much written here because I've been very busy with work. I can't say what it is I'm working on, but I'm very excited about it...

In other news, I was honored to be part of the Heroes Happen Here 2008 Hellas Launch of Windows Server 2008, Visual Studio 2008 and SQL Server 2008 - I even had a small part in the Visual Studio 2008 technical presentation, demonstrating how cool the new Team System features are, which allow a developer a very rapid cycle of bug catching / source control checking / bug fixing / source control restoring process; all this while showcasing the new Microsoft ESP platform and an example of new features that can be added to any simulated aircraft.

As soon as I find out that the video of the presentation becomes available, I'll update everyone with a post here (sorry - it will be in Greek :-)).

Friday, February 15, 2008

Where it all began...

Some of you may know that I've been elected Microsoft MVP by the good folks at ACES, an honor that I take seriously, constantly reminding myself that there's still so much to be done to improve my code base and provide more efficient and thorough work so my team mates can become more productive. I owe a lot to our friends in Redmond who make the best flight simulator there is today - if not for them, our 737 and 747 products wouldn't have been so greatly acknowledged.

Focusing so much on the future, though, sometimes keeps me from remembering the past: Where it all began for me in flight simulation and who was responsible for my involvement in the business. I have a very warm place in my heart for the team which caused me to realize that flight simulation is so much more than just a game. That team was Terminal Reality and the Fly! developers.

The trip down memory lane was caused by an article I happened to read today, written nine years ago (already!). It describes a (real) trip I would have liked to have made myself, to meet at least some of the people I considered very important when I started my humble career in flight simulation development. One of them, in particular, who unfortunately is no longer with us. Fare well, Richard Harvey, I am sure I'll meet you one day in a different cloudless sky...

Monday, February 11, 2008

The PMDG 747-400 and Microsoft ESP

I've been feeling quite under the weather lately - turns out I caught the family flu bug and I've been going through the five stages (denial, etc.)

I can't code like this, so I'm taking a bit of time to say that I've successfully ported our 747-400 code base over to Microsoft ESP. For those of you who don't know what ESP is, it's the commercial simulation platform the good folks at Microsoft created to allow professional enterprises to bring previously games-based technology to training and learning, decision support, and research and development modeling for government and commercial organizations.

This means those entities who were previously running the PMDG 747-400 for training purposes, "bending the rules" a bit and ignoring the EULA which suggested it was "for entertainment purposes only", can now negotiate a specific license agreement which will allow them to run the platform on a different relationship basis.

No - we're not abandoning the entertainment market, so stop worrying! :-)

Saturday, February 09, 2008

Why you NEED to install SP1 if using Vista

Mark Russinovich posted a very enlightening blog entry regarding file copying in Vista and how SP1 affects (actually: improves) this.

Those of you running Media Center and viewing files remotely are particularly interested.

Those of you running Flight Simulator X are also interested, due to a particular bug which calls for re-reading some base BGLs constantly (yes, we've alerted ACES and no- it can't be fixed for FSX).

Thursday, January 31, 2008

You don't know... Jack.

I remember this game from back in the first days of the PC (IBM and compatibles)... I didn't know Jack back then either...

Do you know Jack?

TSA Blog - no lines to enter comment?

Well- not everyone might catch my double-meaning in the subject title, but I tried to be spiffy enough to suggest that the Transportation Security Administration (better known as TSA) - responsible for more than a gazillion hours in flight delays in the USA - has now started a blog where people can post comments, "since there is no time for agency personnel to answer passenger questions during the airport screening process".

The real question becomes: Do I have to wait long hours in line to enter my questions? :-)

Are you LinkedIn?

I don't know how late I am to the ball, but LinkedIn is the newest "cool thing" among my professional peers.

Check it out - and don't forget to add me as your "connection" once you are satisfied!

Monday, January 21, 2008

How to set folder permissions in C++ for Vista

Burhan, one of our customers requested this and here it is:

const char* g_
strFSXPath = "g:\fsx";

void SetPathPermissions(const char* path)
{
// Set permissions for the folder
PACL pDacl,pNewDACL;
EXPLICIT_ACCESS ExplicitAccess;
PSECURITY_DESCRIPTOR ppSecurityDescriptor;
PSID psid;

// Get the current Security Info for the path
char szFileName[MAX_PATH];
sprintf(szFileName, "%s%s", g_strFSXPath, path);
GetNamedSecurityInfo(szFileName, SE_FILE_OBJECT,DACL_SECURITY_INFORMATION, NULL, NULL, &pDacl, NULL, &ppSecurityDescriptor);

//BuildExplicitAccessWithName(&ExplicitAccess, "Users", GENERIC_WRITE, SET_ACCESS, CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE);

ConvertStringSidToSid("S-1-5-32-545", &psid);

ExplicitAccess.grfAccessMode = SET_ACCESS;
ExplicitAccess.grfAccessPermissions = GENERIC_WRITE;
ExplicitAccess.grfInheritance = CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE;
ExplicitAccess.Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
ExplicitAccess.Trustee.pMultipleTrustee = NULL;
ExplicitAccess.Trustee.ptstrName = (LPTSTR) psid;
ExplicitAccess.Trustee.TrusteeForm = TRUSTEE_IS_SID;
ExplicitAccess.Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN;

SetEntriesInAcl(1, &ExplicitAccess, pDacl, &pNewDACL);
SetNamedSecurityInfo(szFileName,SE_FILE_OBJECT,DACL_SECURITY_INFORMATION,NULL,NULL,pNewDACL,NULL);

LocalFree(pNewDACL);
LocalFree(psid);

fileOut << endl;
fileOut << "User reset folder and Subfolders permissions." << endl;
fileOut.flush();

}