Advanced Linux Programming. Call me maybe: MongoDB stale reads. In May of 2013, we showed that MongoDB 2.4.3 would lose acknowledged writes at all consistency levels.
Every write concern less than MAJORITY loses data by design due to rollbacks–but even WriteConcern.MAJORITY lost acknowledged writes, because when the server encountered a network error, it returned a successful, not a failed, response to the client. Happily, that bug was fixed a few releases later. Since then I’ve improved Jepsen significantly and written a more powerful analyzer for checking whether or not a system is linearizable. I’d like to return to Mongo, now at version 2.6.7, to verify its single-document consistency.
(Mongo 3.0 was released during my testing, and I expect they’ll be hammering out single-node data loss bugs for a little while.) In this post, we’ll see that Mongo’s consistency model is broken by design: not only can “strictly consistent” reads see stale versions of documents, but they can also return garbage data from writes that never should have occurred. A Unix Utility You Should Know About: Pipe Viewer. Hi all.
I'm starting yet another article series here. This one is going to be about Unix utilities that you should know about. The articles will discuss one Unix program at a time. I'll try to write a good introduction to the tool and give as many examples as I can think of. Before I start, I want to clarify one thing - Why am I starting so many article series? The first post in this series is going to be about not so well known Unix program called Pipe Viewer or pv for short. Pipe viewer is written by Andrew Wood, an experienced Unix sysadmin.
Microsoft Virtual Academy – Free IT Training, Online Learning of Microsoft Technologies. Building Mobile Experiences. Introduction to Linux. UNIX / Linux Tutorial for Beginners. A beginners guide to the Unix and Linux operating system.
Eight simple tutorials which cover the basics of UNIX / Linux commands. Build your shiny new PC, Gaming PCs, Parts Configurator. Quick start projects. Mechanical Robot Fish. Advanced Grunt tooling. Grunt has made web development more enjoyable.
By automating repetitive tasks, it has allowed web developers to focus on building features rather than copying, compiling, and configuring. In this post, I will share some advanced tooling with Grunt which will help you use it to its full potential. Bash functions When using grunt frequently, it is nice to have shortcuts for installing plugins. These two bash functions, when included in your ~/.bash_profile, will allow you to quickly install grunt plugins: PageSpeed Examples Directory. A guide to getting started with Vim. What we'll cover reading time: approx. 26mins.
Advanced Bash-Scripting Guide. Grunt Boilerplate. What we'll cover reading time: approx. 19mins What is Grunt?
InstallationPackage.jsonDependenciesGruntfile.jsSassRequireJSJSHintJasmine BDDImage MinificationHTML MinificationRegistering tasksWatching filesOur full Grunt fileConclusionUpdates Please note that any additional updates have been added to the bottom of this post to ensure no cross-over between the original focus and new items that might contradict that. Web Development Teaching Materials. Bash Guide for Beginners. Please share your hidden OS X features or tips and tricks. SSH Can Do That? Productivity Tips for Working with Remote Servers. SSH has many features which are helpful when working regularly with files on remote servers; together they can give a vast increase in productivity over the bare use of SSH.
If you regularly use SSH, it’s worth spending a little time learning about these and configuring your environment to make your life easier. This has been presented at presented at Yapc Europe 2011 in Riga and the Floss UK Spring 2012 Conference in Edinburgh. If you’d like me to come and talk about this at your user group or workplace, please get in touch. Multiple Connections. Most Popular by Usage. Setting up Vagrant with Laravel 4. One of the things that annoys me the most about picking up someone else’s work is that it shouldn’t be difficult to get up and running.
If I start exploring an Open Source project, I want to see something magical happen almost instantly or I lose interest. It’s just not worth the time to have to jump through hoops and set everything up just to see a working example. Not having a standard environment for a project can also be a problem when you are working as part of a team of developers. If you are all using your own machines, and you all have different versions of each bit of the stack, then you can hit problems where code is written for one machine, but causes problems on another. You don’t want to be in a situation where your code passes all the tests locally, but constantly falls over as soon as it hits the production server.
This is a guide to getting started with Vagrant, and how to create an environment that is tailored to Laravel 4. Installing Vagrant As always, I’m using OS X. A list of base boxes for Vagrant - Vagrantbox.es.
Alpha. An A-Z Index of the Bash command line for Linux. Commands marked • are bash built-ins Many commands particularly the Core Utils are also available under alternate shells (C shell, Korn shell etc).
More bash commands: Linux Command Directory from O'Reilly, GNU CoreUtils.SS64 bash discussion forumLinks to other Sites, books etc. Git.