This is a collection of a variety of strategies attempted by Microsoft
against an extremely resilient competitor that couldn't be simply brought
-or driven to bankruptcy.
+or driven out of business in the conventional ways.
steve_ballmer_bill_gates_i_wish_i_knew_how_to_quit_you.jpg
* The [[http://www.catb.org/~esr/halloween/ | Halloween documents]] (1998-2004)
- * Microsoft claims that [[http://news.zdnet.com/2100-3513_22-152099.html | OSS violates 235 (unspecified) patents]]
+ * Microsoft claims that [[http://news.zdnet.com/2100-3513_22-152099.html | OSS violates 235 (unspecified) patents]] (FUD)
== Help wanted! ==
-|| HTTP_IF_MODIFIED_SINCE || <<CgiVar HTTP_IF_MODIFIED_SINCE>> ||
+|| REMOTE_USER || <<CgiVar|REMOTE_USER>> ||
+|| REMOTE_HOST || <<CgiVar|REMOTE_HOST>> ||
+|| REMOTE_ADDR || <<CgiVar|REMOTE_ADDR>> ||
+|| QUERY_STRING || <<CgiVar|QUERY_STRING>> ||
+|| HTTP_IF_MODIFIED_SINCE || <<CgiVar|HTTP_IF_MODIFIED_SINCE>> ||
#acl bernie:read,write All:read
+#FIXME: couldn't we just return any env variable?
+# Would there be any security issues?
def _macro_CgiVar(*args, **kvargs):
+ if args[1].startswith('HTTP_'):
+ return os.environ.get(args[1], '')
return {
'REMOTE_USER': remote_user(),
'REMOTE_HOST': get_hostname(remote_host()),