Redash RPM in COPR

Just a quick announcement post. 

I've added a redash build in COPR.

To install:

dnf copr enable izhar/redash dnf install redash
Configure your database at /etc/redash.cfg

Service is managed by supervisord, so start supervisord to start the service.

service redis start service supervisord start
(I probably should figure out how to write systemd service)

Load redash on http://localhost:5000

Announcing PlatoCDP, a Plone distribution for enterprises.

Announcing the first release of PlatoCDP Plone distribution. A Plone distribution with the goal of attempting to build a more supportable, enterprise-ready, document management and content management  solution for government and enterprises. The ideal aim is to develop improvements on the distribution so that it will be a viable alternative to Sharepoint.
So what is it exactly?
An enterprise Plone distribution - that is, an integrated product which includes Plone, selected Plone add-ons, 3rd party softwares and integration/automation improvements to deliver an enterprise ready product for customers.Is it a rebrand of Plone? - It is an enterprise distribution product. PlatoCDP to Plone is like RHEL to Fedora. It is not a mere rebrand. PlatoCDP includes core Plone, additional components from the collective and its own improvements. We engage on packaging, certification and development activities to make the whole stack supportable for enterprises. These components of the dist…

Lessons learned on how not to run an Open Source company

Back when I co-founded Inigo, one of my primary motivation was to create an Open Source company which:
Provide quality Open Source solution for Malaysian market (in this case, KM & CMS solution) Work closely with upstream on improving the products supported by the company (in this case, Plone)Actively develop local talents and human resource on Open Source skills, following pure Open Source philosophyActively create new innovation for the market related to our core solutionsScale the company up that it become a prominent player on its core market Unfortunately, over the years, none of the goals were reached. Due to our business model approach, ended up as a company which primarily focus on developing client-specific add-ons on top of Plone. The projects were fun, and challenging, however, due to a poor support and pricing model, the business unable to scale and we ended up in a hamster wheel of non-stop trying to catch up to pay the bills. Mistakes done includes:
Poor business/pric…

Reg for ZCA addicts - Part 1: Adapter

Recently I have been exploring Reg, a library inspired by zope.component written by Faassen, and I found its simplification of ZCA to be pretty interesting. Being really loving ZCA for a while now, I end up trying to figure out how the ZCA patterns fits if I were to use Reg in my future projects. So here are the list of items I discovered so far:

This is the most common pattern I use with ZCA, primarily to simplify writing logic by standardizing the interface of objects I work with into a common set of behavior/functions:

In ZCA , adapters are done this way:

from zope import interface from zope import component class IDog(interface.Interface): def bark(): pass class Dog(object): interface.implements(IDog) def bark(self): return 'Woof' class IDuck(interface.Interface): def quack(): pass class Duck(object): interface.implements(IDuck) def quack(self): return 'Quack' class IAnimalSoundAdapter(interface.…

Life updates

So .... I think by now plenty of people have known that I left Inigo Consulting a few months ago. Those who are wondering why, the reasons was primarily due to personal mental health reasons, which I identified the core source was that I pushed myself a bit too far, investing time and emotion on a business model that is not going to work out for my long term personal goals.

I realized things are not going to the right direction for about a year plus, but my philosophy of persistence kept me pushing it - possibly beyond my limits and nearing total mental breakdown. This led to generalized anxiety disorder, which destabilized myself, and led to other problems that cause plenty of things around me to collapse and destroyed, affected me emotionally (which, again, I did not realize my limits, due to I have a bit of alexithymia - inability to accurately identify and express complex emotions besides basic happy/sad) made me push myself into a mild form of emotional posttraumatic stress diso…


So I guess I have been missing from posting things on this blog for over a year now ... Bunch of stuff happened in the past years .. theres a likelihood that I might be back ^_^ ..

New Toy: Doppelganger 211 Folding Bicycle

So I just got myself a new toy : a Doppelganger 211 Folding Bicycle. I've been wanting to grab a folding bike ever since I got back from HackInTheBox Amsterdam a few years ago, but due to random stuff happening regularly, I've been delaying on the plan. This is my first personal bicycle since about 10 years ago, where previously during primary school and lower secondary school, bicycle was my primary vehicle.


Why am I buying a folding bike?. Especially when I already have a car?. No solid reason, but there are several reasons which made it a nice-to-have:
I don't like driving for short distance, but walking consumes too much time. A bicycle is a nice middle point. I regularly switch between staying at office and home for a few days, so if I have a bicycle, I want it to not be confined in either of the 2 places, thus, the bicycle need to be able to be transportable in my car - therefore, it should be a folding bike.Sometimes when I need to travel, I keep finding myself …