Quantcast
Channel: Scott Leberknight's Weblog
Browsing latest articles
Browse All 63 View Live

iPhone Bootcamp Day 3

Today is Day 3 of the iPhone bootcamp at Big Nerd Ranch, taught by Joe Conway.See here for a list of each day's blog entries.MediaToday we started off learning how to play audio and video files by...

View Article



iPhone Bootcamp Day 4

Today is Day 4 of the iPhone bootcamp at Big Nerd Ranch, taught by Joe Conway. Unfortunately that means we are closer to the end than to the beginning.See here for a list of each day's blog...

View Article

iPhone Bootcamp Day 5

Today is Day 5 — the final day — of the iPhone bootcamp at Big Nerd Ranch, taught by Joe Conway. The last day of Big Nerd Ranch bootcamps are half-days so you have breakfast, have class until lunch,...

View Article

iPhone Bootcamp Summary

So, after having actually written a blog entry covering each day of the iPhone bootcamp at Big Nerd Ranch, I thought a more broad summary would be in order. (That, and I'm sitting in the airport...

View Article

Groovy + Spring = Groovier Spring

If you're into Groovy and Spring, check out my two-part series on IBM developerWorks on using Groovy together with Spring's dynamic language support for potentially more flexible (and interesting)...

View Article


Missing aop 'target' packages in Spring 3.0.0.M1 zip file

Today I was mucking around with the Spring 3.0.0.M1 source release I downloaded as a ZIP file. I wanted to simply get the sample PetClinic up and running and be able to load Spring as a project in...

View Article

Running VisualVM on a 32-bit Macbook Pro

If you want/need to run VisualVM on a 32-bit Macbook Pro you'll need to do a couple of things. First, download and install Soy Latte, using these instructions - this gets you a Java 6 JDK/JRE on your...

View Article

Thinking Matters

Aside from the fact that Oracle's Java Problem contains all kinds of factual and other errors (see the comments on the post) this sentence caught my eye in particular when referring to Java being...

View Article


Groovification

Last week I tweeted about groovification, which is defined thusly:groovification. noun. the process of converting java source code into groovy source code (usually done to make development more fun)On...

View Article


Sorting Collections in Hibernate Using SQL in @OrderBy

When you have collections of associated objects in domain objects, you generally want to specify some kind of default sort order. For example, suppose I have domain objects Timeline and Event: .code {...

View Article

Image may be NSFW.
Clik here to view.

Several Must Have Firebug-Related Firefox Extensions

Last week while doing the usual (web development stuff) I discovered a few Firefox extensions I didn't even know I was missing until I found them by accident. The "accident" happened while adding...

View Article

Can Java Be Saved?

Java and EvolutionThe Java language has been around for a pretty long time, and in my view is now a stagnant language. I don't consider it dead because I believe it will be around for probably decades...

View Article

Hibernate Performance Tuning Part 1 Article Published

I've just published an article in the November 2009 NFJS Magazine on Hibernate Performance Tuning. Here's the abstract:Many developers treat Hibernate like a "black box" and assume it will simply "Do...

View Article


Making Cobertura Reports Show Groovy Code with Maven

A recent project started out life as an all-Java project that used Maven as the build tool. Initially we used Atlassian Clover to measure unit test coverage. Clover is a great product for Java code,...

View Article

Hibernate Performance Tuning Part 2 Article Published

I've just published the second article of a two-part series in the December 2009 NFJS Magazine on Hibernate Performance Tuning. Here's the abstract:Tuning performance in Hibernate applications is all...

View Article


Missing the each_line method in FakeFS version 0.2.1? Add it!

Recently we have been using the excellent FakeFS (fake filesystem) gem in some specs to test code that reads and writes files on the filesystem. We are using the latest release version of this gem...

View Article

Rack Lightning Talk

I gave a short lightning talk on Rack tonight at the NovaRUG. It's on slideshare here. Rack is really cool because it makes creating modular functionality really easy. For example, if you want to have...

View Article


Database-Backed Refreshable Beans with Groovy and Spring 3

In 2009 I published a two-part series of articles on IBM developerWorks entitled GroovierSpring. The articles showed how Spring supports implementing beans in Groovy whose behavior can be changed at...

View Article

Introducing RJava

You’ve no doubt heard about JRuby, which lets you run Ruby code on the JVM. This is nice, but wouldn’t it be nicer if you could write Java code on a Ruby VM? This would let you take advantage of the...

View Article

CoffeeScript Slides

Today is the Near Infinity Spring Conference. We have one conference in the fall and one in the spring for all our developers as well as invited guests. Today I gave a presentation on CoffeeScript and...

View Article

What's in JDK 7 Lightning Talk Slides

Yesterday at the Near Infinity 2011 Spring Conference I gave a talk on CoffeeScript (see here) and a very short lightning talk on what exactly is in JDK 7. You can find the slides for the JDK 7 talk...

View Article


Hadoop Presentation at NOVA/DC Java Users Group

Last Thursday (on Cinco de Mayo) I gave a presentation on Hadoop and Hive at the Nova/DC Java Users Group. As several people asked about getting the slides, I've shared them here on Slideshare. I also...

View Article


Distributed Coordination With ZooKeeper Part 1: Introduction

This is the first in a series of blogs that introduce Apache ZooKeeper. This blog provides an introduction to ZooKeeper and its core concepts and use cases. In later blogs you will test drive...

View Article

Distributed Coordination With ZooKeeper Part 2: Test Drive

This is the second in a series of blogs that introduce Apache ZooKeeper. In the first blog, you got an introduction to ZooKeeper and its core concepts. In this blog, you'll take a brief test drive of...

View Article

Distributed Coordination With ZooKeeper Part 3: Group Membership Example

This is the third in a series of blogs that introduce Apache ZooKeeper. In the second blog, you took a test drive of ZooKeeper using its command-line shell. In this blog, we'll re-implement the group...

View Article


Image may be NSFW.
Clik here to view.

Distributed Coordination With ZooKeeper Part 4: Architecture from 30,000 Feet

This is the fourth in a series of blogs that introduce Apache ZooKeeper. In the third blog, you implemented a group membership example using the ZooKeeper Java API. In this blog, we'll get an overview...

View Article

Image may be NSFW.
Clik here to view.

Distributed Coordination With ZooKeeper Part 5: Building a Distributed Lock

This is the fifth in a series of blogs that introduce Apache ZooKeeper. In the fourth blog, you saw a high-level view of ZooKeeper's architecture and data consistency guarantees. In this blog, we'll...

View Article

Distributed Coordination With ZooKeeper Part 6: Wrapping Up

This is the sixth (and last) in a series of blogs that introduce Apache ZooKeeper. In the fifth blog, we implemented a distributed lock, dealing with the issues of partial failure due to connection...

View Article

Handling Big Data with HBase Part 1: Introduction

This is the first in a series of blogs that will introduce Apache HBase. This blog provides a brief introduction to HBase. In later blogs you will see how the the HBase shell can be used for quick and...

View Article



Handling Big Data with HBase Part 2: First Steps

This is the second in a series of blogs that introduce Apache HBase. In the first blog, we introduced HBase at a high level. In this part, we'll see how to interact with HBase via its command line...

View Article

Image may be NSFW.
Clik here to view.

Handling Big Data with HBase Part 3: Architecture Overview

This is the third blog in a series of introductory blogs on Apache HBase. In the second part, we saw how to interact with HBase via the shell. In this part, we'll look at the HBase architecture from a...

View Article

Handling Big Data with HBase Part 4: The Java API

This is the fourth of an introductory series of blogs on Apache HBase. In the third part, we saw a high level view of HBase architecture . In this part, we'll use the HBase Java API to create tables,...

View Article

Handling Big Data with HBase Part 5: Data Modeling (or, Life without SQL)

This is the fifth of a series of blogs introducing Apache HBase. In the fourth part, we saw the basics of using the Java API to interact with HBase to create tables, retrieve data by row key, and do...

View Article


Handling Big Data with HBase Part 6: Wrap-up

This is the sixth and final blog in an introduction to Apache HBase. In the fifth part, we learned the basics of schema design in HBase and several techniques you can use to make scanning and filtering...

View Article

Building a Distributed Lock Revisited: Using Curator's InterProcessMutex

Last summer I wrote a series of blogs introducing Apache ZooKeeper, which is a distributed coordination service used in many open source projects like Hadoop, HBase, and Storm to manage clusters of...

View Article

Slides for httpie presentation

I've used cURL for a long time but I can never seem to remember all the various flags and settings. Recently I came across httpie which is a simple command line tool for accessing HTTP resources. Here...

View Article


Slides for RESTful Web Services with Jersey presentation

While teaching a course on web development which included Ruby on Rails and Java segments, we used Jersey to expose a simple web services which the Rails application consumed. I put together a...

View Article


Reduce Java boilerplate using try-with-resources

Java 8 has been out for a while, and Java 7 has been out even longer. But even so, many people still unfortunately are not taking advantage of some of the new features, many of which make reading and...

View Article

Towards more functional Java using Streams and Lambdas

In the last post I showed how the Java 7 try-with-resources feature reduces boilerplate code, but probably more importantly how it removes errors related to unclosed resources, thereby eliminating an...

View Article

Towards More Functional Java using Lambdas as Predicates

Previously I showed an example that transformed a map of query parameters into a SOLR search string. The pre-Java 8 code used a traditional for loop with a conditional and used a StringBuilder to...

View Article

Towards More Functional Java using Generators and Filters

Last time we saw how to use lambdas as predicates, and specifically how to use them with the Java 8 Collection#removeIf method in order to remove elements from a map based on the predicate. In this...

View Article


Towards More Functional Java - Digging into Nested Data Structures

In the last post we saw an example that used a generator combined with a filter to find the first available port in a specific range. It returned an Optional to model the case when no open ports are...

View Article

Testing HTTP Clients Using the Spark Micro Framework

Testing HTTP client code can be a hassle. Your tests either need to run against a live HTTP server, or you somehow need to figure out how to send mock requests which is generally not easy in most...

View Article


Testing HTTP Clients Using Spark, Revisited

In a previous post I described the very small sparkjava-testing library I created to make it really simple to test HTTP client code using the Spark micro-framework. It is basically one simple JUnit 4...

View Article

AWS Lambda Presentation Slides

A few months ago I gave a short presentation to my company on AWS Lambda, which is basically a "serverless" framework that lets you deploy and run code in Amazon's cloud without managing, provisioning,...

View Article


Process API Improvements in JDK9

Over the past year, several microservices I have worked on responded to specific events and then executed native OS processes, for example launching custom C++ applications, Python scripts, etc. In...

View Article

JUnit 5 Presentation Slides

I just gave a short presentation on JUnit 5 at my company, Fortitude Technologies. JUnit 5 adds a bunch of useful features for developer testing such as parameterized tests, a more flexible extension...

View Article

SDKMAN! Presentation Slides

I’ve been using SDKMAN! for a while now to make it really easy to install and manage multiple versions of various SDKs like Java, Kotlin, Groovy, and so on. I recently gave a mini-talk on SDKMAN! and...

View Article

Unit Testing Presentation Slides

We have several interns this summer, and each Friday we're doing a short presentation on a different software development topic. On June 28, I gave a short presentation on (unit) testing. This...

View Article


JUnit Pioneer Presentation Slides

Recently I've been using JUnit Pioneer, which is an extension library for JUnit Jupiter (JUnit 5). It contains a lot of useful annotations that are really easy to use in tests, for example to generate...

View Article

Browsing latest articles
Browse All 63 View Live




Latest Images