The War of Art

I wasn’t sure what to expect when I picked up “The War of Art” by Steven Pressfield. It shows up on Hacker’s News and other entrepreneurs’ forums regularly as a recommended reading. Steven Pressfield is a novelist but this book is popular reading for anyone who is pursuing a goal.

The author’s main point is that the most important and the hardest thing is doing. Weather that be sitting down at desk to write a novel or software. Once you are at your desk, or at your office, the hard part is done. This can apply to anything; fitness, painting, photography, etc.

Things that make you the most nervous about doing; are probably the most important things. If these were not important to you, then you would not feel resistance when attempting these things.

One last piece of advice that I really liked was from Bhagwagita. It says that one has no right to their fruit of labor, only their labor. Basically, one should work hard without any expectations of reward. If they are lucky, their work will bring them all kind of rewards such money, fame, respect. But if they don’t get anything in return for their work, then so be it. They should do work for work’s sake and nothing else.

 

How to Fail at almost Everything & Still Win Big

How to Fail at almost Everything but still Win Big by Scott Adams (affiliate link) comes up on Hackers’ News a lot. Finally, I had a chance to read it.

This is a little different kind of book compared to my regular reads about ultra-successful business titans. I had no idea who Scott Adams was until I heard about this book. He created Dilbert comic. He gave very down to earth perspective on how he achieved success in this book.

Basically, he started various ventures throughout his life including restaurants, websites, etc. Eventually, he started getting traction on his Dilbert comics, so that became his number one focus which led to even more success. He developed passion for comics & art as his comic got more popular and earned him financial success.

The main takeaways for me are try try again, you will fail at most things, passion grows as project grows.

 

Magento – Get All Products with Categories in a Flat View

SELECT 
    w1.website_id,
    w1.name as website_name,
    s1.store_id,
    s1.name as store_name,
    p1.entity_id as product_id,
    p1.sku,
    pname.value as product_name,
    url.value as url_path,
    small_image.value as small_image,
    msrp.value as msrp_price,
    price.value as price,
    p1.created_at as product_created_at,
    p1.updated_at as product_updated_at,
    visibility.value as visibility,
    pstatus.value as status,
    case
        when
            (pstatus.value = 1
                and visibility.value > 1)
        then
            1
        else 0
    end as enable_flag,
    c1.entity_id as category_id,
    cname.value as category_name,
    c1.parent_id,
    c1.created_at as category_created_at,
    c1.updated_at as category_updated_at
FROM
    catalog_product_entity p1
        inner join
    eav_attribute p_attr ON p1.entity_type_id = p_attr.entity_type_id
        and p_attr.attribute_code = 'name'
        inner join
    catalog_product_entity_varchar pname ON pname.entity_id = p1.entity_id
        and pname.attribute_id = p_attr.attribute_id
        inner join
    eav_attribute p_attr2 ON p1.entity_type_id = p_attr2.entity_type_id
        and p_attr2.attribute_code = 'url_path'
        inner join
    catalog_product_entity_varchar url ON url.entity_id = p1.entity_id
        and url.attribute_id = p_attr2.attribute_id
        and pname.store_id = url.store_id
        inner join
    eav_attribute p_attr3 ON p1.entity_type_id = p_attr3.entity_type_id
        and p_attr3.attribute_code = 'small_image'
        inner join
    catalog_product_entity_varchar small_image ON small_image.entity_id = p1.entity_id
        and small_image.attribute_id = p_attr3.attribute_id
        and pname.store_id = small_image.store_id
        inner join
    eav_attribute p_attr4 ON p1.entity_type_id = p_attr4.entity_type_id
        and p_attr4.attribute_code = 'msrp'
        inner join
    catalog_product_entity_decimal msrp ON msrp.entity_id = p1.entity_id
        and msrp.attribute_id = p_attr4.attribute_id
        and pname.store_id = msrp.store_id
        inner join
    eav_attribute p_attr5 ON p1.entity_type_id = p_attr5.entity_type_id
        and p_attr5.attribute_code = 'price'
        inner join
    catalog_product_entity_decimal price ON price.entity_id = p1.entity_id
        and price.attribute_id = p_attr5.attribute_id
        and pname.store_id = price.store_id
        inner join
    eav_attribute p_attr6 ON p1.entity_type_id = p_attr6.entity_type_id
        and p_attr6.attribute_code = 'visibility'
        inner join
    catalog_product_entity_int visibility ON visibility.entity_id = p1.entity_id
        and visibility.attribute_id = p_attr6.attribute_id
        and pname.store_id = visibility.store_id
        inner join
    eav_attribute p_attr7 ON p1.entity_type_id = p_attr7.entity_type_id
        and p_attr7.attribute_code = 'status'
        inner join
    catalog_product_entity_int pstatus ON pstatus.entity_id = p1.entity_id
        and pstatus.attribute_id = p_attr7.attribute_id
        and pname.store_id = pstatus.store_id
        inner join
    catalog_category_product ccp ON ccp.product_id = p1.entity_id
        inner join
    catalog_category_entity c1 ON c1.entity_id = ccp.category_id
        inner join
    eav_attribute c_attr ON c1.entity_type_id = c_attr.entity_type_id
        and c_attr.attribute_code = 'name'
        inner join
    catalog_category_entity_varchar cname ON cname.entity_id = c1.entity_id
        and cname.attribute_id = c_attr.attribute_id
        and pname.store_id = cname.store_id
        inner join
    catalog_category_product_index store1 ON store1.product_id = p1.entity_id
        and store1.category_id = c1.entity_id
        inner join
    core_store s1 ON store1.store_id = s1.store_id
        inner join
    core_website w1 ON s1.website_id = w1.website_id

OpenShift Error: Layer 7 Wrong Status, Invalid Response

I have been playing with OpenShift for past several hours. It looks great. But a while back I started to get 503 Internal Server error.

When I checked logs using rhc tail , I saw this error: Layer 7 Wrong Status, Invalid Response 404.

I spent an hour or so troubleshooting. Turns out the issue was Netbeans had added src/main/web/app/WEB-INF/jboss-web.xml when I ran the application locally on my machine. I committed this file, thinking I might need it. Deleting it from repo and repushing, fixed the issue.

Filter Some Keys in Multi-dimensional Arrays in PHP

  /**
    * Cleans up multi-dimensional arrays.
    * 1st dimension is a simple index
    * 2nd dimension includes the desired keys
    *
    * @param mixed $array
    * @param mixed $keysToInclude
    */
    public function cleanUpArray($array, $keysToInclude){
        $returnArray = array();
        $i = 0;
        foreach($array as $item){

            foreach($keysToInclude as $key){
                $returnArray[$i][$key] = $item[$key];
            }
            $i++;
        }

        return $returnArray;
    }