Posted
Comments None

Following my decision to go it alone and eschew the hosted e-commerce service, I’ve been reminiscing with Magento about old times. All things considered, we’ve been civil; I’ve changed, Magento has changed — but we’re making it work.

I told you a little bit about Pragmatika Data Security previously, and the size of the task is becoming much more clear. When I worked at Sophos, I was employee number 59 in the UK operation. I was interviewed, hired and started in 1998. I spent some hours in the technical support test network learning how Sophos Anti-Virus worked, how to break it and how to fix it. Sophos Anti-Virus was the flagship product, and it ran on about a dozen or so different computer systems.

As a Sophos partner, I have a price list. This spreadsheet is well-presented and has clearly been written by someone who knows what they’re doing. It has dynamic calculations, drop downs and explanatory notes. It even has its own version number and change log. This is a useful spreadsheet, and I like spreadsheets.

The front-of-house parts of this spreadsheet cleverly shield the monster SKU list behind the scenes. Seriously, it’s vast. Back in the day when Sophos Anti-Virus was the mainstay, I can’t imagine the part number/SKU list was even into triple figures long – perhaps 80 to 100 items tops. Now, it’s into 5 figures. Over ten thousand SKUs

I am not allowed to go into too much detail as the price list is confidential, but imagine there’s a software product that runs on an organisation’s computers:

  • there are 10 tiers of pricing; the more you buy, the cheaper the unit price
  • each has 3 sector tiers; there are discounts available
  • each of those has 4 subscription lengths; they range from a short time to a long time
  • and each of those can be a new purchase or a renewals; each has its own SKU

One software product now has 200+ different SKUs, and each has unique attributes. Each one takes a row on a spreadsheet and when all is said and done, Magento has to chomp through this beast of a file to popular the innards. If that goes well, I’ll be baking a celebration cake.

I’ll spare you all the gory details, suffice to say that I’m slowly killing my computer building a spreadsheet that’s already extended to 4,500 lines. Apple Numbers is a train wreck with datasets of this size, but is streets ahead of the abomination that is Excel. The last time I did this spreadsheet construction malarkey I used Bento, but that’s been discontinued. Bento just worked, but doesn’t play well for me on Mavericks.

I called it a day at 830pm when the memory usage of Numbers hit 1GB. It’s been creeping up all day, and scrolling is becoming unpleasantly slow. This is the first time I’ve had annoying slowness from my 4-year old laptop. It’s petty to think that that’s reason enough to upgrade it, but a new computer has been moved up the list if this project turns out to be a success that needs more spreadsheet finagling on a regular basis.

By the time I’ve finished it, I will likely have about 90% of the products on the SKU list in a Magento-friendly format. There will be errors in the many thousands of rows, but I don’t know where they are. Human nature is such that these things go wrong, but I’m not wigging out over it. I’ll be going through an extensive test period to try and weed out snags, and I’m sort of looking forward to an incident where someone gets charged a billion quid for a replacement power lead, or something equally ridiculous.

Author

Posted
Comments 1

It’s been weeks since I restarted my morning walks, and while I still can’t say I enjoy walking, I find the rest of my day sort of makes up for it. What used to be an 8am alarm with a plan to be at my desk for 9am has gradually turned into a 6am alarm and an expectation that I’ll be working by 730am, shortly after a walk and a shower.

I rarely, if ever, have any epiphanies on my 2km morning stomp. I have a brief to-and-fro with Jen over iMessage to confirm that a) we’re both awake and b) we will be walking this morning and occasionally c) if it’s raining hard, Jen does yoga instead; I don’t care about that kind of thing, so I walk in the rain, too.

Two side-effects of my walking over the last month or so are weight gain and longer working hours. I’ve gained a couple of kilos, and I’ve upped my work hours by a noticeable chunk. Before, I’d be at my desk by 9am and be done by about 6pm or so, with perhaps 30 minutes for lunch and breaks, which works out to about 40 hours from Monday to Friday. That might be extended to 45 hours including the weekend. Now, it’s 730am to about 630pm for 5 or 6 days a week, again with about an hour off overall. That’s 50 to 60 hours a week, give or take.

These extended work periods are, right now, working out fine for me. I’m getting things done, making progress and seeing forward motion on things I’ve been wanting to progress for years. The downside to this arrangement are that I’m taking longer to adjust to the new food regimen than I’d expected. I’m eating less processed food than I used to, and this reduction is from an already lower-than-average baseline. My relationship with food is one of fuel and nutrients, rather than a social experience. Living alone does this. It also means my food bills are way, way lower than they were in a previous life.

I have resorted to occasional Monster energy drinks to pep me up in the mornings when I’m flagging. What began as occasional (1 per week) turned into 3 or 4 a week, and that had consequences. My moods changed and a slight mania developed. I don’t recall any obvious impact on sleeping, which is great, but my daytime hours became a bit blurred and hazy. These sporadic mood changes came to a head on Sunday when I felt very disconnected from everything. I was very quiet, a bit sad and lost.

That was two days ago. That was the day I knew I’d overstepped the mark with the Monster and the chemicals had done a number on me. For the most part, I don’t drink alcoholic drinks. It’s rare for me to be a social drinker, mostly because I know about the calories in booze and prefer to have something tastier if I’m going to be extravagant. I flipped that guideline on its head two days ago and chugged most of a bottle of apple sour to try and rewire my broken chemistry.

Yesterday, Monday, I woke as normal and went for a walk. I was at my desk by 730am and had no ill-effects from either the booze or any Monster chemical hangover. I did, however, have a thumping headache all day. Lunch yesterday was a big pile of long-grain rice with a little soy sauce. I drank about 3 litres of water to start a detox. I was in bed by 8pm and slept right through.

Today, Tuesday, I woke at 6am and went for a 2km walk. I felt much better. My body didn’t hate me as much, and I just walked. I got back home, weighed myself (gained a kilo), had a shower and got ready for work. By 735am I was at my desk with a full Nalgene of water. No headache. No anxiety. No sadness.

I could murder a cheese toastie, though. Gosh.

Author

Posted
Comments 1

Yesterday’s diatribe on cart software trials was written first thing in the morning after I got to my desk. I used the hour-long process of writing 1,600 words as cathartic closure on my failed experiment with a paid-for e-commerce platform. The grapes weren’t sour, and mid-way through writing I was 50/50 whether I was going to continue with the Pragmatika Data Security project at all. I deliberately omitted this, but if you were reading between the lines then you likely picked up on it. Today, Wednesday, I have renewed vim and vigour. I’ll tell you why.

More potted history

The précis of yesterday is that I was not happy with the solutions I’d found for my cart, and that was a Bad Thing. I’ve used Magento in the past, and been a grumpy curmudgeon in the process. It’s slow, lumbering, hungry for resources and needs a chunk of tweaking to get it to be even bearable. I know this, because I’ve had to do a bunch of technical tweaking to every single Magento I’ve been involved in.

Yesterday morning, shortly after I hit publish on my last post, I installed Magento 1.9.0.1 to my holding server. I use my holding server, as the name suggests, to house websites that comprise a ‘coming soon’ holding page. There are a bunch, but the number is dropping. My rationale behind the holding server is that I have another server instance to pay for each month instead of dumping everything into one server, so my to-do list has an inherent cost to maintain. I had set Pragmatika Data Security to live on that server while I selected an appropriate cart, with a view to it having its own secure server in future if I ended up running my own cart software instead of a pay-for hosted solution.

Bracing for pain

So yeah, I installed Magento, fully prepared to have to optimise, cajole, grumble, strip out, reinstall a bunch of times, eke half a second or so back on each page load, and other fun tasks for a Tuesday morning.

Oh, how wrong I was. So wrong. Magento 1.9 flies along on DigitalOcean, even on the el cheapo 5USD a month server. Page loads are quick, the server load graphs don’t spike or wig out in normal use and I was genuinely shocked at how straightforward Magento on DigitalOcean is so far.

Sure, it’s an empty site with no content, but it’s leaps and bounds ahead of previous Magento incarnations I’ve used. Maybe it’s the fast drives that DigitalOcean use, but the setup process was a cinch. The front-end theme is far, far better than it used to be and — crucially — ready for use with comparatively little tweaking.

This all makes for a happy Pete, is what you need to know.

And so, to spreadsheets. I have thousands of product variants to construct and import into the Master CSV Of Doom. The last time I did a Magento build I used Bento to build the data because Numbers just couldn’t cope. Don’t even start me on Excel for Mac, son. Bento has been discontinued for some time and Numbers has evolved into an Adderall-fuelled simpleton, so I need to find a suitable CSV builder. The main difference is that today I don’t feel so damned crabby about the whole process. Which is nice.

Author

Posted
Comments None

It’s Tuesday morning. I’ve checked my Premium Bond winnings for August and I’m 225GBP up before 9am. Buoyed by this early win, I cracked open a can of Monster Rehab, slipped a drinking straw in and had a victory sip. And with that, it’s time to tackle an ongoing project that I’m starting to lose patience with. It still has some life left in it. Exactly how much I don’t know.

A potted history

Pragmatika Data Security is going to be an online store. It’s been an online store previously, and ever since I left Sophos in 2006 I’ve wanted to do something to do something involving selling their wares. This is, perhaps, misguided or overly-nostalgic. Bluntly, why would I want to sell the product of a company that I no longer work for and was tactically ‘managed out’ of? Honestly, I am not totally sure.

Late 90s and early 2000s Sophos was at the top of its game, a few hundred people made up a company that punched above its weight. Then it got a bit stodgy and middle management multiplied. Acquisitions replaced development evolution and the portfolio grew considerably. What was a relatively straightforward product set a decade ago has evolved with the changing nature of computer use, and now it’s vast. As a Sophos partner I must (and will) abide by NDAs and confidentiality agreements, but I can say that the product + pricing matrix spreadsheet is almost as technical as the software itself.

I had a plan a few months ago to trial various online cart software products with a view to writing up my findings and ultimately selecting one based on my research. In the past, I’ve used Zen Cart and Magento. Zen Cart is a dim and distant memory, and I recall it being plagued with all manner of things that I couldn’t work around. Magento, equally, was a beast of a product but was streets ahead in terms of functionality. I have memories of an abusive relationship with Magento, the Stockholm Syndrome was strong with that one.

Both of these solutions, at the time I was using them, were run-it-yourself applications. That is to say, a download was snagged from Zen Cart or Magento, it was uploaded to my website, then cajoled into life. This involved a variety of dodgy hacks, software tweaks, much prodding and some swearing. I remember the time when I was building Green Shopping back in 2009 that I got so mad with Magento I punched my MacBook trackpad and broke it.

With all the punching and swearing, it was clear to me that I was perhaps not best suited to Magento for the long term. What worked in it’s favour was that I knew how it worked and it was free. That was a big draw for me, especially during the development phase where I can build, test, tweak and persuade without paying money to a cart provider. Regardless of whether I’m paying a monthly fee or not, there are always hours, days or weeks of development time involved. Each store is different, there is no one-size solution.

Pragmatika Data Security started on Zen Cart. It went on hiatus while my life went off the rails, and now I’m more settled I want to bring it back. I think. Probably. If I was filling out one of those 1 to 10 surveys where I can Strongly Disagree, Agree or Strongly Agree I’d be hovering just above Agree with some defensive body language.

It begins. Sort of.

I mention all this because earlier this year I forced myself to look a software as a service (SaaS) providers like Shopify, Lemonstand, Volusion et al. The premise here is that I don’t need to run the platform itself, no download/upload/cajole involved. I pay a monthly fee for someone else to take care of all that stuff, and I get to spend time tweaking. Online commerce is sometimes murky, and everyone wants to take a cut of your profits. For some SaaS cart vendors (hi there, Shopify), there’s a monthly fee and a percentage of sales on top of that. Then there’s credit card processing fees.

I absolutely do not begrudge any service provider charging for their services, not even slightly. What’s annoying me is that I haven’t yet found a solution I can work with for Pragmatika Data Security. It’s actually quite draining when there’s little or no progress being made, which is the case right now.

This is a true story, with some names omitted. A month ago I started a trial with a SaaS cart provider. It’s pretty common to have a one- or two-week free trial of a service to see how it plays out. I signed up for the trial and explored for a few hours. I got serious enough that I scheduled time into my days to set up test products with options akin to what I would want from the final product. In short, I was seeing if it was fit for purpose.

Overall, I was very pleased. It almost seemed too good to be true; I could have all my products displayed as I wanted them, with a smart and secure store for less money than I was budgeting per month. Good news. It was day three of my trial when I couldn’t find how to set a minimum and maximum order quantity, also known as MOQ. I’d used this feature before in Magento, so figured it was a fairly common thing with most cart setups.

I contacted pre-sales support and explained my situation. I was told the feature I wanted was not currently possible, but that it was planned in the roadmap and would likely take some weeks or a few months to implement. In the meantime, I was told, I could use some JavaScript to effectively have the same thing happen in the browser; the idea being, presumably, that the JavaScript would check the order quantity and wig out if it was out of bounds.

My response to this was that I’d rather wait until the feature was native instead of a JavaScript hack. It’s especially important when selling security solutions that the platform is, y’know, secure. I calendared a date in early September to check back with the provider to see what the status was. Things went quiet for a bit after I’d explained how I’d like MOQ to be implemented, I assumed my email had been lost somewhere in a system.

A week ago, I received an email reply from the vendor CEO with an apology for not responding sooner. This was a pleasant surprise, though it’s not the first time I’ve had email to-and-fro with this particular person; back in the first half of 2013 there was another email thread. The CEO in question was very personable, respectful and straightforward — I recall at the time being a bit perplexed as to why a CEO would be emailing me directly, but the more I deal with small & growing businesses the more I encounter it.

The MOQ stuff was clarified as not being a priority, with single-digit number of requests from paying clients. I still couldn’t see it on the public roadmap, though. I was offered a generous discount if I would sign up and become a paying customer, giving me more influence with the development process. The store I want to open needed MOQ to be in place at launch, and so I countered with a proposal for an annual upfront payment to commence at the start of MOQ being available to customers and an extended evaluation period in the meantime, during which time I could build my store innards.

I had budgeted for the second tier of 4 packages, the first being the cheapest, no frills option and the fourth being a get in touch with us option; that’s way beyond my needs. I could afford a year upfront for the first tier and, with some finagling I could just about cover the second tier if required. Yesterday I was told the MOQ feature I want would be developed as an extension to the the third tier, but that I could get tier three for the price of tier two for a year if I could pay upfront, something that I’d already proposed in an earlier email, and could help steer some of the development during the beta testing phase.

It ends. For now.

I have, respectfully, declined the discounts and offers. It made me nervous that something I need to run with is effectively ransomed to that third tier. It’s an awkward chicken and egg situation that I need something they don’t currently offer, but don’t have the budget to help fund. I don’t have any connection to the vendor in question beyond being interested in their product, and I’m hoping to use them in a future project with less specific requirements.

As I began my morning walk today, I worked through some of the cart vendor thought processes and decided that Magento might be the best solution for now. Then I read about Magento layoffs. Not a good sign. Yes, the software itself is available as a free download, but it’s so darned complex that if eBay (its owners) decide to jettison it like they did with Skype, who knows where it’ll end up.

I signed up for another SaaS vendor trial today, but the button confirming my details didn’t seem to work in my browser. I closed the browser and started to write this instead.

Magento — sweetheart — I loathe you. See you at dinner. I’ve cleaned the house. Don’t beat me up too much.

Author

Posted
Comments None

As June 2014 drew to a close, I finished up my duties as a cdnjs maintainer. At the time, there was a combined sense of relief and sadness. In some respects, I was pleased to be leaving behind the persistent junk and abuse that came from one (or more) of the users, but at the same time I was disappointed that I’d let it get to me.

This year has had a loose theme of change and improvement. It’s a wishy-washy statement in some respects, I know, but this year seems to be more forward-thinking than previous ones. Perhaps it’s just the age or point in my life that I’ve reached when priorities are different than they used to be. My involvement in cdnjs was borne out of a want to do something useful with purpose, albeit within the realm of computing. In a similar vein, I own and run EX23 Technical Services as a Bude-area technical support company; to clarify if you’re not local to me, the first part of the Bude-area postal code is EX23, hence the name.

EX23 was born

Within the bounds of EX23 Technical Services, I fix computers. I make unhappy computers happier, I bring dead things back to life, and have what should be considered a very high success rate with fixes. It’s a service industry; anyone can buy things and attach them to a computer, and most of the time they work A-OK — when they don’t, I get a call.

It’s an interesting role to be in, and one that’s evolving. I started EX23 last year in an exploratory sense, testing the water to see if a person with my skills could be of use to the community around here. What began with me going onsite to clients with a bunch of knowhow, a smile and a Leatherman Wave has evolved into a multi-thousand pound a year role that keeps me busy and pays bills. My Leatherman, previously fastened to my belt by way of a Haven Leather custom holster, now lives in Stanley tote alongside a bunch of other tools, leads, disks and a tin of emergency Altoids.

Failure is rare

Since started EX23, I’ve failed twice. That is, on two occasions I have been unable to conclusively diagnose and resolve problems with computers. The first time, some months ago, was a Windows XP (pre-Service Pack 1) computer that refused to accept any ethernet settings and so couldn’t connect to a broadband router. That stumped me for hours. The client didn’t have the funds to have the computer updated, and frankly a more recent version of Windows wouldn’t have worked, so I walked away dejected and frustrated. The client was understanding, I didn’t charge them any money (no fix, no fee), and it bothered me for about 3 days.

The second instance is a bit more complicated, and is also current. This computer is more up-to-date, running Windows 7 Service Pack 1 with all the interim bits. It would reboot randomly. No pattern to the reboots, no blue screen, no memory dump. My first thought was a faulty or underpowered power supply. Having tried a new one, it wasn’t that. The mains lead is fine, the UPS it’s plugged into is OK, the power supply to the house doesn’t spike or drop. It’s not a mains power issue, at least not as far as I can tell.

The client has an always-on approach to his computers when they’re powered up, so sleep and hibernate are both disabled. There are no out-of-date or wonky drivers. There is no overheating going on, the cooling is more than ample; a prime95 torture test takes the CPU temperature to a steady 49 Celcius, idle temperature is in the mid-thirties. It’s not an internal cooling issue.

The Event Viewer shows nothing of any help. The latest thing I’ve done is to reset the BIOS to factory defaults and triple check the voltage to the memory. That was about 18 hours ago and – touch wood – I haven’t heard any reports back from the client that the seemingly random reboot is still happening.

The pinch point

Touch wood. Fingers crossed. Hoping. That’s not how I roll, and I really dislike it. The uncertainty is eating me up. By Wednesday, I’ll know if what I did solved the problem. I’m not overly confident. Three more days of waiting.

I’m diagnosing something that’s a one-in-a-thousand occurrence. I’ve been asked if a new or replacement motherboard would help, and my answer was “I don’t know”. Somewhat perversely, I’m much more comfortable and familiar with the directness and certainty of I don’t know.

I am a strong proponent of finding and resolving a problem without throwing money about in a vague attempt at a fix. If I don’t know, I’ll say so. This is the first client I’ve explicitly told that if what I’ve tried doesn’t work, I’m out of ideas and will not be able to help them.

It’s not the computer

The computer itself is largely irrelevant to my predicament. The sub-1% failure rate bothers me, the distinct lack of closure really bothers me, and the temptation to go down the rabbit hole and obsess about this until I get an answer – regardless of how much time and effort it takes – needs to be stopped before it takes hold and ruins my week.

Author