WSO2 API Manager is a fully open-source full lifecycle API Management solution that can be run anywhere. It can be deployed on-prem, on a private cloud, is available as a service on cloud or deployed in a hybrid fashion where its components can be distributed and deployed across multiple cloud and on-prem infrastructures. Even though…
Author: rnavagamuwa
Submit data to a google form in a programmatical way – unsecured form
Nowadays google forms are the most convenient way of collecting information and when it comes to google forms, usually the recommended way is to have security enabled so the user needs to be logged in before submitting the form. But sometimes when we are conducting surveys that are not possible as we need to share…
Spring Security integration with WSO2 Identity Server
Recently I did a small screen cast on “Spring Security integration with WSO2 Identity Server”. You can find all the resources I have used in the screencast bellow. Source code of the SDK : https://github.com/rnavagamuwa/spring-security-abac/tree/master/sdk The source code of the sample: https://github.com/rnavagamuwa/spring-security-abac/tree/master/sample Slide deck
Android : Generate Release/Debug Keystores
Generate Keystores To generate keystores for signing Android apps at the command line, use: $ keytool -genkey -v -keystore my-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 A debug keystore which is used to sign an Android app during development needs a specific alias and password combination as dictated by Google. To create a…
Install Oracle Database 11g Express Edition on CentOS 6.x
Overview Oracle database is one of the most widely used relational database management systems (RDBMS) in enterprise environments. Developed, maintained, and supported by Oracle Corporation, this RDBMS is often installed on top of a flavor of Enterprise Linux (RHEL, CentOS, or Scientific Linux). This makes for a very robust operating system – database choice. In…
Improve your AWS lambda development with SIGMA
A few weeks back, I wrote an article about implementing a Simple Authentication Service with AWS Lambda. Implementing that service was not that straightforward. If you are doing that on your own, then you need to go through several docs on API Gateway, RDS, and Lambda. Believe me that is not an easy thing to do. With Sigma, you only…
Simple authentication service with AWS Lambda
When it comes to APIs, AWS comes to our mind instantly. We all have been using AWS EC2 for our back ends. With the new Serverless Computing concept, AWS has introduced their own serverless platform which is called AWS Lambda. AWS Lambda lets you run code without provisioning or managing servers. You pay only for the compute time you consume…
Secure B2B Trading with AS2 Gateway
Handmade (Pvt) Ltd is a small company with around 50 employees, which was started a few years back. Handmade makes small ornaments which will be sold to retail stores worldwide including some of the Fortune 500 companies. Most of these large companies constantly demand Handmade to use a secure protocol to send invoices, instead of…
Correct file permissions for a website
Hi all, Today I’m going to talk about file permissions on a Linux environment. Setting file permissions on your Web server should be the first thing you do. Users and groups To put it simply, a user is an account that has access to the computer, and a group just is an identifier for a certain…
Embed Tomcat in your Spring web app
Well, today I’m going to tell something about Apache Tomcat. Apache Tomcat, often referred to as Tomcat Server, is an open-source Java Servlet Container developed by the Apache Software Foundation (ASF). Tomcat implements several Java EE specifications including Java Servlet, JavaServer Pages (JSP), Java EL, and WebSocket, and provides a “pure Java”…
Multithreading with POSIX Threads
Overview During my 8th semester at University Of Moratuwa, I have enrolled to this module called Concurrent Module and I thought of sharing the things I learnt. What is multithreading? Multithreading is the ability of a program or an operating system process to manage its use by more than one user at a time and…
Tumbling Cube in MATLAB
Recently I did a small presentation on modeling a Cube in Matlab and I thought of sharing the presentation here Tumbling cube from Randika Navagamuwa
Kaggle Grupo Bimbo Neural Network Implementation
I learnt about Neural Network during my machine learning lectures. And as our project we had to solve a problem on Kaggle. Kaggle is a platform which provides real world machine learning problems. Before going through this example I suggest you to go through this blog post (http://iamtrask.github.io/2015/07/12/basic-python-network/) on implementing a small neural network. Overview…
GSoC 2016 : Pair programming with Eclipse Che Cloud IDE
Overview I have contributed to Eclipse Che as my Google Summer of Code (GSoC) 2016 project. In this project I have concentrated on implementing a pair programming extension for Eclipse Che. The implementation was divided into the following three sub tasks Display cursors of other participants Participants getting notified when the files which are not…
Time series Shapelets in 10 minutes
Hi all, While I was working on my Final Year Project, I went through this amazing concept, “Time Series Shapelets”. After struggeling with shapelets for hours, considered of sharing that on my blog 🙂 Overview Classification of time series has been a very interested field over many years. Most common methof of analyzing time series has…
Customize Orion Editor to have multiple cursors on Eclipse Che
Last month I have talked about a pluggable editor for your website. If you haven’t seen it yet just go here and take a look. 🙂 As you all know Eclipse Che is a cloud based developer IDE. This IDE uses Orion as the editor. Since this is an open source product we can customize the…
Setup your USB modem on Ubuntu
Hi all, today I’m going to tell you about how to configure your USB modem on Ubuntu. Problem The problem I had was, I couldn’t connect to internet with my USB modem on my Ubuntu installed lab. USB dongle was detected but I couldn’t connect to that.I have tested the solution that I’m going to tell…
Run Eclipse Mars IDE inside Eclipse Che
What is Eclipse Che? Eclipse Che is a developer workspace server and cloud IDE. Codenvy hosts eclipse che workspaces with free accounts. You can simply create a codenvy account and try Eclipse Che. (https://codenvy.com/login/) Since Eclipse Che is an open source project you can folk their github repository and start building from the source code. All…
Pluggable editor for your web site
Today I’m going to tell you about a cool open source project called ORION. Overview Orion’s objective is to create a browser-based open tool integration platform which is entirely focused on developing for the web, in the web. Tools are written in JavaScript and run in the browser. Unlike other attempts at creating…
Make your own TWITTER BOT!(Linux)
Hi all, today I’m going to tell you guys how to create a twitter bot. What is a bot. Bot is a simple computer program used to perform highly repetitive operations. You might have already seen some twitter bots but haven’t recognized them as bots. Here I’m going to create a simple retweet bot. Everything is…
Wikipedia on whatsapp
Hi all, today I’m going to tell you guys a cool feature that wikipedia provides. Now a days we all are familiar with whatsapp and we all use whatsapp group chat daily. So you might need to search wikipedia while you are chatting with your friends. You can simply use this cool feature. Add this number…
Swagger-codegen as a maven dependency
Swagger is a project which is developing rapidly these days. And around the world a lot of people are using swagger for their API representation. Swagger provides a lot of supporting tools and swagger-codegen is a key tool that people are using these days. In one of my previous posts I’ve talked about swagger-codegen and I’ve…
Generate a client side java SDK for multiple APIs
Overview If you have read my last blog post then you already know what I’m going to tell you now. So if you haven’t read those yet please refer it before starting this tutorial. https://randikan.wordpress.com/2016/01/12/generate-client-side-code-using-swagger-codegen/ Prerequisites You need to have a clear idea about swagger codegen. If you need a single jar file as the output…
Generate client side code using Swagger Codegen
Overview Swagger provides a simple, powerful representation for you APIs. After creating an API what you need is a client side code to access the API. Swagger provides an open source product to do that. Swagger Codegen Swagger codegen is the tool that we are going to use for generating client side code. You can…
OAuth 2.0
Now a days APIs do a major role in software engineering, and accessing APIs from mobile devices are becoming very useful. So when it comes to that, OAuth2 is an excellent protocol for securing API services from untrusted devices. OAuth Roles There are four major roles defined in OAuth Resource Owner The resource owner is the…
Things you can do with WSO2 API Manager
You might never heard about WSO2 API manager before. Well, it’s a tool which can be used to manage your APIs. You can learn everything that you need to know from the documentation provided by WSO2. Before talking about the things that they have not mentioned it would be better to have a clear understanding about…
Android Push Notifications with GCM – Server Side(JAX-RS)
If you are not familiar with GCM please refer this url to get an idea before starting this tutorial. Overview When you are sending a push notification from the server you need to know the device registration id first. Device registration ID can be stored when the device is registered. Here I assume you all know the…
Android Push Notifications with GCM – Client Side
Overview of Google Cloud Messaging As per google’s documentation “Google Cloud Messaging for Android (GCM) is a service that helps developers send data from servers to their Android applications on Android devices” Send a request to GCM from the device to register (with the google project number). GCM sends back the device registration ID. Device…