Archive for Technology Bits

List of Great Web Dev Optimization Tools

// June 13th, 2008 // No Comments » // Technology Bits

Six Revisions has a bunch of great web development tips and tricks. Today he put out 15 Tools to Help You Develop Faster Web Pages, which is a great list worth reading. In addition to the standard fare (YSlow, Firebug, etc) he also lists some good stuff I hadn’t heard of like Cuzillion and DBMonster.

Compete – The New Alexa?

// February 4th, 2008 // 2 Comments » // Technology Bits

I have to say the site name “Compete” is far more engaging and obvious as a name… As an admitted Alexa-holic, a new site that compares sites is exciting to me. It is very similar to Alexa, though they claim better data sources.

Simple JSP JDBC Example

// January 29th, 2008 // 1 Comment » // Technology Bits

I learned to program on Java, but have done little to exercise those skills in the last six years, preferring to leverage PHPs simplicity whenever possible. So... when I had a need to put together a simple JSP script that queried Oracle, I found myself scouring for a truly simple example to start from. Here's the example I put together:

JAVA:
  1. <br/><%@ page import="java.sql.*" %><br/><%<br/>try <br/>{<br/> //this is how you might get a POST or GET variable from the request to use<br/>  //String user_id = request.getParameter("some_var");</p><p>   Connection  conn = DriverManager.getConnection("jdbc:oracle:thin:@HOSTNAME:PORT:SID","USERNAME","PASSWORD");<br/>  Statement stmt = conn.createStatement();<br/> ResultSet rset = stmt.executeQuery("SELECT sysdate FROM dual'");<br/>    if (rset.next()) <br/>  {<br/>        out.println(rset.getString(1));<br/>    } <br/> else <br/>   {<br/>  out.println("No records found");<br/>    }<br/>  rset.close();<br/>    stmt.close();<br/>} <br/>catch (SQLException e) {<br/>  out.println("Exception");<br/>}<br/>%><br/>

Certainly for your own purposes you would need to write a lot more code than this. Yet, if you seek a simple example just to gain your bearings, this should do it.

Announcing Sun MySQL!

// January 16th, 2008 // No Comments » // Technology Bits

Sun has officially acquired MySQL! As a huge fan and supporter of MySQL, I have personal commitment and obvious concerns about this. In my experience most things Sun does are bloated and slow to develop (Solaris, Java, Open Office). Yet, I remain hopeful because they do seem to respect and work positively with open source initiatives.

The most positive things can come out of this are improved marketing, better name recognition, and funds injected into a project. Maybe they can compete with Oracle now? Hey, maybe Sun will stop using Berkeley DB to back most it's existing products. I'll admit that upon first reading this my heart skipped a few beats, but as the pains subsided I think its all going to be OK.

Site Uptime Monitoring

// December 12th, 2007 // 1 Comment » // Technology Bits

SiteUptimeI highly recommend SiteUptime.com. It's been repeatedly helpful for me knowing when my site is having difficulty. The free version lets you have one monitor that checks every 30 minutes. Not great for super critical things, but perfect for a simple blog. You can even have it SMS you when there is an alert!

Mac OS X Start Up Keys

// November 29th, 2007 // 85 Comments » // Technology Bits

I often search around trying to find the various ways to boot OSX in a special sort of way. I've especially needed these sort of things lately, as I had a brand new hard drive die on me.

You can hold any of the following to access any of these special boot modes:

C - Boot from the internal optical drive (CD or DVD)
D - Boot the diagnostic volume of the install DVD
N - Start from the Network (NetBoot)
R - Force PowerBook screen reset
T - Boot into Firewire target disk mode
X - Reset startup disk selection and boot into Mac OS X Server
Shift - Boot into "Safe Boot" mode, which runs Disk First Aid. A reboot will be required afterward.
Option - Boot into "Startup Manager"
Mouse Button - Eject (internal) removable media
Command-S - Boot into Single User Mode (command line)
Command-V - Boot using "Verbose" mode (shows all kernel and startup console messages)
Command-Option-Shift-Delete - Bypass internal hard drive on boot and seek a different startup volume (such as a CD or external disk)
Command-Option-P-R - Reset Parameter RAM (PRAM) and non-volatile RAM (NVRAM)
Command-Option-O-F - Boot into "Open Firmware"

Rumor has it, firmware password protection can be removed by intalling or removing a stick of RAM, then zapping the PRAM three times in a row.

These bootup options were compiled from Apple and this blog.

apple, boot, boot cd, bootup, command, diagnostic, firmware, mac, macos, net boot, open firmware, option, os x, osx, parameter ram, pram, ram, single user, startup, target disk, verbose

Fiddler – Must Have for IE Development

// October 9th, 2007 // 3 Comments » // Technology Bits

If you do any web development for Internet Explorer, Fiddler is a must have application. Basically this is semi-equivalent to Firebug's "Net tab". If you have been using IE Developer Toolbar, this was a huge missing piece that can now be filled in.

Explanation of what it is from their site:

Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP(S) traffic, set breakpoints, and "fiddle" with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language.

Fiddler is freeware and can debug traffic from virtually any application, including Internet Explorer, Mozilla Firefox, Opera, and thousands more.

You should also check out the video tutorial.

fiddler, fiddler2, firebug, ie, internet explorer, web, web development

PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIENvbWljIGJvb2sgZ3V5LCB0ZWNoIGdlZWssIGFuZCBmYXRoZXIgb2YgdHdvLi4uPC9saT48bGk+PHN0cm9uZz53b29fYWJvdXRsaW5rPC9zdHJvbmc+IC0gIzwvbGk+PGxpPjxzdHJvbmc+d29vX2Fkc19yb3RhdGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtMS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8yPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS0yLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzM8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTMuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8yPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzM8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gZ3JheS5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fY3NzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly9mZWVkczIuZmVlZGJ1cm5lci5jb20vbm9zaGVlcDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQp2YXIgZ2FKc0hvc3QgPSAoKCJodHRwczoiID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKSA/ICJodHRwczovL3NzbC4iIDogImh0dHA6Ly93d3cuIik7DQpkb2N1bWVudC53cml0ZSh1bmVzY2FwZSgiJTNDc2NyaXB0IHNyYz0nIiArIGdhSnNIb3N0ICsgImdvb2dsZS1hbmFseXRpY3MuY29tL2dhLmpzJyB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnJTNFJTNDL3NjcmlwdCUzRSIpKTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KdmFyIHBhZ2VUcmFja2VyID0gX2dhdC5fZ2V0VHJhY2tlcigiVUEtODI3MjAtMSIpOw0KcGFnZVRyYWNrZXIuX3RyYWNrUGFnZXZpZXcoKTsNCjwvc2NyaXB0PjwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9hcmNoaXZlczwvc3Ryb25nPiAtIGh0dHA6Ly9ub3NoZWVwLm5ldC9hcmNoaXZlcy88L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2ZsaWNrcl9jb3VudDwvc3Ryb25nPiAtIDEwPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9mbGlja3JfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy90aXJyZWxsLzwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfZmxpY2tyX3VzZXI8L3N0cm9uZz4gLSA2MDg2MzE1NUBOMDA8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2xpZmVzdHJlYW08L3N0cm9uZz4gLSAxMDwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfcG9zdHM8L3N0cm9uZz4gLSA1PC9saT48bGk+PHN0cm9uZz53b29fbG9nbzwvc3Ryb25nPiAtIGh0dHA6Ly9ub3NoZWVwLm5ldC93cC1jb250ZW50L3dvb191cGxvYWRzLzMtbG9nby5wbmc8L2xpPjxsaT48c3Ryb25nPndvb19tYWlucmlnaHQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX21hbnVhbDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9zdXBwb3J0L3RoZW1lLWRvY3VtZW50YXRpb24vaXJyZXNpc3RpYmxlLzwvbGk+PGxpPjxzdHJvbmc+d29vX25hdjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fc2hvcnRuYW1lPC9zdHJvbmc+IC0gd29vPC9saT48bGk+PHN0cm9uZz53b29fdGFiczwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fdGhlbWVuYW1lPC9zdHJvbmc+IC0gSXJyZXNpc3RpYmxlPC9saT48bGk+PHN0cm9uZz53b29fdXBsb2Fkczwvc3Ryb25nPiAtIGh0dHA6Ly9ub3NoZWVwLm5ldC93cC1jb250ZW50L3dvb191cGxvYWRzLzMtbG9nby5wbmc8L2xpPjxsaT48c3Ryb25nPndvb192aWRlbzwvc3Ryb25nPiAtIGZhbHNlPC9saT48L3VsPg==