Quickly explains how to set up IIS for running .exe CGI apps.
The de facto standard interface for Web server applications is CGI, which was first implemented in the NCSA server. CGI has many benefits:
- Simplicity.It is easy to understand.
- Language independence.CGI applications can be written in nearly any language.
- Process isolation.Since applications run in separate processes, buggy applications cannot crash the Web server or access the server’s private internal state.
- Open standard.Some form of CGI has been implemented on every Web server.
- Architecture independence.CGI is not tied to any particular server architecture (single threaded, multi-threaded, etc.).
CGI also has some significant drawbacks. The leading problem is performance: Since a new process is created for each request and thrown away when the request is done, efficiency is poor.
CGI also has limited functionality: It only supports a simple “responder” role, where the application generates the response that is returned to the client. CGI programs can’t link into other stages of Web server request processing, such as authorization and logging.
CGI advantages and disadvantages in a nutshell.
Navy football players presented President Obama with a helmet and someone in the crowd yelled “put it on.” Obama refused citing a long held Washington tradition. ”Here’s a general rule,” he said. “You don’t put stuff on your head if you’re president. That’s politics 101. You never look good wearing something on your head.”
This is also known as the Coolidge rule:
This rule doesn’t travel abroad much. Here in Venezuela, the previous President would love to wear a beret whereas his main contender used a ball cap.
Four years ago I got my iPhone 3G. To this day it’s my daily driver smartphone and constant digital companion when I’m out and about. The world has since long moved on to newer devices with far more capacity and capabilities than my lowly little black iPhone can muster. Yet, I still use mine and…
I had a 4 year-old iPhone 3G, too and it was an excellent phone. It was handed down by my sister-in-law. It finally went kaput when I rushed into a pool with clothes to grab my daughter who had not yet learned how to swim. Definitely useful as a smartphone but not that practical for email. Whatsapp barely ran and that’s what people are communicating with right now. Skype couldn’t run either.
One important caveat when reimporting data from a flat file to a different server is to make sure that the new server’s table columns are aligned with those from the original server. When this doesn’t happen, the data will be copied to the wrong columns (as shown in the screenshot above).
As a software developer using a laptop that is pending a refresh, I get to look a lot at the Mac OSX Activity Monitor (similar to Windows Task Manager), which indicates the tasks that are running on the computer. The most precious resources are memory and CPU. The free memory is shown as the green part of the pie chart.
I think this is pretty much very similar to time/life management. Memory is what takes up your thinking time and CPU is what occupies your execution time (what you’re doing). If a task starts worrying you too much (taking up too much memory), then quit it and restart it (i.e. take a fresh look), because worrying too much will eventually freeze you and make you act slow and erratically.
Forgot exactly which was the other example I had in mind but the original Matrix movie (the other ones didn’t bring any new ideas), portrayed 3 levels of awesomeness:
- Level 0 - Not awesome: You are trapped in a world controlled by others and cannot escape because you are not even aware that you have to. Example: everybody in the matrix.
- Level 1 - Awesome: You realize (or somebody made you realize) that you are in a crappy situation and you manage to escape. Example: people that accompany Morpheus (his crew).
- Level 2 - Super Awesome: Somebody makes you aware that you are in a crappy situation, you manage to escape this situation and then you fight to actually change the situation. Example: Neo and to a lesser degree, Morpheus.
In recent history, a level 2 person is Nelson Mandela & unsung South African heroes.
My sister-in-law sent us her trusty iPhone 3G that she bought in late 2008 when she replaced it with an iPhone 4. Since it was locked to work only with AT&T and throwing it away looked like a mini environmental crime, I decided to jailbreak and unlock it, so I could use it here in Venezuela with Digitel.
Surprisingly, even though it can run up to iOS 4.2.1, it’s one heck of a phone. Being my first smartphone and seeing how many people replace theirs every 1-2 years, I thought that it would be useless. The iPhone 3G is a bit slow (it’s not the 3Gs that they’re offering free in the USA with a contract) but very capable. I compare it with my MacBook Pro which I bought around the same time. It’s getting slow because I load a bunch of development software. But if I stick to a few things, it works great.
That’s good news for people who buy iPhones. They can get 3-4 years of functionality from their $500 investment.
Selling an Enterprise Software Subscription: X$
Selling an Enterprise Software License: XX$
Telling your customer to wait 30 minutes (because you’re watching your son on first row score a goal in an official game): Priceless
Some things can’t be debugged. For everything else, there’s hard work and unit testing.