Raman Shalupau

tech and music

Page 2

Gartner Hype Curve in images

This curve represents how technologies move through their hype cycle. Typically most of the tech go through each stage.



Examples (might not be accurate nor timely):

View →

Present Big ideas in 3 steps

Screen Shot 2014-05-21 at 11.42.13 pm.png

View →

Multi-feature staging environment(s)

It is hard to work on several versions of a web app and demo them to other people on the Internet (or in an organization).

In other words: how do you elegantly deploy all of your git branches and make them accessible on the Internet?

The Objective is to access your project version via a subdomain like http://<feature_name>.alpha.cryptojobslist.com, while all developer has to do is to push code to a feature/feature_name git branch.

Note: this tutorial is for SPAs (frontend / static files / js apps / whichever way you call them). Set-up for backend apps (node/ror/python/java) is different, I might write about it later. The approach described below is relevant to decoupled frontends.


Summary: every branch you push to, should be deployed. Every push should go through same CI process → branch should be built → artifacts are moved to the same server(s) → every built branch should...

Continue reading →

Evernote’s promo code

Lately I attended Startup Weekend Singapore. One of the event sponsors was Evernote, who kindly gave out free 3-month subscriptions for Evernote Premium to all participants. Coupon looked like this:


Notice that 20-char code? Have fun keying it in a web form!
Meanwhile, our old friend QR code, generally abandoned and misused, could have been a perfect candidate for the job.


Just a little modification of Evernote’s, already powerful, mobile app is needed to recognise QR code and apply discount to user’s account. Existing customers could have enjoyed convenience, while those without an app, will be incentivized to download it.

Finally, a great opportunity for QR code! …is missed.

Continue reading →

Decoupling frontend from backend

Hopefully, you’ll not find anything revolutionary or cutting edge in this article, but in case you’ve been working on a X-year long project in a conservative organisation, you might find these words useful.

How to keep frontend separate from backend?

Simple. Treat them as two different apps from day one.

  • Backend — RESTful api. Outputs JSON only. No HTML whatsoever.
  • Frontend — Static files only. HTML/JS/CSS/Images/Fonts. Served by NGINX/Apache. All rendering happens in browser only. Data is AJAXed from the the API.

In your organisation, frontend will likely be on separate server(s) from backend. Likely developed by completely different teams, individuals.
Actually, the fact that frontend is developed by different ppl from backend, is the key reason to keep in in a separate repo, in a separate server, in a separate production environment.

Continue reading →

I see you are structuring your company, leading your team… here is a thought for you

If you want to build a ship, don’t drum up the men to gather wood, divide the work, and give orders. Instead, teach them to yearn for the vast and endless sea.

― Antoine de Saint-Exupéry

View →

When hiring

ask yourself:

“Would I work for that person?”

View →

Parameterized Jenkins build for rollback purposes.

Yes, I know, Jenkins is terrible. I don’t recommend using it. Use TravisCI, CircleCI or something like that.

Nonetheless. If u happen to use Jenkins for whatever reason, there are advantages to it. One of them is manually trigger-able and parameterized builds. With them, you can set up rollbacks to a specified git tag.
When emergency hits (hope it’s not) you’ll need this.

  • Tick “This build is parameterized”:
    Screen Shot 2014-04-23 at 11.59.10 am.png

  • In “Source Code Management” specify your git repo and click “Advanced…”
    Screen Shot 2014-04-24 at 9.26.01 pm.png

  • And there enter the following magic: +refs/tags/$GIT_TAG:refs/remotes/origin/tags/$GIT_TAG
    Screen Shot 2014-04-24 at 9.26.39 pm.png
    How I came up with this — trial+error+stackoverflow

  • Branches to build: */tags/$GIT_TAG
    Screen Shot 2014-04-24 at 9.29.05 pm.png

After this, you’ll want to configure the rest of the build in your preferred fashion… whatever takes to actually build and deploy your repo… Click ‘Save’ and you are done.

Settings mentioned above are key to ensure successful...

Continue reading →

Animated CAPTCHAs

Today I learned that animated CAPCHAs exist.
Built with flash. Animated. Readable. Kinda useful.


  • easier for human
  • harder for computer

Can’t crowdsource OCR anymore, though… But maybe this will inspire crowdsourcing of something else, that only human capable of?
Found in http://www.addthis.com/ email forward feature.

View →

Always good to keep in mind…

…in an international city.

how business talks

View →