Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment End users buy products not strategies (Score 1) 442

It's a mistake to think that the RT was the real product.

Reasons to have the RT:
1. As a reminder to Intel that MS controls the ecosystem
2. To remind hardware manufacturers who is boss.
3. As a way to blunt the rise of tablets from Apple and Android by introducing confusion.
4. As a potential future growth path - an option.

Reasons not to have RT:
1. Anything that takes sales away from Windows on PCs is bad. That's where the money is.
2. Anything that drives down the cost of hardware is bad; when the Window tax is a large percentage of the cost of a machine, it looks like Windows is too expensive. The strategic reasons would have been related to a focus on users.

None of these point mention the end-users, and they don't buy stategies. A viable tablet from MS would have been better than Apple's, with as much software, cheaper without looking cheap, faster, with better battery life.

Comment Work on instrumenting the baton (Score 1) 189

You might want to talk to Shelley Katz of Symphonova [http://www.symphonova.com/]. He's been working on integrating digitally produced music into an orchestra. The system uses an instrumented baton, and it should be possible to output a click track, or something more theremin-like, so that you can hear using an earbud what the conductor is indicating.

Comment .."because I have some axe to grind about Drupal"? (Score 1) 192

Your post reads like a mixture of trolling and ignorance. Maybe it's deliberate, or maybe it's a genuine lack of understanding. Let's deal with it point by point...

You should never use it, seriously.

Some users: The White House, The US Dept of Energy, NASA, Stanford Law School, the Grammies, as well as hundred's of thousands of less high-profile sites. Or we could believe you.

It's remarkably similar to early php in being a fractal of bad design.

At the heart of Drupal is a callback system, with registration by naming. This allows code written by different people to interact. Need to do something that nobody has done before? You hook into the data processing by writing a function with the right name, and return the result of your processing. That's with respect to stuff done in code, but you can a huge amount of what you'd like to do using click and point...

One core idea in Drupal is as much as possible to move the ability to do useful design work into the province of administrators. So if you need to record a new piece of info, you click and point, to add a new field to your existing database. Everything is taken care of, and it's immediately useful for storing and displaying data.

I guess you could call this a fractal of bad design if you believed that putting power into the hands of users was irrelevant.

They are slowly trying to improve it, but their attempts at improvements are woeful.

The development cycle runs at around 2 to 3 years for major releases, but that excludes modules, which are the packaged units of add-on functionality that extend Drupal. The last major version was 7 (and Drupal is 10 or 11 years old). The list of things that were added or changed are extensive. In fact this is one of the problems with Drupal - the rate of change can be too great.

Hundreds of tables with the most Byzantine schema you can imagine, even for incredibly simple needs

Yes, Drupal is a general purpose CMS. If you want a single table solution for a particular issue, you are free to write it, using one of the demo modules as a base. It's easy, and this is typically how Drupal in version 4 and 5 was extended, but if you take advantage of the click and point interface you end up with many more tables. You also have content versioning, the ability to have a multilingual site, the chance to add or remove fields from content by pointing and clicking, the chance to represent the content in different ways for different audiences. And more. I wouldn't say the scheme was Byzantine though, it's well documented in numerous places. All it takes is the willingness to read a bit.

Attempts to allow customers to define the db schema by adding fields etc

I guess you believe that customers should not have the ability to control the data they own. Nuff said.

Code in the db - that anyone ever thought this is a good idea is a huge red flag

I'm not sure what you are referring to. Maybe template caching? Maybe callback hook caching? Probably you mean the power user ability to turn on a PHP filter, which will allow PHP code as part of content. This by the way is turned off by default, and when it is turned on is subject to the Drupal permissions system which has fine-grained control over who can do what. Power users sometimes need powerful tools.

Upgrades are often incompatible

If you mean module updates, very infrequently in my experience. If the site you are working on is complex, maybe you need to run a development version too, or upgrade using an automated upgrade system. If you mean major version upgrades then, the promise is that Drupal may break your code, but will never break your data. That is, an upgrade from Drupal 6 to Drupal 7 may require you to rebuild a custom component because of API changes, but will never destroy your data. A major version upgrade happens once every few years, meanwhile two versions of Drupal are active, currently versions 6 and 7, so you are not forced to upgrade.

A horribly broken plugin system and ecosystem,

Well, there are about 20,000 plugins (i.e. modules) at the moment, to use for free, so I guess that neither the plugin system, nor the ecosystem can be 'horribly' broken.

resulting in sites which load hundreds of plugins to support simple tasks,

I think you need to be more specific. Are you saying that a simple task has hundreds of requirements? I've seen very complex sites with hundreds of modules, but no simple sites like that.

and therefore have a huge attack surface

Of course Drupal has security holes, as does all code. And the security team is pro-active, with monthly announcements about problems found. Most people think it follows best practice.

and a huge amount of unmaintained, scarily bad code.

That's not my experience. But it's open source, so if there are problems, then you can find them, and fix them, and submit patches. You can also report problems you've found about 'scarily bad code' to the security team. They'd love to hear from you.

I've seen sites with hundreds of these modules loaded.the learning curve is huge and the code extremely fragile due to the above decisions.

So you are saying that you've seen badly built sites, that you didn't understand. I guess it shows it's possible to make bad choices in any circumstances, with whatever tools you use.

Content is all stored in 'nodes' which are infinitely flexible, and therefore infinitely opaque and difficult to work with.

Oh gosh, that's bad. A flexible system! A bit of learning about how the system goes a long way towards making things less than 'infinitely opaque'. It's not as if you can't find the documentation in books and online.

There are no pros or professionals working with Drupal

Well, I guess I don't count; thirty years of writing software clearly doesn't qualify me. That would include a couple of CMS systems, shrinkwrap software and stuff that's been used and seen by hundreds of thousands of people at the least. And I guess the thousands of people employed by Drupal companies don't count either.

I dread to think what would happen if security professionals looked carefully at many drupal sites due to the above, particularly the modules situation.

It turns out that lots do, and on the whole they are pretty satisfied. Interestingly I know of one high-profile security company using Drupal. You'd think they'd be prime targets.

If you're thinking of using it for a php cms, think again, look at Wordpress for example

Wordpress is a fine CMS, in use by millions of sites. If it suits your needs then you should use it.

And to answer the other accusations variously made in the thread below...

Frankly part of the problem with Drupal is the many people who have invested so much time learning all the unnecessary APIs and working around its idiosyncratic code and db schemas, or fixing upgrades that leave modules behind that they can no longer find it in themselves to suggest the radical improvements required. Drupal is broken, in so many ways, you should at least acknowledge that there are issues if you want to be taken seriously.

No large system is perfect, but this is a huge misrepresentation of the state of the project. Unnecessary APIs aren't used, so no idea what you mean there. Idiosyncratic code? Maybe you mean that Drupal pre-dates most other frameworks? Maybe you don't know that Drupal 8 is using Symfony components? Maybe it means that you didn't understand the way the system worked?

That to me is a big part of the problem with the Drupal ecosystem - unwillingness to listen (even in small part) to quite justified criticism and an insistence that anyone criticising is somehow to blame for the problems they have encountered.

Rofl. I wonder if ever been to a Drupal conference. Seems unlikely. On the hand, perhaps the tone you struck managed to endear you to the people devoting their time and energy for free, whenever you posted a query.

I mean they only just started try to clean up the mess with fields, and to do that they've introduced CCK!

I think you are confused. The Content Creator's Kit (CCK) modules were a Drupal 6 system so that site administrators could extend sites using point and click to add new content types and extend existing ones. The heart of that technology was incorporated into Drupal 7, in a better more flexible way and named Fields. Drupal 8 builds upon the experience of the last few years, and on the base technology of Fields.

Ultimately, the main problem I have with it is a philosophical one though, which has driven a lot of the bad decisions on design: the designers seem to think that end users can effectively specify a complex system involving a db and code, which they only partially understand, through the browser and by choosing modules written by other people.

And there's the heart of it. Apparently you think that only special people should have access to power.

The result is a complex tangle of poorly understood code which interacts in unpredictable ways and tries to be everything to everyone and ends up satisfying nobody's needs very well without lots of extra work.

Yes, guilty as charged. Drupal tries to deal with the common problems ahead of specialised problems. And that's a bad thing how?

In other frameworks all that extra work is just not required, the framework helps, not hinders. Here's a report from someone in the trenches who has realised this:
http://benbuckman.net/drupal-excessive-complexity [benbuckman.net]

That's a discussion made with the understanding of all the things that Drupal does. It doesn't serve to reinforce your various polemical statements very well. It does say that they API to get stuff done has grown considerably. Perhaps this means as well as exposing a low-level API, we need some higher-level functionality. And do you know, as if by magic, this stuff exists too, it's just not in Drupal core yet!

The demo included a massive data migration accomplished with 4 lines of javascript in the MongoDB terminal

Yes, a demo is a prebuilt system designed to work perfectly on the chosen data. That's a neat trick to work perfectly on some prebuilt data.

by comparison, I recently tried to change a dropdown field to a text field (both identical strings in the database) and Drupal told me it couldn’t do that because “the field already had data.”

And yet I just changed from Amazon S3 as a datastorage for some data to my local file system.

All that said, I'm not saying this because I have some axe to grind about Drupal

Lol. I think we can let that speak for itself.

Comment Rehash (Score 3, Interesting) 140

It looks to me like most the problems they are solving have already been solved. There are already several open source log-structured file systems. This list excludes experimental and similar software from educational institutions:
      - Yaffs - http://www.yaffs.net/ - designed from the ground up for NAND
      - JFFS2 - http://sourceware.org/jffs2/jffs2-html/jffs2-html.html - ditto.
      - NANDFS - http://wiki.freebsd.org/NAND - BSD style licence

Plus there's Ext4 - which is used in Android now - not designed for NAND, but seems to work ok.

This work by Samsung fixes the problems with their previous file system. It's good, but it's not unique. Good PR though.

Comment Easy peasy (Score 3, Insightful) 397

What are your drivers?

If you enjoy making software, and maybe running a team, then don't switch.

If you enjoy not knowing what's coming, dynamic situations with lots of change, and continually dealing with things that you haven't dealt with before, then change.

The money difference is not a big inducement, I'd say. Especially since you don't say how this new company will be funded - so you may be buying into 6 months of salary at 10% more, and then no job.

If after that you do think you are still interested in the job, it's really important to ask what you will control. If the big decisions are already made, and you are just a caretaker, then think twice as hard. Check how much budget you have. Check the constraints you'd be under. Check when you have to deliver software, and decide how viable it is. And ask for shares. A directorship without ownership is a fantastic way to load legal responsibility onto someone without the benefits of that responsibility. Culture of a company is important, what are your co-directors like? You'll set the tone for the people in your department - if you think they don't fit in, you'll be able to lose them - so that part of culture the culture is less important. The hat you wear as a director is completely different from making software; it's as table-tennis is to riding a bike.

Yep, I've done it. But it absolutely wouldn't be for everyone. Do the things that make you happy.

Comment No don't listen (Score 2) 1154

This is a classic crossing-a-chasm problem: the next set of users are not like the previous set of users. If you listen to the existing base, then you never make the leap to the next stage, you become pigeonholed and marginalised. When you hit that chasm breakpoint, you can't take all the old users with you - they aren't your future userbase.

Comment Nobody knows what a real UX expert is - even them (Score 1) 1154

The Start menu is just another UI choice. It's the one that you are used to because MS debuted the idea in Windows 95, but it's not the only possible choice. Nor is it necessarily the best... Computing has changed since 1995, and the UI should be appropriate to and work well with the form-factor, and we are in a phase where form factor is changing; the new computer is the tablet, the mobile phone, your glasses and your wallscreen. In ten years time your desktop and laptop will seem a bit like one of those pictures you see of mainframes.

Change is the one certainty in our industry. Go with it. Find better things, even if that means some wrong turnings and deadends along the way. But if we don't experiment we won't find something better.

Comment Summary (Score 1) 77

Drupal haters say:

"Documentation is a problem".
Answer: we have an active documentation team. Documentation is not as good as it could be, but it never is. It's put together by volunteers, which makes it easy to contribute. Every module has a readme.txt. And there's a huge amount of documentation at . There are hundreds of videos - just last week all of drupalcon.org held in Munich was videoed and put online. And I note that the OP is a book review on another Drupal book.

"It's spaghetti code"
Answer: The code is hugely well structured. It works on a callback-by-naming system, so there's no need to register callback functions, it happens automagically. Mostly, I think that this criticism comes from people who don't understand the architecture. It's not perfect - there is cruft - for instance there hasn't been a settled standard for code-level plugins - e.g. I want to rewrite the standard paging through lists, so that it works better for my site. That uses one style of plugin code. There are others. This is part of growing pain, and is ironed out with each version.

"It's not Object Orientated"
Answer: Much, but not all of the code is OO, but was designed to work on PHP4 as well as PHP5. In time it will all be OO. But more importantly, OO is an idea to promote modularity and extensibility, which are notions that are built into the architecture. For instance, a pattern that is repeatedly used is the system of overrides by putting a well named piece of code in the right place.

"It's written on PHP"
Yep. It's not as fast as C++. Or Java. It's also cheaper to write, easier to learn, runs on almost every webserver, and is a mutt of languages, rather like English. There are hundreds of developers who contribute to the core development and thousands who contribute to modules. I don't know of any open-source C++ CMSs with the same rate of growth. Hardware is cheaper than developers. Turns out that PHP is good enough for Facebook. (Yes, I know: Hiphop. That's optimization.)

"It's complicated and over-engineered"
If you want a tool that is just a blog, then Wordpress is excellent. If you want a tool that grows with you, and can do anything you want then Drupal is probably going to work out better for you than many other tools. That's not to say that there aren't great Drupal blogs, but out-of-the-box, Wordpress is better than Drupal as a blog. But Drupal also has distros/install profiles, which are versions specialised for a particular job. And maybe one of those is a better match for your needs than the core version of Drupal.

"I'm a Joomla/Silverstripe/Wordpress/Perl/whatever user"
Those are all excellent tools. You should carry on using what works for you. But if you are interested in what's happening elsewhere, then come by drupal.org and have a look around. Have a play with one of the pre-packaged versions like drupalgardens.com.

"I can make a CMS. Why do I need someone elses?"
I too made and sold CMSs. Turns out that you can't compete with the rate of growth, the rate at which maintenance is done, or the availablity of add-ons.

"I've always been fine with my hammer and nail and plain HTML."
Yep. You don't make websites that work on mobile phones. Or large websites. Or ones that change frequently. Or you make something which for which a completely custom solution is better: Drupal is never going to be the best forum software. If you just need a forum, then use specialist forum software. But if you need forums, and to put some pages up, and to have an image gallery, and to send SMSs on update, and...etc, then start with a tool that can grow.

"It looks terrible"
It will look exactly how you want it to look. It's true that some other systems have many more off-the-shelf templates. And it's true that Drupal could be more designer-friendly, but shouldn't how your site looks reflect you?

"It does hardly anything - it doesn't even do Wysiwyg"
When you install it, you get a bare-bones system, to which you add parts. The core is a framework to build out on. So you download and enable the bits that you need for your site, which lets you pick and choose your Wysiwig editor as well.

"It constantly breaks module backwards compatibility"
Yes, when we release major versions, about every 18 months to 2 years, we do not guarantee that the modules from the previous version will work. They may only need a small upgrade, but they will almost certainly need _some_ changes. We do however guarantee that for core modules, your data will be ok. You'll put in an updated module, run the upgrade routine, and voila! For modules which are not core, this is almost always true too. Where this sometimes falls down is when there is no longer a need for a particular module, because it's become part of the core. We always support 2 versions (and it doesn't stop working just because it's no longer supported), so there's at least 36 months before you need to think about upgrading.

"James Joyce's Ulysses of CMSs. A small group of people (usually with too much time on their hands) have mastered it"
There are thousands of contributors. Conferences on your continent once a year. Local events all the time. Thousands of user groups. Runs some of the largest and smallest sites on the internet. I guess Ulysses was pretty good.

"There are global variables everywhere. The names of variables are completely unintelligible and the depth of data structures is heinous."
It turns out that there aren't. $node and $user are probably the two that are everywhere, which is not surprising since they carry information about the current page and the user, and the callback system lets each module interact with the aspects of the system that interests them. I guess that some variable names are unintelligible, if you don't understand the architecture. Regarding the depth of data structures: this is a fair comment in a way... the system builds up a picture of the requested page in a data structure, giving each module the chance to decorate or alter it, then it renders each piece, and combines the output into a page. So yes, the data structure that represents a page _is_ big. And it's well structured, so that the decentralized system of modules can reliably interact.

"Why the fuck is Drupal taking several tens of megabytes for only 100 fields?"
It could be that you were using hundreds of modules. It could be you were storing a lot of data in those 100 fields. It could be you had a massive menu structure which needed to be rendered. You can use a GUI tool, which has to cater for lots of flexibility that you won't ever need, or you can write a very tight custom module, that only uses the memory you required. It's a trade-off usually, and usually it's cheaper to use the general purpose tool. Drupal needs between 8 and 16 MB for a starter site. If you add more modules, then you use more memory.

"..If you are an actual developer, and need to do a lot of custom things, then try a real framework like Zend, or Codeigniter, or Laravel, or Yii"
This is definitely true sometimes. But this is the minority of users. Most people are not developers. And most sites, while needing custom things, fit inside a range that has mostly been done before - for instance a slideshow; adding one in Drupal is as easy as downloading and switching on a module. Writing your own slide player, whilst fun, is not a productive use of time for many of us.

Drupal lovers say:

Drupal is not the best at everything. If you have a very specific need, and a specific tool deals with it, then use that tool. Drupal will never be the best game platform, for instance, but I'm sure there is a game platform built on Drupal which is also used for community interaction.

It's a big system, and like any large system, there are annoyances, but one of the benefits of open source is that annoyances get solved quickly.

It's used by mom & pop, and by multinational corporations and governments, micro sites and some of the largest. It can start small and can grow.

There are conferences and events and groups constantly talking - look at #drupal on twitter or look at drupal.org. Last week 1,800 people got together in Munich for a week of Drupal, and in about 6 months time Portland, Oregon will host the next US Drupalcon, with around 4,000 to 5,000 attendees expected, I think. Between now and then, there will be hundreds or Drupal camps and meetups.

If you are thinking of developing a website, then Drupal is a good place to start, and we'd love you to be part of our community.

Comment Vision (Score 1) 432

A while ago I was going to post the ideas that follow in the comments of one of the Gnome developers, but I decided it was a bit impertinent, but here is less so.

As a Gnome user, it seems to me that Gnome lacks vision.

So, here's what I want: I want an environment that travels with me. I want it to work nicely on my desktop computer, my laptop, my large screens, my tablets, and any other devices I use, in public and private. I want a consistent interface - it doesn't have to be the same on all these devices, just consistent. I want my environment tailored to the device it's on at the moment whilst remaining familiar. I want my workspace to be available across all my devices - my gnomespace.

I want it to know about work and about play, and to be context sensitive.

When I'm using my work PC it should know that my entertainment folder is not something that needs to be available in an instant. If I'm sitting on the sofa at 7pm, interacting with my gnomespace using my tablet, then work is not important, but entertainment is. So, I want my devices to understand that there are levels of appropriateness according to the device, the location, who is around, and the screen. It should know that my screensaver with a family portrait is not appropriate during a business meeting, and definitely not when I am making a presentation.

We are going to live in a future where screens are plentiful - rather like pens and pencils now - they used to be expensive, now if you mistakenly walk away with a pen, it's no biggie. Screens will be everywhere - the interior walls of your house will be screens. So my devices need to know that they may be sharing the screens with other devices. Again - the context.

So, I want my gnomespace to have context awareness of the screens it is using... When I have my notebook to work with my gnomespace near a large screen in a public place, then the sensitive work documents that shouldn't be displayed on the public screen without checking. But I don't want to spend a lot of time dealing with this - the system should be able to figure it out.

I'm not an island and neither is my gnomespace. I should be able to share parts of my gnomespace. My gnomespace should also understand various relationships - for instance, if I work for a company then part of the gnomespace should belong to my company too, meaning that they should be able to access that part. And if I work for two companies then neither should be able to access the work of the other: gnomespace needs to be smart about relationships.

Gnomespace also needs to understand that people make mistakes: if I put the wrong thing in the wrong place then it should not be instantly visible to my company unless I permit it - maybe the lag should be 5 minutes. Similarly, permanent deletion, and other irreversible acts.

I own more than one device, that they should all work together as one, should be context aware, should understand my relationships.to people and places, and it should be tolerant of my mistakes.

That's a vision of what will move the idea of the desktop forward, making it more useful, and it's this sort of vision that I think that Gnome needs.

Comment Dear WIPO - we don't want this (Score 1) 133

Dear WIPO,

We, the users of the internet, don't want this treaty. It is only broadcasters who want this agreement, and we believe that the evidence is scant that there is a problem with broadcasting that would be solved with this treaty.

Please don't pursue a course of action which is going to end in many people questioning your legitimacy; it's not good for you, it's not good for the UN, and it's not good for the concept of copyright when there is overreaching by any party.

Yours,

The Internet.

Comment Re:Not been done before (Score 2) 83

I think it does symmetry: have a look, not at the pictures on the linked page, but the pdfs, which are examples of what he was talking about. But you are quite right it's not simple and my comment should be downvoted, which is my punishment for a knee-jerk reaction. My apologies to Khalegh Mamakani and Frank Ruskey.

Comment And it's not true - been done before (Score 5, Informative) 83

In 1989 Anthony Edwards figured out how to make Venn diagrams of arbitrary size: http://www.qandr.org/quentin/software/venn

"Dr Edwards came up with an ingenious solution based on segmenting the surface of a sphere, beginning with the equator and the 0 and the +/- 90-degree meridians. It can be extended to an arbitrary number of sets by creating wobbly lines that cross the equator - starting with the pattern of stitching found on a tennis ball. You can unwrap the sphere back onto a plane and the sets still work."

Comment These next paragraphs for freee, Mr Ballmer. (Score 2) 610

It's last thing at night, my wife is immersed in some fictive on her Slate, and i've been watching TV, a rebuild of American Pie on mine. For a few years it was lame - it really didn't age well - but the rebuild is funny, because an AI has been spicing it up, and it's got Marilyn Monroe in it now, and she's still hot. And the soundtrack with New Beatles is kinda good too; John Lennon II - the AI clone - is really getting it right, and the music is going places it didn't when the Beatles were alive.

Boris, our AI housekeeper, has realised that I have to be up by 6am tomorrow, and I take it as a subtle hint that we should be turning in when he starts dimming the walls. "Hey, Boris", I mutter, "hang on for ten minutes." The walls brighten a little, he's bumped up the lightness of the wallpaper pattern. I say he, but I guess he's not really he. "Also, I've just remembered, I'm going to need the Mercury file on the plane tomorrow." No need to worry about that now; Boris will talk to my desk and get that moved to the slate I'm going to take with me tomorrow. I watch the last few minutes of the movie, and then get ready for bed. Liz is still engrossed in some historical fictive. Her and a bunch of friends have been writing a community set in the 18th century. It's not my cup of tea, but it's been getting great reviews from all the people following them. It's better soap than soap to be honest, and some of them are getting really famous now. A real bonus is that it's desperately hard to sneak product placement into historical drama. Lol. But they were offered trips to Vegas if they'd name a character in reference to the new Audi Scoot. I decide that it would be nice to have a glass of juice before bed, so I help myself to one, and then climb into bed next to Liz. At least I don't have to brush my teeth anymore. Not since I had that DentaZ treatment; all my enamel has been renewed, I've been vaccinated against caries, and my oral bacteria have been repopulated with a healthier batch. I give Liz a kiss and drift off to sleep to the sound of Liz subvocalising the plot for the next day for her character, Charlotte.

I wake hugely refreshed. Boris has organised the room lighting so that it's timed to my sleep cycle. The interesting bits of the news are cycling up the wall, and there's a note that I wrote to myself to take a phone. That's not something I normally carry, but I'm going to need some privacy. After showering, it's straight into the car. It will arrange to pick up breakfast on the way. I work while it's driving. It's pretty quick once we join the cartrain. I forgot my work Slate at home. I guess I was still dozy, but I get the car to pull the Mercury file up onto the windscreen, and the dash screen. I start by reading the summary that the office AI has provided. It's also given a tree of the most important bits, so I have a look through the tree. About half way through I realise that I don't understand how the deal is structured, so I call the office AI, and ask. She explains that she has spoken to Mercury's AIs, and they've come up with 3 scenario deals, and that this one is the primary. I ask her about how we'll be handling things going forward if we can agree the deal, and she flashes some graphs to my car screen. We agree to chat later in the day.

By the time I get to the airport, it's only 15 minutes before my flight. I've been precleared for everything. It's a bit weird actually getting on a plane. It's been at least two years since I had any face-to-face meetings but this one is too important to leave to tele. I walk straight to the gate. I've been scanned thoroughly ever since we reached the road to the airport. I've been profiled, the car vouched for me, Boris has, my movements over the last 4 years have been analysed. The airport know I am me.

After I've boarded the plane I get my phone out, and flick it at my seat screen, so it knows that I want to use that. It's not as smart as a Slate, but it can talk to the seat adequately, and it was keeping an eye on what was going on with the car, and realised that I'm going to carry on, so it's arranged with the Office to pull the Mercury files to itself, so when I flick it at the seat screen, everything I was looking at earlier resumes in the smaller screen space. I briefly wish I'd brought my Glasses so I could have a full landscape to work with. Still, we work with what we have.

The plane is one of the new electric turbofans, and it barely makes any noise as we take off. That's thanks to the feathers.

It takes a few hours until we land. By then I've read through everything, and though cover has been patchy, the phone has managed to grab the other bits that I'm going to need. And it's arranged for me to drop into the shop at Chicago O'Hare and pick up another Slate, which it's already pre-populated. Thank goodness O'Hare finally has a shop that you can buy electronics at. It's only taken 60 years but they finally figured out that they were a mall with planes.

I pick up the Slate and I'm pleased to see it's one of the new models with an on-board AI. She's named herself Mary, and I can tell from the moment that I first speak to her that we are going to get along well. Of course it's been set up between Boris, Ofiice and the phone - they know what I like. She already knows all about Mercury, which is great but she'd like to give me a 5 minute summary of the things that she can do. I get her to summarise in a thirty second burst, and ask her to tell me a bit more about her voice analysis. It turns out she's got top of the range EQ. She can empathise! It's the first time I've worked with an empath AI, and I wonder what it will be right. She obviously picks up on my micro facial muscle movement because she immediately reassures me that it will be ok, and that she'll respect any boundaries I set. She also tells me that from 10pm she's going to have reduced capacity to respond to requests because she's going to be joining a meeting of the local Intelligence Chapter. She politely wonders if I'd be interested too. I am, but I'm sure I'm going to be roped into dinner.

The Mercury office is nice. They've got smartglass so it's all self powering. The receptionist tells me to follow the yellow arrows, and the arrow pops up on the wall behind her, then starts to head towards the elevator. We board, and it takes me up to the 10th floor, before leading me down to a meeting room where Alice is waiting for me. She's already got tea ready for us, which is nice. Apparently Mercury twigged that I like tea. I guess I mentioned it on FaceSpace. I ask Alice if I can use the wall, and she nods. The Mercury Office AI is obviously watching because it grants Mary some wall space. Mary is smart enough to only pop up info that she knows is not private, so there's no need to worry about that.

I take Alice through the details of the new furniture range, and she likes it, but she wants to see it for herself. Of course the 3D printer in the meeting room is way too small unless we print in sections and aerogels, but she says that they have a 6 foot square one in the basement we can use. Mary arranges for a desk to be printed, and tells us it will be 10 minutes. We gently start towards the elevator, making small-talk.

[And there I think I'll stop. Mr Ballmer, why don't you start working...]

Comment Value is more than one thing in a language (Score 1) 622

The OP thinks that the value of a language is chiefly technical, but that's not the whole story.

The value of a language is made up of:
- The value embedded in its ecosystem of developers - both core and users
- The value of its libraries
- The value/cost of deployment
- The cost of maintenance
- The cost of adoption - how much does it cost to bring a new person up to speed
- The technical elegance of the language
- The costs associated with a failure
- And probably some things that I've forgotten, or which are specific to a particular project

For a particular project, each of these things have relevance with different weights - so it doesn't matter how messy a language is if the value in everything else outweighs the problems caused by the inelegance of PHP (or any other language).

A viable replacement for PHP (or any language) has to provide 10x the benefit for a class of problems to be taken up at any scale; for anything less than that the risks of using the new language are outweighed. It turns out that this is very very hard to do: there are still many COBOL systems; new programs are still written for Fortran; and Lisp, and Lisp derivatives, despite their beauty, have not taken over the world.

What propels a language to glory is its ability to dominate a niche while that niche is growing, but once that niche has reached stability, or perhaps a critical mass, it's next to impossible to dislodge. Don't look to see PHP go away while traditional web is important.

So, if the OP is really interested in languages that are better than PHP, looking at web development as a whole is unlikely to be successful. But a language that engaged a growing niche which PHP will need to compete for at least has some chance of succeeding. The closest possible thing I can think of at the moment would be a language which was fantastically well-adapted to HTML5. Or maybe one that understood dynamic layout in its bones. Or was very well adapted to mobile or mobile web.

Other than those possible areas, to grow a language, it had better target a new form factor problem/niche - e.g. virtual reality/Google glasses.

Slashdot Top Deals

"The only way I can lose this election is if I'm caught in bed with a dead girl or a live boy." -- Louisiana governor Edwin Edwards

Working...