Posts

2016 - Movies Data Analysis - Linear Regression Modelling

Java 1.8 Migration - Performance and Garbage Collection

Java 7 to Java 8 - that is easy! I have been working on migrating our web application from Java 1.7 to Java 1.8. Migrating our web app is a lot of challenge. What makes it more challenging is that our web application has a really unique process footprint (well that can be said for all web application). You have to know your application like the back of your hand especially if you want to tune garbage collection for it. When I accepted the challenge of changing our web application from Java 1.7 to Java 1.8. I thought that it was going to just a breeze considering that from 1.7 to 1.8 was not that far of a version. It turned out that I was totally wrong. Here are some of the major challenges that I encountered: 1. Permanent Generation turned into MetaSpace     Before Java, 1.8 class metadata is located in the permanent generation of the java heap. This can be set using the -XX:PermSize option. This was removed in Java 1.8 ( Remove Permanent Generation ). The reason why it was remo

Agile is not a process!

Agile - What is it? I have recently reinforced my understanding of what Agile is in relation to software development. One of the things that I realized is that the Agile manifesto does not dictate a process you have to follow but is more like a culture of what you need to value. One of the most popular agile methodologies is Scrum.  Scrum Guide  (The last time I read the guide was in 2009 - they have released a new guide in 2013. They will probably release a new one soon)- If you follow Scrum, you need to follow everything otherwise you are not doing Scrum. You can do stand ups but if that is only you are doing then it is not Scrum. Scrum will ensure that an Agile culture is developed with the team - and the person to see that through is the Scrum Master. Since Agile is in its teen years - we probably need to reconnect with it and revisit where it is being taken. Agile in its teen year!

Speech to Text - HTML 5

Technology Can Help Recently there was a news in Good Morning America were a deaf cashier is taking orders and customers patiently writing out there orders. Here is a link   Deaf Cashier Well with a computer in every pocket there is technology to help. Here is a quick demo that i have created to use HTML 5 technology to create a speech to text web page. Here is a link to the working page http://petabyte.github.io/textToSpeech.html https://www.youtube.com/watch?v=27SZISZAPEA

Internet of Things Project - Music Teacher

Image
Why ? Music Education usually involves a student using several instruments. A student needs to log practice time which should meet a certain amount of time spent practicing with the instrument. This is usually done using a log book. The logbook usually needs to be initialed by the parent. ( Sometimes the parent does not really know if the student practiced or not.). So, the logbook usually gets signed by the parent but the student did not really practice. How can you verify this ? - You can record every practice via video (but you are going to need to watch the video in order to determine the amount of practice time) There must be a better way of logging music practice. Music Practice Logbook How to solve this issue ? Good thing is that there is a lot of makers out there connecting things to the internet.  We can create a device that will log music practice so that we can see a summary of the length of practice every day. Using a mic sensor, led lights , and a particle w

Messaging for the Internet of Things

Messaging for the Internet of Things   As we embed processing power to a lot of our everyday things. The thing will need to communicate with a server to send data or get data . The thing needs data in order to make something happen. The thing needs to send data so that we can be smarter on how we use the thing. But How do we send data to a central server that is robust, asynchronous and reliable ? MQ, what is old is new Again  MQ or Message Qeueing is new again in the age of the Internet of Things. Messaging Patterns for the enterprise has been around for ages. What were the major reasons that messaging addresses ? 1. Networks are unreliable - data needs to be transported over the network. These networks are a conglemeration of different types of network. Since we do not have control of over most of the network that we use to access the internet. The network will present a lot of problem specially when you are sending messages across the internet. 2. Networks are slow - The

OAuth 1.0a Request Signing and Verification - HMAC-SHA1 - HMAC-SHA256

Image
This is a security project that I did this Fall semester. I was interested in why the OAuth1.0a specification did not require you to sign a request using RSA-SHA1 or any RSA algorithm. The first issue that I found is where would you store your private keys in a javascript client? - as a javascript encrypted file ? from the browser ?  - that will be a security hole if you allow javascript to get private keys. These are some of the questions that got me asking and which I cannot find answers to for now. OAuth 1.0a Signature Signing and Verification using JavaScript Implementation Background The OAuth specification tries to define an API authentication method that allows consumer websites or applications to access protected API Resources from a Service provider. The advantage that OAuth provides is that the user of the website or application is not required to disclose their credentials to their service provider. Another advantage of using OAuth to authenticate is that it does not