Good point. I will put a MIT License file in there shortly.
HN user
jubos
Cofounder of Spool (http://getspool.com)
Big fan of Map/Reduce, NLP. Learning iOS development, but getting a hang of Objective-C. Let me know if you are interested in helping out on Spool. We are always hiring.
Open Source Software Development on sevenforge.com @jubos
My twitter handle is @jubos. I would love to see how you approach it.
I wanted a cross platform way to test slow connections with a single command line parameter. Whether it be Linux, FreeBSD, or OSX (maybe Windows (haven't tested :-P)), it is easy to setup.
iptables or putting nginx with rate limits in front of Fake S3 would be a more powerful approach, but also harder to get going.
Excellent points.
We work on the idea of different stages in the test and development pipeline. At different stages mock objects make sense, and at other stages having something like Fake S3 makes more sense.
For testing, the first stage would be unit testing. At that stage it is best to mock out your S3 interactions (with something like VCR or WebMock) and use an OO approach to wrap your persistence, so you could swap out S3 with another persistence engine without breaking APIs.
The second stage for us is integration testing where you might have multiple machines testing across the network. In this situation, I think it is great to have real network requests happening rather than mock requests. Also you can deal with real files (especially important with media files like images and video).
The last stage is taking out Fake S3 and using a true S3 connection to ensure that everything does work on a production environment (cuz Fake S3 could be faking you out, especially on things like authentication and versioning). We do that by launching a stage cluster and running a set of integration tests on that before doing a production release. Ideally, the first and second stages catch any errors before you start doing tests against the real AWS services.
As for the development pipeline, being able to work with real assets while you are making mobile or web interfaces is really useful, as well as simulating latency to see how interfaces respond when under a slow network connection is something that would be difficult to truly mock.
Great idea. I like the idea of a command line flag (like the rate limit flag) to run it with a percentage failure rate or something along those lines.
Swift is very powerful piece of technology, but it is also more involved to setup. Curious to try RiakCS as well and see how it compares to Swift for running production level S3 object storage.
Thanks! I haven't but let me know if works.
Spool is still here, and still transcoding and caching videos. We got some new stuff coming down the pipe, so stay tuned.
I just started using Backblaze last week, and so far I have been very pleased. Even with Time Machine, I found I rarely hooked up my external hard drive at home, so this gives me a little more peace of mind, not to mention continuous backup during the day at work, in case my laptop gets jacked on the commute home.
Just curious, how does the Lua runtime perform with bitmap operations?
hi, one of the makers of Spool here. Thanks for kicking the tires on it. Now that our coverage is up, we are optimizing for speed now, so those wait times will come down.
scribe is a very powerful logging tool, but it also comes with its dependency costs. Compiling boost, thrift, fb303, and all the scribe logging libraries as well. If you are already a thrift shop, it can make a lot of sense, but otherwise, there is a lot of legwork to get it up and running.
90 Euros for a font? Whoa.
Making your mockup interactive aside, I do like using photoshop to play around with color schemes. Changing css and refreshing the page is slower than just tweaking colors in photoshop.
I am curious what qualifies as true CPU concurrency vs. threading tricks/shortcuts in the implementation of a language. If you look at java-6, c++, pascal, c, and ocaml, those are the top performers that actually utilize all 4 cores, where as haskell and erlang use 100% of one CPU. Also, in the interesting alternative programs section, the top performer is java (by cheating that they mention Haskell probably does behind the scenes)
got ie6 and ie7 running on the same windows install.