I need to do more of that. I know that I’m a better pointer than writer, but I really need to get in the habit of getting a few paragraphs of real content out there once in awhile.
Day: December 6, 2002
-
char *mattCroydon_ptr
-
Strong vs. Loosely Typed and Web Services
I found out something about myself last night. I’ve worked in many programming languages in many environments over the years. I love loosely typed languages such as PHP, Perl, Python, and other scripting languages. It’s so easy to get stuff done without having to deal with plumbing and details. At the same time, I find myself frustrated when debugging these loosely typed languages. I find myself wanting to go back to Java, C#, or other languages where I have to specifiy what I want. It’s more work, but when I can deal with concrete structs and variables that aren’t going to be changing type based on context, I feel much better.
This applies even more when working with web services. The scripting-like languages are great for simple implemenations of web services. They’re great for examples. It’s so easy to say, “Grab the info from this web service, and then print whatever comes back.” But when I’m trying to get at just a specific nugget of information, the pseudostructarrays that I’ve had to deal with cause my head to spin.
I’ve also noticed that loosely typed languages make no so perfect web services servers. They’re great for simple clients, as I’ve stated before, but most of the client/server implementations in these scripting languages dont’t support WSDL or other advanced features, moreso in SOAP than XML-RPC.
I’ve found that Cook Computings XML-RPC.NET has made my life a lot easier on the XML-RPC client side. It allows me to work in any Visual Studio .NET language, though most of my time has been spent in C# lately. I have to create structs. Data is passed back and forth in these structs. I know what’s going on. I don’t have to figure out what the heck I’m doing wrong that caused a parse error on line 28.
Any discussion of debugging web services is not complete without mentioning both Simon Fell’s TCPTrace and Mindreef’s SOAPScope. Both of these utilities allow you to see exactly what XML is passing over the wire. TCPTrace is basic and free. Mindreef’s product is worth every penny that they charge for it. It has a slick UI, coverts XML over the wire into pseudocode (great big picture stuff), and has advanced logging and other crazy stuff that I can’t recall at the moment. If you’re getting paid to write and debug web services, buy SOAPScope.
I’m glad I learned what I learned about myself last night. I may not be the best programmer on the planet because I can’t deal with some of this stuff. But that’s okay. I’m sure if I was pair programming or working with a team of developers, someone would say something to make it all click. Someday.
-
HP Development Tools
HEWLETT-PACKARD ON MONDAY will formally announce it is joining the Microsoft Visual Studio .Net Integration program, which, when coupled with the company’s Java support, is intended to promote multiplatform development of OpenView management applications.
The company will build and integrate XML Web services developer tools and components into Visual Studio .Net, according to HP.
-
Seagate IPO
CNet reports that Seagate is planning an IPO. Is this a smart move?
-
Matt Raible’s Dog
Matt Raible thinks his 667MHz Powerbook is a dog:
I’ve been using my G4 Powerbook all week to write this security chapter. Today I started coding and writing at the same time. This post is meant to vent that this laptop/OS is a DOG! It’s so fricken slow! I have Eclipse, Word, Mail, Terminal and Internet Explorer running and I feel like I’ve lost hours for these apps to respond.
-
Terebytes and MySQL
Very cool. Jeremy Zawodny is going to play with terabytes in MySQL:
It sounds like I’ll be helping with some multi-terabyte MySQL tests in the not too distant future. This is good not just because I get to play with neat toys, but it’ll finally help me to answer the “how well does MySQL deal with BIG data sets?” question. Until now, I’ve had to appeal to my knowledge of how MySQL works as well as some second or third-hand reports of what others have done in this area. It’ll be nice to have some concrete data and tests that I understand and can explain to others in detail.
Stay tuned for more.
Rock!
-
Imagine a Beowulf Cluster of These…
Man, I’m such a geek. I heard “Celebrity illustrated Beowulf” over at Boing Boing, and thought, “celebrity clusters? huh? cool.” Nope, it’s the other Beowulf.
-
Groove
John Udell: Script locally, publish globally.
-
Web Services
Chris Gulker is using web services:
In short, without much hype or fanfare, I already rely on Web services. It’s an ad hoc thing, with no commitment or passion or arguments about .Net vs. Sun One or whatever. It’s just happening, organically, using easy things like HTML and javascript. Hmmm… may be a column, here…
-
Michael Crichton’s <u>Prey</u>
Somebody beat me to a Slashdot review of Prey.
-
Groove Web Services a Go Go
Sam Gentile pointed to this:
Groove Web Services. Groove Web Services is going to be a Big Deal. I don’t think I’m violating any NDA’s by telling you that John Burkhardt did an in-house demo yesterday in which he took an empty C# project and, in 5 minutes, wrote a complete Windows app that listed his Groove Contacts. Oh, incidentally, another developer was running a command line Linux app, which did something similar. Don’t want to use Windows to use Groove? Get a cheap Windows PC, install Groove, plug it into your LAN, and go hide it in a closet. Better yet, just set up an account on someone elses’ Grooved PC. Build whatever interfaces you really need, out of .NET/Java/Perl/Fortran, and access it from your Mac/PalmPilot/WebTV/Commodore 64. Jon Udell likes GWS. [Webslice]
-
IBM Buys Rational
-
OpenMosix 2.4.20
Freshmeat announces that OpenMosix 2.4.20 is out:
openMosix is a a set of extensions to the standard Linux kernel allowing you to build a cluster of out of off-the-shelf PC hardware. openMosix scales perfectly up to thousands of nodes. You do not need to modify your applications to benefit from your cluster (unlike PVM, MPI, Linda, etc.). Processes in openMosix migrate transparently between nodes and the cluster will always auto-balance.
It looks like a minor bugfix and kernel sync update:
This is a port of openMosix-2.4.19-7 to 2.4.20. Improvements include Load Balancer updates, minor code cleanups, and minor updates. This version is initially only available from CVS.
Have you messed around with clustering? With OpenMosix you don’t have to dedicate specific machines to a cluster. OpenMosix uses machines when it is needed, and doesn’t when they’re not. It’s pretty wicked cool technology.
-
Grand Theft Bloggery
Clemens Vasters had his blog ripped in full and reproduced elsewhere. He has updated his copyright notice accordingly. As long as the DMCA stays out of his copyright notice, I don’t mind at all. 🙂 Here’s something for the community:
Quoting and commenting is a good thing, plain theft of intellectual property isn’t.
Amen to that.
-
Wi-Fi Terrorism
Wired: insecure 802.11b access points are a threat to national security. Secure yourself or you’ll get smacked down by the Department of Homeland Security.
-
AutoPackage – Introduction to the Next Generation Linux Packaging
OSNews has a full-length article about Autopackage:
If you’ve used Linux for more than ten minutes, you’ve almost certainly come across the nightmare that is package management. You know what I mean – dependancy hell has become legendary and it’s no exagguration to say that one of the most offputting aspects of Linux for a new user is the lack of InstallShield type 3 click installs. This article looks at how we ended up in the quagmire of RPM and dependancy hell, and then moves on to talk about a possible solution in the form of autopackage. It takes a high level overview of how autopackage works and what it’s capable of. If you want more technical details, check out the website. Finally, this article assumes only that you’re interested, not that you have any Linux experience.
Hmm. The conclusion among many is that RPM is not an ideal solution, but RPM alternatives like .tgzs, apt-get, gentoo emerge, and others also tend to have their quirks. I read somewhere that Red Hat is working on a next generation RPM. What problems will it solve? What problems will it cause? I don’t know.
-
State CIO Changes
This week alone five state CIO’s have left the service of their states: myself, Richard Varn of Iowa, Larry Singer of Georgia, Judy Teller of New Jersey, and Rebecca Heidepriem of Wisconson. I think that three of those are due to Governor changes. I expect more in the coming weeks. These changes are likely to bring some changes to the complexion of eGovernment across the states. Tom Davies writes about this in the latest issue of Governing Magazine.
Wow. That seems like quite a shakeup.
-
Open Source SourceForge
LWN has a good summary of the current state of open source forks of the sourceforge codebase. It also announces GForge, a cleaned up version of the last beta that VA Software. GForge is forked from alexandria 2.61pre4. Here’s a good summary of the current state of things:
The Debian project’s Debian-SF package is based on alexandria 2.5, the last full release before VA Software withdrew development code and removed the CVS repository. The “Savannah” fork (http://savannah.gnu.org/) is derived from the v. 2.0 alexandria release code. BeriOS Developer (http://developer.berlios.de/) forked a codebase from a very early alexandria release, maybe v. 1.5. The sf-genericinst and X-Forge projects seem to have died. XoopsForge and GBorg/GBSite are clones, but otherwise unrelated.
-
Samba Pushes the Boundaries Again
Dustin Puryear at O’Reilly’s Linux DevCenter covers some new features in Samba 2.2 and upcoming features in 3.0. I’m excited about 3.0 supporting Active Directory.
-
Generating One-Time URLs with PHP
Daniel Solin at ONLamp has a cool little PHP tutorial up about creating one-time URLs. The concepts and code are clear, but I think the best part of the article is the Summary/what to do for a live implementation:
This article has presented a quick tip of how you could generate URLs that only can be used one time. It should be said, however, that for a real implementation of this function in a business environment, there are a few additional considerations to take. When the number of active keys grows past a few hundred, is it a good idea to read the whole file directly into memory? Is it wise even to store them in a plain-text file in the first place? Maybe a MySQL database would be a better choice? Additionally, consider the possibility of getting tokens “hijacked” directly from the
urls.txt
file. For getting this 100 percent secure, you either need to protect the file by setting very restrictive permission on it, only allowing the user executing your PHP scripts to read it. Or, you can simply dump the plain-text solution, and convert to a SQL-database instead.