Ok, ok - it is a worn out subject. The free desktop (or as otherwise known open source software desktop) story is making rounds in the blogs and establishment news again. The arguments in the comments end up revolving around ether of the the following
Oh, it hurts. Excuse me for repeating - because ms windows comes installed on your computer and everyone "knows a guy" who can lend a copy of their favourite software. Or you could download it from a warez source. I could actually argue that software piracy is very good for Microsoft's coffers. Not so much for Adobe and friends. But I digress. Since you already have a working thing installed on your box, you would just use it. That is fair and square. Unless you are an enthusiast. But how many people just want to get on with it and how many want to tinker? How many proud shed owners do DYI in there and how many just escape from the missus? Sorry, I did it again. Have you tried to get a naked PC or laptop? Preinstalled desktop linux is a new feature on the mainstream market, so there isn't that much uptake yet, althogh the eeepc was selling like hot cakes around Christmas. Is it that misguided bedroom creatures thinking the girl comes with it? And your settop box under your plasma probably has a free software infestation on it. But hey, nobody is otherwise doing it. Right. Except on servers and geek desktops, and some commies in third world countries, and paranoid anti-american governments here and there.
So I want to talk about:
1. Why atheists are angry;
2. Why our anger is valid, valuable, and necessary;
And 3. Why it's completely fucked-up to try to take our anger away from us.
So let's start with why we're angry. Or rather -- because this is my blog and I don't presume to speak for all atheists -- why I'm angry.
A wonderful passionate angry atheist rant.
+++ girl
It seems I'm not alone in not wanting added complexity in php.
So what? I would rather the core developers spend more time implementing Namespaces than some feature no one in their right mind would use. People would use Namespaces and people advocating subclasses can use Namespaces for such a feature.
Don’t Advocate Subclasses (Inner Classes) - SantosJ
From a 'theoretical' perspective php is weird. Really strange. It has some low(ish) level features, for example the semantics of a function, the lack of nested functions and closures, as well as high level ones - the runtime symbol resolution, .i.e. variable variables and the $$func() syntax.
Googles Summer of yawn. - Google's "Summer of Code" has started and they have announced a few PHP projects. Some of them look interesting and useful. However, I am going to pick apart one in particular, that to be honest, looks neither interesting or useful: The PHP Macro Preprocessor.
....
Why does the PHP Preprocessor need to be stuck in a world of #ifdefs and #includes? Instead of blindly copying what the C preprocessor does, why not focus on the languages strengths and deficiencies? The object system of PHP needs to be looked at, and see if it can be improved upon through a method of code transformation.
[sacrificial rabbit]
I sooo totally agree with Jonnay on this. In fact it is simply like reading my own thoughts, just put it better english, , ok, nearly. But what to do about it? I don't really know, I'm afraid I chicken out from digging into the guts of php. When I last looked there it was really scary.
I know that I often express myself in an overcomplicated way. I hope I don't do that in code. I'm really amased how people overcomplicate stuff in their minds. This particular rant is triggered by me wandering around the net flicking design patterns in php web pages.
Guess what? They are complex beasties. With multiple hierarchies of classes doing loads of complicated stuff over a lot of lines of code.
Take a look for example at Observer Pattern. Actually not a very bad code. Still on the big side. Still maintaining the dual observer/observed 'magic' separation. Compare it with this hooks implementation, the code at the bottom of the page. The latter is designed for a more complex scenario, i.e to mimic aspects in php, but still manages to be simpler.
But the best example, I suppose, is how do you code a strategy pattern in php? A typical code would be something like Strategy Pattern. Not a bad code. Well described, documented, etc... But wait! A startegy is:
The Strategy pattern defines an object that represents an algorithm for a particular task.
But algorithm == function (or method), isn't it? So the variable function problems is I think this should do it. Yep, for complex strategies you might need to compose stuff, but still there are surely better ways, rather than having these long hard java/c++/... inherited ideas.$func = "a_function";
...
$func()
It seems the net is infected, again... There is a bad bagle trying to spread around. genetically modified I suppose. Sending emails like mad, trying to make love to your computers. Not nice. Not good at all. It leads to mistrust. Don't you ever think to use whitelists - do you know who rooted the white listed box?
If you haven't noticed I can't stand rooted boxes, they mess my logfiles
What should be the language for the web? Many people will swear it is php. It's best features are immediacy and the fact that it does not look scary, initially at least. Loads of libraries as well. Some will say ruby - not sure about that, never really used it. I - don't know.
Programing the network should be seamless. This means that the hard things should have obvious solutions transparent in the language constructs. For example a web gnome druid like code snippet shouldn't look far harder than:
druid (step1 step2 step3 step4)The webserver coming with plt is a good example for this style of implementation - here is a snippet:
Fun. It's been some time since my last travel. So here we go again. No smoking at Napoli. The airport that is. Nothing to do there. Some IR netbooth. There was wifi, but it did not want to be convinced to cooperate. Maybe I was sleepy. Maybe it was grumpy, don't know. Yes, the flight was delayed. After some more waiting boarded and to my surprise I was comfortably seated in a first class seat. That meant more legroom and Net I need that.
Obviosly arrived late at Rome. Some Romans in green jackets tryed to herd me to gate C11. I've managed to break away. You see, I'm no sheep. So there I was rushing around the Roman airport looking for gate C11, passing through passport control and stumbling upon a mega queue to board. I was getting that flight! I can't believe it.
Am I lucky? Whenever I travel there is something going on. Something happening. This time my flight is delayed. Fair enough, but I might miss my connecting flight from Rome to Naples. Wich is not fair at all.
That's a funny thing. In the past I have been delayed, from the morning to evening. Stayed at the end of the airway, wiating for the enginge to start. I was ready top push the bloody plane. The captain refused to speak to the passengers, and relayed everything via the board crew, the brave souls, simply because he was shy of his bad english. Yeah, yeah, and I should feel safe with that bloke - all of the information up there is in english.
So let's see what this will bring.
update an hour later - Still waiting. Asked to come back in half an hour yet again. At least I'll use up the t-mobile minutes
Yet another half an hour later - checked in. Hate waiting for the security checks, but don't want to get blown up either, or stabbed with a very sharp Gilette mach 3.
Ok. There are two things I'm (apparently) working on drupal-wise. The dependecies api and the relations api.
As far as the rest of the world is concerned they are generally vaporware.
My not new year resolution is: I will change their status from vapor to gasware
What does that mean? Gases sometimes are explosive. Vapours often are intoxicating. Make your choices. I've made mine.
Oops, sorry, I promise a simple themes collection based around this very design for early 4.7. And as you can see on the right there might be others ;=)