|
In my consulting work, I encounter a pretty high quantity and diversity of codebases as client projects flow in and out. For many reasons, it is very common for a project to get increasingly messy with time, and often by the time it drops in my lap, it's a certifiable mess. Dealing with a mess can be a huge drag and productivity drain as even the simplest debugging investigation is rife with confusion, duplication, misdirection, etc. Here....
|
|
The world of javascript code linters is a fertile breeding ground for vociferous debate over unimportant details. It's easy to stray into the bad patterns of arguing with colleagues, playing "curly brace police", and other variants. However, used well with the right mindset and team communication, good code linters and autoformatters can be truly valuable additions to your development workflow and tool chain. If you haven't yet discovered....
|
|
Parallel programming is a very difficult, but sometimes a necessary task. Modern computers contain multiple cores and any complex algorithm that is not performing parallel processing is not exploiting the full potential of the hardware. In this Java 8 Streams tutorial we will show you how to convert a Stream to List using parallelStream(), filter() and collect(), how to convert an Iterator to Stream and count strings. The Streams API in..
|
|
Wow, that was intense. This blog used to just be for my family and friends to check in and make sure I hadn’t died in some horrific truck-related accident, but since I made the highly questionable call to share my story publicly, it’s been a whole different story all together. It’s been a crazy few days, and I have a ton of thoughts on it. This is going to be my longest post by far, and I apologize in advance if it reads like one long rambl..
|
|
Wow, that was intense. This blog used to just be for my family and friends to check in and make sure I hadn’t died in some horrific truck-related accident, but since I made the highly questionable call to share my story publicly, it’s been a whole different story all together. It’s been a crazy few days, and I have a ton of thoughts on it. This is going to be my longest post by far, and I apologize in advance if it reads like one long rambl..
|
|
Getting the list of the AD groups if nice and easy in PowerShell. All the CmdLets are located in the module which you might not have…
|
|
Borobudur . Hiking Padar Island in Komodo National Park (Indonesia) | The Backpack Almanac . Rumah Gadang .
|
|
Beyond the dunes: road-tripping Mongolia's Gobi Desert . Terra cotta warriors at Mount Khan, Inner Mongolia .
|
|
10k in under 50 mins — Runner's World UK Forum . Garmin Forerunner 230 & 235 In-Depth Review (DC Rainmaker) . Harvard's Running barefoot or in minimal footwear FAQ . How to run a sub-50 10K - The Running Bug . Is Running Good Or Bad For Your Health? . Mornington Chasers running club . Open track: Race Management System . Review : Newton Gravity IV & Motion IV | Ramblings of an IronRose . The Race Organiser . Training towards a sub ..
|
|
cmus, a small, fast and powerful console music player for Unix-like OS . mps-youtube . mpv (a fork of mplayer2 and MPlayer) . Multimedia on Linux Command Line: wget, PdfTK, ffmpeg, flac, SoX . PLEX (stream your media everywhere). Soul – A language and IDE for audio coding .
|
|
Eating My Way Through Nishiki Market, Kyoto | Ever In Transit . Fushimi Inari Temple : 4KM mountain trail lined with bright orange shinto gates. Golden Pavillion (macha and biscuits at tea house). Hakone (day trip for hot baths), see Yuryo spa. Also the pirate boat. Kibune . Kinkakuji Temple . Kiyomizu Temple . Kuramadera Temple & Kibune Shrine: More peaceful shrine. Kyoto itineraries . Kyoto travel tips (doc) . Kyoto walking maps . ..
|
|
SICP in Clojure - Chapter 5 In one of the previous blog posts I have announced that I would like to start a new series of posts. It is a persistent journal from my journey through aforementioned book. I hope that you will enjoy it and find it useful - the main goal is to make this series a place where we can return in future, recall ideas and thoughts that accompanied reading process. Introduction We are heading to the end of the book. I....
|
|
If you haven’t read the first post on fairness, I suggest you go back and read it because it motivates why we’re talking about fairness for algorithms in the first place. In this post I’ll describe one of the existing mathematical definitions of “fairness,” its origin, and discuss its strengths and shortcomings. Before jumping in I should remark that nobody has found a definition which is widely agreed as a good definition of fairness in th..
|
|
If you haven’t read the first post on fairness, I suggest you go back and read it because it motivates why we’re talking about fairness for algorithms in the first place. In this post I’ll describe one of the existing mathematical definitions of “fairness,” its origin, and discuss its strengths and shortcomings. Before jumping in I should remark that nobody has found a definition which is widely agreed as a good definition of fairness in th..
|
|
If you haven’t read the first post on fairness, I suggest you go back and read it because it motivates why we’re talking about fairness for algorithms in the first place. In this post I’ll describe one of the existing mathematical definitions of “fairness,” its origin, and discuss its strengths and shortcomings. Before jumping in I should remark that nobody has found a definition which is widely agreed as a good definition of fairness in th..
|
|
This is just some general information and links about the issues in Ohio, or, more specifically, the issues I’ll get to vote on, this November. I’m going to just put information here, and not say what should the vote be. The links I put might, however.
|
|
I ran into an interesting effect this weekend while working on some parallel counting code. After a little experimentation I determined that it is likely to be a false sharing effect. False sharing is where the same cache line is read/modified by multiple different threads in a loop, and can cause major performance degradation. The counting code loop looked like this: for(size_t i=0; i |
|
It’s been a while since my last Home Improvement post , which is bad because it means I’m not improving the truck. And trust me, the truck certainly does have areas for improvement . Anyway, I mentioned that I got a new bike recently. This was great but, like every time I get something new, it posed an issue. The Situation I’m now in possession of a large, 50 pound hunk of metal and rubber, which I have to store somewh..
|
|
It’s been a while since my last Home Improvement post , which is bad because it means I’m not improving the truck. And trust me, the truck certainly does have areas for improvement . Anyway, I mentioned that I got a new bike recently. This was great but, like every time I get something new, it posed an issue. The Situation I’m now in possession of a large, 50 pound hunk of metal and rubber, which I have to store somewh..
|
|
No matter how good we are at explaining, we cannot directly ground all concepts for everybody. In a video interview, Richard Feynman explained how he thinks about physics. One question asked him to explain how electro-magnetic forces work. He explained that they exist in the form they do. There is no simpler explanation to the electro-magnetic forces than that, he said. Can we say electro-magnetic forces worked like an everyday o....
|
|
It is a requirement of many customer projects of mine to have a "remember me" or "keep me logged in" checkbox on the log-in form. I am not aware of any standard approach to the subject; I suspect every company invents their own (and then blogs about it?) Here's what I do when asked to implement this feature, as online on art.world . Here are the requirements as I see them: Users should be able to use the “remember me” function from one..
|
|
Comments in posts can be a great source of recommendations. Here's a way to extract post links using Emacs and enlive . (require 'enlive) ;; https://github.com/zweifisch/enlive (require 'org) (defun ar/input-clipboard-url-or-prompt () "Return a URL from clipboard or prompt user for one." (let* ((clipboard (current-kill 0)) (url (if (string-match "^https?://" clipboard) clipboard (read-string "URL: ")))) (unless (string-match "^ht....
|
|
The slides of my talk at Percona Live 2015 (Amsterdam) are online . It was titled “MongoDB and REST APIs a Match Made in Heaven” and it was meant as an introduction to Mongo, REST principles and the Eve python framework. Overall it has been a pleasant experience, although I found that splitting 300 attendees through seven concurrent tracks ultimately led to too much fragmentation. People often found themselves with 2-3 interesting talks ..
|
|
Affinity Designer: the perfect tool for UI and UX design . Affinity Publisher – Professional Desktop Publishing Software . Build a static site with Material Design Lite . Eye dropper Chrome extension (pick colors in browser) . Generate - Coolors.co . Google, but for colors (Hacker News) . Nodesign.dev | Design less develop more. . PaintCode - Turn your drawings into Objective-C or Swift drawing code . Paletton - The Color Scheme Des..
|
|
Managing Containerized Data Pipeline Dependencies With Luigi
-
tech.nextroll.com
-
10 years ago
-
eng
This is the second article in a series that describes how we built AdRoll Prospecting. This time, we’ll talk about managing batch job dependencies. Batch processing and data pipeline coordination is one of the oldest application of computer systems. In late 1950s US Navy and NASA first started using computers for task scheduling—tasks being assembly jobs performed by people. Controlling people that way is what topological sorting algor....
|
|
Bosun is a monitoring and alerting system developed by the good folks at Stack Exchange, then open sourced for the rest of us. It’s written in Go, meaning its monitoring agents can run anywhere that Go can drop a binary… which is just about everywhere. So what exactly does it do and how does it compare to the likes of New Relic, CloudWatch, Nagios, Splunk Cloud, Server Density, and other monitoring tools?
|
|
Caching data is an essential part in many high-load scenarios. A local 1st-level cache can augment a shared 2nd-level cache like Redis and Memcached to further boost performance. An in-process cache involves no network overhead, so the cache speed is only limited by local resources like CPU, memory transfer speed and locking.
|
|
Caching data is an essential part in many high-load scenarios. A local 1st-level cache can augment a shared 2nd-level cache like Redis and Memcached to further boost performance. An in-process cache involves no network overhead, so the cache speed is only limited by local resources like CPU, memory transfer speed and locking.
|
We’ve had a simple ActionHero demo site for a while now, which shows how easy it is to get started with the framework, but until now, we’ve…
|