Posted in Alexa, AWS, Programming

Writing Custom Alexa Skills using AWS Lamdba and Python

In this tutorial, we will learn to write an Alexa skill and publish it for certification. We will use AWS Lambda to host the code which will be used to implement the skill.

When you write an Alexa skill it generally involves two set of activities.

  1. Writing a service which will perform the tasks/actions of your new skill. This is the part we will write in AWS Lambda. You can host this service yourself too if you want to by hosting it on a web server and providing an HTTPS endpoint. Lambda just takes cares of many aspects of this and makes it easier to integrate with Alexa
  2. Configuring your skill in amazon developer portal (name, words associated with your skill, how to invoke it etc) and linking it to your service.

Continue reading “Writing Custom Alexa Skills using AWS Lamdba and Python”

Posted in Frameworks, Programming

Difference between Multi-Threading and Parallel Programming

Since the use of multi-core computers / PCs is common these days, there are more and more parallel programming frameworks coming up. If you use Scala (or Java)  you might have used the AKA framework which is based on Actors. In java 7 there are the Fork/ join APIs.  However you might ask why do we need these , since multithreaded apps are already quite common. If you use Servlets and so on you are automatically using multiple threads and JVM is a beast when it comes to scaling up using threads and utilising multiple cores.  Continue reading “Difference between Multi-Threading and Parallel Programming”

Posted in Programming

Writing a custom Nginx module – Sample Hello World Module

If you want to write a custom Nginx module, Emiller’s guide is a very good starting point. This article is a wee bit long and you might want to get your hands dirty just to see a full program. In this case you can find this hello world module useful.

I found both of them useful, but the hello world program was  simplistic enough for me to miss some concepts, so i wrote this improved hello word module. Continue reading “Writing a custom Nginx module – Sample Hello World Module”

Posted in Programming, protocol, Web Development

Implementing HTTP Digest Authentication in Java

I recently had to implement my own version of RFC 2617 which addresses the digest authentication in http protocol. This RFC is an improvement over RFC 2069 which was the previous version of Digest Access authentication. However RFC 2617 adds some additional security features such as quality of protection (qop) to try to counter re-play attacks. Continue reading “Implementing HTTP Digest Authentication in Java”

Posted in Frameworks, Programming, Web Development

Asynchronous Non-Blocking Backends – Node.js is cool

I am beginning to have a liking for the new stuff everyone is buzzing about. The server side V8 based javascript framework called Node.js.

In the start when i heard about it at a hacker’s get together, i thought its another one of those, cool buzz words framework which makes you cool and hip if you use it.  However after playing around with it for a bit, it seems pretty nice.

Continue reading “Asynchronous Non-Blocking Backends – Node.js is cool”

Posted in Online Payment, Programming, Web Development

PayPal Integration Primer, Quick way to integrate online payments to your website

Over the years i have worked and integrated with many payment systems and gateways. Some have been server-to-server and some have been “front-end” systems. Some have been extremely simple to integrate and some have been quite complex with fraud prevention and management as part of the integration.

Continue reading “PayPal Integration Primer, Quick way to integrate online payments to your website”