Mo’z Thinkz

Morriz

Just another idiot that wants to be heard…

SimpleHelix won’t refund my money

Last week I talked to SimpleHelix support (who were very responsive btw) over their live chat app, to get some definitive info over their “semi VPS” hosting deal for Magento.

So we talked through a lot, and I went with the deal they had: 50% off for the first year if paid upfront. I paid about $425,- with paypal. But once I had server access I found out that they don’t offer in-memory caching on the semi VPS, which I definately need for Magento. Upgrading to a full VPS was too costly ($75 vs $160 p/m), plus it would also still lack the in-memory caching, so I decided to stick with my NL based host (IZI Services, very nice company btw).

That’s when I asked for my money back, since they offer a 30 day money back guarantee. But guess what, they simply said no! Because I paid with paypal!? What? Why? Where should I have read that? And why wasn’t that communicated to me before?

Can you believe that? In this day and age? Take money for a service which does not meet your needs? Man, I thought customer was king in the US, but I guess they need mouths to feed overthere now :p

I asked them a couple of times to help me out, because they couldn’t deliver what I need, but to no avail. I finally had to create a dispute with paypal, which is currently waiting for a settlement.

My advice: Don’t bother with SimpleHelix if you need a decent Magento setup.

Magento’s dataHasChangedFor(isDirty)

I just built 4 hours of code on top of isDirty, when I noticed it isn’t even working! I wanted to test if something has changed in the ‘customer_save_before’ event, so I could do something first. But Magento seems to simply not care if an object’s main properties or relations are dirty. It just saves whole object trees, wether something changed or not. AAAAAARGH! Yet another performance penalty, straight from the hip.

Isn’t it basic stuff to have your value container flag properties and itself as dirty? Magento started on isDirty and flagDirty, but didn’t pull through and left it unfinished. Instead they implemented a dummed down method called “hasDataChangedFor”, which doesn’t allow for testing if the object itself is dirty or not (because one of its properties is). I notice that it’s sparsely used, but not for testing whole objects before they’re saved.

Now I have to create an unnecessary bloated mechanism that goes through each property in getData, and see if it is found in oldData, and then test if it’s changed with hasDataChangedFor. AAW!

I hope the Varien guys pick up on this and start using the dirty pattern, because it’s simply too much to carelessly save whole object trees and make costly database queries when it’s not even needed.

Maybe I am too much of an angry guy right now, instead of a quiet and thorough investigator, so I might have overlooked something here. I hope so. Please tell me if I’m wrong :)

UPDATE: it’s even worse than I thought, because in both customer_address_save_before/after, _origData is not populated, so I have no clue wether something about the object has changed or not. Bummer! Does that mean that I have to load up the old objects from the database first? So much overhead, I am getting more even depressed.

Magento rocks!

I had to find the right solution for our online Chronos Coffee store, and preferred to find a SaaS (Software as a Service) application which would be flexible enough and also affordable. I looked at all the big players and also the smaller ones offering shared solutions, but none of them were flexible enough for what I envisioned: A scalable, controllable application with a plugin architecture to custom fit our needs. So I decided I’d give Magento a try again. I had fiddled around with it a year ago, but decided it was too infantile to be used in a production environment (and a web store always is). After having done in depth research, I now think it is actually very mature. It has a very large community and is widely deployed all over the net. Whats was even more interesting to me is the fact that it is built on top of Zend Framework, which I specialize in and am an advocate of.
So I arranged for a private virtual server to get it up and running, and must say I am really impressed. Compared to other web solutions out there, I find my install of Magento to be very snappy and responsive. The backend is rather sluggish, but that’s not such a big deal.
I have put the website online already, because we want to get out of the sandbox Google has put us in, and get a search rank asap. Don’t look at the design tho, because we have used a standard template, and still have to create product images. Here’s a link:

www.chronoscoffee.com

Chronos Coffee

When we came back from our 3 month cycling journey, I wanted to get some action. I met up with my longtime American friend Bryan who decided to start up an online coffee business that would dominate all the others online. He was aware that there are a lot of coffee stores and roasters online, but had a few tricks up his sleeve to truly accomplish that. He needed my skills and elephant skin to team up with. So I joined up as CTO, knowing I could make the technical side of it work the way it should. That was the start of my new professional career. Not only being a small part of the enterprise puzzle, but empowering myself to handle all aspects of the online retail game.
We didn’t have a name yet, so I thought up “Chronos”. I think it sounds nice and makes people associate with the God of Time, a wise figure to feel comforted by. It also allows for all kinds of catchy marketing lines, like: “Chronos. We make the coffee. You make the time.”
I am having a lot of fun at this already, but it’s costing almost all of my free time. Let’s hope I still get to travel :)

Barcelona policía es corrupta

Maybe not all, but certainly a lot of them.  This is my story of arriving in Barcelona on our recumbents.

After driving down the Gran Via towards the Plaza Catalunya, I had to wait for a red traffic light. I was checking Google maps on my iPhone and turned the screen off when the light turned green. I rode on my recumbent, behind another car, through the green light. That’s when I got stopped by a police officer. He wanted to give me fine for using a mobile phone while riding my bike. Which I obviously didn’t, so I got frustrated. I asked the man to produce this law that stated I couldn’t ride my bike with my phone in my hand. He kept stating this was the law and that I had to find out myself. If I wouldn’t pay the fine of 50,- they would take my bike. I decided not to fight this castle and asked where I could find a money machine. In the mean time a fellow officer arrived from across the street, noting me being upset, and telling me he saw me going through a red light and calling on the phone while riding! Two lies! Right there, next to his colleague, he pressed two extra charges based on lies. I got really frustrated about that and ranted to him about him lying two times in one sentence and that he must be corrupt. I also wrote down his badge number and asked for a police station to get proper help. I was then pressed again to get the money, or they would take my bike (I was later told by the top police people that any police officer can do as he pleases and that it is wise for me to stay low. Only afterwards can you complain about decisions made and hope to get rectification.)
So I went and got exactly 50,- out of the machine, since Corine and I have a split pot for everything, and I didn’t need more. But when I came back to hand over the money they said I also got an extra fine for going throught the red light! Another 50,- was charged, so I had to go back to the cash machine! I asked them if it would end at 100,- when I would return, because I did not trust them at all. But while walking to the cash machine I decided to walk to that police station to get help instead. I was later called by Corine that she had arrived at the scene (she had to get the keys for our appartement while I was in this situation), and that a tow truck had arrived and was uploading my bicycle. In the meantime I did my story at the police station, and was told that there was nothing they could do (ofcourse), even though the procedure was all wrong (which was all admitted to by the top police men):

  • It was wrong to charge me 50,- initially, and later add charges;
  • They also took all my luggage on the bicycle, which they were not allowed to do;
  • My passport was not given back, even though I am not allowed to walk the streets without it.

Then the two-faced chief officer that was in charge of the brigade that confiscated my bike came in to bring back my luggage and passport. They were all sorry about the failures, but didn’t help either. I was told to pay 164,- at their storage facility to get my bicycle back. Pfff….

My logical deduction of all this:

If a colleague is handing out a ticket, and a fellow officer is trying to help him (or f*ck with me some more), by bringing in false charges, and all this is done under the assumption that the ticket writing officer is actually agreeing with that (and thus also corrupt), then I assume it is in the nature of these police officers to bring in false charges more often, and that this is done in all of their team. They might of course be just “the two” corrupt ones, but I doubt that.
Also, the two-faced chief in charge of these cops, must also be aware of all this (Corine was contacted on the street by a guy who said this happened to him recently, having to pay for fake charges, and showed her the fine). Not only this chief officer had such false eyes, but also the guy he was with (and the lying officer too, doh!). I immediately felt as if this had been going on for a while, but nobody is there to put a stop to it. Corine wants to write an article and take it to the papers here. It probable wont move any of these rocks a bit, but hey, we’re in it for justice’ sake.

Hell, lets put in an extra link to all this translated to Spanish, just for Google’s sake: this page translated in Spanish

Next,