Automate Your Incident Management Process
Great tool for exploring dozens of different monitoring tools by various subcategories.
Alisa U Zemlji Chuda

❣ Chile in a Photography ❣

PR's Tumblrdome

ellievsbear

Andulka

@theartofmadeline

#extradirty
Show & Tell
Cosmic Funnies
i don't do bad sauce passes

Origami Around
TVSTRANGERTHINGS

pixel skylines
Stranger Things
Monterey Bay Aquarium
Cosimo Galluzzi
I'd rather be in outer space 🛸
noise dept.
art blog(derogatory)

No title available
seen from United States

seen from Türkiye

seen from Norway
seen from United States
seen from Germany

seen from France

seen from Malaysia
seen from United States
seen from Malaysia

seen from Netherlands
seen from United States
seen from United States
seen from United States

seen from United States

seen from United States
seen from United States
seen from United States

seen from United States
seen from United States
seen from United States
@dmayo3
Automate Your Incident Management Process
Great tool for exploring dozens of different monitoring tools by various subcategories.
Interesting reads of 2017
Here are some standout articles from this year so far...
Evolution and future trends in architecture/cloud/IoT: Monoliths => Microservices => Functions => Edge
React meets The Grand Budapest Hotel, a bizarre and amusing read: The Grand React Hotel
How Google does ops. Not new, but recently released for free online: Site Reliability Engineering
Yes, microservices are not a siver bullet: In Defense of the Monolith
In-depth approaches to defending your API and maintaining critical capacity: Scaling your API with rate limiters
TDD is not magic, but it's still helpful when used for the right reasons: Does TDD harm architecture?
Another reminder to be careful with your dependencies, and stay on top of updates and advisories: Study Shows the Web is Crowded with Outdated, Vulnerable JavaScript Libraries
The importance of distraction-free time: And it's gone —The true cost of interruptions
Leanpub ebook experiment
"A person is a fool to become a writer. His only compensation is absolute freedom. He has no master except his own soul, and that, I am sure, is why he does it." - Roald Dahl
I started writing a self-published ebook on Leanpub a while ago mainly for fun. It's been abandoned for quite some time. It was an interesting project, and I definitely learnt something in the process. Of course, by now it's rather out of date and there are better ways of doing things. Such is the rate of progress.
Leanpub is a superb platform for writing, though sadly they now charge for starting new books. I suppose that's to keep time-wasters like me out!
If you're curious about what I wrote, you can download it free here: DevOps Automation. Just remember about what I said about it being out-of-date.
The DevOps toolbox is jam-packed - from configuration management and integration management to delivery management and monitoring tools. It could be argued that monitoring tools are the most essential, providing crucial information that will help you ensure service uptime and optimal performance. via Pocket
Book Review: Responsible Design for Android
This book really appealed to me as an experienced Java developer but new to Android development. At the time of writing It's still a work-in-progress but reads more than well enough.
For a book on Android, there's remarkably little discussion on the SDK itself. The emphasis is on the 'Responsible Design' part; which in this case means TDD, evolutionary design, clean code, and avoiding your logic becoming too intermingled with framework code.
It's an opinionated guide to how the author writes software in general, but applied to Android. I think he's got some interesting things to say on the matter, some of which goes against common practise.
One of the more unusual aspects of his approach is how he uses interfaces and contract tests as a form of Design by Contract. He favours this over extensive end-to-end or integrated testing, and his reasons for doing so are compelling and well argued.
The book is very similar to a favourite of mine, Growing Object-Oriented Software, Guided by Tests. It turns out it's the book the author wishes he'd written.
It was a relatively short and fascinating read, and if I ever get around to building an Android app this book will definitely have an influence on how I approach it. You can buy the book or read more about it here.
Dropwizard is a great tool for bootstrapping a Java service project that's production ready. It's far simpler and more pleasant to work with than the more traditional approaches in the Java world (Tomcat, Spring, etc). There's a good presentation about it here: [Instant-ish Real Service Architecture](http://vimeo.com/37930578).
If you're interested in learning Clojure I thoroughly recommend forking this github project. It's a collection of very quick and simple exercises that take you through the fundamentals. For each exercise you have to fill in the missing blanks. A convenient script validates your answers automatically on save. So it's a bit like an interactive version of [The Little Schemer](http://books.google.co.uk/books/about/The_Little_Schemer.html?id=xyO-KLexVnMC&redir_esc=y).
Pure Java 5... with lambda functions. Ok, so Java 8 has lambdas but that's not the point. It's amazing how possible it is to raise a language beyond its perceived boundaries with a bit of ingenuity. What I like most about this is the use of the lambda symbol (λ), which I didn't even realise was a valid identifier in Java!
The state of JVM build tools
Sadly Maven is still the de facto Java build tool despite its inadequacies. So I've been trying out some of the alternatives to find figure out which is 'best'. First I tried out [buildr](http://buildr.apache.org/). It's a build tool with a ruby DSL that gives you convention-over-configuration magic. First impressions were good: it's very quick to get up and running and only requires a tiny build file to get quite a lot done. Naturally it integrates with Maven repositories and it seems to do it well. It avoids redownloading stuff unnecessarily like Maven has a habit of doing. Then I hit a stumbling block: it requires some serious kludges to package a jar-with-dependencies (a.k.a uberjar). I'm not even sure why, they seem to have implemented this functionality for war files! Having looked at the source code, it looks like it would be relatively easy to extend the package task to include dependencies in the same sort of way as for war files. But by this point I'd given up. Next up I tried out [Gradle](http://www.gradle.org/). I've used it before, but not very much. I very quickly hit a stumbling block trying to download one of the transitive dependencies in my project. From a quick google it looked like the solution was some sort of hack. So I gave up again. Now I'm going to give [Leiningen](https://github.com/technomancy/leiningen) a try. I like the amusing reference to Ant in the project description. Update: eventually I got to grips with Gradle, and it seems to be the best overall build tool for the JVM and is going from strength to strength. It still has it's pain points however, and can be tricky to debug the problems that inevitably occur when you stray from the beaten path. Nothings perfect.
Handy trick: ampersand not only backgrounds a process but also acts as a command separator!
Functionn
a!ertify.js is an unobtrusive customizable JavaScript notification system.
Features
Fully customizable alert, confirm and prompt dialogs
Fully customizable unobtrusive notification system
Callback parameter handling both OK and Cancel button clicks
Chaining which...
JS testing with Zombie and Buster.js
JavaScript and UI testing in the browser remains hard for non-trivial applications! Luckily there are some really awesome frameworks in development right now. I've been evaluating zombie and buster.js, so here are my thoughts on them. Zombie.js is a headless browser environment and test framework built on phantom.js. It's similar to Selenium, except that it doesn't run in real browsers or support multiple programming languages. The advantage is that it's dead simple to setup and integrate into a CI build. It also claims to be 'insanely fast', something I can't really comment on yet. Personally I couldn't get it to work for non-trivial tests in the project I'm working on. I suspect that zombie may be confounded by the asynchronous module loading behaviour of the Dojo framework that the project uses. The latest version of zombie is an alpha, so hopefully zombie will get better as the project matures. Another project that shows enormous promise is buster.js. The goal of the project is to provide the tools to run tests in real browsers, node.js and phantom.js. It runs browser tests in parallel, so it's quick. It has the sinon mocking/stubbing framework built in. However, it's currently beta and it definitely shows. Within a few minutes of following the quick start tutorial I discovered things that just don't work.
Interesting article about testing your designs / CSS. I found the part about regression testing with Cactus and Needle to be interesting, although how practical this is I'm not sure.
Learning Dojo
... is a bit of a pain. Reading through the documentation and then trying to put together any non-trivial web app is like trying to solve a 1000-piece puzzle. Each tutorial gives you a few pieces, but it's hard to see how they fit together! There doesn't seem to be any decent comprehensive tutorial for building a complete web app. Still, I can see the benefits: an ambitiously comprehensive JS framework that has a rich UI / widget framework along with most everything else you might find in frameworks like jQuery. It's also a properly modular framework: just take the bits you need. After I grasped some of the basics, I found the TodoMVC project to be of great help as an example of a non-trivial app: http://addyosmani.github.com/todomvc/
This is a third-party BDD UI for Mocha. It looks great. "Provides high-level/functional/acceptance test organization lingo, using 'Feature', Stories, 'Scenarios', 'Given/Then/When'." Here's a brief example in CoffeeScript, there are many more if you follow the link. Given -> System 'Logged Out', -> Then -> System -> it 'should log in', ->
I recently made the discovery that "`mocha --grow`l" just works on Ubuntu if you have libnotify installed, so presumably the growl module must have implemented compatibility with libnotify.