- Development 32
- Java 17
- Mac 16
- Howto 15
- Scala 6
- Linux 4
- Meta 4
- Technology 4
- WebKit 4
- BigData 4
- REST 3
- GCP 3
- BigQuery 3
- Groovy 2
- Functional 2
- Spark 2
- Firefox 1
- JavaOne 1
- Conference 1
- iPhone 1
- Ruby 1
- Ubuntu 1
- Android 1
- Javascript 1
- Python 1
Development
Dataframe Performance Comparison - Pandas on Spark vs Pandas
I found this post about the new Pandas API on Spark very intriguing, specifically the performance improvements so I wrote a few simple tests to highlight them.
First Impressions of the M1 MacBook Pro
I will walk you through my thoughts on owning the new M1 MacBook Pro and what it took for me to get my development environment up and running on it.
BigQuery Integer Partitioning is in Beta
This post will talk about what integer range partitioning is, how to leverage it, and finally walk through a few scenarios demonstrating the benefits of it.
Querying External Data with BigQuery
In this post I will walk through how to use BigQuery’s new capability of querying Hive Partitioned Parquet files in GCS. It is a really cool feature.
The Power of Big Query with Public Data
If you are looking for an easy way to query a public dataset you should definitely check out Big Query’s publicly available datasets.
Notes from a Talk on Evolving Java
Notes from Brian Goetz’s talk on Evolving Java.
On Deciding Between PUT and POST When Creating a RESTful Resource
On Deciding Between PUT and POST When Creating a RESTful Resource
WebView(Javascript) -> Native Android API
Calling Javascript from an Android Webview
Mission Accomplished, Migration From Wordpress to Octopress Complete!
My thoughts and experiences with migrating my blog from Wordpress to Octopress
In case you haven’t heard - Apple is not showing Java any more love…
RubyMine 2 Debugging Issue Resolved
If you are trying to debug Ruby code in RubyMine 2 IDE, but are having difficulties such as, the IDE freezes after you try to step in, step over, or step next and are wondering if your configuration is wrong? It is not, if you happen to have installed the ruby-debug-ide19
gem from the command line (not from IDE), you need to patch the actual gem code to get things working nicely.
With Grape, Groovy Is On Par with Native Scripting Languages
If you haven’t heard, the latest version of Groovy was released this week and included with it, among many other great features, was Grape (Groovy Advanced Packaging Engine). Grape is an annotation based dependency management system that provides functionality similar to that of Maven and Ivy with one clear advantage, namely, no build file.
Scala Sugar - Iteration
In this second installment of Scala Sugar, lets put the lists that we created in the previous post to use.
Scala Sugar - Lists
If I want to become a real Scala Ninja, I am going to have change the way I think about coding. For the past 10 years I have been programming primarily using the object oriented paradigm. Although Scala supports pure object oriented programming, it is my desire to learn to program in Scala in a complete functional paradigm.
Scala reduceLeft
This post was updated on November 19, 2009.
Going Functional with Scala
Lately it seems like functional programming has been the talk of the town, the new (old) paradigm that is making a comeback in a major way. For a while, I resisted the urge to follow the paradigm de jour, being the hard core OO guy that I am, but now it is clear to me that it is more than just hype. There are many reasons functional programming makes sense as a paradigm for developing software today, but the one that I am most interested in is the fact that it handles concurrency so well, thus providing us the building blocks to develop extremely scalable applications.
Keyboard Shortcuts
Do you want to learn all of the keyboard shortcuts to your favorite Java IDE, but just don’t have time to study a cheat sheet? Are you envious of your team lead because when you peer program with them, they are able to get things done without using the mouse?
Simple Security for HTTP Based RESTful Services (Part 2)
In part one of this series, we examined one potential solution that turned out to be not so good. In this post lets try to find a solution using the same design, but a better implementation.
Simple Security for HTTP Based RESTful Services (Part 1)
This is going to be the first in a series of posts discussing potential ways of securing bi-directional RESTful based HTTP services. For this series we are going to make the requirements quite simple, namely, “secure” simply means the caller of the service is authorized to invoke it. Lets assume that this solution is being deployed along with a simple IP addresses restriction mechanism. Since IP address’s can easily be spoofed, this solution is the next level of defense to ensure the identity of the caller.
A little Salt with that Hash?
Was just presented with a unique (to me) requirement which is to implement a single sign on across multiple domains within the same page via a cookie. Huh? Let me elaborate, in simple terms it means that there is a base site, lets call it foo.com, and then there is a partner site, lets call it bar.com. On foo.com’s main page we want to be able to iFrame in bar.com with the credentials of the current user logged in to foo.com transparently sent over and in turn logged in to bar.com as well.
Proposed Java 7 Feature: Safe Rethrow
How many times have you written the following code:
Proposed Java 7 Feature: Multi-Catch Statements
How many times have you written code where you have something along the lines of:
Amazon’s EC2 and You
The purpose of this post is to give you a “high” level overview of Amazon’s EC2 (Elastic Compute Cloud), and how you can benefit from it. Amazon defines the EC2 as
Java One Wrap Up
The purpose of this post is to wrap up my thoughts on this past Java One Conference. There are both positive and not so positive thoughts in my mind right now about the conference. Rather than merely stating this fact, let me describe the details to you.
Initial Thoughts After Java One
Well folks, another year, another Java One has passed. This conference has definitely got me thinking about a lot of things, especially the future of Java “The programming language”. You must be thinking, why in the world did I add that little blurb about “The programming language”, I mean, Java is nothing but a programming language right?
Java One Keynote
Here is a list of the main topics of discussion during the Java One Keynote Address:
Groovy 1.6 Beta
I installed the latest Groovy Beta, (1.6) and no doubt it feels quite faster. Everything looks good from a performance perspective.
Moving From Eclipse to Intellij on the Mac
I have been using Eclipse for the past 5 years. During that time, there have been projects where I have been exposed to Intellij. Recently, after a conversation with a colleague, they convinced me to give the latest and greatest Intellij a try. They bragged about the wonderful Spring integration and code inspection. So I decided to give it a try. After using it for about a month now, I must admit, I have seen the light. It took a while to get used to the different keyboard shortcuts even though Intellij has the default Eclipse key bindings available as a selection. I decided to do a clean break from Eclipse, and learn the new keys.
Configuring a Java Development Environment on OS X Tiger
Since I just received my new MacBook Pro, I am tasked with setting up my development environment. Since most of my development is Java/Java EE based, the first thing I need to do is decide on the file system layout for all of the Java artifacts. I.e., JDK, IDE’s, Open Source Packages, App Servers, etc… I also need to decide on how I will control the Java runtime environment. I.e., Run App Server under Java 5, run a build under Java 1.4, run a Java Swing app under yet a different virtual machine. Here are my thoughts on each of these:
Static Method Synchronization
What happens when you try to synchronize on a static method? When a static synchronized method is called, which object are we referring to? A static method does not have a notion of a this reference. It is not possible to obtain a lock on an object that does not exist.
Hashcodes in Java
What happens if two different object hash to the same hashcode and then are placed in a HashMap?
Method Synchronization
In Java, access to shared resources can be controlled by using synchronized methods. An instance method is declared to be a synchronized method by adding the modifier synchronized to its declaration. For example:
Java
Notes from a Talk on Evolving Java
Notes from Brian Goetz’s talk on Evolving Java.
In case you haven’t heard - Apple is not showing Java any more love…
With Grape, Groovy Is On Par with Native Scripting Languages
If you haven’t heard, the latest version of Groovy was released this week and included with it, among many other great features, was Grape (Groovy Advanced Packaging Engine). Grape is an annotation based dependency management system that provides functionality similar to that of Maven and Ivy with one clear advantage, namely, no build file.
Going Functional with Scala
Lately it seems like functional programming has been the talk of the town, the new (old) paradigm that is making a comeback in a major way. For a while, I resisted the urge to follow the paradigm de jour, being the hard core OO guy that I am, but now it is clear to me that it is more than just hype. There are many reasons functional programming makes sense as a paradigm for developing software today, but the one that I am most interested in is the fact that it handles concurrency so well, thus providing us the building blocks to develop extremely scalable applications.
Keyboard Shortcuts
Do you want to learn all of the keyboard shortcuts to your favorite Java IDE, but just don’t have time to study a cheat sheet? Are you envious of your team lead because when you peer program with them, they are able to get things done without using the mouse?
Simple Security for HTTP Based RESTful Services (Part 2)
In part one of this series, we examined one potential solution that turned out to be not so good. In this post lets try to find a solution using the same design, but a better implementation.
Simple Security for HTTP Based RESTful Services (Part 1)
This is going to be the first in a series of posts discussing potential ways of securing bi-directional RESTful based HTTP services. For this series we are going to make the requirements quite simple, namely, “secure” simply means the caller of the service is authorized to invoke it. Lets assume that this solution is being deployed along with a simple IP addresses restriction mechanism. Since IP address’s can easily be spoofed, this solution is the next level of defense to ensure the identity of the caller.
A little Salt with that Hash?
Was just presented with a unique (to me) requirement which is to implement a single sign on across multiple domains within the same page via a cookie. Huh? Let me elaborate, in simple terms it means that there is a base site, lets call it foo.com, and then there is a partner site, lets call it bar.com. On foo.com’s main page we want to be able to iFrame in bar.com with the credentials of the current user logged in to foo.com transparently sent over and in turn logged in to bar.com as well.
Proposed Java 7 Feature: Safe Rethrow
How many times have you written the following code:
Proposed Java 7 Feature: Multi-Catch Statements
How many times have you written code where you have something along the lines of:
Java One Wrap Up
The purpose of this post is to wrap up my thoughts on this past Java One Conference. There are both positive and not so positive thoughts in my mind right now about the conference. Rather than merely stating this fact, let me describe the details to you.
Initial Thoughts After Java One
Well folks, another year, another Java One has passed. This conference has definitely got me thinking about a lot of things, especially the future of Java “The programming language”. You must be thinking, why in the world did I add that little blurb about “The programming language”, I mean, Java is nothing but a programming language right?
Java One Keynote
Here is a list of the main topics of discussion during the Java One Keynote Address:
Moving From Eclipse to Intellij on the Mac
I have been using Eclipse for the past 5 years. During that time, there have been projects where I have been exposed to Intellij. Recently, after a conversation with a colleague, they convinced me to give the latest and greatest Intellij a try. They bragged about the wonderful Spring integration and code inspection. So I decided to give it a try. After using it for about a month now, I must admit, I have seen the light. It took a while to get used to the different keyboard shortcuts even though Intellij has the default Eclipse key bindings available as a selection. I decided to do a clean break from Eclipse, and learn the new keys.
Static Method Synchronization
What happens when you try to synchronize on a static method? When a static synchronized method is called, which object are we referring to? A static method does not have a notion of a this reference. It is not possible to obtain a lock on an object that does not exist.
Hashcodes in Java
What happens if two different object hash to the same hashcode and then are placed in a HashMap?
Method Synchronization
In Java, access to shared resources can be controlled by using synchronized methods. An instance method is declared to be a synchronized method by adding the modifier synchronized to its declaration. For example:
Mac
First Impressions of the M1 MacBook Pro
I will walk you through my thoughts on owning the new M1 MacBook Pro and what it took for me to get my development environment up and running on it.
In case you haven’t heard - Apple is not showing Java any more love…
Time Machine over a Network Drive
This post describes the steps involved when setting up Time Machine to backup to a Network Drive. These steps are only required if you want to back up to a device other than a Time Capsule. It is pretty quick and easy, so without further due, lets get started.
Simple Applescript For The Traveling Mac
The Problem
iPhone 3.0 upgrade from beta 5 to final
For the past few months, I have been running the iPhone OS 3.0 betas on my iPhone without too many issues. Thus I assumed that when the final version of OS 3 was released, it would be easy to upgrade to it. This has not been the case. The current beta on my iPhone was beta 5, and then yesterday when the final version was announced, I assumed after a simple plug in to iTunes, I would be upgraded to the released version. Nope, iTunes kept telling me that I have the latest version of iPhone OS 3. It seems as though it is not checking the build number, only the OS level. The next thing I tried was doing a restore, this didn’t work either because it gave me an error saying it could not connect to the site to download the file.
Quicksilver is a timesaver
It has been a while since a single program changed my workflow as much as Quicksilver has.
New Webkit Feature
Just noticed a new and important feature released with the latest nighty build of Webkit, namely, an option to check for updates automatically. Mozilla has had this feature in their browsers for a long time, and it was hard not having it available in Webkit. Just got used to downloading a new version every so often.
WebKit Day 2.5 Benchmarks
The recent release of Google Chrome Beta for Windows has re-stirred the good old browser wars. Chrome is based on WebKit, but uses the V8 Javascript Engine Currently Chrome is a Windows only browser, so it is not possible for me to benchmark the browser first hand, but the claims have been that it is faster than both Firefox and WebKit on Windows.
WebKit Day 2 - Benchmarks
After using WebKit for the past few days it is evident to me that it performs better than Firefox on my Macs. The question is how much better? Is it possible to quantify the performance difference? After searching around found this JavaScript benchmarking site.
Giving WebKit A Try
Just changed my default browser from Firefox to Webkit on Leopard (OS X 10.5.3). The main reason was because of the announcement of WebKits migration to the SquirrelFish Javascript interpreter. They claim that it is 1.6x’s faster than the previous WebKit interpreter and if its true, that is pretty good considering most of my daily work flow is based around web based applications.
Using Firefox 2.x Extentions with Firefox 3 Beta
If you are like me, and you like to use the latest and greatest software regardless of whether they are GA or not. Then you probably ran across this problem too. After migrating to Firefox 3 Beta, I found that many of the Firefox 2.x plug-ins did not work. I didn’t know this for sure, since Firefox would not even attempt to load them. There is a feature in the Firefox plug in manager that verifies each plug-in is compatible with the current running version of Firefox prior to installing it. There are some plug-ins out there updated to work with FF 3 beta, but many of them have not been updated yet. I found a workaround. Simply add the following value to your config: Here is the procedure:
Connecting to a corporate network with a Mac
Today was my first day at work with the new MacBook. Going in to today, I had several concerns on my mind, but after a little bit of work, and some patience, I was able to connect to all of the essential corporate resources. Here is a break down of the concerns I faced going in, the actual issues I ran in to, and what I did to work around them.
Directory size from the cmd line
Have you ever wanted to scan recursively through a directory to find out how much space each sub directory was taking up? Well, there is an easy way of doing this on *nix. Just run du “Disk Usage”.
Configuring a Java Development Environment on OS X Tiger
Since I just received my new MacBook Pro, I am tasked with setting up my development environment. Since most of my development is Java/Java EE based, the first thing I need to do is decide on the file system layout for all of the Java artifacts. I.e., JDK, IDE’s, Open Source Packages, App Servers, etc… I also need to decide on how I will control the Java runtime environment. I.e., Run App Server under Java 5, run a build under Java 1.4, run a Java Swing app under yet a different virtual machine. Here are my thoughts on each of these:
Handy OS X Application for Blogging
After listening to the Maccast, I heard Adam mention this program called MarsEdit developed by Ranchero Software. He said that it was a great program that he uses quite often. So, of course, I had to give it a try. I downloaded the trial version, and within the first 10 minutes, I saw the value of it. Basically, it gives you an “inbox” view of your blog. Where each “message” corresponds to a blog entry. You “compose” entries as if they were an email, and then when you are done composing you “send” them to your blog. Maybe now I will follow my new years resolution of blogging more often.
How to SSH without using a Password
The basis of using ssh without typing your password is public key based authentication. You need to generate a pair of public/private keys for this.
Howto
First Thoughts On My New Eee Pc (1005PE)
So far, so good with my new Eee PC (1005PE) Netbook. The machine came pre-installed with Win 7 Starter edition, so the first task for me to do was to get rid of Windows 7 and install Ubuntu Netbook on it. So I downloaded the Ubuntu Netbook 10.04 daily build image (yes, I am daring), and was on my way.
RubyMine 2 Debugging Issue Resolved
If you are trying to debug Ruby code in RubyMine 2 IDE, but are having difficulties such as, the IDE freezes after you try to step in, step over, or step next and are wondering if your configuration is wrong? It is not, if you happen to have installed the ruby-debug-ide19
gem from the command line (not from IDE), you need to patch the actual gem code to get things working nicely.
With Grape, Groovy Is On Par with Native Scripting Languages
If you haven’t heard, the latest version of Groovy was released this week and included with it, among many other great features, was Grape (Groovy Advanced Packaging Engine). Grape is an annotation based dependency management system that provides functionality similar to that of Maven and Ivy with one clear advantage, namely, no build file.
Time Machine over a Network Drive
This post describes the steps involved when setting up Time Machine to backup to a Network Drive. These steps are only required if you want to back up to a device other than a Time Capsule. It is pretty quick and easy, so without further due, lets get started.
Simple Applescript For The Traveling Mac
The Problem
Simple Applescript For The Traveling Mac
The Problem
Easy Upgrades
Who doesn’t like easy upgrades? Easy upgrades are great when implemented correctly. There are two speciifiic easy upgrades I have been (enjoying) using recently, namely, Wordpress and Ubuntu Server.
Quicksilver is a timesaver
It has been a while since a single program changed my workflow as much as Quicksilver has.
Keyboard Shortcuts
Do you want to learn all of the keyboard shortcuts to your favorite Java IDE, but just don’t have time to study a cheat sheet? Are you envious of your team lead because when you peer program with them, they are able to get things done without using the mouse?
Using Firefox 2.x Extentions with Firefox 3 Beta
If you are like me, and you like to use the latest and greatest software regardless of whether they are GA or not. Then you probably ran across this problem too. After migrating to Firefox 3 Beta, I found that many of the Firefox 2.x plug-ins did not work. I didn’t know this for sure, since Firefox would not even attempt to load them. There is a feature in the Firefox plug in manager that verifies each plug-in is compatible with the current running version of Firefox prior to installing it. There are some plug-ins out there updated to work with FF 3 beta, but many of them have not been updated yet. I found a workaround. Simply add the following value to your config: Here is the procedure:
Moving From Eclipse to Intellij on the Mac
I have been using Eclipse for the past 5 years. During that time, there have been projects where I have been exposed to Intellij. Recently, after a conversation with a colleague, they convinced me to give the latest and greatest Intellij a try. They bragged about the wonderful Spring integration and code inspection. So I decided to give it a try. After using it for about a month now, I must admit, I have seen the light. It took a while to get used to the different keyboard shortcuts even though Intellij has the default Eclipse key bindings available as a selection. I decided to do a clean break from Eclipse, and learn the new keys.
Connecting to a corporate network with a Mac
Today was my first day at work with the new MacBook. Going in to today, I had several concerns on my mind, but after a little bit of work, and some patience, I was able to connect to all of the essential corporate resources. Here is a break down of the concerns I faced going in, the actual issues I ran in to, and what I did to work around them.
Directory size from the cmd line
Have you ever wanted to scan recursively through a directory to find out how much space each sub directory was taking up? Well, there is an easy way of doing this on *nix. Just run du “Disk Usage”.
Configuring a Java Development Environment on OS X Tiger
Since I just received my new MacBook Pro, I am tasked with setting up my development environment. Since most of my development is Java/Java EE based, the first thing I need to do is decide on the file system layout for all of the Java artifacts. I.e., JDK, IDE’s, Open Source Packages, App Servers, etc… I also need to decide on how I will control the Java runtime environment. I.e., Run App Server under Java 5, run a build under Java 1.4, run a Java Swing app under yet a different virtual machine. Here are my thoughts on each of these:
How to SSH without using a Password
The basis of using ssh without typing your password is public key based authentication. You need to generate a pair of public/private keys for this.
Scala
Notes from a Talk on Evolving Java
Notes from Brian Goetz’s talk on Evolving Java.
WebView(Javascript) -> Native Android API
Calling Javascript from an Android Webview
Scala Sugar - Iteration
In this second installment of Scala Sugar, lets put the lists that we created in the previous post to use.
Scala Sugar - Lists
If I want to become a real Scala Ninja, I am going to have change the way I think about coding. For the past 10 years I have been programming primarily using the object oriented paradigm. Although Scala supports pure object oriented programming, it is my desire to learn to program in Scala in a complete functional paradigm.
Scala reduceLeft
This post was updated on November 19, 2009.
Going Functional with Scala
Lately it seems like functional programming has been the talk of the town, the new (old) paradigm that is making a comeback in a major way. For a while, I resisted the urge to follow the paradigm de jour, being the hard core OO guy that I am, but now it is clear to me that it is more than just hype. There are many reasons functional programming makes sense as a paradigm for developing software today, but the one that I am most interested in is the fact that it handles concurrency so well, thus providing us the building blocks to develop extremely scalable applications.
Linux
First Thoughts On My New Eee Pc (1005PE)
So far, so good with my new Eee PC (1005PE) Netbook. The machine came pre-installed with Win 7 Starter edition, so the first task for me to do was to get rid of Windows 7 and install Ubuntu Netbook on it. So I downloaded the Ubuntu Netbook 10.04 daily build image (yes, I am daring), and was on my way.
Easy Upgrades
Who doesn’t like easy upgrades? Easy upgrades are great when implemented correctly. There are two speciifiic easy upgrades I have been (enjoying) using recently, namely, Wordpress and Ubuntu Server.
Directory size from the cmd line
Have you ever wanted to scan recursively through a directory to find out how much space each sub directory was taking up? Well, there is an easy way of doing this on *nix. Just run du “Disk Usage”.
How to SSH without using a Password
The basis of using ssh without typing your password is public key based authentication. You need to generate a pair of public/private keys for this.
Meta
Mission Accomplished, Migration From Wordpress to Octopress Complete!
My thoughts and experiences with migrating my blog from Wordpress to Octopress
Upgraded Site To WordPress 2.6
It took all of 15 minutes, and that included upgrading TinyMCE to version 3.1 as well. WordPress is one of my favorite open source packages.
A Few Site Improvement
In case you haven’t noticed, this site is finally looking a bit more, dare I say, “professional”. All it took was a little bit of time, and some minor *nix commands. Since this site is based on the latest version of Wordpress (2.5.1) , it provides a lot of usefulness out of the box when dealing with the overall layout of the site, the layout of the widgets, and ease of plugin configuration. Wordpress is a brilliant piece of software.
Handy OS X Application for Blogging
After listening to the Maccast, I heard Adam mention this program called MarsEdit developed by Ranchero Software. He said that it was a great program that he uses quite often. So, of course, I had to give it a try. I downloaded the trial version, and within the first 10 minutes, I saw the value of it. Basically, it gives you an “inbox” view of your blog. Where each “message” corresponds to a blog entry. You “compose” entries as if they were an email, and then when you are done composing you “send” them to your blog. Maybe now I will follow my new years resolution of blogging more often.
Technology
Time Machine over a Network Drive
This post describes the steps involved when setting up Time Machine to backup to a Network Drive. These steps are only required if you want to back up to a device other than a Time Capsule. It is pretty quick and easy, so without further due, lets get started.
Upgraded Site To WordPress 2.6
It took all of 15 minutes, and that included upgrading TinyMCE to version 3.1 as well. WordPress is one of my favorite open source packages.
Amazon’s EC2 and You
The purpose of this post is to give you a “high” level overview of Amazon’s EC2 (Elastic Compute Cloud), and how you can benefit from it. Amazon defines the EC2 as
A Few Site Improvement
In case you haven’t noticed, this site is finally looking a bit more, dare I say, “professional”. All it took was a little bit of time, and some minor *nix commands. Since this site is based on the latest version of Wordpress (2.5.1) , it provides a lot of usefulness out of the box when dealing with the overall layout of the site, the layout of the widgets, and ease of plugin configuration. Wordpress is a brilliant piece of software.
WebKit
New Webkit Feature
Just noticed a new and important feature released with the latest nighty build of Webkit, namely, an option to check for updates automatically. Mozilla has had this feature in their browsers for a long time, and it was hard not having it available in Webkit. Just got used to downloading a new version every so often.
WebKit Day 2.5 Benchmarks
The recent release of Google Chrome Beta for Windows has re-stirred the good old browser wars. Chrome is based on WebKit, but uses the V8 Javascript Engine Currently Chrome is a Windows only browser, so it is not possible for me to benchmark the browser first hand, but the claims have been that it is faster than both Firefox and WebKit on Windows.
WebKit Day 2 - Benchmarks
After using WebKit for the past few days it is evident to me that it performs better than Firefox on my Macs. The question is how much better? Is it possible to quantify the performance difference? After searching around found this JavaScript benchmarking site.
Giving WebKit A Try
Just changed my default browser from Firefox to Webkit on Leopard (OS X 10.5.3). The main reason was because of the announcement of WebKits migration to the SquirrelFish Javascript interpreter. They claim that it is 1.6x’s faster than the previous WebKit interpreter and if its true, that is pretty good considering most of my daily work flow is based around web based applications.
BigData
Dataframe Performance Comparison - Pandas on Spark vs Pandas
I found this post about the new Pandas API on Spark very intriguing, specifically the performance improvements so I wrote a few simple tests to highlight them.
BigQuery Integer Partitioning is in Beta
This post will talk about what integer range partitioning is, how to leverage it, and finally walk through a few scenarios demonstrating the benefits of it.
Querying External Data with BigQuery
In this post I will walk through how to use BigQuery’s new capability of querying Hive Partitioned Parquet files in GCS. It is a really cool feature.
The Power of Big Query with Public Data
If you are looking for an easy way to query a public dataset you should definitely check out Big Query’s publicly available datasets.
REST
On Deciding Between PUT and POST When Creating a RESTful Resource
On Deciding Between PUT and POST When Creating a RESTful Resource
Simple Security for HTTP Based RESTful Services (Part 2)
In part one of this series, we examined one potential solution that turned out to be not so good. In this post lets try to find a solution using the same design, but a better implementation.
Simple Security for HTTP Based RESTful Services (Part 1)
This is going to be the first in a series of posts discussing potential ways of securing bi-directional RESTful based HTTP services. For this series we are going to make the requirements quite simple, namely, “secure” simply means the caller of the service is authorized to invoke it. Lets assume that this solution is being deployed along with a simple IP addresses restriction mechanism. Since IP address’s can easily be spoofed, this solution is the next level of defense to ensure the identity of the caller.
GCP
BigQuery Integer Partitioning is in Beta
This post will talk about what integer range partitioning is, how to leverage it, and finally walk through a few scenarios demonstrating the benefits of it.
Querying External Data with BigQuery
In this post I will walk through how to use BigQuery’s new capability of querying Hive Partitioned Parquet files in GCS. It is a really cool feature.
The Power of Big Query with Public Data
If you are looking for an easy way to query a public dataset you should definitely check out Big Query’s publicly available datasets.
BigQuery
BigQuery Integer Partitioning is in Beta
This post will talk about what integer range partitioning is, how to leverage it, and finally walk through a few scenarios demonstrating the benefits of it.
Querying External Data with BigQuery
In this post I will walk through how to use BigQuery’s new capability of querying Hive Partitioned Parquet files in GCS. It is a really cool feature.
The Power of Big Query with Public Data
If you are looking for an easy way to query a public dataset you should definitely check out Big Query’s publicly available datasets.
Groovy
With Grape, Groovy Is On Par with Native Scripting Languages
If you haven’t heard, the latest version of Groovy was released this week and included with it, among many other great features, was Grape (Groovy Advanced Packaging Engine). Grape is an annotation based dependency management system that provides functionality similar to that of Maven and Ivy with one clear advantage, namely, no build file.
Groovy 1.6 Beta
I installed the latest Groovy Beta, (1.6) and no doubt it feels quite faster. Everything looks good from a performance perspective.
Functional
Notes from a Talk on Evolving Java
Notes from Brian Goetz’s talk on Evolving Java.
Going Functional with Scala
Lately it seems like functional programming has been the talk of the town, the new (old) paradigm that is making a comeback in a major way. For a while, I resisted the urge to follow the paradigm de jour, being the hard core OO guy that I am, but now it is clear to me that it is more than just hype. There are many reasons functional programming makes sense as a paradigm for developing software today, but the one that I am most interested in is the fact that it handles concurrency so well, thus providing us the building blocks to develop extremely scalable applications.
Spark
Dataframe Performance Comparison - Pandas on Spark vs Pandas
I found this post about the new Pandas API on Spark very intriguing, specifically the performance improvements so I wrote a few simple tests to highlight them.
Querying External Data with BigQuery
In this post I will walk through how to use BigQuery’s new capability of querying Hive Partitioned Parquet files in GCS. It is a really cool feature.
Firefox
Using Firefox 2.x Extentions with Firefox 3 Beta
If you are like me, and you like to use the latest and greatest software regardless of whether they are GA or not. Then you probably ran across this problem too. After migrating to Firefox 3 Beta, I found that many of the Firefox 2.x plug-ins did not work. I didn’t know this for sure, since Firefox would not even attempt to load them. There is a feature in the Firefox plug in manager that verifies each plug-in is compatible with the current running version of Firefox prior to installing it. There are some plug-ins out there updated to work with FF 3 beta, but many of them have not been updated yet. I found a workaround. Simply add the following value to your config: Here is the procedure:
JavaOne
Initial Thoughts After Java One
Well folks, another year, another Java One has passed. This conference has definitely got me thinking about a lot of things, especially the future of Java “The programming language”. You must be thinking, why in the world did I add that little blurb about “The programming language”, I mean, Java is nothing but a programming language right?
Conference
Java One Wrap Up
The purpose of this post is to wrap up my thoughts on this past Java One Conference. There are both positive and not so positive thoughts in my mind right now about the conference. Rather than merely stating this fact, let me describe the details to you.
iPhone
iPhone 3.0 upgrade from beta 5 to final
For the past few months, I have been running the iPhone OS 3.0 betas on my iPhone without too many issues. Thus I assumed that when the final version of OS 3 was released, it would be easy to upgrade to it. This has not been the case. The current beta on my iPhone was beta 5, and then yesterday when the final version was announced, I assumed after a simple plug in to iTunes, I would be upgraded to the released version. Nope, iTunes kept telling me that I have the latest version of iPhone OS 3. It seems as though it is not checking the build number, only the OS level. The next thing I tried was doing a restore, this didn’t work either because it gave me an error saying it could not connect to the site to download the file.
Ruby
RubyMine 2 Debugging Issue Resolved
If you are trying to debug Ruby code in RubyMine 2 IDE, but are having difficulties such as, the IDE freezes after you try to step in, step over, or step next and are wondering if your configuration is wrong? It is not, if you happen to have installed the ruby-debug-ide19
gem from the command line (not from IDE), you need to patch the actual gem code to get things working nicely.
Ubuntu
First Thoughts On My New Eee Pc (1005PE)
So far, so good with my new Eee PC (1005PE) Netbook. The machine came pre-installed with Win 7 Starter edition, so the first task for me to do was to get rid of Windows 7 and install Ubuntu Netbook on it. So I downloaded the Ubuntu Netbook 10.04 daily build image (yes, I am daring), and was on my way.
Android
WebView(Javascript) -> Native Android API
Calling Javascript from an Android Webview
Javascript
WebView(Javascript) -> Native Android API
Calling Javascript from an Android Webview
Python
Dataframe Performance Comparison - Pandas on Spark vs Pandas
I found this post about the new Pandas API on Spark very intriguing, specifically the performance improvements so I wrote a few simple tests to highlight them.