A Brave New Internet

IBM and Google Collaborate on Cloud Computing. Has anyone heard what their relationship is about? I’d guess its about IBM making hardware for Google, not Google providing service for IBM. But, Google wants to sell On-Demand services to business. Maybe its about IBM helping Google form a business strategy to sell service to Enterprise business. How does IBM benefit from that? Sounds like it would take business away from IBM. Unless, IBM realizes its inevitable, and they’re reshaping their business at the same time, to sell data center equipment to Google, and Internet terminal equipment to Enterprise.

Whatever the reason, I take it as another clue that the world is changing. We’re living in the era the future history books will call the Information Revolution. Our ability to transmit data at the speed of light across the globe has been realized. Kind of like the discovery of electricity, followed by the mass application of electricity, became known as the Industrial Revolution. The era of mass application of the ability to transmit data at the speed of light will become known as the Information Revolution. Its radically changing the way we live, and they way we do business.

Read moreA Brave New Internet

Storing IPv6 IPs in MySQL

Intro to IPv6:
ipv6.l.google.com has IPv6 address 2001:4860:0:2001::68
2001:4860:0:2001::68 is short notation for:
2001:4860:0000:2001:0000:0000:0000:0068

IPv6 is 128 bit. There are 2^128 IPv6 IPs. That’s 340 undecillion.

I have a whole lot more detail on what IPv6 is, saving that for a later presentation, let’s jump to something fun. This is what I need your help with. What are the considerations you have to make when developing your applications for IPv6? Here’s one:

Imagine you want to store a list of IPv6’s in a MySQL table. Maybe this is a list of IPs allowed to connect to your application, or maybe it’s a list of IP to server assignments.

IPv6 is 128 bit. This is larger than will fit in any single MySQL numeric data type. (Note: postgres has ip/netmask data types and functions to do calculations on them. It will also listen on the IPv6 network stack, MySQL won’t. But, that’s another story. The challenge for now is, storing IPv6 IPs in MySQL)

Read moreStoring IPv6 IPs in MySQL

Comparing QualysGuard PCI to Comodo HackerGuardian

I’m not doing e-commerce transactions, so its not required that I do quarterly external PCI Scan Compliance scans, as dictated by the Security Standards Counsel. But, for the fun of it, I ran an official scan, from two Approved Scanning Vendor (ASV) PCI programs. I am evaluating the QualysGuard PCI On-Demand program for something in my professional life, and using a part of my personal life (my blog), as the test case. This is great, I get to play with a new technology, discover and fix vulnerabilities on my web site, share my experience with you, help others identify and correct these problems on their servers, and get paid for it, all at the same time. Can I get a whoot?

I was shocked at how many problems it found with my web site. In this article, I will expose the report and discuss how I fixed each item, and therefore became PCI scan compliant. Then I will give my review of the QualysGuard PCI program.

Before I remediated any of the problems QualysGuard PCI found, I signed up for Comodo’s HackerGuardian program. I wanted to see if it found the same problems, or yet a different set. I was shocked that Comodo’s HackerGuardian simply gave me a PASSED scoring. More on that later in the article.

Read moreComparing QualysGuard PCI to Comodo HackerGuardian

My Experience @ MIX08

Yes, I know that Microsoft is the enemy…. or are they? I attended the MIX08 conference at the Venetian in Las Vegas, March 4-7, 2008. It changed my perspective of Microsoft. Now I know the difference between old Microsoft and new Microsoft. The new Microsoft has a new attitude towards open specifications. They’re working with Zend Technologies to make PHP work better in IIS7. They’ve opened the .NET framework specifications so the folks over at Mono can port .NET to Mac, Linux, Solaris and Unix. They’re opening the specifications for Silverlight so the same Mono group can deliver Moonlight. The Windows Live line: Live Search, Live Hotmail, Live Spaces, etc., all have open APIs that developers can use to create mashups in their own sites.

Read moreMy Experience @ MIX08

SQLite for PHP Compile Error and Fix

Trying to create an SQLite module in with pecl resulted in  

/tmp/tmpb8wKoA/SQLite-1.0.3/sqlite.c  -fPIC -DPIC -o .libs/sqlite.o
/tmp/tmpb8wKoA/SQLite-1.0.3/sqlite.c:56: error: ‘BYREF_NONE’ undeclared here (not in a function)
/tmp/tmpb8wKoA/SQLite-1.0.3/sqlite.c:56: error: ‘BYREF_FORCE’ undeclared here (not in a function)
/tmp/tmpb8wKoA/SQLite-1.0.3/sqlite.c:125: warning: initialization from incompatible pointer type
/tmp/tmpb8wKoA/SQLite-1.0.3/sqlite.c:126: warning: initialization from incompatible pointer type
make: *** [sqlite.lo] Error 1
ERROR: `make’ failed

 Ug.  Pain in the butt, but I did find a workaround….

 

Read moreSQLite for PHP Compile Error and Fix

Cisco Data Center Technology Forum

Yesterday, 2008-02-06, I attended this conference at the Phoenix Ritz Carlton. Cisco treated its attendees very nicely, with gourmet lunch, coffee, tea, soda, desert and snacks. The venue was also exciting:

1130-12 Registration
12-1 Data Center 3.0 Overview
1-2 Cisco IT
2-215 Break

I arrived shortly after 2pm, so I missed the above mentioned sections.

215-315 Data center switching
315-400 Virtualization across the data center
415 – 500 Storage Networking
5-545 Securing and Optimizing Applications
545-630 Cocktails and Questions

My notes from the session follow:

Read moreCisco Data Center Technology Forum

Index for God Sake!

Taken from:

http://mysqlhow2.com/viewtopic.php?t=8

If you have a database that is returning slow result you might want to optimize your queries and do indexing.

But how to tell which of the queries need to be optimized.

Lets look at the rulsts of the querey without returning all the results:
You will use the EXPLAIN clause
Explain clause will show rows returned in your query. (The more rows the slower the return)

Read moreIndex for God Sake!