What People want in Google Buzz

I decided to start a conversation on Buzz about the features that people needed, here’s a few crowd sourced feature requests out of a conversation on which over 50 hard-core Buzz users were involved.

Threaded comments
Once a Buzz post becomes popular it’s impossible to keep the conversation in a linear fashion. The conversational nature of Buzz begs for threaded replies. Comments need to be collapsible

Buzz Stream Pause.
Real time updates are not cool when you can’t read a single one of them. When you follow over 500 people, it’s almost impossible to even read what they’re posting, you need to scroll down as the stream keeps coming in, a pause/play feature to stop messages from coming in would not also be handy for Buzz users but it’d also save Google a lot of HTTP requests that won’t really matter.
Continue reading

Java: How to create dynamic PNGs, JPGs, GIFs.

Sometimes you need to create graphics, or compose images and have them saved as regular PNGs, JPEGs or GIFs.

Here’s a quick and dirty reference of how to do it with BufferedImages, Graphics2D and javax.imageio.*.
Very straightforward.

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

//1. Create a BufferedImage, in this case a simple 1024×768 using only RGB colors (you could use alpha for example)
BufferedImage bufferedImage = new BufferedImage(1024, 768, BufferedImage.TYPE_INT_RGB);

//2. Get a hold of a Graphics2D object to do all the painting and compositing on the BufferedImage
Graphics2D graphics = bufferedImage.createGraphics();

//3. Do the painting… in this case, I just filled with yellow
graphics.setColor(new Color(255,255,0));
graphics.fillRect(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight());

//4. Write the image
try {
ImageIO.write(bufferedImage, "png",new File("test.png"));
} catch (IOException e) {