HNHacker News
TopNewBestAskShowJobs

gaul

858 karma · joined July 1, 2010

Chief simulacrum officer, chronicler of hipster museums, and Potemkin geek. https://gaul.org/

[ my public key: https://keybase.io/gaul; my proof: https://keybase.io/gaul/sigs/DtswoGs6HGcXb01P9qsR9TH65rJFSUZ0SuqiSV7ZXKY ]

submissionscomments
gaul··on Show HN: Amazon S3, Microsoft Azure, Rackspace, Backblaze via a Single API
S3Proxy offers similar multi-protocol access at the S3 API layer:

https://github.com/andrewgaul/s3proxy

It has compatibility with local filesystem, Backblaze B2, Google Cloud Storage, Microsoft Azure, and OpenStack Swift. Note that this is software and not a service.

[S3Proxy author plug]

gaul··on FindBugs project in its current form is dead
Google error-prone is a good alternative to FindBugs:

https://github.com/google/error-prone

http://errorprone.info/bugpatterns

Pros:

  * has faster cycle times and integrates into compilation workflow
  * emits fewer false positives
  * active maintainers fix issues
  * releases several times per year
Cons:

  * FindBugs has a greater breadth of checks
  * current error-prone releases only work with Java 8
gaul··on Support for Hello discontinued in Firefox 49
Probably referencing this:

https://bugzilla.mozilla.org/show_bug.cgi?id=1297454

gaul··on For a Better Economy, Add Commuter Rail?
Wikipedia suggests 3x more passengers per track/lane at 40% of the land use based on Eurostar and the Highway Capacity Manual:

https://en.wikipedia.org/wiki/High-speed_rail#Automobiles_an...

Tokaido Shinkansen carries twice as many passengers so this agrees with your post end assuming that two rail lines each have two tracks each. Note that this is the most extreme example, most railways do not carry this capacity.

gaul··on UK votes to leave EU
You have this backwards; California sends the federal government $1.00 and receives 90 cents in return:

http://www.theatlantic.com/business/archive/2014/05/which-st...

gaul··on The E2 Dynamic Multicore System
This is similar to the older TRIPS system which Doug Burger also worked on:

https://www.cs.utexas.edu/~trips/

gaul··on AWS X1 instances – 1.9 TB of memory
Full paper:

http://3e8.org/pub/scheme/doc/lisp-pointers/v1i3/p17-white.p...

gaul··on Optimizing C++ Const Objects in LLVM
CppCon 2015: Herb Sutter "Writing Good C++14... By Default":

https://youtu.be/hEx5DNLWGgA

Sutter comments on const_cast around 11m15s.

gaul··on Backblaze B2 Cloud Storage
I added an issue to track this since Nimbus is still in private beta:

https://github.com/andrewgaul/object-store-comparison/issues...

gaul··on Backblaze B2 Cloud Storage
Updated object store comparison:

http://gaul.org/object-store-comparison/

gaul··on Lower Cost S3 Storage Option and Glacier Price Reduction
Updated cross-provider comparison:

http://gaul.org/object-store-comparison/

gaul··on S3QL: an S3 FS with encryption, de-dup, immutable trees and snapshotting
s3fs also layers a filesystem on top of S3 but preserves the native object format:

https://github.com/s3fs-fuse/s3fs-fuse

This approach allows use of other tools like s3cmd and the Amazon web console but prevents advanced features like deduplication and snapshotting.

gaul··on Toxy, a hackable HTTP proxy to simulate failure scenarios
Similar project: https://github.com/bouncestorage/chaos-http-proxy
gaul··on Amazon Elastic File System
s3fs-fuse has its share of problems, but master has fixes for some of the error handling and truncated files issues. Please report any bugs you encounter on GitHub!
gaul··on Upgrading to Java 8 at Scale
Following on to Step 7: profit, modernizer-maven-plugin can help detect uses of older library classes like Guava Optional and recommend using the newer Java 8 Optional:

https://github.com/andrewgaul/modernizer-maven-plugin

gaul··on Introducing Google Cloud Storage Nearline
I have not previously encountered these providers; could you submit a pull request here:

https://github.com/andrewgaul/object-store-comparison

gaul··on Introducing Google Cloud Storage Nearline
Corrected; thanks! Note that GitHub hosts this project for any further issues or corrections:

https://github.com/andrewgaul/object-store-comparison

gaul··on Introducing Google Cloud Storage Nearline
Corrected; thanks! Note that GitHub hosts this project for any further issues or corrections:

https://github.com/andrewgaul/object-store-comparison

gaul··on Introducing Google Cloud Storage Nearline
I added GCS nearline to my object storage comparison:

http://gaul.org/object-store-comparison/

gaul··on Compare cost, durability, and regions of cloud object stores
Glacier definitely has a cost advantage for archiving, although Google DRA offers a compelling price/ease of use tradeoff. Day-to-day storage is less clear; both AWS S3 and Azure have competitive offerings and Google is rapidly improving. Some of the other providers have advantages that a tabular comparison does not capture, for example Joyent offers a fused compute and storage solution.
gaul··on Compare cost, durability, and regions of cloud object stores
Subjectively some fields either did not provide enough information, e.g., most providers have free ingress traffic, or I could not find enough information about a field, e.g., number of replicas for several providers. I tried to pick a subset of data that was both useful and complete for the defaults; other fields can be selectively enabled.
gaul··on S3Proxy allows applications using the S3 API to access other object stores
Unfortunately s3cmd requires bucket-in-hostname support which S3Proxy lacks:

https://github.com/s3tools/s3cmd/issues/149

https://github.com/andrewgaul/s3proxy/issues/8

I also added a compatibility list wiki:

https://github.com/andrewgaul/s3proxy/wiki/S3Proxy-compatibi...

gaul··on S3Proxy allows applications using the S3 API to access other object stores
S3Proxy cannot provide more that the S3 API allows, such as byte range updates, although some features can be enabled by bucket-level policies. S3Proxy can emulate features that other providers lack like public buckets and could provide other features like bucket-in-hostname. Apache jclouds provides the underlying object store compatibility so S3Proxy will benefit from improvements to it.
gaul··on Java Pain
really-executable-jars codifies this as a Maven plugin:

https://github.com/brianm/really-executable-jars-maven-plugi...

gaul··on Unit testing best practices
One can precisely handle exceptions with JUnit's ExpectedException:

http://kentbeck.github.com/junit/javadoc/4.10/org/junit/rule...

This is more compact and declarative than the usual

  try {
      ...;
      fail();
  } catch (...) {
      // expected
  }
← PreviousPage 2 of 2