jm + java   24

Dropwizard
'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
"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
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
Google Guava BloomFIlter
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)
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
'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
'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
eclim (eclipse + vim)
'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
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
'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
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
Akka
'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
'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
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
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]
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
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
'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
'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
'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
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:



description:


tags: