or: no, because the content was substantial and many people probably would not read yet another article with a title like "even more evidence for how sure scientists are of climate change". we all already know and have mostly made up our mind
675 karma · joined June 25, 2012
San Francisco -> Berlin -> NYC
Core Maintainer, Pelias Geocoder (http://github.com/pelias/pelias/) Founder of geocode.earth (https://geocode.earth): open source geocoding hosted services and consulting Formerly of Mapzen
https://juliansimioni.com
or: no, because the content was substantial and many people probably would not read yet another article with a title like "even more evidence for how sure scientists are of climate change". we all already know and have mostly made up our mind
It was an in person pair programming session, with the interviewer driving.
Most importantly, it was collaborative, whereas many interviews often feel adversarial.
It also tested how you communicate, since you weren't the one typing.
However, it still tested your coding skills, but because the interviewer was "on your side" with respect to the desired output code, it wasn't a dealbreaker or stressful situation if you forgot the signature of an important method or function.
But it also touched on actual coding skills, while not requiring you
Like I said, our primary service with storage is Elasticserach which we still manage with good old Terraform and bash scripts.
I'll consider writing this up as said blog post, but here's the gist.
In my view, the advantages of Docker containers are roughly as follows:
- At a high level, Docker allows thinking our services as opaque units in a way I haven't really seen in practice anywhere else. Our containers have CPU and memory requirements, but other than that, when thinking about infrastructure, nothing else matters.
- Docker allows all knowledge of how to run software and its dependencies to live with the corresponding code. While I understand your reasons, I don't agree with the idea that "regular programmers" should not be trusted with devops code. The advantage here is that we can write our application code and its requirements once, and run it in lots of places. In all my years of trying systems like Puppet, Chef, etc, I've never seen this work quite as well.
- With Kubernetes (or ECS, or Docker Swarm, etc), all our infrastructure instances are identical. They are agnostic to the workload they will eventually run, and likewise the containers don't "know" anything about the machines on which they run, except that they are guaranteed to have the resources that container needs. If we really need to do something special for performance, like run a CPU intensive container on a C5 AWS instance, and another on an R5 instance to optimize for memory, Kubernetes or ECS would let us do that without much trouble. This makes managing our fleets of servers super easy.
- As consultants on a codebase we run with many clients, the level of abstraction with Docker lets us avoid most of the hard work of adapting to a client's infrastructure. We have clients using Kubernetes on AWS and bare metal, using just Docker Compose (no Swarm) on virtualized and bare metal machines, and using ECS. Basically, we tell them: "give us something that can run Docker containers, and integration will be a breeze".
Conversely, here are some times I _wouldn't_ recommend Docker:
- You really have hard performance requirements beyond "make sure it runs on the right EC2 instance type". If you are in HFT, sure, avoid Docker.
- You have an existing, working, relatively stable infrastructure running on a sane modern-ish setup like Packer/Terraform, and everyone on the team knows how it works. This is especially true if you mostly have a monolithic codebase, with few other services.
- This is more for Kubernetes, but Databases with their own clustering/coordination are a bit scary to run on Kubernetes, at least to me. It's getting better, but I feel like the probability of two "auto-healing" clustering mechanisms fighting each other is too high. We currently run Elasticsearch on bare EC2 instances in our most critical setups for that reason. Someday I hope this is no longer required.
Finally I'll say that Docker itself is nothing special, and I actually don't expect we're still using Docker in 10 years time. The implementation itself has a lot of quirks, the idea of a Docker service running as root on all machines is very scary (but is already going away), and the limitations of Docker requiring root to build images is also concerning (and is also going away). But the idea of containers or something similar as the "unit" of managing workloads is really great.
geocode.earth founder here, happy to answer questions.
We have great reverse geocoding with OSM and OpenAddresses data.
Feel free to shoot me an email for an invite: julian@geocode.earth
Other than that, and perhaps sharing more substantive articles/blog posts/etc to a wider audience, it's at best silly, and at worse, well...much worse.
A famous example of this is American Airlines flight 96 (1972): https://en.wikipedia.org/wiki/American_Airlines_Flight_96
This year I started a business which means I work full time from home (or a nearby coffee shop), because my co-founder is in a different city and timezone.
While I've worked part-time remote and on distributed teams before, the lack of structure from being your own boss has been a huge change. A blessing and a curse to be sure.
When I start the day without a plan, even if I "get lots of things done", I feel stressed all day and am almost certainly not effective.
After all, the internet came directly from the Department of Defense funded ARPANET. Before that, computers were so expensive and large that realistically only governments or large companies could fund even routine work with them.
I suppose all that's changed is now the average human is on the internet. I mean that literally, since it seems that we are about to cross the threshold of 50% of humanity using the internet (https://en.wikipedia.org/wiki/Global_Internet_usage).
So the things governments wish to do on the internet are more and in line with things that involve the population at large. For better or worse (mostly the latter, IMO) that involves lots of intelligence gathering, copyright enforcement, and national security work.
There are legitimate reasons to edit even the information for major world cities (most of them, for example, don't have translations into all major languages yet), but there's little reason to need those changes to be applied immediately.
There's probably no way around the reality that users who have the ability to run arbitrary code on the CI server have access to the secrets.
Off the top of my head, there are a number of companies/services that can serve as alternatives to Google Maps, and one way or another they all contribute to the collective quality of open source and open data map tools:
* geocode.earth (https://geocode.earth) has geocoding including autocomplete based on Pelias(https://github.com/pelias/pelias)
* Interline can help with routing, OSM extracts, and transit data(https://interline.io)
* Stadia Maps also offers map tiles and routing (https://stadiamaps.com/)
* GraphHopper (https://www.graphhopper.com/) offers routing and geocoding
* OpenCage (https://opencagedata.com/) offers geocoding based mainly on Nominatim but also a bunch of other geocoders
* Jawg.io (https://www.jawg.io/en/) offers maps, routing, and geocoding
Roughly speaking, open data allows for lower prices because investing directly in gathering proprietary data is super expensive. Open data coverage is getting pretty good in lots of areas, and is better than proprietary data in a lot of developing cities (like Jakarta). It can often be updated much more quickly. Google is notorious for taking a long time to fix errors.
Likewise open source map tools are definitely behind Google in many respects, but there's the advantage of transparency and ease of migration if one particular provider happens to go away, or customization is needed.
I'm sure I'm missing some services, and am happy to talk more about any of the challenges/features as much as I know.
Disclosures: I am a co-founder of geocode.earth, and a former employee of Mapzen, along with the founders of Interline
They will spend a few weeks/months detecting cheaters, but do nothing.
Then, they will ban many users of a given cheat at the same time. This creates press, which helps the message of "you will be banned if you cheat" spread further than if they had immediately banned each offender.
I'm an ex-Mapzen alum who runs https://geocode.earth. We don't have a permanent free tier at the moment (our geocoder is solid but the service is new!), but we want to find ways to contribute to the community where we can. I would be happy to set up a temporary free tier on our service for one of your classes.
Shoot me an email, julian at geocode dot earth and we can figure something out
We offer geocoding, especially autocomplete, with much more liberal usage restrictions than either Mapquest or Google, and some pretty powerful features like address interpolation.
As we're still really getting the platform around the geocoder off the ground, we don't have a permanent free tier, but I'd be happy to set anyone up with a demo key if they are looking for something new.
I'm an ex-Mapzen teammember, and we've set up a new, paid, geocoding service called https://geocode.earth. I suspect we can give you what you need around geocoding, especially autocomplete, for much less than Google. Feel free to request an invite or reach out to me personally.
Who knows, a lot of Mailchimp employees might even really like blockchain tech, or be intererested in ICOs, but at the end of the day, if serving ICO/blockchain mail results in lots of emails marked as spam, it puts their whole business at risk.
We were assigned teams of four, wrote hundreds of pages of requirement papers, design papers, everything papers. Then we wrote the code in PHP in one night.
For the final section of the class, 3 teams of 4 were merged into teams of 12. It's obvious that no college students have the desire or ability to manage a team of 12, as it's a huge task even for an experienced manager. The overhead of having 12 people involved was incredible. Fortunately, more than half the students in the group were happy to be "fired": we didn't talk to them at all, did the work in a smaller, more nimble group, and everyone got a good grade.
For all their flaws committees are a primary way in which people pool their collective experience and effort which is ultimately how anything significant is built.
Ubuntu, Redhat, and many others produce their own polished, supported products, sell it, and then give back to the central parts of the community in the process.
Mapbox and others certainly seem like they essentially play the part of "OSM Distro" in that regard. And maybe its okay for multiple entities to be able to contribute in different ways.
One nice thing about open data is it can outlast. What do you think will survive and be readily accessible on the internet longer, Wikipedia or Quora? My money's on Wikipedia 100%.
With OSM things are similar. Obviously geo data has additional ways it can grow stale, but still. Google is big today but there's no guarantee for the future.
Mapbox has built the start of a validation framework, and they have done very cool stuff. Of course then they get criticized for "forking" OSM. There are definitely valid criticisms there, but it seems like there's no way to win.
Likewise, assuming all problems in Africa are due to innate differences in "blacks" rather than considering other possibilities certainly says something about the person making that assumption.
(edited for minor typos/grammar)
One of the stories is of a male manager who, after being put in charge of a team of software developers, asks his wife not to tell any of their friends he was managing a software team.
[1] https://www.amazon.com/Digital-Apollo-Human-Machine-Spacefli...