A Southwestern adventurer striking out into the badlands of the Midwest for fun, profit, and for a wife who wouldn't move back to the Southwest :)
Monday, December 31, 2007
Netscape: AOL Pulls the Plug In February
You ruled the Internet till about version 4 Netscape, then marketing forces and good old Microsoft started to kill you. Your son, Firebox, will live on to avenge you.
Read more [HERE].
Sunday, December 30, 2007
Good Into Javascript OOP Tutorial
Anyway, here is a link to an old, but still very relevant, OOP Javascript tutorial. There are two parts, just toggle the 1/1 in the URL to 2/1 when you are done with teh first part.
http://www.sitepoint.com/article/oriented-programming-1/1
[Update 1/22/08]
Here is a pretty good ebook on Javascript-
http://eloquentjavascript.net/contents.html
Friday, December 21, 2007
Lame: Chinese Intelligence Works for the NSA
Read more [HERE].
Originally referenced on http://haftofthespear.com/
Thursday, December 20, 2007
Reason Number 4837 To Hate Safari
A possible answer is here...
http://www.neurofuzzy.net/2006/07/09/safari-and-php-file-uploads-solved/
Yet another reason Safari sucks. Apple is slick, and the fearful as well as the new hip hop web developers who don't know any better, flock to Apple. I'm sorry, Apple sucks, always sucked, and still sucks. So does M$, but at least their crap works most of the time. Yes, I know younger developers will rail against IE6 because it isn't "standards compliant". True enough, but they forget IE6 was made when IE was pushing the standards, not trying to comply with them. DHTML? XMLHTTP? innerHTML? All that came from IE. The standards came after IE innovated the web to a point where all their web 2.0 stuff could work.
Tuesday, December 18, 2007
Merry Chrismas from the Electric Sheep Company!
Read more [HERE].
The article is from Second Life's Reuters bureau, which is run by Electric Sheep, so to be fair they are trying to be transparent I guess. My view is that Electric Sheep will survive, and actually are positioned to do well for the future as they expand into another arenas. Just the early experiments with corps in Second Life where just that, experiments that, as in my opinion Electric Sheep knew, where pretty doomed to failure. They took a lot of willing customers with big wallets for a ride. At the same time, both the customers, and Electric Sheep gained from the experience. Corps will be wiser as they invest in virtual enterprises, and Electric Sheep did learn valuable lessons that will be able to be transferred to other platforms. The big question is whether or not alternatives to Second Life will mature fast enough to keep Electric Sheep large enough to survive as is as virtual worlds develop.
GUID's in Classic ASP
http://classicasp.aspfaq.com/general/how-do-i-generate-unique-guids-from-asp.html
All-in-all classicasp.aspfaq.com is a great resource for those of us who still support and develop with classic ASP.
Here is the function you need.
Function GetGuid()
Set TypeLib = CreateObject("Scriptlet.TypeLib")
GetGuid = Left(CStr(TypeLib.Guid), 38)
Set TypeLib = Nothing
End Function
Monday, December 17, 2007
Playing God: Scientist Hope to Create New Artificial Life Forms
Read more [HERE].
Friday, December 14, 2007
Virtual Worlds... An Insight From Oscar Wilde
I was watching a pretty far out video clip from http://www.goodfight.org/ on U2 and Satanism. Not sure if I would take every rock stars profession of being satanic at face value. I think many of them blab such nonsense because they are trying to be anti-conformist. But in a deeper, darker sense, they might, even though they don't realize it, give voice to what subconsciously they know they are really doing, and that is why I find the video interesting.
Anyway, there was a quote from Oscar Wild on the video clip that I think applies to virtual worlds.
Man is least himself when he talks in his own person. Give him a mask, and he will tell you the truth. ~Oscar Wilde
What do you do when your mask (avatar) is on?
The New Media Further Solidifies: Jackass 2.5 Set for Internet Release
Jackass 2.5 is being set for direct to internet release, a further sign of the new media's maturation.
Read more [HERE].
I found the link on www.drudgereport.com
Thursday, December 13, 2007
The Bear Awakes: Last Minute CFE Talks Fail
UK Accepts EU Treaty, Gives up 60 Veto Powers
Read on [HERE].
Wednesday, December 12, 2007
Fear of Girls: Brutal
If you have ever played D & D, check out the "Fear of Girls" videos [HERE].
USAF: It maybe isn't your daddy's air force, but it most likely is his plane.
Read on [HERE].
Tuesday, December 11, 2007
Classic ASP...is that Connection object or Recordset Object Closed?
So I found this cool article
http://classicasp.aspfaq.com/components/how-do-i-determine-if-a-vbscript-based-object-exists.html
So, I have this include file that opens all these recordsets and command objects. On some pages these objects are closed, on others not. So a quick fix to make sure these objects were closed so the SQL server wasn't being killed and our server memory maxing out was something like this...
if isObject(someobj) then
if not (sombobj is nothing) then
if someobj.state = 1 then
someobj.close
end if
set someobj= nothing
end if
end if
This should pin things till the rewrite, or until I go through and really tiddy up the code. someobj can be either an ADODB recordset or an ADODB connection. For command objects just remove the if somebj.state if then and it should work.
Friday, December 07, 2007
Google's New Charting API: Pretty Cool
Google has released a free charting API to the world. You won't create uber beautiful charts like I've seen other 3rd party components create, but hey, it is free.
Check out the specs [HERE].
The green empire once again makes it hard to resist coming under their control.
Originally posted by www.ajaxian.com.
Lifespan of Worms Increased
In the Bible you hear about people living to be 800 years old. Most Christians put that off as myth, others explain it with voodoo science. Maybe something along the lines of what this researcher is into, if the environment on earth was much different before the flood, might explain things.
Regardless, the article is worth a read.
Thursday, December 06, 2007
Wednesday, December 05, 2007
The NIE and Iran. About Face and Why
http://www.weeklystandard.com/weblogs/TWSFP/2007/12/nie_an_abrupt_aboutface.asp
Why can't we throw people who twist facts (whatever party flavor they be) in jail? What is this crap?
Tuesday, December 04, 2007
Mike Huckabee
Why?
- Huckabee is from the establishment. The establishment is corrupt. Thus I don't really trust him. He has to prove to me he is the man. The one time I saw him in a debate, he didn't.
- It is easy to stand up for moral issues. I applaud him for his conservative stances. But no where do I see on his issue page on his web site anything about stemming the outsourcing of our economy. After going to Detroit a few times, and seeing what it was and what it now is, I think raising tariffs is a huge deal. All the arguments I've heard against doing so are a bunch of crap that are now starting to be proven false. Our dollar is devaluating, and things are only going to get worse for Americans. All this crap about the benefits of outsourcing our economy are lies. The only thing we gain is a short term boost in our standard of living while we mortgage our futures. The rich gain hugely as they sell out the middle class and the poor. We see evidence of their massive gains in CEO pay increases vs. average pay increases for most workers. Moral issues are hugely important, but so is our way of life and our standard of living. I'm afraid I'm with the libs on this issue. I wish no ill will towards the rest of the world and I'm happy to see the standard of living of many countries increasing, but I'm against seeing this increase at our expense.
So I see Huckabee is a conservative rich boy from the elite class who because he has some moral fortitude misguidedly thinks he can toss his hat in the ring and fix things. I doubt that from his class perspective he can even identify all the problems that need to be fixed.
Next.
Ron Paul still has my vote, even though he is crazy.
Monday, December 03, 2007
Classic ASP: MARS
Set myrecordsetobj=myrecordsetobj.NextRecordset()
No special stuff needed on the stored proc's end, just use multiple selects.
Thursday, November 29, 2007
In the last days they will be fierce...
Read more about that on Slashdot and its referenced article [HERE].
Wednesday, November 28, 2007
Genetic Engineering: The Mouse That CAN'T Get Cancer
Sunday, November 25, 2007
Pat Buckanan: Day of Reckoning.
Read more about Matt Drudge's initial comments on the book [HERE].
Birth-Pains before Jesus's Return: Natural Disasters up 4x in the last 20 Years
Wednesday, November 21, 2007
Russia Widthdrawing from Arms Treaty on December 12th
Another Reason to Stop Buying Chinese Goods
Read more [HERE].
Visual Studio 2008: First Impression
The Good: The install was a breeze compared to Visual Studio 2005 Pro.
The Bad: I still have to support classic ASP applications, and it looks like the intellisense for classic ASP has pretty much been removed. Bummer.
The OK: I like that the .Net framework 3.5 integrates the AJAX framework out of the box. It looks like most of the interface is pretty much the same as Visual Studio 2005, so I won't be hunting for things all the time, which is nice.
Overall I like how Microsoft is giving away Visual Studio and SQL Server Express versions away for free.
Download copies for yourself -
http://www.microsoft.com/express
Sunday, November 18, 2007
Game Tap
Don't take my word for it, check it out yourself. www.gametap.com
Image Onload Problems
// evil:
var image = new Image();
image.src = 'image.jpg';
image.onload = function() {
// sometimes called
alert('image loaded');
};
// good:
var image = new Image();
image.onload = function() {
// always called
alert('image loaded');
};
image.src = 'image.jpg';
To be honest, I'm not sure if this works or not, especially in Safari 1.x and Opera, but I'll give it a shot. The only other work around I've seen is pretty complicated.
Thanks to http://www.thefutureoftheweb.com/blog/image-onload-isnt-being-called for posting this.
Desktop Tower Defense
Basically you are defending two openings, and bad guys known as creeps slip through two other openings. You build various types of immobile gun walls to both channel and kill creeps. Pretty fun.
Chinese Communist Co-Opting US Websites
Wednesday, November 07, 2007
Why Mess with Photoshop: Rounded Corners Auto Generator
Check it out [HERE].
The Little Plane That Could: First Production T-38 Trainer Goes Into Retirement
Monday, November 05, 2007
A Flaw in Moore's Law: Demand
Here are 3 reasons why I think Moore's law will not hold up for Home Computers.
1) Home computers are becoming less and less the platform of choice for gaming. Consoles are now more popular then ever, and the PC gaming industry is feeling the punch. Does this mean PC games will go away? No, but it does mean that the bigger game developers will focus more and more on console game development, and PC gaming will become more of a niche thing (MMORPG, Indie developers). So, the need for PC's to have ever increasing processor and graphics power will not end, but it will slow.
2) Most home computer users use their computers to web surf, pirate music and movies, check email, instant message, and write a document every once in a while. We have approached a point now where operating systems and computer horsepower are more then enough to handle these tasks. Do consumers really need to update their computers every two or three years when their five year old machine is more then enough to handle these tasks? Probably not.
3) There are more and more internet enabled appliances that will compete with PC's for use for interent surfing, emailing, and instant messaging. These appliances are generally smaller and more connected through cellular networks then say a laptop, so these appliances are becoming more and more the communications medium of choice for younger people as opposed to PC's.
So these three factors, the slow down of the PC gaming industry, current PC's reaching the point where they can perform common task more then adequately fore the foreseeable future, and mobile devices competing with PC's as a communication device, all will create the perfect storm to slow down the home and to a lesser degree business demand for new personal computers. Thus we should see the investments in developing new processing power for PC's also slow somewhat, possibly making Moore's law no longer a law in the PC realm.
Apparently, the market slow down is already happening in Japan, which could be an indicator of a future global trend.
Read more about the PC market slow down in Japan [HERE].
Read more about Moore's law [HERE].
Friday, November 02, 2007
The Darling of the Left at it Again
Read more [HERE].
Monroe doctrine anyone?
Photo taken from www.drudgereport.com
Genetic Engineering: Super Mouse
Read more [HERE].
Photo taken from http://www.drudgereport.com/
Once Again, Media is Reported Biased to the Left
[HERE] is another article indicating such.
This makes me laugh because liberal love to pretend they live in a world where it is them, the tragic revolutionary underdogs, against the man. Often times liberals are the man but they are so blinded that they can't see it.
Thursday, November 01, 2007
Photoshop: Rounded Corners
Wednesday, October 31, 2007
Pretty Cool
Animator vs. Animation by *alanbecker on deviantART
The Office Does Second Life
Read more and compare the two approaches [HERE].
CSI:NY and Second Life Tank
Well the effort tanked. The snake oil salesmen at Electric Sheep failed to capture any sort of significant user presence with their 440 (yes 440) CSI:NY Second Life Sims. The Second Life Herald reports that CBS shut down 408 out of 440 CSI:NY Second Life Sims (Virtual Islands). Virtual layoffs abound.
I understand the Electric Sheep's enthusiasm, but they knew better.
Read more [HERE].
And below is another promo video.
P.S. One thing the video above states that I didn't know is that Electric Sheep is owned now by CBS. Interesting. Those guys at Electric Sheep have been bought out, and just like the silicon pirates of the internet in the 90ies they will all ditch before people get a clue that virtual worlds need to be developed out more (especially Second Life) before they hit the prime time. Oh well, good for them.
Friday, October 26, 2007
Programmable Matter
So now we have on the horizon faster then light communication and computation, teleportation, invisibility, electromagnetic screens/armor, and now programmable matter.
Looks like Scotty one day will be able to whip up some Scottish meal out of thin air in the mess hall of the future.
Thursday, October 25, 2007
CSI:NY Boon to Second Life's....Sex Industry?
I'm kind of sick of hearing about Electric Sheep and Millions of Us. Good for them that they are riding a wave. Yet they are snake oil salesmen. Second Life has potential, but it isn't the metaverse, and these guys know that, yet they are selling it to big corporate clients as it is such, which is dishonest. I'm glad the porno folks hijacked one of ES's projects in a small way. This makes me grin.
Read more [HERE].
Tuesday, October 23, 2007
Robot Chicken's Spoof of the 300.
Check it out.
Dennis Kucinich: Next Stop Atlantis?
Read more about Dennis and the claims of a close family friend, a crazy UFO lady, about Dennis's close encounter [HERE].
Space Heats Up: China to Test Sat Killer Tech
Remember, 10% of all of Walmart's purchases today will fund you grandchildren's death tomorrow! What a deal!
Read about China's "peaceful" moon mission [HERE].
Monday, October 22, 2007
CSI NY's Second Life Episode
Anyway, check out the trailer.
And check out CSI New York on Wednesday October 24rth.
New Life for the .45
The new submachine gun has a new blowback system that could potentially be used to reduce blowback in other weapons as well.
Read more [HERE].
Thursday, October 18, 2007
Jews Advised to Leave Iran
Anyway, Jews are being advised to leave Iran "without delay". We are going to end up going to war. And not because of Bush's policy blunders in Iraq. It will be because Ahmadinejad, or however you spell that fool's name, if crazy, and he will just keep on pushing things.
Pray for the people in Iran, that their oppressive, terrorist exporting government would go.
Read more [HERE].
The Age of Robotics
Wednesday, October 17, 2007
Video Lessons I've Learned
Before You Shoot
- If you are shooting live video, think about placing your camera where you can get as much of a straight on shot as you can. Sounds like common sense, but sometimes due to various factors you won't be able to do a straight on shot of say a screen. If you can't, try to get the media that will be displayed on the screen and composite that back in over the trapezoided screen you will film.
- Talk to the lighting guys. When people are talking and there is no slides or video being presented, have the light guys up the lights as much as possible. True, you don't want to have the lights going up and down all the time, so this might take a little bit of pre planning and coordination.
Think about your workflow. Video rendering is very time consuming, so run a few small test end to end of extracting to video from the camera to final screen presentation. It is good to work out kinks before timelines are established. Get a good realistic feal for how long things will take, then use 2.5x that amount of time for an estimate of completion.
If you are rending digital video, here are a few tips.
- If you are using programs like 3D Max, Max likes to crash sometimes. Render your output as images rather then video, so if Max crashes at frame 700, you can pick up rendering again at frame 700. If your rendering is taking 2 minutes a frame, you will be saving yourself quiet a bit of time. Editors like Adobe Premier allow you to drag and drop folders of images in the timeline.
- Only render the parts of scenes that are changing. In Max, there is a setting (it has been about two years so I'm a little foggy as to where) where you can have Max just render a small section of the screen. If you render one frame as a background, Max will render the full frames, but only update the part of the frame that you are worried about. Again, a huge time saver if render speeds are low.
General Tips
- Generally you are talking about three steps. Getting source video, composting and editing source video, rendering an output video. Often times you will need a fourth step for web video, rendering to Flash (although youTube is an option worth checking out, they do it for you). Generally with the exception of the composting and editing phase, you want to be doing something else productive while these steps are taking place as each of these phases takes anywhere from 1/4 to 3/4 the time of the desired length of your end video. So depending on your hardware setup, you definitely want one machine available for you to work on other projects while the other machine(s) are trudging along.
- Expect problems. Don't get frustrated. Just start again.
- On low end cameras like mine, you end up pulling the video off of a tape in a lossy format. You can bring some of the color back when editing. The more you manipulate your video, the more color and detail will be lossed. You can use different codec's like DivX, but generally you want to keep your video as lossless as possible until you generate for the final presentation layer. Use a lossless codec like Lagarith. Unfortunately that means you will need a lot of disk space.
- Make sure interleave each frame is checked. It will take a bit longer to render things, but the height in quality is worth it.
- If you are outputting for the web, remember that most video will come off your camera slightly rectangular at a .9 height to width ratio at (720 x 480). Usually for my final render if I'm going to the web after the edits are done I go to square pixels and then cut the size down to 320x240 or 640x480. I might drop the frame rate down by half to if I'm low on disk space or time. The Flash video encoder seems to do a better job at making things a little less choppy if you set a custom video frame rate when encoding then the video software I've used (Vegas and Adobe Premier Pro 2). But if the extended render time is a big hit and the slight improvement in quality isn't that big a deal, render your final output at half NTSC.
Encoding for Flash
- I've had pretty good luck in filming at NTSC speeds (29.97 fps, or something like that) and then halving that (14.xxx fps) when I'm encoding to Flash. For 320x240, 300 kb a sec seems to always do the trick. You might be able to go down lower if you don't have a lot of red colors nor a lot of movement. Maybe run a few quick test (in Flash itself you don't have to encode the whole video when importing, just import a chunk, render, test, adjust).
- For Audio, I've used Stereo 16kbs. You might want to buff that up to 32kbs, which might in turn cause you to buff up your streaming a little over 300kbs.
Well, most of these tips are commons sense, but it is good to be reminded of them.
Tuesday, October 16, 2007
Burning John Paul says hi from the Grave?
Anyway, [HERE] is the article.
- Peter, London
Originally posted on http://www.drudgereport.com/
Friday, October 12, 2007
Classic ADO Constants
' Microsoft ADO
'
' Copyright (c) 1996-1998 Microsoft Corporation.
'
'
'
' ADO constants include file for VBScript
'
'--------------------------------------------------------------------
'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
'---- CursorOptionEnum Values ----
Const adHoldRecords = &H00000100
Const adMovePrevious = &H00000200
Const adAddNew = &H01000400
Const adDelete = &H01000800
Const adUpdate = &H01008000
Const adBookmark = &H00002000
Const adApproxPosition = &H00004000
Const adUpdateBatch = &H00010000
Const adResync = &H00020000
Const adNotify = &H00040000
Const adFind = &H00080000
Const adSeek = &H00400000
Const adIndex = &H00800000
'---- LockTypeEnum Values ----
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4
'---- ExecuteOptionEnum Values ----
Const adAsyncExecute = &H00000010
Const adAsyncFetch = &H00000020
Const adAsyncFetchNonBlocking = &H00000040
Const adExecuteNoRecords = &H00000080
Const adExecuteStream = &H00000400
'---- ConnectOptionEnum Values ----
Const adAsyncConnect = &H00000010
'---- ObjectStateEnum Values ----
Const adStateClosed = &H00000000
Const adStateOpen = &H00000001
Const adStateConnecting = &H00000002
Const adStateExecuting = &H00000004
Const adStateFetching = &H00000008
'---- CursorLocationEnum Values ----
Const adUseServer = 2
Const adUseClient = 3
'---- DataTypeEnum Values ----
Const adEmpty = 0
Const adTinyInt = 16
Const adSmallInt = 2
Const adInteger = 3
Const adBigInt = 20
Const adUnsignedTinyInt = 17
Const adUnsignedSmallInt = 18
Const adUnsignedInt = 19
Const adUnsignedBigInt = 21
Const adSingle = 4
Const adDouble = 5
Const adCurrency = 6
Const adDecimal = 14
Const adNumeric = 131
Const adBoolean = 11
Const adError = 10
Const adUserDefined = 132
Const adVariant = 12
Const adIDispatch = 9
Const adIUnknown = 13
Const adGUID = 72
Const adDate = 7
Const adDBDate = 133
Const adDBTime = 134
Const adDBTimeStamp = 135
Const adBSTR = 8
Const adChar = 129
Const adVarChar = 200
Const adLongVarChar = 201
Const adWChar = 130
Const adVarWChar = 202
Const adLongVarWChar = 203
Const adBinary = 128
Const adVarBinary = 204
Const adLongVarBinary = 205
Const adChapter = 136
Const adFileTime = 64
Const adPropVariant = 138
Const adVarNumeric = 139
Const adArray = &H2000
'---- FieldAttributeEnum Values ----
Const adFldMayDefer = &H00000002
Const adFldUpdatable = &H00000004
Const adFldUnknownUpdatable = &H00000008
Const adFldFixed = &H00000010
Const adFldIsNullable = &H00000020
Const adFldMayBeNull = &H00000040
Const adFldLong = &H00000080
Const adFldRowID = &H00000100
Const adFldRowVersion = &H00000200
Const adFldCacheDeferred = &H00001000
Const adFldIsChapter = &H00002000
Const adFldNegativeScale = &H00004000
Const adFldKeyColumn = &H00008000
Const adFldIsRowURL = &H00010000
Const adFldIsDefaultStream = &H00020000
Const adFldIsCollection = &H00040000
'---- EditModeEnum Values ----
Const adEditNone = &H0000
Const adEditInProgress = &H0001
Const adEditAdd = &H0002
Const adEditDelete = &H0004
'---- RecordStatusEnum Values ----
Const adRecOK = &H0000000
Const adRecNew = &H0000001
Const adRecModified = &H0000002
Const adRecDeleted = &H0000004
Const adRecUnmodified = &H0000008
Const adRecInvalid = &H0000010
Const adRecMultipleChanges = &H0000040
Const adRecPendingChanges = &H0000080
Const adRecCanceled = &H0000100
Const adRecCantRelease = &H0000400
Const adRecConcurrencyViolation = &H0000800
Const adRecIntegrityViolation = &H0001000
Const adRecMaxChangesExceeded = &H0002000
Const adRecObjectOpen = &H0004000
Const adRecOutOfMemory = &H0008000
Const adRecPermissionDenied = &H0010000
Const adRecSchemaViolation = &H0020000
Const adRecDBDeleted = &H0040000
'---- GetRowsOptionEnum Values ----
Const adGetRowsRest = -1
'---- PositionEnum Values ----
Const adPosUnknown = -1
Const adPosBOF = -2
Const adPosEOF = -3
'---- BookmarkEnum Values ----
Const adBookmarkCurrent = 0
Const adBookmarkFirst = 1
Const adBookmarkLast = 2
'---- MarshalOptionsEnum Values ----
Const adMarshalAll = 0
Const adMarshalModifiedOnly = 1
'---- AffectEnum Values ----
Const adAffectCurrent = 1
Const adAffectGroup = 2
Const adAffectAllChapters = 4
'---- ResyncEnum Values ----
Const adResyncUnderlyingValues = 1
Const adResyncAllValues = 2
'---- CompareEnum Values ----
Const adCompareLessThan = 0
Const adCompareEqual = 1
Const adCompareGreaterThan = 2
Const adCompareNotEqual = 3
Const adCompareNotComparable = 4
'---- FilterGroupEnum Values ----
Const adFilterNone = 0
Const adFilterPendingRecords = 1
Const adFilterAffectedRecords = 2
Const adFilterFetchedRecords = 3
Const adFilterConflictingRecords = 5
'---- SearchDirectionEnum Values ----
Const adSearchForward = 1
Const adSearchBackward = -1
'---- PersistFormatEnum Values ----
Const adPersistADTG = 0
Const adPersistXML = 1
'---- StringFormatEnum Values ----
Const adClipString = 2
'---- ConnectPromptEnum Values ----
Const adPromptAlways = 1
Const adPromptComplete = 2
Const adPromptCompleteRequired = 3
Const adPromptNever = 4
'---- ConnectModeEnum Values ----
Const adModeUnknown = 0
Const adModeRead = 1
Const adModeWrite = 2
Const adModeReadWrite = 3
Const adModeShareDenyRead = 4
Const adModeShareDenyWrite = 8
Const adModeShareExclusive = &Hc
Const adModeShareDenyNone = &H10
Const adModeRecursive = &H400000
'---- RecordCreateOptionsEnum Values ----
Const adCreateCollection = &H00002000
Const adCreateStructDoc = &H80000000
Const adCreateNonCollection = &H00000000
Const adOpenIfExists = &H02000000
Const adCreateOverwrite = &H04000000
Const adFailIfNotExists = -1
'---- RecordOpenOptionsEnum Values ----
Const adOpenRecordUnspecified = -1
Const adOpenOutput = &H00800000
Const adOpenAsync = &H00001000
Const adDelayFetchStream = &H00004000
Const adDelayFetchFields = &H00008000
Const adOpenExecuteCommand = &H00010000
'---- IsolationLevelEnum Values ----
Const adXactUnspecified = &Hffffffff
Const adXactChaos = &H00000010
Const adXactReadUncommitted = &H00000100
Const adXactBrowse = &H00000100
Const adXactCursorStability = &H00001000
Const adXactReadCommitted = &H00001000
Const adXactRepeatableRead = &H00010000
Const adXactSerializable = &H00100000
Const adXactIsolated = &H00100000
'---- XactAttributeEnum Values ----
Const adXactCommitRetaining = &H00020000
Const adXactAbortRetaining = &H00040000
'---- PropertyAttributesEnum Values ----
Const adPropNotSupported = &H0000
Const adPropRequired = &H0001
Const adPropOptional = &H0002
Const adPropRead = &H0200
Const adPropWrite = &H0400
'---- ErrorValueEnum Values ----
Const adErrProviderFailed = &Hbb8
Const adErrInvalidArgument = &Hbb9
Const adErrOpeningFile = &Hbba
Const adErrReadFile = &Hbbb
Const adErrWriteFile = &Hbbc
Const adErrNoCurrentRecord = &Hbcd
Const adErrIllegalOperation = &Hc93
Const adErrCantChangeProvider = &Hc94
Const adErrInTransaction = &Hcae
Const adErrFeatureNotAvailable = &Hcb3
Const adErrItemNotFound = &Hcc1
Const adErrObjectInCollection = &Hd27
Const adErrObjectNotSet = &Hd5c
Const adErrDataConversion = &Hd5d
Const adErrObjectClosed = &He78
Const adErrObjectOpen = &He79
Const adErrProviderNotFound = &He7a
Const adErrBoundToCommand = &He7b
Const adErrInvalidParamInfo = &He7c
Const adErrInvalidConnection = &He7d
Const adErrNotReentrant = &He7e
Const adErrStillExecuting = &He7f
Const adErrOperationCancelled = &He80
Const adErrStillConnecting = &He81
Const adErrInvalidTransaction = &He82
Const adErrUnsafeOperation = &He84
Const adwrnSecurityDialog = &He85
Const adwrnSecurityDialogHeader = &He86
Const adErrIntegrityViolation = &He87
Const adErrPermissionDenied = &He88
Const adErrDataOverflow = &He89
Const adErrSchemaViolation = &He8a
Const adErrSignMismatch = &He8b
Const adErrCantConvertvalue = &He8c
Const adErrCantCreate = &He8d
Const adErrColumnNotOnThisRow = &He8e
Const adErrURLIntegrViolSetColumns = &He8f
Const adErrURLDoesNotExist = &He8f
Const adErrTreePermissionDenied = &He90
Const adErrInvalidURL = &He91
Const adErrResourceLocked = &He92
Const adErrResourceExists = &He93
Const adErrCannotComplete = &He94
Const adErrVolumeNotFound = &He95
Const adErrOutOfSpace = &He96
Const adErrResourceOutOfScope = &He97
Const adErrUnavailable = &He98
Const adErrURLNamedRowDoesNotExist = &He99
Const adErrDelResOutOfScope = &He9a
Const adErrPropInvalidColumn = &He9b
Const adErrPropInvalidOption = &He9c
Const adErrPropInvalidValue = &He9d
Const adErrPropConflicting = &He9e
Const adErrPropNotAllSettable = &He9f
Const adErrPropNotSet = &Hea0
Const adErrPropNotSettable = &Hea1
Const adErrPropNotSupported = &Hea2
Const adErrCatalogNotSet = &Hea3
Const adErrCantChangeConnection = &Hea4
Const adErrFieldsUpdateFailed = &Hea5
Const adErrDenyNotSupported = &Hea6
Const adErrDenyTypeNotSupported = &Hea7
'---- ParameterAttributesEnum Values ----
Const adParamSigned = &H0010
Const adParamNullable = &H0040
Const adParamLong = &H0080
'---- ParameterDirectionEnum Values ----
Const adParamUnknown = &H0000
Const adParamInput = &H0001
Const adParamOutput = &H0002
Const adParamInputOutput = &H0003
Const adParamReturnValue = &H0004
'---- CommandTypeEnum Values ----
Const adCmdUnknown = &H0008
Const adCmdText = &H0001
Const adCmdTable = &H0002
Const adCmdStoredProc = &H0004
Const adCmdFile = &H0100
Const adCmdTableDirect = &H0200
'---- EventStatusEnum Values ----
Const adStatusOK = &H0000001
Const adStatusErrorsOccurred = &H0000002
Const adStatusCantDeny = &H0000003
Const adStatusCancel = &H0000004
Const adStatusUnwantedEvent = &H0000005
'---- EventReasonEnum Values ----
Const adRsnAddNew = 1
Const adRsnDelete = 2
Const adRsnUpdate = 3
Const adRsnUndoUpdate = 4
Const adRsnUndoAddNew = 5
Const adRsnUndoDelete = 6
Const adRsnRequery = 7
Const adRsnResynch = 8
Const adRsnClose = 9
Const adRsnMove = 10
Const adRsnFirstChange = 11
Const adRsnMoveFirst = 12
Const adRsnMoveNext = 13
Const adRsnMovePrevious = 14
Const adRsnMoveLast = 15
'---- SchemaEnum Values ----
Const adSchemaProviderSpecific = -1
Const adSchemaAsserts = 0
Const adSchemaCatalogs = 1
Const adSchemaCharacterSets = 2
Const adSchemaCollations = 3
Const adSchemaColumns = 4
Const adSchemaCheckConstraints = 5
Const adSchemaConstraintColumnUsage = 6
Const adSchemaConstraintTableUsage = 7
Const adSchemaKeyColumnUsage = 8
Const adSchemaReferentialConstraints = 9
Const adSchemaTableConstraints = 10
Const adSchemaColumnsDomainUsage = 11
Const adSchemaIndexes = 12
Const adSchemaColumnPrivileges = 13
Const adSchemaTablePrivileges = 14
Const adSchemaUsagePrivileges = 15
Const adSchemaProcedures = 16
Const adSchemaSchemata = 17
Const adSchemaSQLLanguages = 18
Const adSchemaStatistics = 19
Const adSchemaTables = 20
Const adSchemaTranslations = 21
Const adSchemaProviderTypes = 22
Const adSchemaViews = 23
Const adSchemaViewColumnUsage = 24
Const adSchemaViewTableUsage = 25
Const adSchemaProcedureParameters = 26
Const adSchemaForeignKeys = 27
Const adSchemaPrimaryKeys = 28
Const adSchemaProcedureColumns = 29
Const adSchemaDBInfoKeywords = 30
Const adSchemaDBInfoLiterals = 31
Const adSchemaCubes = 32
Const adSchemaDimensions = 33
Const adSchemaHierarchies = 34
Const adSchemaLevels = 35
Const adSchemaMeasures = 36
Const adSchemaProperties = 37
Const adSchemaMembers = 38
Const adSchemaTrustees = 39
Const adSchemaFunctions = 40
Const adSchemaActions = 41
Const adSchemaCommands = 42
Const adSchemaSets = 43
'---- FieldStatusEnum Values ----
Const adFieldOK = 0
Const adFieldCantConvertValue = 2
Const adFieldIsNull = 3
Const adFieldTruncated = 4
Const adFieldSignMismatch = 5
Const adFieldDataOverflow = 6
Const adFieldCantCreate = 7
Const adFieldUnavailable = 8
Const adFieldPermissionDenied = 9
Const adFieldIntegrityViolation = 10
Const adFieldSchemaViolation = 11
Const adFieldBadStatus = 12
Const adFieldDefault = 13
Const adFieldIgnore = 15
Const adFieldDoesNotExist = 16
Const adFieldInvalidURL = 17
Const adFieldResourceLocked = 18
Const adFieldResourceExists = 19
Const adFieldCannotComplete = 20
Const adFieldVolumeNotFound = 21
Const adFieldOutOfSpace = 22
Const adFieldCannotDeleteSource = 23
Const adFieldReadOnly = 24
Const adFieldResourceOutOfScope = 25
Const adFieldAlreadyExists = 26
Const adFieldPendingInsert = &H10000
Const adFieldPendingDelete = &H20000
Const adFieldPendingChange = &H40000
Const adFieldPendingUnknown = &H80000
Const adFieldPendingUnknownDelete = &H100000
'---- SeekEnum Values ----
Const adSeekFirstEQ = &H1
Const adSeekLastEQ = &H2
Const adSeekAfterEQ = &H4
Const adSeekAfter = &H8
Const adSeekBeforeEQ = &H10
Const adSeekBefore = &H20
'---- ADCPROP_UPDATECRITERIA_ENUM Values ----
Const adCriteriaKey = 0
Const adCriteriaAllCols = 1
Const adCriteriaUpdCols = 2
Const adCriteriaTimeStamp = 3
'---- ADCPROP_ASYNCTHREADPRIORITY_ENUM Values ----
Const adPriorityLowest = 1
Const adPriorityBelowNormal = 2
Const adPriorityNormal = 3
Const adPriorityAboveNormal = 4
Const adPriorityHighest = 5
'---- ADCPROP_AUTORECALC_ENUM Values ----
Const adRecalcUpFront = 0
Const adRecalcAlways = 1
'---- ADCPROP_UPDATERESYNC_ENUM Values ----
'---- ADCPROP_UPDATERESYNC_ENUM Values ----
'---- MoveRecordOptionsEnum Values ----
Const adMoveUnspecified = -1
Const adMoveOverWrite = 1
Const adMoveDontUpdateLinks = 2
Const adMoveAllowEmulation = 4
'---- CopyRecordOptionsEnum Values ----
Const adCopyUnspecified = -1
Const adCopyOverWrite = 1
Const adCopyAllowEmulation = 4
Const adCopyNonRecursive = 2
'---- StreamTypeEnum Values ----
Const adTypeBinary = 1
Const adTypeText = 2
'---- LineSeparatorEnum Values ----
Const adLF = 10
Const adCR = 13
Const adCRLF = -1
'---- StreamOpenOptionsEnum Values ----
Const adOpenStreamUnspecified = -1
Const adOpenStreamAsync = 1
Const adOpenStreamFromRecord = 4
'---- StreamWriteEnum Values ----
Const adWriteChar = 0
Const adWriteLine = 1
'---- SaveOptionsEnum Values ----
Const adSaveCreateNotExist = 1
Const adSaveCreateOverWrite = 2
'---- FieldEnum Values ----
Const adDefaultStream = -1
Const adRecordURL = -2
'---- StreamReadEnum Values ----
Const adReadAll = -1
Const adReadLine = -2
'---- RecordTypeEnum Values ----
Const adSimpleRecord = 0
Const adCollectionRecord = 1
Const adStructDoc = 2
Thursday, October 11, 2007
Good But Not Enough: Gates Increases The Army's Size Max By 65,000
Considering the U.S. Army has a Teeth to Tail ratio of about 12:1, that equates to about 1 combat regiment, or about a third of a division. A good start, but far from sufficient. The initial Quadrennial Defense Review under Bush senior suggested that we have a standing Army of about 12 divisions. For political reasons Clinton brought that down to below 10, with many of those divisions failing to meet the Army's top rating for readiness. So, if that QDR was really non partisan, we are still about 2 1/2 divisions short of where we need to be to even think about occupying a country right.
I fear we will pummel Iran, and they will hit back, and then we will not have enough troops to really deal with a big war, and the edges of American Global Security arrangements will start fraying giving rise to all sorts of problems (North Korea making moves, Russia becoming more aggressive, loss of value in the U.S. dollar, just to name a few bad things we face). Stuff that we are seeing now, just on a bigger and more dangerous scale.
Read more about Gates's plan [HERE].
Tuesday, October 09, 2007
Cool But Scary: Insect Sized UAV's Spotted in New York
Protecting Images on a Web Site
1) Use javascript right click disablers. I won't list the code here, but do a search on web sites like dynamic drive and they are pretty easy to find.
2) Wrap images in anchor <a> tags. Even if the don't point anywhere, it will stop people from dragging images off your site to the desktop.
3) Put your image as a background of a div or place another div over your image. This also prevents right click and drag.
4) You can use an overlapping div with a see through image as water mark to protect people from screen shotting images (or at least if they do they will have to get rid of the water mark somehow).
5) Lastly, and this is the technique that I'm working on right now, is to use AJAX to dynamically load javascript that in turn dynamically loads image URL's. This will cause the image URL's to not show up in your view source.
Some webmasters go so far as to use stenography/cryptography techniques to embed a digital signature into images as well, so that if images are copied the digital signature will give the thief away. A good idea, but once images are even slightly edited, that signature goes away so I think this might be going a bit far.
Ultimately, there is no full proof way to protect images, but using any one or a combination of the above five methods will cut down on image loss and make your users who want to post photo galleries on sites that you run feel more secure about their images. For legal reasons though, as well as setting realistic limitations, I would make users understand that nothing is full proof.
Monday, October 08, 2007
Rumor: Russian Staff at Iranian Nuclear Site Scram in a Hurry
Read more [HERE].
Saturday, October 06, 2007
640 Gig Flash Drive?
I'd say we are about 5 years out before flash memory drives become standard.
Read more [HERE].
Pentagon BS: National Guard Unit Gets No Benefits
So, some people are calling B.S. on this, and so am I. It is not helpful to the war effort when bull sh*t like this pops up. The Bush administration needs to act speedily to correct this.
Read more [HERE].
Awesome List of Free and Free Trial Online RPG's
The Beautiful People: Turns Out Aren't So Beautiful
Media Bias: Military Analyst Resigns Due to Leftie Slant
Read more [HERE].
UFO Archive: Chicago Airport
Read more [HERE].
Friday, October 05, 2007
Simpsonize Yourself!
Brought to you by Burger King (Do I get any money for saying that? Reference Idiocracy...the funnest movie I've seen in a long time).
Thursday, October 04, 2007
Target Targetted.
Anyway, decide for yourself by reading more [HERE].
For that matter, do blind people really shop at Target? Should target have audio readers so as you walk by each item an audio player yells out what the item is? This is ridiculous. The lawyers here, if they expect to be paid and are not doing this out of the kindness of their hearts, as well as the Berkley student who brought on the law suit, should be forced to renounce their citizenship and get out. We don't need people abusing the legal system here, and they are just adding more dead weight to our society.
UC Berkley Post Lectures on YouTube
Check tem out [HERE].
Sunday, September 30, 2007
Beating up Straw Men
Firstly, I love Hitchens. I think he has a sharp mind and I like a lot of what he has to say. I thought compared to the Christian dude that was doing a sad job of defending Jesus Hitchens was his mental superior. Yet I felt bad for Hitchens, because he is fighting against God and he is blind.
Hitchens is basically saying the there is no God and religion is anti progressive. The sad thing is that the two are not linked, where I think in Hitchen's mind they are. I bet if I picked up Hitchens's new book I would agree with 90% of Hitchens's criticisms of religion. Religion is ultimately man's attempt to pervert the truth of God for his own agenda. Maybe humans aren't comfortable with the fact that they can't earn their own salvation. Man tries to develop a system so that man can earn God's favor and differentiate himself from his fellow men. Hitchens sees the insanity of this, and tasks his sharp mind with picking religion apart.
Yet I wish Hitchens would watch himself on Tim Russet. He makes statements like “Humans seem to be designed to worship.” Why Chris? That is just one example of a few on the show where I think if Hitchens stepped outside of his anti religious dogma and really pondered the philosophical questions he himself brings up he might realize that the existence of God, not necessarily as man defines them, seems to be the best explanation for things such as right and wrong, the reason for being, where we all come from and why are we here.
Hitchens brought up an interesting point that actually really scared me when I took it a different direction then Chris did. He talked about if there was a really all knowing God, he would feel like he would be under 100% mental surveillance, and would have no privacy, and would feel obligated to just sit around worshiping God like God was some North Norean dictator. The sad and beautiful thing is in a sense Chris is right on. All our thoughts, actions, motivations, deeds, what have you, are constantly recorded and will one day be judged. Chris rightly assessed that for Chris this would go badly. In fact for all of us it will go badly. “For all have sinned and fall short of the glory of God.” We all fail. We are all hell bound. That is why Jesus, the triune God, stepped into human flesh and came down and paid the price for all sin that was or ever will be committed by all humans that have ever existed or ever will. He asks us simply to believe that Jesus did this, and to allow Jesus to live in our hearts so that even though we will still sin, Jesus will begin to transform us in ways that we can't do ourself to live our lives “more abundantly”, lives in fellowship with God and away from things that displease God. But even if we do fall, Jesus says that He will “never forsake us or leave us” since we are new creatures in God's eyes and our spiritual selves have been “born again”.
Christopher Hitchens is right though in assuming that God's presence would completely ruin our ability to choose right or wrong. So God hides his presence from us. You don't see God Chris because God loves you enough to hide His presence from you so that you will have the freedom to choose to be saved or choose to live in willful ignorance of God. Don't get me wrong, creation declares that there is a God and God will hold all men accountable for that knowledge (see Romans chapter 1). Those who respond to this knowledge God will draw to Himself and they will know that Jesus is their savior and become born again.
But Chris, you and I are in the same boat in a lot of ways. I'm a Christian, who believes that Jesus is the only way of Salvation (John 14:6), but yet I am in willful, knowing sin right now. After the initial guilt it got easier because there was no immediate feedback. Romans 2:4-5, 2 Peter 3:9 talk about God not being slack in his promise of judgment, but is patient with us, not willing that we should perish but that we should repent. Chris, I hope your war against God is really just your road into his loving arms, and I hope my sinful journey is just a temporal thing. If not, we both might be in serious trouble, where we wind up facing a Holy God who will hold us to account for everything wrong that we have done. Jesus save us and we ask from mercy and not judgment.
I will be praying for you Hitchens, other Christians please pray for me.
Wednesday, September 26, 2007
Media Manipulation By The Left
Of course, that isn't so. And [HERE] is an example.
In fact, the left tends to by, IMHO, more corrupt and less ethical then the right.
But, neither right now meet the standard that we need to have a government that is free enough from big interest to make the hard choices that this country needs for its long term prosperity.
Tuesday, September 25, 2007
Google's Second Life Clone
Did Hell Just Freeze Over? Gingrich in Second Life
Monday, September 24, 2007
Another Virtual World: Something Maybe To Watch
http://www.metaplace.com
Ruby on Steel
Meet Ruby on Steel, Ruby on Rails development in MS Visual Studio 2005.
Read more [HERE].
Friday, September 21, 2007
Rolemaster: Thumbs Sideways
Well, I finally got a chance to mess with new (but not newest) version of pen and pencil RGP Rolemaster last night. I started rolling up a character, just to mess around, and one thing dawned on me.
If you had never before played Rolemaster, let alone another role playing game, you would be absolutely lost trying to wade your way through "chart master". I knew roughly what I was doing, but as a beginner or experienced RPG'er who is new to Role Master, I would have been lost.
So, as a product review, I'm going to have to give my beloved Rolemaster a thumbs sideways. Why?
1) It is to complex in general.
2) Hard to get rolling as a beginner.
3) A lot of time needs to be spent as a GM getting a campaign setup (more then in other games).
On the plus side, Role Master is
1) More "realistic" then other RPG Fantasy games.
2) Provides a better combat system that is descriptive and more dangerous then most RPG's.
So, if you are a die hard RPG fan, pick up Role Master. If you haven't played it before, you might want to invest in AD & D or another fantasy RPG. I think it is awesome that I.C.E (the parent company of Rolemaster and Spacemaster) lives on in some capacity, and I encourage die hards to support ICE by buying their products. But the rest of you, I'd advise leaving "Rule Master" on the shelf.
1) Has
Dark Tower Online
Until then, you can get your Dark Tower fix by going [HERE].
Thursday, September 20, 2007
Viet Nam type B.S. in Iraq
This is from the wired defense blog, which after thinking about things they kind of disappoint me. The preponderance of their articles are somewhat negative. This article is worth referencing because things need to be corrected, but basically the wired defense blogger guys are a bunch of leftie hacks who know a little bit about defense that are just looking for any way they can poke sarcasm at the U.S. Military. Even when they report on something good, it is usually wrapped in sarcasm. So they get a big f*ck you. But they do reference interesting things sometimes, so I'll keep reading.
Read more [HERE].
Anti Matter Powered X-Ray Laser
Read more [HERE].
Wednesday, September 19, 2007
Meteor Causes Sickness
Read about the incident [HERE].
[Update]. So what made the people sick? Who knows...so let's just call it "Mass Hysteria" or "Mass Hypnosis". Typical scientific B.S. that you hear when science doesn't understand what is going on. Read the lame explanation of the meteorite sickness [HERE].
Monday, September 17, 2007
Robert Jordan Passes On...Leaving the Wheel of Time Series Still Spinning
Well, it looks like Robert Jordan died before completing the 12th book in the series. My thoughts go out to his family, and the world looses another great author, but I'm really glad I didn't get caught up in reading those series of books... I'm sure they have their moments, but the lesson learned here, and I've seen it time and time again whether it be the author looses interest, the publisher pulls the plug, what have you, don't get bogged down in non-semi stand alone fiction series.
Read more about Robert Jordan's passing [HERE].
Monday, September 10, 2007
Ugly Websites That Sell
KISS...Keep It Simple Stupid.
Read more [HERE].
Linked off of Amir's blog [HERE].
Friday, September 07, 2007
Wiggler Communications: Now a Reality
Well, it looks like the bright folks at the University of Michigan are hard at work making a quantum communicator of sorts. They have a way to go, but they are on the right path.
I both slap myself on the back for recognizing this potential as well as slap myself in the face for being to stupid to even come close to being able to attempt this myself. Both my parents are hard core scientist, I know the genes are there, but Dungeons and Dragons killed my interest in science as well as my social life growing up. Oh well. Hats off to U of Michigan, some local boys and gals doing good.
Read the slashdotted article [HERE]
More on Virtual Relationships
And along those lines, here is an article from wired that deals with the fact that relationships are relationships, even if they are "virtual", and those relationships affect our actions in the real world.
Click [HERE] to read the article.
Wednesday, September 05, 2007
Creating a Box in Photoshop
Read the tutorial [HERE].
Tuesday, September 04, 2007
Seal Boy Makes His Unclassified Debut
Friday, August 31, 2007
Amazon to Sell Non-DRM Protected MP3's
Cnet confirms reports that Amazon.com is going to enter the MP3 market, and if I am correct they are going to sell non-DRM protected MP3's. Cool. I really liked Rhapsody, but the download, burn to a CD, then RIP cycle got old fast. I'm willing to pay for my media, just don't make it a pain in the rear for me to manipulate it when I can within 5 minutes find a DRM free hacked copy of a song on the internet. Hopefully Amazon will get it right.
Read more [HERE].
Thursday, August 30, 2007
Iraqi WMD's
Would that mean that it was retrieved in '97? I thought Iraq's WMD's had all been destroyed before then? No?
Read more [HERE].
Wednesday, August 29, 2007
The Cat Lady
and the musical
Anyone Want to Go Into The Bottled Water Business?
Read more about the sad state of the bottled water industry [HERE].
IVS for Second Life
Tuesday, August 28, 2007
More Media Control Revealed
But that isn't what interest me here. What interest me here is that the arrest happened THREE months ago. You mean to tell me no news outlets got wind of it until a week ago? Doubtful.
If the story was discovered and suppressed, just like bad news suppressed about other politicians, it shows that there is an element of filtering going on about what we see and when we see it. I don't like that. I want data, not fast food information. This also shows that this filtering is broad and deap in the established American and perhaps global press.
Editor and Publisher elaborates on that point [HERE].
Friday, August 24, 2007
Allegid "Scientific" Theory for Out of Body Experiences
Read the article [HERE].