Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

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.

Comment No to Java : not trustworthy: (Score 3, Insightful) 147

Oracle's ludicrous claims in the Oracle/Google Android trial have shown that they are not trustworthy. Do not base your work on a base where you can be ransomed. No more Java. :-( And when you read Java stories, wonder to yourself every time whether it's the Oracle PR department astroturfing Java stories in an attempt to make Java appear relevant or to attempt to repair the damage.

Slashdot Top Deals

Lots of folks confuse bad management with destiny. -- Frank Hubbard

Working...