Gadgetopia

Mar 17

IE9 Details

Internet Explorer 9 embracing HTML 5, GPU acceleration: Interesting.

[IE9] puts a lot of focus on support for the HTML 5 standards. IE9 is also expected to beef up performance, offloading tasks within the web browser to the graphics processing unit (GPU), or using separate CPU cores for certain elements of web pages if available.

[…] The new Chakra Javascript engine compiles in the background on a separate CPU core if it is available on the machine.


Mar 14

Joel Spolsky on Twitter

Puppy!: This is a larger article about why Joel Spolsky is going to stop blogging, but I really appreciated this bit at the end.

Although I appreciate that many people find Twitter to be valuable, I find it a truly awful way to exchange thoughts and ideas. It creates a mentally stunted world in which the most complicated thought you can think is one sentence long. It’s a cacophony of people shouting their thoughts into the abyss without listening to what anyone else is saying. Logging on gives you a page full of little hand grenades: impossible-to-understand, context-free sentences that take five minutes of research to unravel and which then turn out to be stupid, irrelevant, or pertaining to the television series Battlestar Galactica. I would write an essay describing why Twitter gives me a headache and makes me fear for the future of humanity, but it doesn’t deserve more than 140 characters of explanation, and I’ve already spent 820.

Generally speaking, I feel exactly the same way, and I don’t think anyone has summed Twitter up more concisely or eloquently.  This of course raises the question of why I still have a Twitter account…


Mar 14

Like, Python

Like, Python: I can’t decide whether this is stupid, or awesome:

Like, Python uses Python’s own tokenizer to essentially add keywords to Python’s lexical understanding. Python is a subset of Like, Python, so any script you’ve already written in Python is valid Like, Python and will run in the interpreter. But you can also write like you’d speak.

So, you get something like this:

#!usr/bin/python
uh from sys import exit

# Grab the user's name.
ok so like name = raw_input("yo! what's your name?" ) right

# Make sure they entered something, then say hi.
if name.strip() is actually like "":
    toootally just exit()
else:
     um yeah
     print like "Hi %s, nice to meet you." % name

 

This was sent to me by Seth Gottlieb.  Figures.


Mar 14

Battelle Expands The Database of Intentions

The Database of Intentions Is Far Larger Than I Thought: John Battelle updates his Database of Intentions to include concepts like The Social Graph and The Status Update from the social networking explosion since he last wrote about it.

Taken together (and honestly, there’s really no other way to think about it, to my mind), these signals form a Database of Intentions that is magnitudes of order larger, more complex, and more powerful than my original concept back in 2003. And while the current players in each category are clear, what’s also clear is that the battle is on to control each of these critical signals.

Before reading this, you really need to read the first Database of Intentions post from back in 2003.  Or his book.

I absolutely believe in the Database of Intentions.  Both in a larger, Internet sense, and in an organizational, intranet sense.  It seems simple – what people are searching for and clicking through to is what people want.  That concept, however, often gets ignored in when doing more practical things like content planning or traffic analysis.


Mar 12

Gigapan

gigapan: Gotta say that I’m kinda smitten with Gigapan.

The GigaPan process allows users to upload, share, and explore brilliant gigapixel+ panoramas from around the globe.

People take and upload panoramic photos with insane pixelcounts, and you can explore them via a Google Maps-like interface.  What’s neat is that people can take “snapshots” to hi-light things in the image, which you can skip through.  It’s like “Where’s Waldo” for realsies.

Some awesome ones:

This proves that all those “enhance” scenes in CSI could totally happen in real life.


Mar 11

EPiServer Goes Public

EPiServer Trumps Competition, Decides to Go Public: This is neat to see.  Not many pure CMS companies are public.

EPiServer is preparing to go public on the Stockholm Stock Exchange. Being one of the few in its Web CMS market segment to be public, this move gives the company a certain advantage.

For buyers, it is going to be easier to evaluate a public company, since all the financials will be out in the open. One might say that no one cares about that, but the reality shows a different picture. No one wants to indulge in guesswork when investing in a Web CMS product and vendor. As we know, this deal is just like marriage.

As soon as I can figure out how to buy something on the Stockholm exchange, I’ll invest.


Mar 11

Why Ad Blocking Kinda Sucks

Why Ad Blocking is devastating to the sites you love: I really have to agree with this post.  Too many people feel like the Internet is designed to be free, and there’s no expense associated with content development.

This is an impassioned plea for Ars Technica not to block their ads.  It’s worth reading.

My argument is simple: blocking ads can be devastating to the sites you love. I am not making an argument that blocking ads is a form of stealing, or is immoral, or unethical, or makes someone the son of the devil. It can result in people losing their jobs, it can result in less content on any given site, and it definitely can affect the quality of content. It can also put sites into a real advertising death spin.

I wrote about this exact same thing a couple years ago: AdBlock Plus and the Future of Advertising:

Like it or not, advertising is the currency of media. Unless you want to pay for everything you watch, read, or hear, advertising is going to have to be somewhere.

Risking a really bad analogy, it’s like a terrorist movement, — if you successfully block its traditional methods, it will just come out in more subversive ways. It’s up to us which method we let stick — but one of them will have to stick, trust me.

Still true.


Feb 17

EPiServer’s Build Your Business Seminars

Build Your Business, US Partner Seminar series: I’m headed out on the road with EPiServer in March for their partner road show.  It’s a series of half-day sessions to show Web development shops how EPiServer can help their business.

They’re free, and will be in Los Angeles, San Francisco, Seattle, Chicago, Boston and New York in late February and early March.  Here’s the schedule.

I’ll be at the Seattle and Chicago stops.  Joe Kepley from Blend will be in Los Angeles and San Francisco.  I’ll probably be present via video for Boston and New York.

Come on out.  I’d love to meet anyone and everything.  I’m friendly that way.


Feb 11

MousePath

mousepath

Tuesday’s MousePath : My friend Corey tracks his mouse movements for an entire day using MousePath.

[…] a lot of fast, straight lines up to the right corner (where I have my OSX 10.4 “All Windows” shortcut) and a lot of black dots (where my mouse rested - the larger the dot, the longer the rest) in the middle of the page, where I often drop the cursor as I’m typing in everyone’s favorite program: Word.

Feb 11

Google’ Fiber Network

Think big with a gig: Our experimental fiber network : Google is doing something interesting in the fiber space.

We’re planning to build and test ultra high-speed broadband networks in a small number of trial locations across the United States. We’ll deliver Internet speeds more than 100 times faster than what most Americans have access to today with 1 gigabit per second, fiber-to-the-home connections. We plan to offer service at a competitive price to at least 50,000 and potentially up to 500,000 people.


Jan 30

HyperPHP is Real

Facebook rewrites PHP runtime : Looks like the HyperPHP rumor that hit the Net a couple weeks ago was legit, and is getting released.

[…] Facebook has rewritten the PHP runtime from scratch. This coming Tuesday, they will make a big announcement around this project, and will make it available as open source software. […]

So, why has Facebook rewritten the PHP runtime? Because PHP is obviously too slow for their tastes.


Jan 30

Another Nail in IE6’s Coffin

Official Google Enterprise Blog: ​Modern browsers for modern applications : Google is dropping IE6 support.  Also dropping support for pre-3.0 Firefox.

We’re also going to begin phasing out our support, starting with Google Docs and Google Sites. As a result you may find that from March 1 key functionality within these products — as well as new Docs and Sites features — won’t work properly in older browsers.


Jan 25

The First Law of Drupal: Don’t Write Code

The first rule of coding for Drupal : This is one of the things I’ve learned about Drupal over the last year, and the which I’ve struggled with more than any other.  My first inclination is always to write code.  But you’d be amazed how far you can get with Drupal without writing any code.

The consistent mistake that developers make is to plunge in with the intent of writing code.

We do not write code. That’s a rule you should make with the expectation of breaking it, but with the intent of keeping it as much as you can.

If you’re a developer with any fluency in PHP/MySQL/HTML/CSS, this is a hard rule to face. If you’re new to Drupal and don’t understand the vast landscape of contributed modules and themes (design packages), it’s especially hard. You know your tools. You know how to get things done. So you reach for the comfortable and the familiar. Who minds if you’re reinventing the wheel? It seems faster to just do it your way.

With Drupal, writing code should be a very rare thing, to solve really bizarre problems.  Most of the common problems have already been sold and are configurable.


Jan 24

What is Metadata in WCM?

I going to try and impugn one of the great concepts of content management: metadata.  I’m going to argue that in the world of Web content management (WCM), it doesn’t really exist.  Well, it might, but if it does, it’s awfully slippery to define and defining it doesn’t give you much value anyway.

Classically, “metadata” is “data about data.”  People love that definition.  Every time I see “metadata” defined anywhere, it’s quickly followed by that phrase (much like I just did right there).

The idea is that metadata describes another piece of data.  So, the metadata is not the data, it’s just a description of the data.  However, this raises the obvious question: what is “the data”?  How do we sort out what is metadata (second order data) and what is data proper (first order data)?  It’s harder than you think.

I propose that there are two major theories of metadata – two major schools of thought people invoke when they say, “this is metadata.”

The Geography Theory says that metadata is such because it’s stored “somewhere else” than data proper.

In some situations, this is obvious.  In particular, the current concept of metadata in content management came out of the document management space (where most of the *CM spaces originated).

With document management, the core object under management is some binary file, like a Word document.  This is clearly “the data.”  And in most document management systems, you could “decorate” this data with additional data to describe the file, be it a category, author, status, whatever.  And today, inside Word, you can go to “Properties” and add information, and this is logically metadata because the actual words in the document are “the data.”

So, in situation when you have a clear core of “data” and the information about this data is “somewhere else” (see how this is getting weird already?), then it’s pretty clear.

A lot of this geography was dictated by format.  Back in the “golden age” of document management, applications like Word couldn’t store extra data like this, so the data was in the document management system instead (“somewhere else”).

Early versions of Ektron had the same problem – back then, Ektron only managed HTML content, rather than more structured things like XML.  So, Ektron had a tab called “Metadata” for you to store other information that you couldn’t somehow embed in HTML.  This tab still exists, even though with later versions of Ektron, you can pout most of this information directly inside XML-based content.  (What gets odd is that the datatypes differ between what’s on the “metadata” tab and what you can put in the XML, which sometimes forces you into put something under “metadata” when you’d rather just put it over with the core data.)

In other systems – especially Web content management systems – this distinction between metadata and core data breaks down.  In EPiServer, for instance, there is no concept of content being in one place or another – all properties of a page are in the same “place” (under the same “interface umbrella,” if you will), so it’s all just data.  Nowhere can I say, “this is data…and this is metadata…” etc.

This situation is very common in WCM.  There is no “somewhere else.”  All the data relating to a logical piece of content is stored and administrated together, which completely negates The Geography Theory.

The Visibility Theory says that metadata is data that’s used for some purpose other than publishing to a consumer.

Content has “publishable” information, which is data we intend to push to the consumer – the title of a news article, is an obvious example.  This is the data proper.

But what about data that’s for administrative purposes only?  One of my clients was just asking me yesterday about “metadata” to help search for content on the admin side of the site.  They wanted to be able to tag or otherwise identify pages so they could find certain pages later in amongst hundreds of others.  This is information that would never be published to the end user.

Similarly, at Gilbane Boston last month, I took a question from a woman who wanted to use a taxonomy system to categorize the quality and review state of various content.  This is very much information that will never be published – you don’t want you consumers to see you category label of “really crappy stuff I wrote after a eight-martini bender,” after all.

Both of these are perfectly reasonable endeavors, but do they define “metadata,” as opposed to data proper which is published to the end user?  If we include explicitly defined information like this as metadata, do we also include systemic information?  Is the Published Date considered metadata?  What about the applied permission set?

In most systems, there’s no way to really define what data is going to be rendered to the consumer in the presentation layer.  Maybe your template will output Published Date, but maybe it won’t, and there’s little way for the system to know that in most cases (few systems have any reason to parse their own presentation templates).

Furthermore, most WCM systems don’t really care (for lack of a better word) if you output a specific piece of the data to the end user.  It manages, stores, and treats all content data the same way – If you choose to output Datum X on your page, that’s up to you.  A WCM system has yet to ask me why I’m storing any particular piece of data.

So, in the end, when talking about WCM, I think that the use of the term “metadata” can really muddy the waters, especially for people new to the field.  Unless you explicitly acknowledge one of the theories above and explain that “this is the operative definition we’re going to use for ‘metadata’,” it’s easy to get people confused by it.

But even if you do define this, and everyone knows what you’re talking about, what have you gained?  In a WCM system where all pieces of data for a logical piece of content are jumbled in together, differentiating between what is “data” and what is “metadata” really has little practical value.


Jan 20

Daemon

daemon I don’t read much fiction.  Maybe one novel a year.  But I was intrigued to see this novel recommended by Kevin Kelly over in Cool Tools.  I’ve had the post saved in Google Reader ever since, thinking “I’d like to read that someday…”

Well, “someday” came in the form of a Barnes and Nobel gift card for Christmas which I was determined to spend on myself (read: no books for work).

Matthew Sobol, a brilliant computer game designer, dies young from brain cancer.  Then other people start dying.  Soon, it becomes obvious that Sobol left behind a legacy in code – a daemon that self-replicates, is aware of the responses to its actions (via RSS, no less), and uses video games to recruit real-life humans to its cause.

What starts as a somewhat reality-based techno-thriller gets more and more fantastic by the chapter and drifts into the most awesome question ever: what if the whole world was one big MMORPG? If World of Warcraft leaked into the real-world, what would that look like?

Maybe like the book’s tag line:

Everything is under control.  Everything.

Daemon” is amazing, especially for geeks.  In most geek-targeted books, you have an uncanny valley of credibility.  Most authors generally seem credible until they make like Icarus and try too hard, and then we suddenly have a “a GUI interface using Visual Basic” to try and track an IP address.

But Daniel Suarez is one of us.  Before writing “Daemon” (his first novel), he was an enterprise software consultant.  There’s not a whiff of artifice in it.  When one character makes a SQL injection hack (complete with SQL), I knew I was in love.  There’s not one geek misstep in there – everything rings utterly true.

The entire book is a gas.  I couldn’t put it down.  What’s amazing is that he wrote it in 2006, and had to self-publish it.  But it got a following, and word-of-mouth got around — the acknowledgements reads like a who’s who of the tech set.  It finally got picked up and was re-published in 2008.

Suarez just released the follow-up: “Freedom.”

Even better – Paramount Pictures just picked up the movie rights.  My heart just skipped a beat.  Who are they gonna get to play Merritt?  The Major?  Sebeck?  Ross?



Want to advertise on this site? Contact FM.

1