Thursday, September 16, 2021

Why and why not

On September 14th 2021 this open letter made its way in the Magento Community. I quickly read it and was one of the first people to sign it. 
 But after a few hours I realized I should have waited a bit more to sign it. Don't get me wrong. I'm not sorry I signed. 
I'm just (not presently) amazed of what followed on Twitter. A lot of hate and backlash out on Magento. People starting shaking fists and bitching about what is wrong with Magento behaving like this is the start of a revolution. 

 But since I'm "pot committed" now, I decided to write a few words about why I signed up for and why I didn't sign up for.

I signed because....

  • No software system is perfect but every software system can be improved
  • I trust the people that started this (I consider most of them my friends). I think they have the best intentions and they are capable making improvements to Magento (the software).
  • I'm really on board with  Open Source in general. Made my life as a developer way easier.
  • I think devs should have alternatives when picking the software they want to use and improve. The more the merrier
  • I think companies should have alternatives in picking the software they use. The more the merrier
  • I think that every idea should pursued.
  • ...this paragraph in the letter: "We intend for this to be a collaborative effort, ideally together with the Magento Association, and (through them) with Adobe. We have already reached out to the Magento Association to work with them, but it will take time to build a common understanding of how to move forward."

 I didn't sign to....

  • start a revolutions
  • to see devs bite the hand that fed them for years
  • see people bitch about Magento or Adobe without bringing anything constructive to the table.
  • promote hate.

What will I do if this initiative succeeds?

  • will I stop using Magento? NO.
  • will I stop contributing to Magento one way or another? NO.
  • will I start using the forked version? I will at least give it a try. If I like it I will use it.
  • will I contribute to the forked version? Maybe (most likely)
So, to wrap this up, make sure you sign for the right reasons  and not out of frustration and hate.

PHP developer for 16 years, Magento developer for 13 years.....and counting.

Tuesday, May 22, 2018

What will happen to Magento after getting acquired by Adobe

A few hours ago (a few more if you are reading this in 2019), the world found out that Magento belongs to Adobe now.
The community reacted as I expected.
A lot of enthusiasm and funny tweets.
This is a collection of a few of them. I will add more as I find them.
The order in which the tweets are presented means nothing.
Here goes:

Friday, December 22, 2017


I'm writing this post to announce I'm pulling the plug on my Ultimate Module Creator (UMC) magento module for Magento 1.7+.
The extensions has been brain-dead for a while, with the last significant commit being done about 2 years ago.
Maybe this was because I felt satisfied with what the module does, and I didn't see it necessary to invest more time to fix small issues that can be easily fixed after the module usage.
Maybe it was because of the lack of time....who am I kidding, of course is the lack of time.
One thing is clear. it can still be used.
First commit done on Jan 13th 2014. Almost 4 years ago.
254 stars, 87 forks, countless support emails, a few friends made on the way, and a few enemies.
I've learned a lot while developing it. It saved me a lot of work hours doing the monkey job nobody wants to do.
What can I was worth it.
Before UMC 1.9 there was his predecessor, named the same way because of lack of imagination, that was declared dead on May 1st 2014 and was started on Sep 28 2012.
So about 5.5 years of automated module creation. It has been fun while it lasted.
Feel free to fork it, make it better, redistribute it for free, sell it, use it to achieve world peace, trade it for a pizza and or a beer. The repo will remain up for posterity. Over and out.

Wednesday, April 26, 2017

"Dead" is dead

When I started this blog it was intended to provide short solutions to short and common Magento problems.
But then I slowly moved this activity to the Magento StackExchange website.
Since then, this has been left for DEAD. But I'm using it right now for my occasional rant because that's what blogs are about. People sharing their ideas & opinions (most of them wrong). I'm doing the same for the fear of missing out.
So here is my occasional rant.
Today is about ".... is dead".

I've been seeing a lot of blog posts that come in via e-mail or twitter (good thing I don't have a Facebook account) about "'bla bla, something something' is dead".
I'm going to list here only a few that are related to my everyday work, because I cannot express an opinion worth reading about thinks I don't know. (Apparently others can).
So here are the nominees:
  • PHP is dead.
  • Magento is dead.
  • Scrum is dead.
  • JS is dying. (notice, not dead yet)
Hold on there mister coroner.
Did you find someone lying down? Check the vitals first. Maybe that person is not dead. Maybe is just resting. Maybe he just fell down.
Look around you, maybe you are at the beach and the person lying down is enjoying the sand.
Do you have a relative that is an undertaker and is going to make money from all the things you declared dead?

I went home one day after reading a few of the "is dead" stories and told my wife that apparently I'm working with some dead technologies. Her answer: "But you're still getting paid, right?". Me:"Yes". Her: "Cool! At least like that you don't run the risk of killing something.".

So in conclusion, I'm declaring that "DEAD" is dead.
Every blog post I see from now on that ends with " dead", is dead to me (except this one). Stop declaring things dead if you don't feel a pulse in the nail of the small left toe. Disclaimer: I know I'm declaring something dead even if I say not to declare things dead.

Wednesday, April 19, 2017

Magento Imagine - the family reunion

More and more people write about their experience at #MagentoImagine this year. I think I'm better with code than with words, but I'll give it a shot to detail my experiences.

Alright. I'll start with the flight.

Getting there was hell. But not worse than I expected. That's what you get when you are 1.90m tall (6'3") and 95 kg (210 lb). Bucharest to London was OK. I was lucky to get the last available exit row seat. Yes, kissing flight attendants a$$ works. But I was not so lucky from London to Las Vegas. Almost 11 hours in a seat in which I don't fit. I saw 2 bad movies and a good one and read a slightly interesting book. 1.6 eternities later, the trip ended with meeting Jisse Reitsma in the LAS airport and not recognizing him at first. Reminder that almost nobody looks like their twitter picture. Lesson learned: Wear Magento branded clothes during the flight to a Magento event. It helps.

Even if I know that the credit card system is "different" in the US from EU, I did not expect to have to pay cash at the hotel (not Wynn.). No problem. Just a 200$ withdraw with about 2% interest and a call from my bank back home asking me why am I in Vegas and what the hell I'm doing there. But it was over quickly.

Now to the fun part. I was off to Preimagine for which I didn't sign up. But luckily the Magento employees are nice people and I could get in. Here, the usual, a lot of hand shakes and hugs, a lot of "How you've been? Same old same old, how about you?", some well deserved alcohol after a long trip. Just like a family reunion where you see who got married, who's got kids, who switched jobs, but better because nobody asks you to "lend" them money. When this was over, we moved across the street at Strip Burger where we kind of scared the staff because we took over more than half of it.

Then the first day of Imagine came. It all started with a Masters breakfast. Good food, good conversation, OK coffee. Again, a lot of handshakes and hugs. Then I went to the dev room, Margaux 1 where I've learned how to pass the Marketplace Extension Quality Program. Good way to start the dev track. A few sessions later I ended up in the UI-components presentation by James Zetlen A great technical guy and a great sales guy. He was the second person that day to jokingly (or not) tell me to leave a presentation room. But we're good friends now. We sorted it out at the party after some drinks like real adults.

Oh. And I got to go on MageTalk live With my good friends Sander and Anna. Thanks Phil and Kalen for having me.

Immediately after the Sponsors marketplace opened, the swag hunt started. Got a few good stuffed toys (for my kid of course). Something like SuperLLama, ZiggyTheHydra an echidna, cards against taxes and a few others.

Moving on to the important part. THE PARTY. Again, good food, good drinks, awesome conversation. Before Imagine I set some milestones for myself regarding the conference and I reached all of them.

Among all people I would like to mention that I met some new Magento employees. And from them, 2 really made a mark on me. I got to meet Kevin "SocialKev" Cassidy and Danielle "UX" Mundle. They really live up to their twitter handles.

Going to the second day. Among other technical tracks there were....Yey...Keynotes. I was amazed an disappointed at the same time. I was amazed by Jessica Herrin. She was simply awesome. A nice speech combining motivational words, business approaches, good jokes. Please Magento bring her back next year. As a keynote or as MC along side Jamie.

I was disappointed by the Serena Interview. Don't get me wrong, not by Serena, but by the interview. Maybe it's because I had really high expectations. I got used to Magic Johnson's magic last year and maybe I was expecting a few "war" stories from Serena also. Please don't do interviews with the Keynote speakers anymore. Just give the a mike and 45+ minutes. Also let the audience ask 3-4 questions at the end (even if they are staged questions).

Next...the legendary party. As usual, fancy location, good food and awesome conversation. I've played the "Have you met...." game. I've been on both sides of it. I introduced people I know to other people I know but they didn't knew each other. And I was also introduced to people I don't know. Great way to socialize. Everything ended as best as it could. With Max jumping in the pool holding his well deserved award.

Everything has to end, so we got to day 3. Last and most depressing day of the conference. But it all ended in a nice way with the DevExchange. a great way to talk to other devs and not only on dev topics. I got to hear from my good friend Miguel Balparda (that, by the way, was the 4th person at Imagine to tell me to leave the presentation room) how it is to work remotely, a thing that I was kind of against until now. I still am, but I understand now the need and the benefits.

Regrettably, it was all over. I had to go to the airport. When I got in the cab, one of the last things I expected to happen, happened. The conversation with the driver went like this after the formal greetings "Driver: Where are you from? Me: Romania. Driver: Oh. Buna! Ce faci? (that's Romanian for 'Hey! How are you?')". It was a good conversation opener. He was a guy from Macedonia that spent a lot of time in Romania during the 80's. We had a nice conversation until we reached the airport.

One other lesson I learned was "Buy TSA approved luggage.".

Coming back to the real world, I was left with a puzzling problem. On day one there was a talk about diversity in tech. From what I talked with the people I conclude this was a bit controversial. Most of the people had the idea that it is good to encourage diversity, but not overdoing it just so you can push an hidden agenda. My opinion on this might be a bit biased because in Romania we don't really have a problem with gender discrimination when hiring people, but I still had to ask the HR department if they have stories about discrimination. This is the answer I got back: "Are you fucking kidding me? We cannot afford to discriminate. We need a lot of developers. If your dog can bark the words 'node.js' or 'java' we would hire it.".

Kidding aside, this was a good conference, filled with fun moments and knowledge sharing. I hope I can make it to a future one.

Summing all up...well, just extract the first letters of each paragraph in this post.

Wednesday, August 27, 2014

Ultimate module creator

On August 27th 2014 I released the version of the Ultimate module creator.
You can get from github or from magento connect
You can see here the release notes for the new version.
You can also checkout the documentation.

Monday, April 14, 2014

Ultimate module creator 1.9.0

I'm getting close to releasing a new version of the Ultimate Module Creator.
Version 1.9.0 will be released soon and it has a lot of new features and bug fixes.
It is based on the previous version (1.6.3) but it is not backwards compatible. So I suggest that instead of trying an upgrade remove the previous version and install this new one.

The new version is available on github and Magento Connect starting with April 25th 2014.

The 1.6 version will still be available on github but there will be no support for it.

Here are some key features from the new version. For a full list of release notes see this.

  • Features
    • Support for EAV entities.
    • Module Admin menu can be placed anywhere in the menu tree.
    • The frontend route of the module can be set manually on creation instead of using the module name.
    • Allow users to comment on the generated entities.
    • Link entities in a many to many relation with the catalog categories.
    • Additional attribute types (dropdown, multiselects)
    • Ability to add many to many relations between tree entities
    • Displaying flat entities by store is optional now.
  • Improvements
    • Pimped up the admin UI of the module creator
    • Faster admin UI. No more ajax calls to add a new attribute or a new entity.
    • Made the HELP section include more valuable data.
    • The aliases for models/blocks/helpers include the module namespace to avoid conflicts
    • Generate an uninstall file to make it easier to remove installed modules.
  • Bug Fixes
    • Most important: Module names can include uppercase letters. Until now using 'ModuleName' for the name of the module would make that module unusable on UX servers. Now it works.
    • Entities were not displaying in product page unless they had a separate view page.
    • Replaced 'addFilter' that had no effect with 'addFieldToFilter'
If you try it out and find any issues or have new ideas please post them on github.

Monday, November 11, 2013

Product relations importer

Check out the product relations import tool for Magento. This extension allows you to quickly update/replace related products, upsells and crossells for your catalog products. You can do that by manual input or file upload.

Thursday, October 31, 2013

Easylife Switcher extension

I've just released a new Magento extension called 'Easylife_Switcher'.
This is what it does:
  • Frontend:
    • it can change the configurable products dropdowns to text or image labels
    • it allows you do display the out od stock combinations of configurable products with a "not available" overlay (see image above - medium size). The out of stock products may be selectable or not. Your choice.
    • it can change the main image in the product page when a combination is selected, if an image is available for the simple product. You can set the attributes that change the image.
    • it can change the full media block in the product page when a combination is selected, if at least the main image is available for the simple product. You can set the attributes that change the media section.
  • Backend:
    • it allows you to set a default configuration to be selected while accessing the configurable product page.
Code and more details on how to use can be found here:

Friday, April 19, 2013