Dropwizard
2 days ago by jm
'a Java framework for developing ops-friendly, high-performance, RESTful web services. Developed by Yammer to power their JVM-based backend services, Dropwizard pulls together stable, mature libraries from the Java ecosystem into a simple, lightweight package that lets you focus on getting things done. Dropwizard has out-of-the-box support for sophisticated configuration, application metrics, logging, operational tools, and much more, allowing you and your team to ship a production-quality HTTP+JSON web service in the shortest time possible.' From Coda Hale/Yammer; includes Guava, Jetty, Jersey, Jackson, Metrics, slf4j. Pretty good baseline to start any new Java service with....
framework
http
java
rest
web
jersey
guava
jackson
jetty
json
web-services
yammer
2 days ago by jm
Chronon DVR for Java
13 days ago by jm
"record entire execution of your Java app; play it back on any machine". Other features: time-travelling debugger -- step backwards, jump to any point in execution, designed for long running programs; post-execution logging -- add log statements after the program has run, and see what it would have logged. Looks extremely nifty, but I wonder how big those recording files get...
debugging
via:peakscale
eclipse
chronon
dvr
java
coding
logging
jvm
13 days ago by jm
InfoQ: Lock-free Algorithms
25 days ago by jm
Michael Barker and Martin Thompson's talk at the last QCon on the LMAX Disruptor, and other nifty lock-free techniques and patterns. 'Martin Thompson and Michael Barker explain how Intel x86_64 processors and their memory model work, along with low-level techniques that help creating lock-free software.'
lock-free
locking
mutexes
algorithms
lmax
disruptor
infoq
slides
presentations
qcon
java
25 days ago by jm
Secret HotSpot option improving GC pauses on large heaps
7 weeks ago by jm
via Toby DiPasquale. nice tip
java
jvm
gc
performance
hotspot
undocumented
7 weeks ago by jm
Google Guava BloomFIlter
9 weeks ago by jm
neat, Guava now has a builtin Bloom filter implementation using the murmur hash. that'll potentially save a little hassle in the future
guava
coding
java
bloom-filters
data-structures
sets
9 weeks ago by jm
Cloud Architecture Tutorial - Platform Component Architecture (2of3)
10 weeks ago by jm
Amazing stuff from Adrian Cockroft at last week's QCon. Faceted object model, lots of Cassandra automation
cassandra
api
design
oo
object-model
java
adrian-cockroft
slides
qcon
scaling
aws
netflix
10 weeks ago by jm
twitter/jvmgcprof - GitHub
12 weeks ago by jm
'gcprof is a simple utility for profile allocation and garbage collection activity in the JVM [...] Profile allocation and garbage collection activity in the JVM. The gcprof command runs a java command under profiling. Allocation and collection statistics are printed periodically. If -n or -no are provided, statistics are also reported in terms of the given application metric. Total allocation, allocation rate, and a survival histogram is given. The intended use for this tool is twofold: (1) monitor and test garbage allocation and GC behavior, and (2) inform GC tuning.'
gc
java
performance
twitter
jvm
tools
12 weeks ago by jm
MapReduce Patterns, Algorithms, and Use Cases
february 2012 by jm
'I digested a number of MapReduce patterns and algorithms to give a systematic view of the different techniques that can be found in the web or scientific articles. Several practical case studies are also provided. All descriptions and code snippets use the standard Hadoop’s MapReduce model with Mappers, Reduces, Combiners, Partitioners, and sorting.'
algorithms
hadoop
java
mapreduce
patterns
distcomp
february 2012 by jm
Scott Andreas - Garbage, Garbage Everywhere [slides]
december 2011 by jm
'GC Strategies for Event Processing Systems on the JVM'
gc
java
jvm
event-streams
event-processing
tuning
slides
presentations
scott-andreas
performance
december 2011 by jm
eclim (eclipse + vim)
november 2011 by jm
'Eclim is less of an application and more of an integration of two great projects. The first, Vim, is arguably one of the best text editors in existence. The second, Eclipse, provides many great tools for development in various languages. Each provides many features that can increase developer productivity, but both still leave something to be desired. Vim lacks native Java support and many of the advanced features available in Eclipse. Eclipse, on the other hand, still requires the use of the mouse for many things, and when compared to Vim, provides a less than ideal interface for editing text. That is where eclim comes into play. Instead of trying to write an IDE in Vim or a Vim editor in Eclipse, eclim provides an Eclipse plug-in that exposes Eclipse features through a server interface, and a set of Vim plug-ins that communicate with Eclipse over that interface. This functionality can be leveraged in three primary ways, as illustrated below.'
eclipse
java
programming
software
vim
editors
refactoring
november 2011 by jm
Avoiding Full GCs in HBase with MemStore-Local Allocation Buffers
october 2011 by jm
Fascinating. Evading the Java GC by reimplementing a slab allocator, basically
memory
allocation
java
gc
jvm
hbase
memstore
via:dehora
slab-allocator
october 2011 by jm
peak6/scala-ssh-shell - GitHub
october 2011 by jm
'Backdoor that gives you a scala shell over ssh on your jvm. The shell is not sandboxed, anyone access the shell can touch anything in the jvm and do anything the jvm can do including modifying and deleting files, etc.' nifty!
scala
ssh
repl
interactive
debugging
coding
jvm
java
october 2011 by jm
Scala: The Static Language that Feels Dynamic
june 2011 by jm
a good intro from Bruce Eckel. We need a good excuse to deploy some Scala ;)
scala
actors
java
language
programming
jvm
coding
june 2011 by jm
InfoQ: Guardian.co.uk Switching from Java to Scala
april 2011 by jm
pretty good thumbs-up account
scala
java
guardian
coding
from delicious
april 2011 by jm
Akka
march 2011 by jm
'platform for event-driven, scalable, and fault-tolerant architectures on the JVM' .. Actor-based, 'let-it-crash', Apache-licensed, Java and Scala APIs, remote Actors, transactional memory -- looks quite nice
scala
java
concurrency
scalability
apache
akka
actors
erlang
fault-tolerance
events
from delicious
march 2011 by jm
Contracts for Java
february 2011 by jm
'Preconditions, postconditions, and invariants are added as Java boolean expressions inside annotations.' nice
java
google
coding
open-source
contracts
eiffel
preconditions
invariants
annotations
from delicious
february 2011 by jm
Java Hangs When Converting 2.2250738585072012e-308
february 2011 by jm
ie. the same value as the PHP bug. 'Konstantin [Pressier] reported this problem to Oracle three weeks ago, but is still waiting for a reply.' good job, Oracle!
oracle
fail
security
java
bugs
floating-point
from delicious
february 2011 by jm
why James Gosling left Oracle
september 2010 by jm
1. made him take an effective pay cut; 2. removed decision authority on Java; 3. he felt Oracle was "ethically challenged". also: 'he felt the hand of Larry Ellison in nearly all the decisions affecting Java'; “He’s the kind of person that just gives me the creeps,” he said. “All of the senior people at Sun got screwed compensation-wise. Their job titles may have been the same, but their ability to decide anything was just gone.” he doesn't pull any punches. oh dear, this is all adding up...
java
oracle
opensource
sun
james-gosling
larry-ellison
gossip
from delicious
september 2010 by jm
Thousands of Threads and Blocking I/O [PDF]
july 2010 by jm
classic presentation from Paul Tyma of Mailinator regarding the java.nio (event-driven, non-threaded) vs java.io (threaded) model of server concurrency, backing up the scalability of threads on modern JVMs
java
async
io
jvm
linux
performance
scalability
threading
threads
server
nio
paul-tyma
mailinator
from delicious
july 2010 by jm
Lift View First
february 2010 by jm
explaining Lift's code-free "display only" templating system. I like it. Very similar concept to WebMake's "scraped templates": http://webmake.taint.org/doc/scraping.html , nearly 10 years old now!
java
scala
lift
templates
templating
scraping
from delicious
february 2010 by jm
Play framework
december 2009 by jm
'a Java framework made by Web developers. Discover a clean alternative to bloated enterprise Java stacks. Play focuses on developer productivity and targets RESTful architectures.'
java
rails
webdev
mvc
webapps
play
playframework
from delicious
december 2009 by jm
Vlnt
november 2009 by jm
'A variable-length format for positive integers is defined where the high-order bit of each byte indicates whether more bytes remain to be read. The low-order seven bits are appended as increasingly more significant bits in the resulting integer value. Thus values from zero to 127 may be stored in a single byte, values from 128 to 16,383 may be stored in two bytes, and so on.' UTF8-ish compression, used in Avro
utf8
compression
utf
lucene
avro
hadoop
java
fomats
numeric
from delicious
november 2009 by jm
Why WeakHashMap Sucks
september 2009 by jm
'SoftReferences are the cheap, crappy caching mechanism [...] perfect for when you'd like your cache to be cleared at random times and in random order.'
softreferences
weakreferences
weak
references
gc
java
jvm
caching
hash
memory
collections
vm
weakhashmap
via:spyced
from delicious
september 2009 by jm
Next Generation Java Programming Style
august 2009 by jm
a Reddit-friendly 8-point list of new idioms for Java code in a more functional style. not sure about a couple of these, but another couple get my +1
erlang
via:janl
coding
java
oop
style
fluent-interfaces
final
encapsulation
august 2009 by jm
related tags
actors ⊕ adrian-cockroft ⊕ akka ⊕ algorithms ⊕ allocation ⊕ annotations ⊕ apache ⊕ api ⊕ async ⊕ avro ⊕ aws ⊕ bloom-filters ⊕ bugs ⊕ caching ⊕ cassandra ⊕ chronon ⊕ coding ⊕ collections ⊕ compression ⊕ concurrency ⊕ contracts ⊕ data-structures ⊕ debugging ⊕ design ⊕ disruptor ⊕ distcomp ⊕ dvr ⊕ eclipse ⊕ editors ⊕ eiffel ⊕ encapsulation ⊕ erlang ⊕ event-processing ⊕ event-streams ⊕ events ⊕ fail ⊕ fault-tolerance ⊕ final ⊕ floating-point ⊕ fluent-interfaces ⊕ fomats ⊕ framework ⊕ gc ⊕ google ⊕ gossip ⊕ guardian ⊕ guava ⊕ hadoop ⊕ hash ⊕ hbase ⊕ hotspot ⊕ http ⊕ infoq ⊕ interactive ⊕ invariants ⊕ io ⊕ jackson ⊕ james-gosling ⊕ java ⊖ jersey ⊕ jetty ⊕ json ⊕ jvm ⊕ language ⊕ larry-ellison ⊕ lift ⊕ linux ⊕ lmax ⊕ lock-free ⊕ locking ⊕ logging ⊕ lucene ⊕ mailinator ⊕ mapreduce ⊕ memory ⊕ memstore ⊕ mutexes ⊕ mvc ⊕ netflix ⊕ nio ⊕ numeric ⊕ object-model ⊕ oo ⊕ oop ⊕ open-source ⊕ opensource ⊕ oracle ⊕ patterns ⊕ paul-tyma ⊕ performance ⊕ play ⊕ playframework ⊕ preconditions ⊕ presentations ⊕ programming ⊕ qcon ⊕ rails ⊕ refactoring ⊕ references ⊕ repl ⊕ rest ⊕ scala ⊕ scalability ⊕ scaling ⊕ scott-andreas ⊕ scraping ⊕ security ⊕ server ⊕ sets ⊕ slab-allocator ⊕ slides ⊕ softreferences ⊕ software ⊕ ssh ⊕ style ⊕ sun ⊕ templates ⊕ templating ⊕ threading ⊕ threads ⊕ tools ⊕ tuning ⊕ twitter ⊕ undocumented ⊕ utf ⊕ utf8 ⊕ via:dehora ⊕ via:janl ⊕ via:peakscale ⊕ via:spyced ⊕ vim ⊕ vm ⊕ weak ⊕ weakhashmap ⊕ weakreferences ⊕ web ⊕ web-services ⊕ webapps ⊕ webdev ⊕ yammer ⊕Copy this bookmark: