|
Setting the default timezone in AppVeyor build worker (and C# 7.0 support)
-
nicolaiarocci.com
-
9 years ago
-
eng
So yesterday I pushed some code over to GitHub, then went off to work on a different project. A few seconds later I got an email from AppVeyor telling me that my CI build worker was reporting a failure. I was surprised as just ahead of the push I had tests all green in local. Turned out failure was on an equality assertion between two date values: As you can see the mismatch was precisely two hours. That always rings a Time Zone ..
|
|
I’ve been a long time UNIX user, ditched Microsoft back in the 90s for FreeBSD, Solaris and Linux on the desktop, but when Apple released MacOS X, I’ve used it as a workstation. For the last years I’ve used Linux desktops but not on my main computer, today here I am switching back to Linux. This post is not about the reasons I’m switching, they are simple. My typical work day is mostly about parsing giant files, running VM and Dockers, codi..
|
|
Making Globally Distributed Systems easier with Leadership elections in .NetCore
-
blog.gripdev.xyz
-
9 years ago
-
eng
Recently I’ve been looking at how to ensure services are always running globally across a number of data centres. Why would you want to using Leadership elections to do this? I’ll cover this at a very high level, for more detail look at articles like this , this I also highly recommend the chapter covering this in Google’s Site Reliability Engineering boo k. I want the service to remain available during outages which affecting ....
|
|
As you can see from the picture at the top of this post, last week BlackBerry’s smartphone market share fell to 0% in the global marketplace. In all fairness, this number reflects the number of devices running BlackBerry OS (not the number of BlackBerry-branded Android devices, which together with all other Android devices, comprise 82% of the market). If you think back to 2007, BlackBerry pretty much owned the smartphone world that they ..
|
|
As you can see from the picture at the top of this post, last week BlackBerry’s smartphone market share fell to 0% in the global marketplace. In all fairness, this number reflects the number of devices running BlackBerry OS (not the number of BlackBerry-branded Android devices, which together with all other Android devices, comprise 82% of the market). If you think back to 2007, BlackBerry pretty much owned the smartphone world that they ..
|
|
Updated on February 28th, 2017 Prelude This post is part of a series of posts designed to make you think about your own design philosophy on different topics. If you haven’t read these posts yet, please do so first: Develop Your Design Philosophy Design Philosophy On Packaging Introduction Package Oriented Design allows a developer to identify where a package belongs inside a Go project and the design guidelines the package m..
|
|
When I became a father, I didn’t know much about babies. Fatherhood is one of those “learn on the job” situations. With a new infant in the house, one piece of advice made my life much easier. Infants cry a lot. The noise they emit is high-pitch, and designed to be irritating to adults. It’s irritating because otherwise you would just ignore the poor child. Now, to the advice: when your infant starts to scream in the middle of the n..
|
|
When I became a father, I didn’t know much about babies. Fatherhood is one of those “learn on the job” situations. With a new infant in the house, one piece of advice made my life much easier. Infants cry a lot. The noise they emit is high-pitch, and designed to be irritating to adults. It’s irritating because otherwise you would just ignore the poor child. Now, to the advice: when your infant starts to scream in the middle of the n..
|
|
I was on the Shoptalk Show (hosted by Chris Coyier and Dave Rupert) with Krystal Higgins talking about An Event Apart, speaking, and finding a "thing"
|
|
Imagine what happens if we’re starting to use Docker containers on IoT devices. On small and slow devices with limited system resources and connected via a damn slow network connection we do have to care differently on how to build and ship our apps. In these circumstances it pays off and it’s absolutely essential to optimize our applications and the resulting Docker images for size. SIZE DOES MATTER If we’re doing it right we’ll get....
|
|
This is a guest post from Glenn Gillen. Glenn is one of the co-founders of Voltos, a service to help you securely manage your apps and service credentials, and is a co-contributor to the online course Tiny Security Wins: Quick steps to secure your dev environment. Previously he ran the add-ons ecosystem at Heroku and is an active investor in early-stage developer tools startups.
|
|
One of the functions of backups is to be able to restore the system and data in the case of a successful hacking attack. Without write-only backups, if the servers have access to the backups, then the hacker who has access to the servers has access to the backups too. It is generally understood that backups which don’t happen automatically get forgotten at some point. Without automatic backups, when a restore is required, the team realiz..
|
|
I was working on my fiancee’s car over the weekend when the power button on my Samsung Galaxy S5 stopped working. This was particularly frustrating because I had the flashlight on at the time and didn’t want to drain the battery.
|
|
Kapacitor does not have the ability to work behind an HTTP(S) proxy, and while that is indeed in the works , you might need something working today. The normal Kapacitor config for Slack integration looks something like: [slack] enabled = true # you're going to update the url in a moment url = "https://hooks.slack.com/services/Y0UR/70K3N/H3R3" channel = "#alerts" global = true state-changes-only =....
|
|
Kapacitor does not have the ability to work behind an HTTP(S) proxy, and while that is indeed in the works , you might need something working today. The normal Kapacitor config for Slack integration looks something like: [slack] enabled = true # you're going to update the url in a moment url = "https://hooks.slack.com/services/Y0UR/70K3N/H3R3" channel = "#alerts" global = true state-changes-only =....
|
Regressives want to ban Justice and Liberty in favor for nannystatism, as like most 12 year olds the...
|
Learn the difference between loose equality and strict equality in JavaScript and why triple equals prevents type coercion bugs
|
Learn the difference between loose equality and strict equality in JavaScript and why triple equals prevents type coercion bugs
|
Learn the difference between loose equality and strict equality in JavaScript and why triple equals prevents type coercion bugs
|
|
Under normal situations, the usefulness of money doesn’t scale linearly. The more dollars you have, the less each additional dollar is worth it for you. If you initially have $100K and then you suddenly gain another $100K, for a total of $200K, this is a BIG DEAL. Doubling your money will really enhance your quality of life. But if instead you had $1M before that, then the additional $100K would bump you to $1.1M which is likely a much less....
|
|
The trouble with toString() in Java (or ToString() in C#) is that every object implements it. If you want to extract information from your object, define your own method, like getName(), as opposed to overriding toString(). In order to leverage the Java type-checker, you might want to define a class like FooName to wrap a String, as opposed to simply using a String. That way, a method that expects a name of a foo is both more self-docu..
|
|
Prelude This post is part of a series of posts designed to make you think about your own design philosophy on different topics. If you haven’t read this post yet, please do so first: Develop Your Design Philosophy After this post, read this next one: Package Oriented Design Introduction In an interview given to Brian Kernighan by Mihai Budiu in the year 2000, Brian was asked the following question: “Can you tell us about ..
|
|
If you want to get in contact with me, shoot me an email or connect via https://twitter.com/Tafkas https://github.com/Tafkas https://gitlab.com/Tafkas https://linkedin.com/in/stadeschuldt https://google.com/+ChristianStadeSchuldt
|
|
I spent a while the last week porting livegrep.com from running directly AWS to running on Kubernetes on Google’s Cloud Platform (specifically, the google container engine, which provisions and manages the cluster for me). I left this experience profoundly enthusiastic about the future of Kubernetes. I think that if Google can execute properly, it’s clearly the future for how we build distributed applications. That said, it also feels like ..
|
|
I spent a while the last week porting livegrep.com from running directly AWS to running on Kubernetes on Google’s Cloud Platform (specifically, the google container engine, which provisions and manages the cluster for me). I left this experience profoundly enthusiastic about the future of Kubernetes. I think that if Google can execute properly, it’s clearly the future for how we build distributed applications. That said, it also feels like ..
|
|
This is a long time coming post that I've kept postponing (pun intended) for ages. I enjoy browsing The Setup and I always longed for an easy way to share the way I do my computing with friends, besides linking them my dotfiles . This blog post is supposed to fill that void. A lot of this info is already documented in my private Emacs wiki, this is a more lengthy representation of it.
|
|
Use the right tool for the job" is an oft-repeated aphorism in the tech world. In my experience, I have found this aphorism to be said a lot but actually implemented rarely and to also omit the reality of how technology choices are made. So this post will be calling bullshit on this phrase. I hear "Use the right tool for the job", but what is see is more like: We are unable to learn new tools, so everything is built in the tools we alread....
|
|
I was working with a friend on her dev bootcamp project writing a little wish list management single page web application just backed by localstorage in the browser. This was her first time working with localstorage. As we gradually built features into the app, when it came time to interact with localstorage, I could see she was unclear on what needed to be done, in what order, and why. So I made this analogy and I think that gave her a goo....
|
|
There is something magical in such videos - since you are basically making something from nothing. The technique is borrowed from impro theater: you write the screenplay together as a group, with every participant saying one simple sentence on his or her turn. One by one a story is built. Then just film it using the simplest means, and you have a non-trivial movie in a day. I used this technique in workshops with USANII-Lab in Nairobi, ..
|
|
So how do you install the awesome Python Development Tools on the latest Visual Studio 2017 RC? That might seem a stupid question considering that the Data Science and Python Development workload has been available with every Release Candidate so far. You simply select the workload during the installation and you’re done, right? Not quite. I found out the hard way this morning as I wanted to install VS 2017 RC3 on my development machine..
|
Hi, everyone! After a few weeks without writing about JavaScript, it's about time we talk about it again! This time we're going to talk about errors and stack traces and how to manipulate them. S...
|
Hi, everyone! After a few weeks without writing about JavaScript, it's about time we talk about it again! This time we're going to talk about errors and stack traces and how to manipulate them. S...
|
|
At trivago we use Jenkins as our main CI tool. However, when our physical setup was not enough we needed to move it to the cloud and implement an automated slave scaling. This is the definite guide with all the steps we took to implement an auto scaling Jenkins platform.
|
|
At trivago we use Jenkins as our main CI tool. However, when our physical setup was not enough we needed to move it to the cloud and implement an automated slave scaling. This is the definite guide with all the steps we took to implement an auto scaling Jenkins platform.
|
|
It’s likely not a surprise that Cerner would use Apache Kafka as we have used a number of related technologies like Apache Hadoop along with its Map/Reduce, HDFS and even Apache HBase. Our team first started using Apache Kafka in 2014 when Kafka 0.8 first came out. Since then we’ve expanded to using Kafka for a number of different use cases (1, 2) and it has become a core piece of Cerner’s infrastructure.
|
|
Our first Jane Street Tech Talk went really well! Thanks to everyone who came and made it a fun event.
|
|
Our first Jane Street Tech Talk went really well! Thanks to everyone who came and made it a fun event.
|
|
Beadledom - Simple Java framework for building REST APIs
-
engineering.cerner.com
-
9 years ago
-
eng
Beadledom is a framework for building Java based web services. It bundles several open sourced components required for building JAX-RS services. Why? HealtheIntent, Cerner’s population health management platform, started 3.5 years ago. We went through the process of investigating different technologies for the platform. We decided on using Java for building services and arrived on a set of libraries that we believed work well together. The ..
|
|
How do you manage git credentials for different organizations? You may have some projects you work on at work that has a pre-push hook to ensure that your email is part of the correct domain. You might have your own personal projects, some of which might also use difference email addresses. Or, just maybe, you have a secret identity that you don’t want your other repositories to know about. How does one manage this schizophrenic multiple pe....
|