The human cost of electronics

How much an iPhone or any other top of the line smartphone costs you ? 20% of your monthly wage ? 30% ?

The video below is an eye opener for anyone who thinks that he pays too much for electronic devices.

Unfortunately some people pay with their health or worse with their life for having the “privilege” to work in factory producing these smartphones.

There are also more insights on this subject in the articles below :

1.) The Guardian – “Apple urged to stop using harmful chemicals in its factories”
http://www.theguardian.com/technology/2014/mar/12/apple-harmful-chemicals-factories-labour
2.) Fast Company – “A day in the life of an iPhone Factory Worker”
http://www.fastcompany.com/3014988/a-day-in-the-life-of-an-iphone-factory-worker
3.) BBC – “‘Poisoned’ Chinese workers turn to Apple for help”
http://www.bbc.com/news/technology-12550429
4.) Upworthy – “Ever Heard Of Benzene Poisoning? Me Neither. But Samsung And Apple Have”
http://www.upworthy.com/ever-heard-of-benzene-poisoning-me-neither-but-samsung-and-apple-have-1112

Tutorial of the week: Installing Redmine on Ubuntu

Redmine is a project management and issue tracking tool. Many people use it for managing software projects all around the world. During my work with various projects i’ve used Redmine and i found that it covers most of the aspects related to software projects having characteristics like: issue tracking, gantt charts, work logs, wiki, documents, versions and what is also pretty neat is that you can connect your code repository (Subversion, Git, etc) to it.

Now after a while for my personal projects i wanted to switch from Mantis to something more elaborate and professional. And Redmine is the solution i have chosen. Unfortunately for many Redmine is not so easy to install as Mantis. It was written in Ruby on Rails and you need quite some dependencies to install it. But doing that on Ubuntu is not that hard. I’ve done it in about 20 minutes (which includes the research also) and thought that i should write a tutorial about it in case someone else needs it.

Because a while ago i decided that this blog will focus more on opinions, news and general articles and that all code examples and tutorials that require code examples will be stored on my wiki, you can find the  small tutorial on how to install Redmine on my wiki.

A truly Inspiring Conference

The 2014 edition of the Inspiring Conference has ended. If you didn’t know what the Inspiring Conference is then here is a short description. It’s a conference that was held in Kolbermoor / Germany between the 28th and 29th of March and dedicated especially to TYPO3 Flow and TYPO3 Neos, although other subjects were also on the agenda. It’s the 3rd edition and it’s certainly not the last. For me it’s the first time that i attended this conference but i knew early on that this is just what i was waiting for and now at the end i’m sure that i will come next year too.

The workshop

For me the conference started earlier because i’ve also attended the TYPO3 Flow advanced workshop held by Bastian Waidelich on the 27th of March in Bad Aibling. The workshop was very interesting and I’ve learned some new stuff although i’m not such a beginner anymore with Flow.

First day

The first official day of the conference kickstarted with an amazing laser show with an epic musical background.

Video credits: Mirko Kaufmann

After that it was time for community manager Ben van’t Ende to talk to the audience before Robert Lemke’s keynote and Christian Müller’s talk called Neos 101. Of course the coffee breaks and the dicussions (people still amazed by the laser show) couldn’t be forget. Then it was Sebastian Kurfürst’s task to get the audience acquainted with Typoscript 2.0. Shortly after 12.00 Martin Helmich produced one of the most interesting presentations from my point of view, this was a presentation about running TYPO3 Flow on HipHop VM and some benchmarks compared to running it with Apache in different modes. Conclusion is that Flow can be run on HipHop with some small modifications and this does improve the speed of the application, however it is for now a little bit unstable for production use. Regardless of that i will have to try this myself just for fun!

The Markthalle was the scene of the lunch where all kinds of goodies were served to the people and of course the social interactions continued. The afternoon sessions started with the session How Flow helps us save the world by Tim Numan and Jesper Paardekooper and then again it was time for something really interesting for me and that is Domain Event – the hidden gem of DDD by Henrik Møller Rasmussen.

After another break Karsten Dambekalns shared his experiences with migrating a TYPO3 CMS website’s content to TYPO3 Neos. The conclusion is that it’s not that easy but it’s doable. The last session of the day was by Robert Lemke and it was called Look Ma, no Plugins! and demonstrated how one can create custom content types with TYPO3 Neos without having to create custom extensions/plugins.

The organizers also prepared a flying buffet and a cake for closing of the first day of presentations. However the day was not yet over as the social event was just about to start. Hidden down in the “Kellergewölbe” (dungeon) was a nice place for socializing, dancing and of course drinking german beer. Although i didn’t stay too long i’ve heard that some people went home just before sunrise.

Second day

The second day started by a well known personality in the PHP world – Sebastian Bergmann who talked about the Driven Developer. And if we were at the subject of testing then it was natural that the next presentation by Christopher Hlubek called A practical guide to BDD with Behat and Flow followed after that. This was also a presentation that appealed to me.

After the break another session aimed at the new kid on the block – TYPO3 Neos. This session was held by Dominique Feyer and was about Node Kingdom. A place where every node feels at home. After the lunch there were also some good presentations. Henrik Møller Rasmussen showcased their app called Famly and talked about the inner workings of this project.

Later Marko Klawonn talked about Fakeperformance (loading …) then Christian Jul Jensen confessed the trials and triumphs of Opeepl a Flow 2.0 application built by himself. This was interesting for me also because i always wanted to see real world case studies and showcases of Flow applications. Then it was Sebastian Kurfürst’s presentation Polyglot Neos : Localisaton in Neos 1.2 that closed the second and last day of the Inspiring Conference.

Conclusions

With about 250 participants (event sold out), 3 workshops and two days of presentations it was a very good conference for anyone who works with TYPO3 Neos, TYPO3 Flow and TYPO3 CMS. This event demonstrated that interest for the new members of the TYPO3 family (that is Neos and Flow) is increasing year by year and the products are getting mature enough to be used in real world projects. Regarding the organization i think it was one of the best organized events I participated in and I want to thank to the guys at Techdivision for taking care of the organization but also for the sponsors who made it possible.

About the Google Death Glare

So it’s not only me who belives that Google has become what Microsoft was a few years ago (only worse).

Matt Cutts, Google’s long term public face, was fairly clear saying “Google doesn’t have partners,” recently at an event we both spoke at.

It’s a blank stare Google executives give you when you express a concern, as if you’re talking to someone who doesn’t speak one word of your language.

Anyone who has Google as a partner knows this stare.

Google only sees you as a partner when they need you to run their ads or they need your content to draw in advertisers. When you need help, Google says “we don’t have partners!”

That’s why folks are so frustrated with Google, and I see that tipping over into hate more and more often. The people I meet who run Machinima, Maker and other major YouTube partners exhibit outright hate for YouTube.

That’s bad news for Google.

In fact, it’s fairly clear to this executive, who has been working with Google since Day One, that Google thinks of content creators–artists–as this necessary evil to put their ads next to.

They don’t really respect us since they won everything. If they did, they would listen to our needs and think about making their platform sustainable.

They don’t listen any more really (that is, unless you need help implementing their advertising technology).

Have a question on how to optimize your ads? They’re all ears!

Have a question about the revenue split, making your business sustainable or why you were replaced in search results by their service (see Yelp v. Zagat)?

Google Death Glare!

Source: blog.launch.co

TYPO3 Flow, an inspiring framework

typo3-flow-logo-h40pxMaybe you’ve already heard of TYPO3 Flow, if not i can tell you that it is a PHP web application framework which is open-source, free and was created by members of the TYPO3 community. While initially it was known as FLOW3 now it has been renamed to TYPO3 Flow and is part of the great TYPO3 family alongside TYPO3 CMS and TYPO3 Neos.

You might wonder why am I talking about TYPO3 Flow. Well, lately I’ve been working more and more with this framework and i must admit that I like it very much. Actually so much that i couldn’t imagine now writing an application with any other tool that’s out there.

Some neat things that TYPO3 offers:

I’ve learned alot in the last month about these and i want to share some of these things with my readers. So in the next months you will see several Flow related articles, tutorials, tips & tricks  on my blog. I’ve gathered all this knowledge while working on a big personal project which will be the subject of my future posts at some point. Working on this application with TYPO3 Flow was a truly inspiring endeavour for me and i can’t wait to work with and learn more  about Flow.

And if we speak about inspiring things then i also wanted to let you know about an upcoming TYPO3 Flow conference called the Inspiring Conference which is held in Germany (Kolbermoor) between 28-29 March 2014. It is a meeting place for TYPO3 Flow developers, freelancers, companies and everyone who works with this framework. Obviously i already have my ticket to this conference and if you’re also going then maybe we can grab a beer and talk about Flow, TYPO3 or any other thing.

Meantime, check out this cool video about TYPO3 Flow & Inspiring Conference:

Imagemap Wizard and TYPO3 4.7

I’ve had today a small little issue with the Imagemap Wizard extension for TYPO3. This extension allows the interactive creation of imagemaps right from the TYPO3 backend. I’ve used this extension before and had no problems with it. But while installing it today on TYPO3 4.7.x i got the warning that it’s not compatible with 4.7.x and even more i’m using an unsupported PHP version (5.4.x).

Because i’m not so easily intimidated by these warnings i went ahead and installed it. No luck however because the extension just wouldn’t work. It was telling me this in the backend when editing an image map:

No Image rendered from TSFE. :(

Has the page some kind of special doktype or has it access-restrictions?

There are lot’s of things which can go wrong since normally nobody creates frontend-output in the backend

Hmm…but i really needed this extension so i went ahead trying to find a solution. And a quick search rendered the help i was desperately needing. The issue is known and was submitted to Forge more then a year ago. Still there is no official update for the extension. On the forge page however there is a patch which i have applied and the extension is working again perfectly.

So if you run into the error above just apply the patch and make sure you don’t update the extension from the repository until there is a patched version available.

Facebook is broken and Zuckerberg seems to know it

I’ve read two very good articles of why Facebook si broken and why the end is near for Facebook. I pretty much agree with everything there. And it seems that Zuckerberg knows something as he is just selling lots of Facebook stocks (good idea while they are peaking).

Accessing your remote NAS from Ubuntu via NFS share

Last year i bought myself a nice little Seagate BlackArmor 220 NAS (Network Attached Storage).  I’ve set it up at my home and all is fine, the device is running properly for more then a year. At home I’m accessing it via Samba share on the local network, when travelling I was accessing it via FTP (supported by the device). This was all great but unfortunately in this mode I couldn’t directly edit files on the NAS. So i looked for solutions for doing so. One thing i discovered early is that the device supports NFS. I didn’t know much about NFS back then.

The last few days when my itch got really painful to edit files directly on my NAS I started poking around on how to set up a share via NFS which can be accessed and edited from any place where a decent internet connection is available. And after a little bit of research i managed to do that. I will tell you how to do it if you ever need to do so.

Setting up the NAS

Well, first thing your NAS must support NFS. Mine does and in the admin interface of the NAS i can enable and disable NFS. I enabled it and whitelisted the IP addresses from which i’m going to access the NAS. There is no authentication necessary. It works based on IP addresses. So if you whitelist an IP address anyone from that IP can access your NFS share if he knows your NAS’s IP address or hostname (be careful!). That’s all on the NAS side. Of course you can set up NFS not only on a NAS but with your own computer as a server. In this case you need to research the solution because i didn’t try/needed that solution.

Accessing the NFS share from Ubuntu

First of all you will need the nfs-common package. Be sure to get it:

$ sudo apt-get update
$ sudo apt-get install nfs-common

Then let’s see what are you sharing via NFS

$ showmount -e server-IP-or-host-name

Ok. Now let’s create a directory on your client machine (in directory /media/username) that will be used to access the share and mount a directory from your NAS to this. For the purpose of this demo let’s assume that your NAS has the hostname imaginarynas.dyndns.org (using dyndns to map a dynamic IP to hostname)

$ cd /media/username
$ sudo mkdir myNFS
$ sudo mount -o soft,intr,rsize=8192,wsize=8192 imaginarynas.dyndns.org/publicShare /myNFS

Great, now you have in the myNFS directory the contents of the publicShare directory from your NAS
How to permanently mount it
First edit /etc/fstab and add the following to it

imaginarynas.dyndns.org:/publicShare  /media/username/myNFS  nfs   soft,intr,rsize=8192,wsize=8192

And pretty much that’s all. Now i can access my NAS from pretty much everywhere where’s a decent internet connection.

TYPO3 6.2 is just around the corner

TYPO3So I’ve read the announcement of TYPO3 CMS 6.2 beta1 and proceeded to check out the new stuff under the hood of the newest version of TYPO3, which by the way will be an LTS (Long Term Support) version. For a long time i wasn’t impressed by new TYPO3 releases. But now i must admit the core developers surprised me. The sheer amount of new stuff under the hood is just impressive. And I think we’re on the right track with the development. New features are coming which were long overdue in TYPO3 and i think they will help in making TYPO3 more popular on the long run.

But let’s see which are the new features that will be shipped to us in early December with the final version of TYPO3 6.2.

No more dummy stuff!

The first thing which surprises right away is that the Dummy package is now obsolete and no longer needed. You install TYPO3 and all necessary files and folders (like fileadmin, typo3conf and uploads) are created automatically.

Package Management

TYPO3 introduces the Package concept from Flow and has now also Composer support. What this means ? Well, extensions can be a special kind of packages and they can provide a composer.json file with dependencies. You must not take any special action however. This will work with old extensions too and when you first open your updated website it will redirect you to the Install Tool. The silent updater will take care of creating the PackageStates.php in typo3conf which actually replaces the old extension list from LocalConfiguration.php (or localconf.php in older days).  There will be also a LocalConfiguration.beforePackageStatesMigration.php which is a backup of your old LocalConfiguration.php file.

Reworked Install Tool

The Install Tool got a major overhaul and i think it’s better then ever, providing a lot of useful information about your site’s settings allowing you to change things and now it has even a better organisation of the information presented. One advertised feature is the Core Updater (i couldn’t see it in action yet) which will allow you to update TYPO3 with patches and minor updates right from the Install Tool.

Mode switching

Configuration presets in the Install Tool

These are predefined collections of settings, allowing you to make . One very nice use of this is that you’re able to switch between Production mode,  Development mode and even a custom mode for settings.

Documentation module

A new module in the backend showing all the manuals of your installed extensions

Broken extensions check

It happened to me often and probably to you too that one broken extension would make your TYPO3 installation unusable (crashed). Now firing up the Install Tool -> Important Actions you can check for incompatible/broken extensions and uninstall them if needed.

Extension Manager updates

Although i’m pretty fed up with how often the Extension Manager was changed during the last few major TYPO3 releases now the addition of Distribution Management is a welcomed change. I was a long time advocate of TYPO3 Distributions, even created some distributions based on TemplaVoila Framework. I retired this summer the project for a major overhaul of the way I wanted distributions to work and now i have to rethink it having the official way of using the Distribution Management in mind and this will be one major subject of interest for me in the coming year.

File Abstraction Layer

The FAL project comes with lots of new additions like Translation Support, Advanced Metadata, Categorization, Permissions and so.

Backend Layout Data Provider

An other interesting topic for me is creating themes for TYPO3 and I’ve been trying to do that in several ways, none of which were in the end satisfactory to me. I presented last year at the TUG Meetup a session about Fluid Websites. That was the closest i got to creating independent TYPO3 Themes that could be moved from one TYPO3 site to another. One major problem was the i couldn’t move the Backend Layouts with the extension itself because they were stored in the database. Now the new addition to 6.2 is a Data Provider Interface which will allow to store Backend Layouts in files also and then I can pack these files to the theme extension and distribute the themes as such. This will greatly improve the distribution of the themes.

And other changes…

Of course there are also a lot of other smaller or bigger changes in the new TYPO3 6.2, i will let you discover those by reading the announcement.

And the bad …

There are also some things i didn’t like when testing the latest TYPO3 version

Increased execution time requirement!

Selection_012 Recommending the setting of max_execution_time to 240 seconds is just plain senseless to me. Why would you do that ? On frontend rendering i cannot imagine anyone waiting even 30 seconds after a website so 240 is an overkill. In the backend when you do some import operations i can imagine scenarios where you would need more time but this should not warrant a site wide max_execution_time increase to 240 seconds. There is a big chance if your script didn’t run in 30 seconds it will not run in 240 either.

Performance should be the most important thing kept in mind by the core developers and encouraging badly performing scripts/extensions should be their last thing to do. Unfortunately i see this as an encouragement to bad performance.

Directory structures on my server 

I get some strange red warnings in the Install Tool that my index.php and typo3 directory (the TYPO3 source) are not stored “as specified”. I understand there is a recommended and used way by the TYPO3 core developers but frankly how i organize my TYPO3 sources on the server is my and only my problem, it should not be TYPO3′s or any other CMS’s problem how my storage is organized on the server. I like to store all sources in one directory and symlink them to the needed webroot and it does not affect TYPO3′s functionality and and use.

This having being said (written down), i can hardly wait to see the final product shipped. I think this will enable some very good side projects for me and for others as well.

Discover TYPO3 East Europe

As you might already know between the 14th and 16th of November the Romanian TYPO3 Community organizes the first ever major international TYPO3 event in the eastern part of Europe. It is called TYPO3 East Europe and will be held at the Golden Tulip Ana Dome hotel in Cluj Napoca, Transylvania, Romania. While it’s aiming primarily at the Eastern European community we welcome also people from all over Europe and why not the whole world.

TYPO3 East Europe schedule

The event will last for 3 days. The first day is dedicated to universities and the general public. The public will be able to see introductory sessions about TYPO3. This is targeted at people who never worked or even heard about TYPO3 before. We will explain why TYPO3 is the best ECMS out there and how can TYPO3 help them to achieve their goals. Attending on these sessions will be open for everyone and free of charge.

There will be also a workshop with the universities which will focus on the use of TYPO3 in the university world. This is on an invitation only basis. If you want to attend then contact the organizers.

Days 2 and 3 will be the core of the event and here we expect TYPO3 developers and companies that work with TYPO3 to share their experiences and to learn about each other. There will be sessions on a broad scale of topics from general TYPO3 topics to more advanced like Flow/Neos and also case studies, business topics and project management. Of course each of the nights will end with a big social event which will be held in one of the many bars/pubs in Cluj (still to be decided).

Btw you should know that being a university city and a business centre, Cluj has plenty of bars, clubs and restaurants and they have generally speaking much lower prices compared to Western Europe.

Still not convinced ? Check out these top 10 reasons to attend to TYPO3 East Europe

Cluj Napoca – the location

Cluj Napoca, Romania is one of the most dynamic cities in Eastern Europe with a very large IT community, some 8000 people work in the IT industry with a growing tendency. It’s located in the north-western part of the country, close to the border with Hungary.

It is a place of legends, being located in Transylvania where according to many legends vampires roam the forests. We’ve seen some and guess what ? They were learning TYPO3!

Also it’s very easy to get here. There are direct flights to many places in Europe (more details on how to get here). I won’t say more about Cluj, i will let you see the video below and if you want you can read more here and find a nice guide here.

Cluj Napoca: Heart of Transylvania-full version from Laviniu Lazar on Vimeo.

That being said, I’m waiting for you in Cluj in November!