All tags:

A way to implement conditional donut caching or server side content targeting using varnish

> Even problems this article is trying to solve is related to Adobe AEM Personalization, but the technique it uses is AEM agnostic. ## About Varnish [Varnish]( has been widely used nowadays as a caching HTTP reverse proxy. I use Varnish to act as second level [Load Balancer]( behind [F5](, traffic controll

The beauty of literature

> 成于 2017-02-13, 记录在我的iCloud Notes里,现在搬家到个人网站上。 那日女友驾车从 London 往 Tonbridge 去,路上飘起小雪,温度很低。 伴随着英国冬天的妖风,雪花漫天飞舞,视线受阻,更显天地苍茫。 我极目远眺,茫茫风雪无边无际,不觉随口吟起:“千山鸟飞绝,万径人踪灭”。 此事现在回味起来仍然觉得有趣。 我学习柳宗元这首绝句是在十几年前,背诵时脑海里依据自己对诗句的理解来勾勒图画以加深理解和记忆。想不到十几年后英国某处景观竟能让我回溯起这首绝句。 想来诗词果真有如此魅力,记于心、融于景、会于神。先人以诗写景,后人以景韵诗。 都说诗书画印不分家,此可为一证也。

sling:alias property stops working in some scenarios when using AEM 6.3 and ways to resolve it

## Case This is probably AEM 6.3 specific issue, hopefully Adobe is going to have this issue fixed soon. We’ve been experiencing sling:alias loss which affects most of the sites and pages. Since upgrade to AEM 6.3. Our site is global and non-English websites rely heavily on AEM's sling:alias page property to support local language specific urls while the page names keep the same as that of Eng

About me

I have been working as a software engineer since 2004. From initial video encoding/decoding algorithm (H.263 back then) optimization written in pure C, to log based inter database real time data replication research and implementation using C++ (I also coded some RPG on OS/400 if you are old enough to know). I stopped dealing with allocating and releasing memory life and started coding using C# o