Tuesday, December 30, 2008

Aptana for PHP and the Aptana Cloud

I just downloaded the Aptana IDE and then sebsequently installed the php plugin.

www.aptana.com

One thing I noticed is that for under 30 bucks, you can deploy a php/mysql app to the Aptana cloud! There is a free one month trial, I will check it out.

The cloud supports SVN, state and production servers out of the box, if it works that is a pretty nice turn key solution to for getting apps out there.

I think I get cloud computing now...

Monday, December 29, 2008

List of Countries, US States, Canadian and Mexican Provinces

Here is a zipped Excel file with data for a list of all Countries and their 3 letter codes (per the UN), All US State/Armed Forces and Canadian Provinces, and also a list of Mexican Postal provinces.

Zip File

Sunday, December 28, 2008

Mod_Rewrite

Here is a quick and dirty guide to using apache's mod_rewrite module

http://www.workingwith.me.uk/articles/scripting/mod_rewrite

The Benefit of Having Many Choices

Well, once again I'm faced with a new year where I try to get myself motivated to build some web applications. I've been farting around with some tech decisions, and I've come up with the following for one of my projects.

I'm going to use the Abyss web server, PHP, and SQL Express 2008. It is cool to be able to not have to stick with one platform. I like Abyss because I can run it on any platform, and it is easy to use. I like PHP because so many people have done so many great things with it, and you can use PHP both in OOP mode or more like spaghetti classic ASP, which I actually was a master at. I think I'll stick with MS SQL Server for now. MySQL has come a long way, but it isn't quiet comparable to SQL Server yet IMHO. And lastly, on the client side, I'll make heavy use of jQuery. I might also use phalanger to boost the speed of my php if it will work with Abyss.

Pretty cool.

php.net?

php.net? Well, kind of-

http://www.codeplex.com/Phalanger

For more info to get what Phalanger can do in perspective, try here-

http://petesbloggerama.blogspot.com/2006/12/aspnet-20-vs-php-etc.html

Tuesday, December 23, 2008

Unicode Character Reference

Unicode Value Name Symbol

\u0009 Tab
\u000B Vertical Tab
\u000C Form Feed
\u0020 Space
\u000A Line Feed
\u000D Carriage Return
\u0022 Double Quote
\u0027 Single Quote <'>
\u005C Backslash <\>

http://www.webreference.com/js/tips/000126.html

Tuesday, December 16, 2008

IE vs Firefox Font Rendering...What Gives?

I looked at an application today in both IE and Firefox. Well the fonts look like crap in Firefox, and seem to always look like crud in Firefox. So I finally googled why...turns out the problem is with Windows XP and not Firefox.

Here is the 5 second fix if you can wade through the ads-

http://liveslick.com/2007/09/22/why-is-internet-explorers-font-rendering-so-much-better-than-firefox-and-opera/

Wish I would have googled this a long long time ago...

[Update]
Note if you change the settings, the setting change is global and will affect more then just Firefox. You might possibly be able to download the power toy here-

http://www.microsoft.com/typography/cleartypepowertoy.mspx

Which might give you some additional options, but I haven't played with it.

Friday, December 12, 2008

XAMPP for Windows

Well, I decided to start playing with php and mySQL. I did a little bit of research, and it looks like if I want to stick with the windows side, the easiest way to go about things is to download and install XAMPP, which is a package provided by "Friends of Apache". XAMPP is an almost idiot proof installer that contains php 5.x, mySQL 5.x, openSSL, apache, and a few other items. XAMPP is available for winblows, macs, and linux. You can get yourself a copy to play with here.

http://www.apachefriends.org/en/xampp.html

So far things worked pretty much as advertised, except that I had to change the apache default port from 80 to something else because I'm running IIS (you can do that in the ini file, google it). I noticed that even though Apache is running on port 85 when it loads in the control panel it still says it is running on port 80 even though it isn't, minor glitch.

The second issue I had is with the winMySqlAdmin control I kept getting an access violation that would pop up every 15 seconds or so. The quick fix is here, though I'm sure there is another way you can setup mySQL so you don't have to run it as root.

http://phpbugs.wordpress.com/2008/01/24/access-violation-address-10002593/

So far XAMPP is great, and at least initially it looks pretty easy to install and configure.

An alternative to XAMPP would be to get the Abyss web server up and running, which supports pHp and even classic ASP with a shareware add in. I like Abyss because it is one of the few non-IIS windows web servers that supports ASP.Net. Flavors of Abyss come for Windows, Macs, and Linux.You can check Abyss out here-

http://www.aprelium.com/

And then there is always the option to take the non-mac/windows approach and go with Linux, which php and mySQL were really built for. So far I'm favoring the following two distros, but I don't have a data free box yet to install them on.

http://www.ubuntu.com/
http://www.pclinuxos.com/

Next up, actually doing some php development. I need a good IDE, I hear eclipse has a php plugin that gives you intellisense.

[End of Tech Part of Post]

Who knows? Maybe I'll even play with the open source Flex SDK, JavaFX, and the .Net ports of Linux. I feel like I'm kind of stagnating, and I all of sudden I feel the need to explore what else is out there besides M$ products. Don't get me wrong, I don't see C#, ASP.Net, VS Studio, and Sql Server becoming anything but my primary development tool set anytime soon, but sometimes its good to cross pollinate. New ideas and new ways of doing things start to flow that way.

The only show stopper is that I think it is about time to start playing with MS Silverlight. I really want to wait till version 3 comes out, but I'm not sure I'll have time as we might start using v2 3rd party products here in the next few months at work. So all the above might get shoved aside for a bit while I come up to speed with Silverlight.

Anyway, I greatly admire what the open source community has done with php. I'm not so sure about mySQL, but it is free and large scale apps use it, so we shall see. The sweet spot for me on some personal projects that I want to develop might be using abyss to run php and MS SQL Express on an old XP Pro box. The advantage of having a lot of technologies to choose from.

Thursday, December 11, 2008

Tired of All Those Hidden Processes and Sypware?

http://4sysops.com/ blog alerted me to some new software called Process Lasso which can be downloaded here-

http://www.bitsum.com/prolasso.php

Process Lasso is awesome, it is a system tray program with a gui that allows you to set process cpu priorities, cpu affinitities, you can auto terminate processes, and has a host of a bunch of other features.

The program is free for academic and home use. Five out of five stars.

Monday, December 08, 2008

Basic ASP.Net: Viewstate Variable Pattern

Here is a simple example of how to store a variable in view state for easy access. The example is using a string but any object/type can be used.

private string GTR
{
get
{
object o = ViewState[ "GTR" ];
return ( o != null ? o.ToString() : "" );
}
set
{
ViewState[
"GTR" ] = value;
}
}

Sunday, December 07, 2008

Friday, December 05, 2008

Fallen Sword: A Quick Review

So to continue on with my latest trip, browser based MMO’s, I’m doing a quick review of the Browser based MMO Fallen Sword. I’ve played only for a little over a week, but the game is highly addictive. I’m only level 17 so there is still a lot of game I would like to see.


For a casual RPG game, I would rate this game 5 out of 5 stars.
Here is a very quick recap of what I liked about the game.


What I like


  • The Game is easy, there is a somewhat clear path of quest to gain items
  • It is easy to level up
  • PvP is kept at +- 5 levels
  • The graphic artistry is very good
  • Like the items and the powers they provide
  • Guild system is awesome


What Could Be Improved


  • The map is kind of small, could be ajaxed
  • Don’t like the Guild Text alerts.
  • Group combat could be improved, obvious add in
  • If you belong to powerful guild and are a low level character, things are too easy in combat
  • Combat grind can be tedious
  • Skill/Spell tree could be expanded
  • Broken items are kind of a nag
  • Could offer a live chat for guild
  • There was kind of a gap where you had to grind through slowly at around level 8 and level 14 which might cause some players to drop (actually this gap is experienced a few latter on too, where you are to powerful for the monsters of your level but your are too low a level to do the next batch of quest).

What is Unique/Interesting


  • No classes
  • Can cast “skills” on other characters



For more info, go to fallensword.com

Wednesday, December 03, 2008

Another Virtual Hook Up Story: A Trend That Will Get Bigger

Some chick in England hooks up with some dude in Second Life, meet him in RL, then dumps 'em. Then she gets mad two weeks later when she checks his avatar out and he is already hitting on someone else. She then deletes the software.

http://www.dailymail.co.uk/femail/article-1091450/How-I-romance-man-I-met-bizarre-internet-fantasy-world-Second-Life.html

Ahh the tangled webs we humans weave! As virtual spaces like Second Life and its follow ons continue to evolve, I expect to see all sorts of things come out of them.

The good-
  • People finding each other virtually and then successfully starting long term/marriage relationships in real life (like me).
  • People making money selling virtual goods.
  • Numerous multinational friendships being made.
  • Companies using virtual spaces to help further globalize the work force.
  • Virtual outreaches to people who need help (including Christian outreaches, counceling, entertainment for isolated people).

The ugly

  • People abusing each other in real life after meeting virtual (including broken hearts, rape, murder, kidnapping, etc...)
  • Virtual prostitution with a blur between virtual and real.
  • Addiction...people have no sense. If they like something, they will give all they have to it. Their time, their jobs, their families, their savings.
  • Organized crime using virtual spaces for meeting, planing.
  • Blackmail
  • All sorts of gender bending weirdity, "furry sex", more creepy stuff that will inevitably spill over into real life.
  • The list goes on.

Welcome to the 21st Century people!

Monday, November 24, 2008

My New Kick, Browser Based Games

I found an excellent browser based MMO called Fallen Sword-



I didn't think just HTML and PHP could pull off a game that is very fun but they have done it. Best of all it is expansive, offers many features, and is free. Plus it is easy to jump in and jump out of the game, making it a great game for more casual players like myself.

Check out http://www.huntedcow.com/ , they make quiet a few BB games, all of them look pretty good.

AQ Thanks Iran for Its Support

I know many in the left don't want to link Iran and Al Qaeda, but AQ doesn't seem to have such a problem.

http://www.telegraph.co.uk/news/worldnews/middleeast/iran/3506544/Iran-receives-al-Qaeda-praise-for-role-in-terrorist-attacks.html

Saturday, November 22, 2008

DARPA to Develop SKYNET

Remember the movie the Terminator? SKYNET was the AI in charge of Norad that decided that ALL humans were a threat, not just America's enemies, and thus started a nuclear war to try to rid the world of humans.

Well it looks like DARPA is trying to build SKYNET. Heck, you could even have this Slashdotted article as a movie prolog leading up to the early days before SKYNET.


Read onward here-



And for some fun reading to prep you for the release of Terminator 4: Salvation, click on the image above to take you to a site that has some great writing based on the original Terminator Movie.

Thursday, November 20, 2008

Basic: Adding JavaScript Confirmations to an ASP.Net Button

Adding Javascript generated confirmations to your ASP.Net buttons is easy, but I always seem to forget how to do and my first and second guesses are usually wrong. So instead of using google to find the answer next time, I will use google in a new way (my blog) to store the answer. Ok here goes.

  btnCancel.Attributes.Add ( "onclick",
"javascript:if(confirm('" + CancelMessage + "')){do stuff;return true;}else{return false;}" );

Not All Mysteries Have Been Solved

Scientist find a new species of dolphin in Australia

http://www.cryptomundo.com/cryptozoo-news/new-dolphin-oz/

Also, check out cryptomundo.com, it is a great site, and they post new species discoveries, weird sightings of creatures, and other oddities that bring a little mystery back into our digital age.

Wednesday, November 19, 2008

The ACLU Lost One, Let's Hope The Trend Continues

The ACLU in my book is pretty much an enemy of the state, which is a shame, because they should be providing a needed service to protect people's rights rather then be involved in societal transformation.

Anyway, they lost a court battle. Excellent.

http://www.theindychannel.com/news/17999573/detail.html

Tuesday, November 18, 2008

Campaign Coverage Leans Left: Suprise!!!

One major newspaper admits it, but without appology.

http://www.washingtonpost.com/wp-dyn/content/article/2008/11/07/AR2008110702895.html

After all, when you are on the side of righteousness, who dares question you? [sarcasm]

File This Under...We Will Think About It Later

This is one example of many of the types of things that pop up on the radar from time to time that just doesn't fit into a secular humanist's world view. So how do our secular humanist scholarly scientist types deal with this stuff? Dismiss, deny, forget.

Prayer Helps with Fertility-

http://www.obgyn.net/newsrx/womens_health-Fertility-20011018-16.asp

Breakthrough: Organs Grown to Order

Look like they can grow replacement organs in a lab now. Drudgereport.com posted three links. Check 'em out.

http://www.telegraph.co.uk/health/healthnews/3479613/British-doctors-help-perform-worlds-first-transplant-of-a-whole-organ-grown-in-lab.html

http://www.independent.co.uk/life-style/health-and-wellbeing/health-news/the-medical-miracle-1024576.html

http://www.timesonline.co.uk/tol/life_and_style/health/article5183686.ece

Monday, November 17, 2008

Silverlight vs. Flash...Silverlight 3 May End The Battle

I like Flash, though I've only used it to do progressive video streaming and a few other minor text spins on a page. I don't like Flash's IDE. Flex's eclipse might be better, but I did one check of it and it didn't offer full intellisense (even though it is advertised as such), so at the time I decided to back burner learning Flex.

Well, I'm glad I did. Flash 10 supports quasi 3D, but it looks like Silverlight will support full 3D. Read towards the end of Scott Guthrie's Blog here-

http://weblogs.asp.net/scottgu/archive/2008/11/16/update-on-silverlight-2-and-a-glimpse-of-silverlight-3.aspx

Very signifigant. I've been looking for the holy grail platform to do browser based game development for a long time. Flash works, but you have to hack at it. And you don't get true 3D. MAYBE, just MAYBE, Silverlight 3 will be the killer web game app, as well as business RIA creator, that I've been waiting for.

After Christmas it is time to start diving in to Silverlight.

Saturday, November 08, 2008

Some JavaScript Plugins/Code Worth Checking Out

I can't vouch for these, but over the course of the last few months the following links have shown up on my RSS radar, and they look promising. Take a look for yourself.

Spin JS, which turns textboxes into clickable number up and number down boxes-
http://acidmartin.wemakesites.net/?pageId=SpinBoxJs

A Javascript Graph Plotting Tool-
http://www.jslab.dk/plottool.htm

A jQuery based Color Picker-
http://acko.net/dev/farbtastic

Easy Google Map Marker Creation-
http://ajaxian.com/archives/google-maps-utilities-for-creating-markers-and-loading-kml

Javascript/PayPal supported Simple Shopping Cart
http://www.thewojogroup.com/2008/10/simplecartjs-paypal-e-commerce-in-minutes/

Another Javascript Table Sorter
http://www.leigeber.com/2008/11/javascript-table-sorter/

CSS Menus
http://lwis.net/free-css-drop-down-menu/

Thanks to Ajaxian and Web Resources Depot (see sidebar under useful links) for making me aware of these resources.

Auto Ajaxify A Static Web Page

Ajaxifying a web page by just dropping a javascript class onto the page? Sound to good to be true? It probably is, but the author seems to have allowed for exceptions by including the ability to create rules for the javascript class.

Looks worth checking out-

http://www.bydust.com/examples/com.bydust.ajax/

Source: http://www.webresourcesdepot.com/

Thursday, November 06, 2008

So I won't forget this the double split

coming back and editing this later. nothing that anyone couldn't figure out on their own, just something I bump into, here for ref

declare @p_value_rows as varchar(300)
set @p_value_rows = '234f~asd4adsfa~0dfsg'


SELECT
SUBSTRING(value_desc,0,CHARINDEX('~',value_desc))
, SUBSTRING(value_desc,CHARINDEX('~',value_desc)+1,LEN(value_desc) - CHARINDEX(value_desc,'~'))
FROM [db splitter function here](@p_value_rows, '')

Wednesday, November 05, 2008

Obama Wins

Sighs...

Well, the dems have the white house. I will try to be positive. Some good things I saw.

1) High voter turn out. A good sign, I hope the trend continues.
2) All in all things were civil.
3) A Minority is elected President. That is a good sign that America, for the most part, is moving beyond skin color and ethnicity in judging and individual.

Enjoy your victory democrats, both in the presidency and in various other offices. I and many others will be watching.

Monday, November 03, 2008

Work Begins On A River UUV

Check out ARES blog for info about a new river patrol unmanned underwater vehicle (UUV).

http://www.aviationweek.com/aw/blogs/defense/index.jsp?plckController=Blog&plckScript=blogScript&plckElementId=blogDest&plckBlogPage=BlogViewPost&plckPostId=Blog%3a27ec4a53-dcc8-42d0-bd3a-01329aef79a7Post%3aab9fb812-1470-4983-ae14-687b08d9ebd0

Next Administration Needs to Spend A Lot On Defense

Great article on the future defense spending. Think the dems, if elected, can rise to the challenge?

Restocking_For_Another_Decade_Of_War_Part_One

Georgia Leaves the CIS

Georgia decided it hasn't had enough @ss whipping by the Russians, and has decided to leave the Commonwealth of Independant States.

http://www.spacewar.com/reports/Analysis_Georgia_leaves_the_CIS_999.html

Metal Returns to Iraq

Yes, Heavy Metal is back in Iraq. A good sign for any nation.

http://www.usatoday.com/life/music/2008-10-29-iraq-heavy-metal_N.htm

Libya Offers Russia A New Base

Sensing U.S. Weakness, Libya decides it can now cozzy up to Russia.

http://www.spacewar.com/reports/
Libya_offers_to_host_Russian_military_base_report_999.html

Sunday, November 02, 2008

Saving XML to SQL and the Dreaded Parse Error

I recently at work tried to save an XML string to SQL Server 2005 and I kept getting the following error...

XML parsing: line 1, character 38, unable to switch the encoding

Turns out the solution was to just change the paramter datatype that I'm passing to the stored proc to a varchar (even though the stored proc expects XML) and the problem goes away and data is saved fine. Example of the parameter I passed to the stored proc-


SqlParameter p_xml = new SqlParameter ();
p_xml.ParameterName = "@p_xml";
p_xml.SqlDbType = SqlDbType.VarChar;
p_xml.Value = "your xml string";


The issue has to do with my string XML being UTF-8 based, and SQL 2005 wanting UTF-16. The above hack fixes the issue, and you can still pass UTF-16 based XML and the varchar handles that as well.

Credit for the fix goes to Bob Beauchemin at this link-

http://bytes.com/forum/thread498342.html

Starting A Busines in Michigan

Saving this link for reference.

http://ref.michigan.org/medc/services/startups/?m=12;7

Thursday, October 30, 2008

Interesting...

For me, blogging is a fun diversion. I do track my stats, respond to comments, and post often. I wouldn't call my blog any where near a "professional" blog. If it was, I'd spell check and read things thrice before posting, get a real code poster, and put more effort into posting items that tend to get the most hits. I would also keep my politics to myself, as most coders (the majority of my hits) aren't interested in what I have to say, and probably not politics in general.

So in the history of my blog, I've only ever got one negative comment before today, and that is when I hot linked to some one's image. They didn't like it, I delinked, and everybody was good. Interestingly though, now that I put my "friends don't let friend's vote democratic" link up, I've gotten a few more negative post, not about politics, but about technical stuff. I think it is "pay back" for my obvious political stances.

Just an interesting observation on human psychology.

Well, the anti-democratic side bar stays up till after the election. Not that this is an endorsement for McCain, but I just can't see giving the democratic party another chance at electing activist judges, not funding our military, further ruining the schools, limiting free speech, letting 80k abortions a year happen, redefine marriage, etc... Sorry, can't do it, no matter how much I'm at odds with the repubs some times. I even worked for the repubs in college but I saw their version of corruption first hand so I quit.

So a lot of people want change, and again I'm not saying the repubs are the answer, just that the dems aren't. Change might come, but be careful what you wish for.

Wednesday, October 29, 2008

The Shape of Things To Come?

A lot of us have heard about RIA's (Rich Internet Applications). They are the way of the future, though even with broad band speeds I think the responsiveness of RIAs needs to be as snappy as desktop applications for RIAs to really take off. They are getting close.

We now have Silverlight, Flash/Flex, and improvements in Javascript/Javascript Frameworks to make things start to happen. Many visionaries have invested a lot of time in Flash/Flex/Actionscript because they see this as the way of the future. Here is one minor example or a RIA that just came online.

http://www.windowshop.com/ (Amazon run shopping site that uses Flex I believe).

Another trend is the blending between the desktop and the web. Adobe Air is an example, and now Yahoo has come out with their own plaform.

http://browserplus.yahoo.com/

Grrr...I swore off yahoo 'cause they pissed me off, but I guess I will have to check it out.

Some even argue that RIAs are Web 2.0, and that Web 3.0 will be the "game web" (virtual reality, game like interfaces, big use of 3D, increased responsiveness). This is where I'd like to be developing, but just like VRML in the 90ies (which still lives, kinda) user acceptance of this type of stuff isn't quiet there yet, and probably won't be for a long time. Too bad, because developing these technologies could be actually easier. Hacking out websites using a combination of HTML/JavaScript/Server Script/Action Script etc... tend to be complex and take a lot of time. Gametech, though complex, could produce through competition some really good Web 3.0 tools. There are some great start ups working on this (I can't for the life of me right now remember my favorite one, which right now is Mac only on the dev side, I was going to post a link to it), so I keep watching and hoping.

Monday, October 27, 2008

First Known Glow Cat Created

Scientist created a glow in the dark cat.

http://today.msnbc.msn.com/id/27338236/?GT1=3001

soapUI: Nice Web Service Testing Tool

In my saga of abandoning WCF and regressing back to an ASMX web service for a current project I had a very knowledgable web service person from a telecommunications company send me an invaluable tool for testing webservices.

http://www.soapui.org/

The cool thing is you can mock web service request, or even send soap request to a webservice through soapUI. The tool has a gazillion features that I haven't even scrated the surface of yet.

I highly recommend it. At first you will open it up, be a little bummed that it is written in JAVA, and you will come to an inteface without knowing really how to proceed. Download a WSDL from a web service and save it, then in soapUI create a new WSDL project and load your local version of the WSDL. You will see how valuable the tool can be.

There is a Pro version with more features, though I haven't checked that out.

SAC is Back, Kind Of

The Air Force is establishing a new nuclear strike command.

http://www.spacewar.com/reports/US_air_force_to_establish
_new_command_for_nuclear_forces_999.html

Saturday, October 25, 2008

Friday, October 24, 2008

Great Game Demographic Site

I stumbled upon the daedalus project today -

http://www.nickyee.com/daedalus/

There is an RSS feed, and there is some pretty interesting data. I hope Nick continues to add more.

Stored Procs vs Dirty SQL

Every once in a while I stumble across a blog that says stored procs are no longer the way to go in database development. I believe I see this for a few reasons

1) This view is often exposed by younger developers who, though extremely talented, do not have heavy enterprise data manipulation experience.

2) Advocates of this view typically are heavily into auto code generation tools, which don't play well with stored procs.

Here is an example of the type of scare crow testing I see (make a weak comparison, beat it up, then declare your opinion superior).

http://www.blackwasp.co.uk/SpeedTestSqlSproc.aspx

Wow, a select statement is almost as fast with dynamically generated SQL then with a stored proc, and even in some cases, a stored proc might be slower.

Well, if you work with data heavily on a regular basis, you wish you were writing select statements all day :) The case of comparison here is bogus. If select and basic CRUD on a single table is all you are using SQL for, you probably shouldn't talk about how your are an expert on the intricacies of SQL performance.

In my enterprise experience, it is not uncommon for a query will pull back data from five or six tables, which often times aren't tables at all but subqueries themselves. CRUD operations sometimes spam five or six tables. Putting all your code in a stored proc allows you to have a single place to change things, and often times updating the database in an enterprise environment is a lot easier then touching production code. I also don't believe that these types of queries are faster with dynamic sql. The dynamic SQL must be generated on a webserver or a client, so you take a hit there that isn't often factored into test data. Execution plans are generated at query runtime, while a stored proc has its execution plan cached. Big performance boost. Though, as pointed out, sometimes dynamically generated plans might run slightly faster. With complex SQL operations, I doubt that though. You also are slightly more open to SQL injection attacks by building your app using dynamic SQL, but if you know what you are doing you should be able to avoid vulnerabilities there. Stored procs also aren't invulnerable to attack either, they just tend to be more so. Also by using dynamically generated SQL you are loosing out on the CLR integration into SQL Server (if using MS tech), and depending upon what you are trying to accomplish using CLR stored procs might be a powerful, fast option that you are passing up.

So, if you are fortunate enough to be able to pull off simple queries for your application, and you have a robust app that is responsive and meets your client's needs, good for you. Keep at it. I'm not a huge fan of code generation tools, as it seems like when you go outside of the vanilla, you end up spending a lot of time and effort getting your non-vanilla task done. If you know the base tech really well, typically you already have a library of code that acts almost like a code generation tool. Plus there is the additional learning curve of a code generator, do I want to spend all the time learning something that's features might be included in future versions of visual studio? Or will my code gen tool be around five years from now? What if I want to pass my code of to a junior developer? Will I have to spend time teaching them, or allocating time for them to learn, a code gen tool that might be eclipsed by another tool that is more in vogue that wasn't around when my base code was written? But that is neither here nor there. Separate discussion.

I've written dynamic SQL apps before, and they have worked well. If your app works well with dynamic SQL and using dynamic SQL allows you to gain efficiencies by using your code gen tools, good for you. Keep at it. But save your lectures about stored procs being dead, because depending on your environment, they are far from dead. Often times stored procs are the only practical way to go.

Wednesday, October 22, 2008

More Media Bias

Once again, our "unbiased" press at work.

McCain coverage mostly negative-

http://www.politico.com/news/stories/1008/14829.html

Reporter rips press-

http://www.ldsmag.com/ideas/081017light.html

Dems want to muzzle opposing view points all in the name of "fairness"-

http://www.breitbart.tv/html/203333.html

And then we have our bogus polls trying to manipulate voters-

http://online.wsj.com/article/SB122463210033356561.html?mod=djemEditorialPage

The result of all this? Declining consumers of their crap-

http://www.drudgereport.com/flashnf.htm

Libs, so righteous in their cause that distortion and manipulation are valid tools to achieve their ends. Sad.

Monday, October 20, 2008

More MOD UFO Files Released

The British Ministry of Defense released some more UFO files today.

Main story-
http://www.thesun.co.uk/sol/homepage/news/ufos/article1830761.ece

Alledged Photo (most likely a fake in my view)
http://www.thesun.co.uk/sol/homepage/news/ufos/article1830727.ece

Sabre Ordered to Attack a UFO (most likely a legit story in my view)
http://www.thesun.co.uk/sol/homepage/news/ufos/article1830727.ece

A more recent Jet's brush with a UFO
http://www.thesun.co.uk/sol/homepage/video/article307898.ece?channel=Sky+News&clipID=1347_SUN10799

Somewhere in the links there is a story about some person who was going to marry an alien. This story is easy to dismiss as the person having serious problems. From my experience, this story is probably LEGIT, at least from the perspective of the person describing the encounters. However, the beings are not aliens, they are must older, and more malevolent.

Thursday, October 16, 2008

Teleflip is Dead?

Well, it looks like Teleflip.com is down. This is a shame because Teleflip made sending SMS messages through email very easy. Say you wanted to text someone, you could just email the person's phone number like so.

13335551212@teleflip.com.

The only drawback was that teleflip put a small plug at the end of the SMS message, which took up about 10% of the available message characters. But hey, what do you want for free?

I hope this is a momentary outage, but I have a feeling teleflip will not be coming back. Sometimes a good thing for free ends up being a bad thing for the business offering the free service.

Anyone know of something similar?

Sad: The Left's Quest for Victory Destroying Voter Confidence

Here are a few headlines from Drudge-

Ohio elections chief asks US Supreme Court to intervene; dispute over voter registration...200,000 have discrepancies...

SEATTLE: 24,000 Felons Getting Ballots, Despite Eligibility Questions...

You KNOW this is all generally related to activist lefties trying to win at any cost. The price of their victory might be our republic.

I'm not saying the right doesn't engage in questionable practices at times, but they are the JV team when it comes to this type of stuff compared to the left. And the stories of corruption and tampering are generally buried in the media. The bigger news sources will only start talking about this now that Drudge has highlighted it.

Basic: A Recursive Function to Find All Control ID's in a Control

Sometimes you might have a control that has a lot of other controls burried in it. Here is a small very basic recursive function to find all the control id's. I'm posting it more for my reference. Just pass in a string builder and an int.

void RecurseFindControls(Control c, ref System.Text.StringBuilder sb, ref int iLevel)
{
if (c.ID != null)
{
sb.Append ( c.ID +
"[" + iLevel.ToString () + "];" );
}
if ( c.Controls.Count > 0 )
{
iLevel++;
for ( int j = 0 ; j < c.Controls.Count ; j++ )
{
RecurseFindControls ( c.Controls[ j ],
ref sb, ref iLevel );
}
}
}

Tuesday, October 14, 2008

Flash Cookies

For all you paranoid folks out there who are worried about cookies, here is something that will make you spill your milk too. Flash also has a version of cookies, and guess what? They don't expire, and they can contain unlimited amounts of data.

Here is a link where you can remove Flash cookies on your system, albeit one at a time.

Flash Cookie Remover

Source: Slashdot-

http://yro.slashdot.org/article.pl?sid=08/10/14/1656251&from=rss

Friday, October 10, 2008

Radgrid Column Name Changing

At work I ran into a scenario where we couldn't use our customized Radgrid which handles localization behind the scenes. So I had to use the standard Telerik Radgrid. Here is a link to how to deal with columns-

http://www.telerik.com/help/aspnet/grid/grdusingcolumns.html

For some reason changing the header text as suggested in the example for me didn't work. I need to change the header text names at runtime due to the headers need to be translated into the viewing clients language. But in fooling around I found a neat trick that did work. It might not be too efficient, but it got what I wanted to get done done.

My Radgrid was bound to a sqldatasource. So I added a new selected event handler on the Page.Init like so-


protected void Page_Init (object sender, EventArgs e)
{
myDataSet.Selected +=
new SqlDataSourceStatusEventHandler (myDataSet_Selected);
}
void myDataSet_Selected (object sender, SqlDataSourceStatusEventArgs e)
{
foreach (GridColumn column in myGridView.Columns)
{
if (column.UniqueName == "some name" )
{
(column
as GridBoundColumn ).HeaderText =
"whatever the translated text is";
break;
}
}
}


It works! Hope this helps someone.

Monday, October 06, 2008

For Reference: Getting a Datatable Programmatically from a DataSource

I've used this before (that is, pulling a datatable directly from a datasource), but always forget how when I need to. So for reference.

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=228386&SiteID=1

Just remember to update your datasource paramaters.


DataView view =
(DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
DataTable table = view.ToTable();
DataSet ds = new DataSet();
ds.Tables.Add(table);

Sunday, October 05, 2008

Friday, October 03, 2008

Misadventures in WCF

Well, I started off on a simple task of creating a test WCF service hosted in a windows service that was secured by https and was compatible with older clients.

Here were my hurdles. I'll come back and post links to each step.

1) Getting a WCF Service Working
2) Getting a Windows Service Working
3) Getting my WCF service class working in a Windows Service
4) Getting SSL working
5) Getting basicHTTBinding anonymous username/password working

Here is where I started running into trouble

6) Getting XML enums to serialize correctly in WCF.
7) Possibly needing to flatten WSDL files
8) WCF clients can connect to the mex and discover the service, but displaying the description or the WSDL in a web browser returns 400 or 415 errors (could be related to #7).

So, I decided at least for now to say "f it" and drop the project. Instead I will use an ASMX old school service hosted on IIS.

So far the WSDL issues went away, the challenge will be testing SSL (since I don't have IIS running on my box). I will give myself bonus points if I get the ASMX service working with SSL in a Windows Service, but that is a low priority at this point as time is a'wasting. I get super bonus points when if I'm done and have any time left, I can circle back and get the WCF working.

The lesson here? WCF is great...going forward. If any part of your tech lies in the "legacy" realm, <sarcasm>like Java or non MS clients </sarcasim> don't listen to all the folks towting how great WCF is and how it is backwards compatible, go ASMX.

Monday, September 29, 2008

Disappointment with Yahoo Answers

I like(d) yahoo answers. It was a good waste of time and I liked answering people's questions. Today I got suspended because I gave a general answer to a hacking question. I appealed by suspension, but I got a form response from "Jane" telling me my account will not be reinstated.

Well, to be honest, that pisses me off. It actually makes me want to take out a little anger on Yahoo. Well, if they don't reinstate my account, the following will happen.

1) I will tell everyone what happened and why I am disappointed in Yahoo.
2) I pay for Yahoo mail. Yes I'm like one in five people that do. That will end.
3) Yahoo API's and Javascript? Ha! Think I will use their API's anymore? Nah... Think I will recommend using that stuff at work? Nah...

Yahoo = Facist.

Wednesday, September 17, 2008

UAV Tankers? What is next.

As Boeing and Northrop/EADS battle it out for the contract for the Air Force's next generation of Tankers, other folks are quietly tinkering with new ideas that might make manned Tanker craft a thing of the past.

Here is the first UAV to UAV refuelling that I'm aware of. Pretty cool. Read more here on the AWS&T Ares blog-

link

I'm still waiting for the first UAV to UAV combat engagement.

There are two UAV to Manned Aircraft combat situations that I'm aware of. One a Russian MIG shooting down a Georgian UAV, and the other an Iraqi MIG 25 shooting down a predator drone I think in '03. The UAV tried to launch a Hellfire at the MiG, but I think the UAV got splashed first. In both instances the UAV's were designed for RECON and long loiter times, not Air combat.

In the post Vietnam area they did some experiments with UAV vs Manned Fighter combat in testing. I guess the UAV's used were target drones. From what I've heard the UAV's generally came out victorious.

Angelican Church Apologizes for Believing the Bible

Yes, the Angelican Church, in a round about way, is apologizing for its beliefs in the account of Creation found in Genesis.

What a sad day for the Angelician "Church".

Read more here.

http://news.slashdot.org/article.pl?sid=08/09/16/211239&from=rss

Tuesday, September 16, 2008

Flash/Flex vs Silverlight: The Winner Is...

I like Macromedia's Flash. I like it a little less now that it has been bought out by Adobe, as I think Adobe has gone a long way from its humble beginnings to becoming a tech holding company.

I don't like Silverlight...yet. To me I'm not real clear on what exact tools I should use to build Silverlight applications, what state those tools are in, changing code from beta 1 to beta 2 version 1 and version 2, etc... I'm going to ride things out a bit before taking the plung with Silverlight, and in the mean time I plan to do some more Flash/Flex work, just so I don't forget what little I know.

Anyway, to add fuel to the which one is better argument, Flash/Flex or Silverlight, I found this link-

http://www.shinedraw.com/flash-vs-silverlight-gallery/

It looks like what is better, at least from this side by side comparison is completely up to you. What do you like to program in I guess would be the answer, because the results are very, very similar.

I'm sure there is more to it then that, but it is good to see that algorithims for 3D waves and stuff can be ported between the two with not to much hastle. That is a good thing.

Also, Shine Draw includes downloadables for each example presented, which I will definately squirl away in my code library.

Happy Flash/Flex/XBAP/Silverlight programming!

Thursday, September 11, 2008

Never Forget

I've seen a couple other Bloggers do this, so I will too.

Never Forget

It is telling that even the Drudge Report didn't have any 9-11 stories on its front page. Our memory is too short.

Those who don't learn from History are doomed to repeat it.

Carbon Dating Flawed? No.....

Yep, another article on how Carbon Dating, the corner stone in the foundation of modern evolutionary theories, is flawed.

This one fails to mention a few other interesting tidbits, like sending shells taken from recently deceased animals to labs for Carbon dating have having the labs indicate that the shells were millions of years old. Another blog post I guess for that one.

Read onward.

http://news.slashdot.org/article.pl?sid=08/09/10/2257242&from=rss

Oh yeah, scientist just found a whole forest, fossilized and underground.

http://news.slashdot.org/article.pl?sid=08/09/10/2020226&from=rss

Massive forest fossilized and shoved under layers of sediment...evidence of a global flood/catastrophy?

IT Innovation At Work: IT Worker Racks Up 220k in Phone Sex Charges On Other People's Accounts

Yep, us IT folks sometimes are crafty. Check out this latest example of our "craftiness". A Verizon x-employee racks up 220k of sex phone call charges on other verizon customer's accounts. IT innovation at work.

Read onward.

http://idle.slashdot.org/article.pl?sid=08/09/10/1541200&from=rss

Wednesday, September 10, 2008

Education Going OpenSource? Additional Signs

How many times does the knowledge base of what needs to be taught in a High School physics course change? Maybe an update here or there once a decade? Or how about Calculus? Never?

So how come there are litterally thousands of High School physics and calculus books out there?

You know the answer, $$$.

Well, hopefully that will change, and I think things are slowly starting too. I dont' want to see there be one global secondary education book for calculus or physics, but we don't need thousands. Why not collaborate and come up with a really good book? Why not make it open source? Why not make it electronically downloable from the web so school districts and students can save money on books?

All good questions, and the Common Wealth of Virginia is on the ball and already decided that there were no good reasons for not doing the above.

Read more here on Slashdot here-

http://news.slashdot.org/article.pl?sid=08/09/10/1556242&from=rss

Vista Aero 3D and Linux Beryl Envy

I recently did a lot of reading about Beryl, the cool 3D virtual desktop program for many Linux distributions. So I did a little digging. There had to be some sort of equivalent for winblows right? Specifically for XP hopefully.

Well, there is, quiet a few of them. The best free one I found for XP is yod'm. There is the free version which goes up to version 1.4 and a commercial version (I think it is at http://www.deskspace.com/ ) if you want to pay a little and help the developer out.

You can find links to both plus more information here-


Also, if you like Aero 3D on Vista, why not run it on XP? You can by going here.




I ran both in tandem today and they work fine. Yod'm doesn't quite have all the cool features that Beryl has, but I hear there is a Beryl port for windows coming. Yod'm or the commercial version with more features should hold you till then.

Tuesday, September 09, 2008

WCF Axis Interop Null Problem

I had a small project where I used a WCF web client to connect to an Axis/Coldfusion web service. I could add the service reference and call the web method fine, but the return string (that let me know if the data passed to the web service was processed correctly on the Axis end) always returned null.

I did some logging of the SOAP calls (see previous post) and the service was sending me back the return string, just my automatically generated classes were not reading it for some reason.

So after pooling my hair out for a LONG time, I finally figured out (with the help of a few bloggers) what the issue was.

Well apparently WCF basicHTTPbinding (and possibly other binding types as well) doesn't like rpc style web services. I thought "awww crud" I'm going to have to ask the service company to rewrite their web service, which probably wouldn't go over very well. But then I found this blog.

http://www.vistax64.com/indigo/54127-wcf-client-does-not-read-streamed-response.html

Note in the second post, the poster said he went in and changed the behavior's operational style to use document and literal, and the null problem went away. I did that in my auto generated proxy class (it is hidden by default, you need to click the show all files icon, then it should be named something like References.cs).

I change this-

[System.ServiceModel.XmlSerializerFormatAttribute(Style=System.ServiceModel.OperationFormatStyle.Rpc, Use=System.ServiceModel.OperationFormatUse.Encoded)]

to this -

[System.ServiceModel.XmlSerializerFormatAttribute ( Style = System.ServiceModel.OperationFormatStyle.Document, Use = System.ServiceModel.OperationFormatUse.Literal)]

And wallah! The return string went from null to a value.

Hope this helps someone.

Monday, September 08, 2008

WCF Soap Logging

I read a few articles about logging your outgoing and incoming SOAP messages. The simpliest way I found to trace SOAP messages is here-

Rick Stahl's Blog - http://www.west-wind.com/weblog/posts/205198.aspx
More Info from MS - http://msdn.microsoft.com/en-us/library/ms730064.aspx

Another useful tool called Web Services Studio Jason from the Arizona .Net User Group pointed me too-

http://code.msdn.microsoft.com/webservicestudio20

- is also very useful for debugging older web services (though it works with a lot of WCF stuff too).

Friday, September 05, 2008

GameQuery?

Check out GameQuery, a jQuery based javascript framework for game development.

http://gamequery.onaluf.org/

Another Reason Not to Buy A Dell

Another traitorous bean counter wants to outsource production so investers can drive new porches. This time the hancho is the new Dell CIO.

http://news.cnet.com/8301-1001_3-10033584-92.html?part=rss&subj=news&tag=2547-1_3-0-5

America cannot remain a super power if we do not produce anything.

Thursday, September 04, 2008

Dinosaurs Took Hundreds of Thousands of Years to Die Off?

I caught this little gem on Slashdot.

http://www.sciencedaily.com/releases/2008/01/080103090702.htm

In the article, it points out that there are major problems with the sudden catastrophy theory as to way the Dinosaurs died off. I guess there is ample evidence that dinosaurs took hundreds of thousands or years to die off. So now scientist have decided that insects and disease may have killed the Dinosaurs.

This brings up some interesting points.

1) I don't buy the whole timeline of billions of years. I'm a Christian, and a creationist. Just to let you know where I'm coming from.


2) If there is ample evidence that it took a REALLY LONG time (though I doubt the amount of time our scientist are telling us, but rather I believe the timeline is more like thousands of years, and scientist are misreading and giving us a huge timeline. Just compress it), then why isn't this information well known? A lot of people are believing inaccurate stuff because this little factoid isn't being widely distributed.


3) To me this is just another chink in the armor concerning evolution. Evolution will fall once the timeline commonly presented is crushed, which there is already plenty of evidence of it being inaccurate.

Coldfusion on .Net?

Yep, a company called New Atlanta is releasing a version of Coldfusion that runs on the .Net CLR.

Read onward here-

http://www.newatlanta.com/products/bluedragon/index.cfm

Wednesday, September 03, 2008

WCF SSL Password Negotiation Errors

Ok, I'm using WCF to try to connect to a basic webservice hosted on a coldfustion server. The webservice that I'm connecting to communicates over https and expects a username and password. So, after bumping around and doing some research, I was able to come up with this.

Again, sorry about the code display. If you select and copy/paste the code will be much more readable.

First, in your config file (or in code I guess, my example is a config file), replace whatever was automatically generated for your security setting in your binding when you added the service with the following.



  <security mode="Transport">
<
transport clientCredentialType="Basic" />
</
security>

Next, you have to pass the username and password to the webservice. This I did in code, you can probably put the username and password in your config file somewhere as well. Here is a sample page_load method I did for a web page to do a test of the webservice.

Here are the namespaces that I referenced as well.



using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Net.Security;
using System.Net;
using System.Security.Cryptography.X509Certificates;
protected void Page_Load ( object sender, EventArgs e )
{
//http://developers.de/blogs/damir_dobric/archive/2006/06/29/585.aspx
//ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback ( customXertificateValidation );
TheService.proxyname t = new TheService.proxyname ();
t.ClientCredentials.UserName.UserName =
"someusername";
t.ClientCredentials.UserName.Password =
"somepassword";
t.Open ();
try
{
Response.Write(t.SomeMethod (
"123456789", 123 ));

}
catch ( System.Exception ex )
{
Response.Write ( ex.ToString () );

}
finally
{
t.Close ();
}

Lastly, if you don't have the root certificate setup, uncomment out the ServicePointManager line and add the following method. This will override any sort of certificate goofiness on your end.



private static bool customXertificateValidation ( object sender,
X509Certificate cert, X509Chain chain,
System.Net.Security.
SslPolicyErrors error )
{
return true;
}

And walla! You should be able to connect. Hope this helps someone.

Tuesday, September 02, 2008

Google's Chrome

Google released a new web browser today, as I'm sure most of you have heard-

http://www.google.com/chrome/

It is based on webkit, which is an open source HTML render platform that powered the horrible Safari browser. Webkit is maturing I guess, and like IE's render engine before it, Webkit has come out with some new non standards features that are kind of nice.

As far as Chrome goes, I'm sure under the hood there are a lot of great and useful features waiting to be discovered, but nothing except a clean interface really jumped out at me. I spent about 20 minutes playing around with Chrome, said to myself, "huh", and closed it. I have a feeling at least for now that is where my relationship with Chrome will end. I'll give Google enough credit to leave open the option that perhaps in the future Chrome will wow me. Till then it is back to IE and FF.

On the about Chrome page, check out the Chrome comic if you want to se an example of the culture described in the book "What White People Like" in action telling the masses how to program. Funny and annoying.

Virtual Worlds Video

On Terra Nova someone recently posted a video that does a pretty good recap of all the social networking virtual environments out there today. There were a few that I hadn't heard of before.

Take a peak-


Saturday, August 23, 2008

Truespace 7.6 Free

I guess Microsoft bought Caligari software last year. Caligari's flagship software program was a pretty cool 3D package called Truespace.

As part of Microsoft's Virtual Earth push, Truespace, which once was around 600 bucks, is now FREE.


Need to spice up some GUIs? Then check out Truespace.




On a sadder note, I hate to see these smaller companies starting to succumb. When I first got into programming I really enjoyed using some of the smaller 3D packages out there like Poser, Bryce, Cool 3D, etc... It is a shame these companies are generally either going out of business or being bought up.

Friday, August 22, 2008

A Peak at Goggle Trends

I read a blog recently that sighted some Goggle Trend data, so I figured I'd take a peak on what is going on. I found some interesting data, and saddly things don't look that great for the future of America being the hope of the most internet developers. Check out these few facts.

I checked out the search trends for ASP.Net, and I found the following-

  • Out of the top 10 originating search cities, only three where American (Houston, Atlanta, and Phoenix).
  • The United States was 8th over all in searches, even Iran beat us.
  • The top search language is suprisingly Vietnamese, followed by English at number two (probably due to the fact that most Indian programmers speak English). It looks like there is a large outsourcing effort going on in Vietnam.

Now let's check out the search trends for php.

  • Only San Fransisco made it on the top 10 originating cities list, and the United States didn't even make it on the top 10 originating search regions.
  • English didn't make it on the top 10 languages used in the search
  • It looks like Indonesia (Jakarta specifically) are doing the most with php right now.

Ok, Now lets do a trend for jQuery.

  • America doesn't make it on the top 10 search regions.
  • San Fran seems very active in its searching for jQuery, so is Redmond, else the other cities are all foreign, many of them being Asian cities.
  • Russians seem to be eating up jQuery, Russia being the top search region and top originating search language.

And lastly, lets do a trend search on Java

  • English is the 6th in originating search languages.
  • No American cities show up on the top 10.
  • The United States doesn't show up on the top 10 originating search regions.

One last one, lets do Actionscript-

  • New York, San Fran, English as the 3rd searched language, US not in the top 10 for search originating regions.

So, it seems like America has a few tech hubs (San Fransisco, Redmond, to a lesser extent Phoenix, Houston, and Atlanta). Other than that it looks like there are multiple regions in the world that are way more active in at least web development then America is. Right now it seems like America drives technology (though a suprising amount of what Microsoft, IBM, and Apple deliver is from outsourced teams).

So are we seeing the slow death of the American web developer?

Not sure.

CGI Advancement

CGI takes another huge step forward, pretty cool.

http://technology.timesonline.co.uk/tol/news/tech_and_web/article4557935.ece

Thursday, August 21, 2008

Very cool way of passing a DataSet to a WCF Service

Wanna generic WCF to consume any dataset you pass to it, and spit out a dataset on the other side?

I found this post, might get you started.

http://pstaev.blogspot.com/2008/04/passing-dataset-to-wcf-method.html

Tuesday, August 19, 2008

Chucking Rocks at the Moon with WCF and NTLM Errors

So, I've been reading, studying, and toying mentally with WCF, but it was now time for me to do something with WCF.

So I created my "hello world" WCF service, and straight off the get go...problem.

I created my WCF web service (in an existing web app, going that route), left everything as default, and got the service running in debug mode. I copied default URL (with the ?wsdl) that comes up when you run the web service.

I then created a new web project, right clicked in VS 2008 on the Add Web Service, and pasted in the URL from above. The discovery took place, and everything looked good.

So in the code behind page_load method on my default page, I do something like this. Not your names will very.

ServiceReference1.WCFTestClient x =
new Consumer.ServiceReference1.WCFTestClient ();
try
{
Response.Write ( x.GetData ( 3 ) );
x.Close ();
}
catch ( System.Exception ex )
{
Response.Write ( ex.ToString () );
}


then I fire it up...bomb. Something about an NTLM anonymous blah blah blah error.

I read, figure out you can turn NTLM off (if you are using Cassini, right click on your web application sln, properties, start up, uncheck NTLM). But that wasn't going to work as the web app that I'm adding the web service into actually needs NTLM.

So, I played around. By default, the binding used is wsHttpbinding. You can change that to get things running. In the web config on the web app that host the service, I changed the binding entry from wshttpbinding to basicHttpBinding. On my consumer web app, I updated the web service reference, then went into the web config and changed the security mode setting lines in the basicHttpBinding.

<security mode="TransportCredentialOnly">
<
transport clientCredentialType="Ntlm" proxyCredentialType="None"
realm="" />
<
message clientCredentialType="UserName" algorithmSuite="Default" />
</
security>


Well, once I fired up again in debug, everyting works, and allegidly NTLM is still in place. Hope this helps someone. Not sure how secure all this is, so I will keep playing.

Monday, August 18, 2008

Nuke War Anyone?

I was thinking, does anyone really realize just how close to nuclear war we are? Try this very plausable scenario on for size.

* Russia shoots down an American C-17 Cargo plane carrying humanitarian supplies to Georgia
* Russia blockaids more Georgian ports.
* America tries to send in more aid.
* Either a Russian fighter or a Russian naval vessel fires on an American vessel. There is return fire and the Russian vessel is destroyed.
* A Blackjack bomber test American air defenses, and due to the present crisis, is shot down
* Scattered skirmishes between Russian and American forces through out the world.
* KAAABOOOOM!

I hope cool heads prevail here.

Wednesday, August 13, 2008

Email Obfuscator

From time to time you may want to post an email address on a web page. That's fine, but there are numerous web spiders that crawl pages looking for valid email addresses to add to email to be spammed lists. But with some clever javascript, you can post your email address, and hide it from the pesky spiders and crawlers.

http://www.jottings.com/obfuscator.htm

Friday, August 08, 2008

Georgia and Russia Go At It

[Update]

A fast naval response by the Russians further indicates advanced planning on their part-

http://blog.wired.com/defense/2008/08/while-the-media.html

Read the third paragraph.

[Update]
Further evidence that Russia was planning aggression against Georgia in advance.

http://blog.wired.com/defense/2008/08/georgia-under-o.html

Basically the Georgian's saw the writting on the wall, so they made a pre-emptive move on their break away republics...or the Russians saw the Georgian's planning an assault, and began to build up their forces...not sure which, probably and chicken or the egg question a that point. Both sides have interest in break away areas.


The flare up, and possible war, between Russia and Georgia will be interesting. Here are a few links that will help you understand the conflict.

There is oil involved.
http://www.debka.com/article.php?aid=1358

Russia started the recent flare-up. http://www.reuters.com/article/newsOne/idUSL768040420080808

The Georgians are feeling perhaps a little overconfident, having had recent military training and funding from the U.S. and Israel , and ground combat experience in Iraq http://blog.wired.com/defense/2008/08/the-new-war-in.html http://blog.wired.com/defense/2008/08/did-us-military.html

I predict that the Russians will prevail, but if it comes to out and out full blown combat, the Russians will end up with a suprisingly big bloody nose before the conflict is over. It might be good for Russia's ego to be trimmed a bit. In either case it is sad to see that a bunch of young people are probably going to be killed over money and nationalistic pride.

Thursday, August 07, 2008

Apple Slaves

I've got a lot of bad things to say about Apple. And I do not come to my conclusions from a point of ignorance. For now, I'll just link to this article, which points out the well known horrible conditions in which technical Apple employees, pretty much from day one, often have found themselves working in. Read this SlashDot article for the latest-



Why do I bother to post this? Apple has a fanatical following that often pits Apple (the good guys) against Microsoft (the bad guys). I wish to dispell this myth. There are no good guys. Apple in many ways fleeces its flock worse then Microsoft does. Yet the faithful cry out in blissful ignorance, "Give us more!". This has ALWAYS made me a little sick.

Monday, August 04, 2008

3 Important JSON / WCF Problems and Solutions

If you are using jQuery with .Net, you might want to check out the following post-

http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/

Encosia outlines three little items that could end up making you pull a lot of hair out of your head wondering why your JSON jQuery WCF communication isn't working

Friday, August 01, 2008

Props to the Pakistani Airforce

The Pakistanis had some balls during the 80ies. Check this out-

http://www.pakdef.info/pakmilitary/airforce/war/indexafghanwar.html

I feel bad for Pakistan. They are in a rock and a hard place now.

Thursday, July 31, 2008

ASP.Net Dynamic File Download Protection

I spent a little while today playing with a way to stop users who haven't registered with a site from downloading files. With the help of two examples, I came up with the following. Hope it is useful. Just copy the code by highlighting it, as some of it might slide under the right column (I know, this is a cheesy way to post code, in the queue to do is to widen this blog template and to find a better code poster. Any suggestions for either are appreciated). Anyways, here is the code snippet.

//http://www.codeproject.com/KB/aspnet/SecureFileDownload.aspx
//http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2855600&SiteID=1
if (Request.QueryString["fid"] != null) //&& Session["uid"] != null)
{
string sPath = Server.MapPath("~") + "Your path here";
string sFileName = "";
if (Request.QueryString["fid"].ToString() == "1")
{
sPath +=
"real_file_name.config";
sFileName =
"display_file_name.pdf"; //or .doc, .jpg, .mp3, whatever
Response.AddHeader("content-disposition", "attachment; filename=" + sFileName);
Response.ContentType =
"application/octet-stream";
System.IO.
FileStream fs =
System.IO.
File.Open(sPath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
Byte[] flen = new byte[256];
int iBytes = fs.Read(flen, 0, flen.Length);
Response.Buffer =
true;
Response.BinaryWrite(flen);
while (iBytes != 0)
{
iBytes = fs.Read(flen, 0, flen.Length);
Response.BinaryWrite(flen);
}
fs.Close();
Response.End();
}


Place this in either your Page_Init or Page_Onload, adjust the paths, names, and what not and you have your file protection (in the snippet the session check is commented out, but you can see what I was getting at). For your base file path you can use Server.MapPath("~") + "/whatevedirectory/". Also if you are writting to files, it is a good idea to keep these files in your App_Data directory, as I've heard (don't know if it is true) that messing with files outside that directory may cause your app to recycle.

The above code could probably be put into an HTTPModule, you could read real file names and display names from a database, or encrypt your query string, whatever, this will give you the basics.

Column Side Gradients

I suck at Photoshop, not because I really suck, but because I don't get much time in on the design side. Too bad because I enjoy the design side a lot. I think ultimately I'd like to phase back on the coding side and spend more time on the design side. I figure the programming spectrum goes like this-

  • Blur between Web Application Developer and Hard Core Low Level Programmer
  • Web Application Developer
  • Web Scripter
  • Web Designer
  • HTML Content Developer

I think I'd like to find myself in the "Web Scripter" category, someone who does back-end database programming, but also does design work. I think I could meet a lot of small business user needs that way. Small business owners don't need or care about the craft of programming, and they can't support the budget for solutions based on those methodologies, but small business owners do need interactivity and data storing/retrieval. A nice blend of task for a single coder or a small team. I think I'm getting burned out a little bit on the application development side of things. I see a lot of extra abstraction layers being added into the mix, which is all well in good, but often times the extra effort is unnecessary and it is only done to please the herd.

Anyway, that is neither here nor there. Here is a link to a Photoshop/CSS tutorial on how to create gradient fades on the sides of content columns, something I'm seeing a lot of these days.

http://www.projectseven.com/tutorials/images/gradient_tiles2/index.htm

A Bunch of Techie Links...

Again, another hurry up and wait day at work, even though I do have some things to do, I took a few minutes to go through my starred google feeds, and I present to you all (and to myself in the future) a bunch of links that might be useful to you.

Virtualization: http://virtualbox.org/
Plots: http://www.deensoft.com/lab/protochart/
Software: http://cyn.in
Jquery Plotting: http://code.google.com/p/flot/
Flot example: http://www.garyrgilbert.com/blog/index.cfm/2007/12/12/JQuery-Charting-Plugin
Another jQuery Plotter: http://www.reach1to1.com/sandbox/jquery/jqchart/
Httpmodule as Background Service: http://dotnetslackers.com/ASP_NET/re-126158_Using_an_HttpModule_to_Run_a_Background_Service.aspx
Resources for Photoshop: http://amarieveanne-stock.deviantart.com/art/Dragons-volume-II-76024664
ProtoChart: http://www.deensoft.com/lab/protochart/dynamic.php

Monday, July 28, 2008

The New Look And Feel

I found a pretty decent article on Web 2.0 design principles, check it out for yourself. Scroll down a bit, the site is a bit add heavy towards the top.

http://www.masternewmedia.org/information_design/information-design-principles/web-20-design-simple-social-design-components-20071017.htm

Highlights include-

- Centered Design
- Rounded Edges
- Large Fonts
- Simple, Consistent Navigation
- Logos and Icons
- Subtle 3D/ Refective Surfaces
- Whitespaces
- A whole section on the socal web.

Saturday, July 26, 2008

California Bans Transfat, Freedom

Mommy, otherwise known as the government to most Californians, has recently passed a law banning trans fat from the state. While I think most Americans eat too much trans fat, I don't think the government has any business stepping into the role of Mommy. I'm down with having people who eat to much trans fats and thus suffer health related issues due to their over consumption of trans fat paying a higher premium for health care (and I would be one of those individuals, unfortunately). I don't believe liberals through government agencies should have the right to make sure people "live correctly". My ancestors bailed Europe because they didn't believe in government telling people how to live, and the setup this great country known as the United States of America where people are free to make their own choices, be they good or bad, and benefit or suffer the consequences of their own choices, again be they good or bad. It sets a really bad precedent abdicating even small personal freedoms (even to eat "the wrong" foods) to government. Today trans fat, but what will "Mommy" try to fix for us tomorrow? Ten years from now? Pretty soon government will be trying to make sure we all "believe correctly" and help us all reach acceptable ideological conclusions for the good of the "community" (i.e. the government). F that. Live Fat or Die! (j/k). How about live free of lefties (and conservatives) in government telling us how to live, and all of us being responsible for our own life choices.

http://abcnews.go.com/print?id=5393222

Friday, July 25, 2008

Flash 3D

I don't know HOW these guys did it, but they did. Here is a real time 3D Flash Engine. Yes...3D...in Flash, not Director, Flash.

http://www.electricoyster.com/

[Update]

Here might be what these guys are using for their 3D Engine-

http://www.flashsandy.org/

Thursday, July 24, 2008

jQuery Autocomplete example

I really dig jQuery, so my experimentation with it continues. I found an excellent jQuery based autocompletion plugin from here

http://www.pengoworks.com/workshop/jquery/autocomplete.htm

I created a quick and dirty aspx "servlet" page, with all the

aspx-

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AutoCompleteTest.aspx.cs"
Inherits="jQueryAutoComplete.servlets.AutoCompleteTest" %>


Code Behind- (mine was hooked into an access db...)

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;


namespace jQueryAutoComplete.servlets
{
public partial class AutoCompleteTest : System.Web.UI.Page
{
protected void Page_Init ( object sender, EventArgs e )
{
if ( Request.QueryString["q"] != null )
{
string sQry = "Select [CatID], [CatDesc] from tCategories where " +
"[CatDesc] like '" + Request.QueryString[ "q" ] + "%' order by [CatDesc]";
string oStr = ConfigurationManager.ConnectionStrings[ "cats" ].ToString ();
System.Data.OleDb.
OleDbConnection oConn =
new System.Data.OleDb.OleDbConnection(oStr);
oConn.Open();
System.Data.OleDb.
OleDbCommand oCmd =
new System.Data.OleDb.OleDbCommand ( sQry, oConn );
System.Data.OleDb.
OleDbDataReader oRdr =
oCmd.ExecuteReader (
CommandBehavior.CloseConnection );
while ( oRdr.Read () )
{
Response.Write ( oRdr[
"CatDesc" ].ToString () + "|" +
oRdr[
"CatID" ].ToString ()+ Environment.NewLine);
}
oRdr.Dispose ();
oCmd.Dispose ();
oConn.Dispose ();
}
Response.End ();
}
}
}


And then my HTML page, which contains the simple autocomplete box which is pretty much pulled directly from the above site-

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<
html>
<
head>
<title>jQuery Autocomplete</title>
<script src="jquery-1.2.6.pack.js" type="text/javascript"></script>
<script type='text/javascript' src='jquery.autocomplete.js'></script>
<link rel="stylesheet" type="text/css" href="jquery.autocomplete.css" />
</
head>
<
body>
<
form action="" onsubmit="return false;">
<p>
Ajax City Autocomplete:
<input type="text" id="Names" value="" style="width: 200px;" />
<input type="button" value="Get Value" onclick="lookupAjax();" />
</p>
</
form>
<
script type="text/javascript">
function
findValue(li) {
if( li == null ) return alert("No match!");
// if coming from an AJAX call, let's use the CityId as the value
if( !!li.extra ) var sValue = li.extra[0];
// otherwise, let's just display the value in the text box
else var sValue = li.selectValue;
alert(
"The value you selected was: " + sValue);
}

function selectItem(li) {
findValue(li);
}

function formatItem(row) {
return row[0] + " (id: " + row[1] + ")";
}

function lookupAjax(){
var oSuggest = $("#Names")[0].autocompleter;
oSuggest.findValue();
return false;
}

$(document).ready(
function() {
$(
"#Names").autocomplete(
"AutoCompleteTest.aspx",
{
delay:5,
minChars:1,
matchSubset:1,
matchContains:1,
cacheLength:10,
onItemSelect:selectItem,
onFindValue:findValue,
formatItem:formatItem,
autoFill:
true
}
);
});
</script>
</
body>
</
html>


And wa-la! Autocomplete on the fly. Thank you pengoworks.com and jQuery.