Profile

Sean McGrath

Sean McGrath

Follow this member

Member since: June 2008

Bio: Sean McGrath is CTO of Propylon. He is an internationally acknowledged authority on XML and related standards. He served as an invited expert to the W3C's Expert Group that defined XML in 1998. He is the author of three books on markup languages published by Prentice Hall. Visit his site at: http://seanmcgrath.blogspot.com

Areas of Interest:

Activity

  • The word 'cruft' is a truly excellent word. From the moment the subject of this article entered my head, I knew I wanted to use it in the title. Now I have a dangerous habit of using words because they sound right at the time, even if they are not the right words in the sense of their meaning. Needless to say this can be a problem. Call it a character flaw. I thought it expedient to hit the dictionaries on 'cruft' just to be sure.

    3 years 34 weeks ago

  • This is the second part of a two-part article about XML. The first part talked about ways to benefit from XML without taking on too much heartache in the sphere of application configuration files, machine-oriented data exchange, that sort of thing. In this part, I concentrate on using XML effectively in document-centric application areas.

    3 years 36 weeks ago

  • First up, a scope warning for this article. This is the first part of a two-part piece about XML. Here I focus on uses of XML in areas such as application configuration files, the exchange of structured, machine-oriented data, that sort of thing. In the second part, I discuss XML in document-centric applications such as content/document management and Web publication systems.

    3 years 36 weeks ago

  • var addthis_pub = 'itw'; I have been thinking a lot about autonomous, software agents recently. I was somewhat startled when I concluded that we might be well on the way to creating a large number of these things, using nothing more complicated than Web technologies. Here is my (possibly) erroneous reasoning, expressed in flashback form. Some liberties have been taken with the timing of events, hopefully without detracting from the overall point. In the beginning, there was the Web and it was good. However, it pretty much would just sit there in the ether until a human or a process (collectively a "user agent") would come along and ask to "see" something, generally in HTML or PDF form. Time passed. It soon transpired that responding to requests from user-agents by generating something on-the-fly added a significant amount of power to the Web. Soon, the whole Web became engulfed in application frameworks for generating content on demand. It too was good. Time passed. It transpired that a significant number of user-agents were not in fact, people and therefore it was much more useful to send machine readable information over the wire. XML, JSON, RDF, YAML etc. were all created to meet this need. They too were good. Time passed. It transpired that a serious amount of effort was going into automating the process of change detection on the web. Feed formats and protocols came into existence that allowed applications to sit back and be notified when something of interest occurred. Formats like RSS/Atom were joined by protocols like XMPP and LLUP. They too were good. Time passed. The change notification formats/protocols became increasingly sophisticated and machine-oriented. Soon, the major use cases for XML, JSON, RDF, YAML formats were event-oriented. At first, the primary consumers of these feeds were end-user applications which, in effect, mirrored the client-server model familiar to decades of users and developers. However, still more time passed. XML 2.0 and HTML 6.0 walked the earth. More and more event-oriented applications came into existence that did not directly interact with end-user at all. Many of the client programs consuming event feeds became server programs, living in the cloud - just like the event servers they were interacting with. Statistics for web servers began to show dramatic growth in server-to-server communication with client-server communication falling significantly in percentage terms. Nobody could pin-point when the so called "agents" running out there in the cloud became critical to the digital health of the planet. We were mostly taken by surprise. Our dependence crept up on us. Nobody had anticipated that some simple messaging protocols and data formats on the Web would have such a profound effect on the world. Here we are in the year 201x. Time still passes and still we wonder as we watch the time whiz by. Did we create this increasingly intelligent, self-healing, evolving Web? Or did it cause itself to be created by the original, speed-challenged, scalability-impaired carbon-based agent technology know as Man?

    3 years 38 weeks ago

  • There is a rumor going around that IT application design is some sort of scientific endeavor that proceeds logically from requirements gathering through to the production of "the design".

    3 years 39 weeks ago

  • First up: disclaimer. I am a computer geek. Not a medical practitioner. If you have symptoms, go see a doctor, ok?

    3 years 40 weeks ago

  • We live in a world that is fixated on the idea of aggregating eyeballs together with the aid of technology. Advertising is the obvious example of eyeball aggregation writ large. Print, radio, TV and now Internet technologies are heavily involved in finding better, faster, cheaper ways of getting more and more eyeballs tuned in to particular world views, particular value propositions, particular products. At a blogging event I attended recently, Michael Breidenbrücker put it bluntly in the title of his talk: "Let's face it: Web 2.0 is all about advertising".

    3 years 40 weeks ago

  • There are two types of integrated development environments (IDE) in the world. That is convenient, because there are two types of developer in the world. To make things even more symmetrical and just super peachy, there are two types of opinions about IDEs in the world. Those that make grand generalizations and make everything look nice and binary; and those that do not. The opinion in this article is in the former camp. There are two types of possible reaction to this...

    3 years 41 weeks ago

  • From time to time I find myself feeling overwhelmed by the sheer complexity of all the moving parts that make up modern IT environments. Even if your job is not specifically about fixing stuff, it is so very, very easy to lose entire days trying to get X to work with Y. Or trying to find some way to make X work on top of Y. Or trying to figure out why X works on its own but as soon as you add in Y, X magically stops working ... It is amazing we get anything done at all really.

    3 years 42 weeks ago

  • I am always amused when I read stats of the form: "X percent of IT projects fail". It would be funny if it wasn't so misleading. "That darned IT stuff.", the subtext goes. "It has failure written all over it..."

    3 years 44 weeks ago

  • I sell widgets. You rent apartments. My business is not in competition with yours. Your business is not in competition with mine. We both have front doors through which our customers walk. Some customers that come in my door are interested in renting apartments. When that happens, I point them to your door once they have finished with me. Some customers of yours are interested in buying widgets. When that happens, you point them at my door once you have finished with them.

    6 years 28 weeks ago

  • One of the timeless truths about personal change - of any sort - is that it is always the small things that you really notice.

    6 years 30 weeks ago

  • In the unimaginably distant future, a digital paleontologist specializing in the history of the Web will write a research grant application to the Galactic Federation. That application will concentrate on a defining moment in the evolution of the Web. A moment that happened in the early 21st century. Here is an extract from that application as I imagine it might look...

    6 years 31 weeks ago

  • I am six foot three (and a bit) tall. How tall is that in meters? I weight just under fifteen stone. What is that in pounds? What is that in kilograms? Today, it is about 14 degrees Centigrade. What is that in Fahrenheit?

    6 years 32 weeks ago

  • I have two words for you this bright spring morning. They are real words, but the definitions I will use for them, are not to be found in any dictionary. I have slanted the definitions to meet my specific purposes. I have done so without damaging the true meaning of the words.

    6 years 34 weeks ago

  • In the beginning there was the URL. A harmless, unremarkable naming convention which, in a very short period of time, has become as commonplace as a telephone number. The very structure and shape of a URL speaks to us. It whispers - no, that is too weak a statement - it positively shouts 'CLICK ME! CLICK ME WHY DON'T YOU! Click me and see what happens. Click me because chances are, something interesting will happen. Go on, click me...'

    6 years 36 weeks ago

  • The term 'database' has more facets to it than the gaudiest of fake diamonds. Somehow, somewhere along the line, swathes of otherwise sane individuals have learned to read way too much goodness into terms like 'in the database' and 'on the database'.

    6 years 38 weeks ago

  • In a recent fit of de-cluttering, I scoured my office for print publications to dump. Some stuff had been sitting in a 'read this as soon as possible pile' for literally years. Yes, I leave a lot to be desired on the self-organization front but, in my defense, the world has moved on. I read a lot. I need to, in order to keep current. It is just that these days, the vast bulk of my reading is online. During that de-cluttering, it occurred to me that it has been about four years since anything I have written has appeared formally in the traditional print media. Yet, I appear to be writing more stuff than ever before. These days, end-to-end electronic text is where it is at. Writing for the web - often directly on the web itself - is where it is at. The world has truly moved on.

    6 years 39 weeks ago

  • What is a CPU? It is a thing in the logical center of a computer that does the vast bulk of the number crunching involved in running programs. The 'C' stands for 'central'.

    7 years 3 weeks ago

  • var addthis_pub = 'itw';

    7 years 10 weeks ago

Friends' Activity

Follow other ITworld members or sign in with your Facebook account in order to view your friends' activity.

Comments

Sean McGrath's Comments (23)

  • Commented on The decline and fall of the relational database

    This is also an excellent read: Why Normalization Failed to Become the Ultimate Guide for Database Designers?

    2 years ago

  • Commented on The decline and fall of the relational database

    Hello all,Some might find these presentations interestinghttp://blog.oskarsson.nu/2009/06/nosql-debrief.htmlregards,Sean

    2 years ago

  • Commented on Pet Peeves - Unicode

    Coyote,Thanks for the detailed clarification. I cannot remember where I found the ref to Croatian string size changing but it was obviously wrong. My badThanks again,Sean

    3 years ago

  • Commented on Pet Peeves - Unicode

    Hans,"I'm assuming the author is actually aware that unicode doesn't govern all aspects of localization -- maybe that's the point of the article..."Exactly so. The core point of the article is that many who say "just use Unicode" do not know that, which is unfortunate.regards,Sean

    3 years ago

  • Commented on Open Source Considered Harmful

    Lucian,I suspect that you are right. Nature/fate/accident has found a way to allow us to deal with higher levels of complexity. I'd love to have been in a position to ask Herbert Simon (http://en.wikipedia.org/wiki/Herbert_Simon) his opinion. I remember reading a book of his - The architecture of complexity which argues for hierarchy being the timeless route to complexity management.The internet is fascinating in that the one thing is most certainly is *not*, is hierarchical!Sean

    3 years ago

  • Commented on RAM was the new disk - and it will be again

    Simon,Thanks for the pointer. Reminds me of the "sticky bit" (http://en.wikipedia.org/wiki/Sticky_bit).Sean

    3 years ago

  • Commented on Premature parameterization is the square root of all evil

    Anonymous,Mea culpa. Both fixes will be applied.Sean

    3 years ago

  • Commented on E-mail is for postcards

    Superboreen,Yes, I think gmail is a good example of re-intermediation with spam-removal as one of the value adds.Sean

    3 years ago

  • Commented on Free Linux Laptop with every inkjet printer?

    The mobile carrier dimension is an interesting one for where "laptops/notebooks" are headed. The established players - both in OS and h/w terms - are making smaller and lighter machines but the mobile people are coming at it from the other direction : making "phones" bigger and better to basically encompass common PC tasks.Then there are the dark horses : the e-book reader manufacturers...Sean

    3 years ago

  • Commented on SOHO PC Racks

    Gibson,I'm sorely tempted to put one together! Philips screwdriver in one hand, digital camera in the other.Sean

    3 years ago

  • Commented on SOHO PC Racks

    Jim,As you say, virtualization is very useful as a test technique. Nobody wants to have to set up and manage, say, a dozen (Windows, service pack, browser) variants for application testing when a bunch of VM images will do a better job.But I still see scenarios where separate boxes are needed. For example, a problem I have with using the VM option for every scenario is the doubt it creates in my head during application testing. When my app refuses to print via USB, is it because my app has a problem or that I have configured the virtualization of the USB port incorrectly? Maybe my experience with hypervisors has just been unusually bad?I also like the ease of horizontal scaling I can get for compute-intensive workloads. There is something real appealing to me just adding more slave units to a "farm" of CPUs by spending, say, 1k at a time. With bigger iron, I have to increment processing power in bigger leaps.regards,Sean

    3 years ago

  • Commented on SOHO PC Racks

    Andrzej,Thanks for the link to those Mini Systems. They look very interesting.Sean

    3 years ago

  • Commented on SOHO PC Racks

    Richard,Beautiful!Sean

    3 years ago

  • Commented on SOHO PC Racks

    Jim,I write software for a living. When debugging and soak testing its real useful to be able to isolate the application completely. Using an entire machine for that in production might be overkill but its very useful for development.Its also really handy when you have to juggle multiple operating systems. The virtualization techniques involved in sharing network connections, parallel printer ports etc. add an extra level of config that sometimes, I just plain don't want to have to deal with.I'm not against virtualisation by the way. Far from it. I just don't see it as a solution to all multi-os scenarios - not even in a SOHO environment.Sean

    3 years ago

  • Commented on Content-free acronyms

    Rory,I was surprised too I must admit. I really expected the video to just work on Mac and give me grief on Ubuntu.Sean

    3 years ago

  • Commented on Musings on photographic metadata

    Well whaddya know : Nikon P6000 with GPS in the 500 bucks range:http://www.dpreview.com/news/0808/08080702nikonp6000.aspSean

    3 years ago

  • Commented on Musings on photographic metadata

    Nick,I have seen those GPS add-ons too. Very useful. I suspect they will become standard on some higher-end consumer cameras soon given the manic focus on auto-everything that drives a big segment of the camera industry.Voice annotation is a very interesting approach I missed. Thanks!Sean

    3 years ago

  • Commented on Better backups

    David,What I would really like is a storage layer that does what SVN does without requiring any use of special commands by me or by the apps I use. A WebDav layer on top of SVN comes close... I hope WebDav - or something similar - really takes off because a side-effect of the level of indirection it entails is that all sorts of clever transparent backup magic can happen.Sean

    4 years ago

  • Commented on Only the cloud can scale

    Julien,You are right about Skype and other P2P networks. I missed that one. Thanks.I am thinking primarily of the classic multi-tiered web app with front ends, mid-tiers and back-ends.I should have been more explicit in my use of the term "scale". When I use it I am referring to not just the technical/theoretical aspects but also the economic aspects.The way I see it, a classic web app that becomes a serious traffic node on the Web needs a lot of OS instances, a scalable repository, geographic replication etc. etc. Sure you could put all that in place yourself and manage it all yourself but would your business model stack up? That is the nub of it for me.The cloud is a rental, pay-as-you go model.With so many of the business models on the web being based around eye-balls and advertising I have difficulty seeing how new enterprises will be able to make a profit if they own and operate all their own infrastructure rather than rent a managed service.regards,Sean

    4 years ago

  • Commented on Only the cloud can scale

    Anonymous,Yes indeed. Real gems do indeed get hacked together in corners and I don't see that changing.What I do see changing is that high traffic, mainstream nodes on the net will need serious infrastructure and it will be more economical to rent it as a managed service, rather than run it yourself.regards,Sean

    4 years ago

  • Commented on Building roads versus building skyscrapers

    Ger,Absolutely. Loose coupling is desirable in its many forms. (I like the coupling classification given in http://en.wikipedia.org/wiki/Coupling_(computer_science).)Just as "low load stress" is desirable is physical construction.The very concept of a skyscraper - existing in Earth's gravity, possessing mass, vertically arranged - limits the degree to which low load stress can be achieved.It seems to me that some application domains are similar. The very concept of a WYSIWYG word processor (for example) - limits the degree to which its components can be loosely coupled. Contrast it with, say, web searching (for example) - it is obvious that the spidering action can be comprehensively decoupled from the searching action...regards,Sean

    4 years ago

  • Commented on The opposite of hierarchy

    Tom,Cholarchy doesn't seem to be making many inroads if Google hit counting is anything to go by : http://www.google.ie/search?q=cholarchyThe OED (and Webster!) definitions are very odd - very alien. Plenty of hits for heterarchy out there relating it to hierarchy in one form or another. It even has the honor of a page on Wikipedia : http://en.wikipedia.org/wiki/HeterarchySean

    4 years ago

  • Commented on Building roads versus building skyscrapers

    Steve,My take on extreme programming is that it works best when the participants are the sort of multi-talented folk alluded to in the article. Without the vision that comes with concern for the big picture, extreme programming can be high on activity but low on progress.Progress requires activity but not all activity leads to progress. Re-factoring is a fantastic tool for keeping code clean and validated as the path to progress is traversed but re-factoring activity of itself, does not guarantee progress.I once saw a worked example of XP where the author said "every time I do this example, it comes out differently". The non-determinism of that makes me think "art", not science!In short, I think XP has some great ideas for making multi-talented developers even more productive. However, in this industry, the bottomless pit of need for multi-talented developers is the key bug that needs to be fixed.regards,Sean

    4 years ago

Ask a Question