skysight-inc/HackerNews huggingface dataset:
Amazon performance is generally bad when using other services.

We are rolling out a CDN, with a goal of 20 ms latency in most countries. We want more granularity that AWS - and some zones are just not well served (No AWS in Africa, incomplete offer in Brasil, etc)

Still, we figured we would use Route 53 as you can do Latency Based Routing even with non-AWS servers. Computing latency or using EDNS0 as a proxy is not rocket science, so we thought the DNS would not be a limiting point.

Oh boy, how wrong we were! After wrongly blaming the bad performance on Cloudflare caching, further tests revealed Route 53 takes as much as 0.7s to reply to some DNS queries - and even worse when fronted by Cloudflare, as for some reason the DNS TTL seems to be ignored by Cloudflare. The latency only drops down after about 4 queries, which makes me thing they have some kind of Round-Robin that does not share the DNS queries (I could be wrong)

In the article, the author says: "Most of that delay is DNS however (Route53?). Just showing the time spent waiting for a response (ignoring DNS and connection time)". No you should not ignore the DNS delays! Route53 performance is very bad - 2 full seconds for you!!

We are fortunate it did not take 2s for us. Still, having servers all over the world that reply in 20 ms is useless when the first DNS query takes 700ms.

We ended up leaving for Azure: Traffic Manager outperforms Route 53 by a factor of 2.

Eventually, we will roll our own GeoIP with DNS resolvers on a anycast subnet.

I do not understand how this level of "performance" can be tolerated. At 2 seconds for a DNS query, you are better off using the registrar free DNS service!!
I'm using an adblocker, all I get is a brief flash of something and then a blank page. Maybe I'm too old for Wired now.
I've always used xpdf[1].

1: https://www.xpdfreader.com/
The old advice is to ignore performance because it’s not important.

The old advice is to optimize intelligently, based on actual data, not preconceived notions. If your program isn't correct, then it's hard to have valid performance data, so optimizing before your program is correct is problematic. Kent Beck has an anecdote about being called in to optimize the Chrysler C3 payroll system. He arrives, then asks if there is a valid input/output dataset. The Chrysler people tell him that the system isn't producing valid outputs yet. His reply: "Well in that case, I can make it Real Fast!"

(As it turns out, a lot of the performance problems came down to naive string concatenation!...O(n^2)...yadda yadda.)
For ages I couldn't figure out how exactly I would be able to use Quicklisp libraries to create something, and then create an executable from the source code. I think I ended up giving up, after only finding a couple of blogs that were using ancient versions of everything involved. I remember even having trouble loading some of the packages. Overall my experience with writing CL for myself was fun and interesting, but my experience writing it to be used by other people was anything but. There seemed to be too much rubbish to confuse me, as opposed to something either like C (header files + corresponding source) or Python (a directory with an __init__.py is something you can import).

The module system has also turned me away from Scheme; the point where different Schemes all implement say R6RS but they have different module systems, or even different ways of converting an integer to a string, varying support for SRFIs (the regex SRFI is nearly four years old and the only Scheme to implement that is Chibi) and the completely variable module system, where nothing at all is consistent, none of the modules work in another Scheme, even if you were to extract the code. You want something from Chicken to use in Guile? Too bad, you have to manually do all the work yourself, despite the fact that both modules are supposedly written in standard Scheme.

The module situation eventually pushed me to write my own Lisp, but I realised that unless I were to go ahead and implement all the things I wanted, everything I would miss, I'd be in just the same place, reminded of that xkcd comic in which "there are now 15 competing standards". So I gave up on doing just that, and now I'm literally writing a Lisp compiler and then operating system with a friend, because for me it's a lot less frustrating to say "that doesn't work on my operating system" than it is to say "that doesn't work in this guy's Scheme". It wasn't supposed to make sense.
Sounds like a good idea. I'm buying me some Dell when this goes public.
One can encapsulate backtracking simply as an iterator over a stream of answers to a query. The SWI_prolog ecosystem provides a nice "logic engine" abstraction for that, see http://www.swi-prolog.org/pldoc/man?section=engines . That gives something similar to Python's yield operation. Backtracking inside an engine allows one to implement some neat algorithms in space proportional to your data, without invoking garbage collection.
I was in the third grade when this happened. My elementary school was (un)fortunate enough to carry the launch live, so I watched it happen with a room full of my 8 and 9 year old peers.

Like you, I can remember the numbness I felt in the classroom as we watched the explosion. And, I will never forget the look on my teacher's face as she shut off the television.
Cortx | Full Stack Software Engineer | Baltimore, Maryland | Full Time, Onsite http://cortx.com

Cortx is a fast growing, profitable natural language processing startup located in Baltimore, Maryland. Cortx sits at the intersection of research and business - we take cutting edge research and transform it into high impact products which are mainly sold using a SaaS model. Some example products we are working on include:

- A newspaper comprised entirely of robot authors

- A marketing consultant that uses AI to provide actionable advice to clients

- A machine proofreader that automatically corrects bad grammar

This position involves developing software across the entire Ruby on Rails + React stack. You'll be mostly working with Ruby, Javascript, PostgreSQL, MongoDB, and Redis. You will specifically be on a team that takes the artificial intelligence research and creates products and software from that research that real people use. Although you won't be directly responsible for anything AI/NLP related, you will be heavily exposed to all of the AI/NLP research being done.

Our interview process involves a quick coding screen, a more intensive Skype interview, and a final onsite interview.

You can see more info here http://cortx.com/careers/ or you can contact us at jobsatcortxdotcom - make sure to mention that you found us on HN!
PagerDuty | San Francisco | Toronto | Remote

PagerDuty is the leading digital operations management platform for organizations. Over 10,000 enterprises and small to mid-size organizations globally trust PagerDuty to improve digital operations, drive revenue, mitigate threats, protect assets, and delight customers. We were included in the 2017 Deloitte Technology Fast 500 for the second year in a row, Inc. 500 and Forbes Cloud 100 lists as well as the 2018 Best Places to Work in the Bay Area.

We're hiring a number of roles:
Principal Engineer, APIs and Developer Platforms
San Francisco, Remote
https://www.pagerduty.com/careers/jobs/?jobid=a0K37000004dII...

Senior Software Engineer
San Francisco, Toronto, Remote
https://www.pagerduty.com/careers/jobs/?jobid=a0K3700000972s...

Senior Site Reliability Engineer
San Francisco, Toronto, Remote
https://www.pagerduty.com/careers/jobs/?jobid=a0K3700000C5ku...

Senior Database Engineer
Toronto
https://www.pagerduty.com/careers/jobs/?jobid=a0K37000008p93...

DevOps Evangelist
Remote
https://www.pagerduty.com/careers/jobs/?jobid=a0K37000009xMA...

Product Manager
San Francisco, Toronto, Remote
https://www.pagerduty.com/careers/jobs/?jobid=a0K3700000BQO8...
How about 'haiku runs libreoffice'?
Interesting, but 200 bikes sounds like a drop in the ocean. How will it actually work without docking?
AFAIK Canonical isn't involved the support process for the Dell Sputnik program. That said, when I first got my XPS 13 the best thing for me was to upgrade kernels and, if possible for you, swap the included Broadcom networking chip for an Intel one. I still had some graphics glitches when waking the screen but it was way better after those two things.
Pickups to recharge only happen once a day with birds AFAIK, and I don't know if half charged scooters are recharged. Most people do not use the full battery capacity of these things, which are 20+ miles. More charge used usually means more time used, which means more money.

Lime's scooters have a 20 mile range and charge $.15/min + $1 per use[1]. So assuming an average speed of 10mph, using the full battery would be 120 minutes of use, which is $18. Then you add the $1 unlock fees which would of happened multiple times, and you have something of at least $20 average gross revenue per day of a 'fully used scooter'.

These scooter companies probably have better data on average usage, which is probably why they are getting such huge funding amounts due to the $$$ potential.

[1] https://www.limebike.com/electric-scooter
Actually the first answer to type II is usually metformin, unless you present initially with pretty advanced disease.
Review: Parrot Anafi Drone
What makes you believe that you won’t be presented with drug therapy as well as dietary advice?
sadly, you really need to have your data privacy abused to understand the potential. Accounts emptied. Stalked. Secrets posted on line. But then only the victim gets it and everyone else goes happily on their way.
True, that is a bit better phrasing. I mentally inserted that interpretation when I read it. Personally I wouldn't hold it against someone if they carried a 4.0, however, I would inquire more as to whether they pursued their studies out of interest, what trade-offs they may have made, and so on as to understand their work mentality.
The chromebook thing is fun and I've tried it with a chroot. I've been addicted to IBM/Lenovo trackpoints / little red dot thing since 2004, however, so I'll probably never get away from using ThinkPads. As a kid I played counterstrike and halo 1 with a trackpoint. That's one thing motivating my upcoming purchase of https://www.amazon.com/LANRUO-Pocket-Aluminum-Windows-x7-Z87...
I also work mainly on web stuff. I always think it's good to have a plan for how you would improve performance if necessary, but not necessarily actually do it. I'm currently working on a Laravel app, and beyond writing sensible queries, I've done little performance optimisation. But I have a good idea how I would if I needed to (probably rewrite the only 2 api's that are performance sensitive in a faster language/framework!)

Interestingly it was working on an ETL project that drove me to learning Rust (my first low-level language). I tried to implement it in node, and it wasn't anywhere close to being fast enough.
Lure fishing "cast and retrieve" as opposed to waiting is very common and not at all just a bass thing fyi. Maybe it has something to do with the particular species here in mid east coast Australia but fishing stores have tons of space dedicated to lures.

I remember fishing as a kid, my dad would be bait fishing while I lure fished because bait was super boring.
I am burned out by IP. I basically don't pay attention to it anymore. If I can watch/use/listen to it legally. Great. if I can't I will simply ignore the law and do whatever is easiest. I lost all respect for IP laws decades ago. I received a dmca notice recently, that went directly into the trash.
The kinds of errors where you have a type mismatch are wholly uninteresting in my experience, and get caught very early on in the development process. What I really care about is semantic correctness.

For example, consider a sort function. The types can tell me that I passed in a collection of a particular type and I got a collection of the same type back. However, what I really want to know is that the collection contains the same elements, and that they’re in order. This is difficult to express using most type systems out there. Even when the type system is powerful enough to encode such semantics, it's both difficult to figure out how to express and understand the resulting specification.
There are no boring activities, only boring people.
CA1101 and 1102 (https://leginfo.legislature.ca.gov/faces/codes_displaySectio... https://leginfo.legislature.ca.gov/faces/codes_displaySectio...) are not murky. They date from the mid-20th century but have been used to defend people from all political angles (e.g., https://scholarship.law.berkeley.edu/cgi/viewcontent.cgi?art...).
Isn't that what WebRTC does?
No, this is not at all what I’m talking about. I’m specifically talking about cases with tight latency requirements after the request has been received. Like receiving a POST request containing many images, and invoking complex image preprocessing with a mix of e.g. opencv and homemade algorithms and then feeding into a deep convolutional neural network. Latencies of 2-3 seconds per request might be the target, and a naive unoptimized implementation of just the backend code (totally unrelated to any network parts) might result in something 10x too slow.

In that case, it’s absolutely a best practice to start out with that 10x-too-slow-but-easy-to-implement-for-stakeholders version, and only harden or tighten your homemade computer vision code or use of opencv or some neural network tool after profiling.

> “Where it does get interesting is situations like games / garbage collectors where you want to minimise latency. On such problems you usually cant bolt on performance after the fact.”

No, that’s exactly the sort of case I’m talking about. It’s not only possibly to refactor for performance after the fact, but dramatically easier to do so, less risky in terms of optimizing for the wrong things, and less prone to re-work.
I think this is a good general point. Looking at management as "just hire a good people manager" is too myopic. It takes many things to just be a good "people" manager - empathy, high bar setting, ability to negotiate compromises. And that doesn't include the _other_ skillsets a good engineering manager has: understanding the time tradeoffs of the team, delivery management, ability to resolve technical stalemates, ability to communicate effectively up, down and across to ensure people are coordinated, work is non-duplicative and efficient. Being an engineering manager is not a "black hole" for old people who don't program, it's a completely different technical skillset. A good one produces quite a bit more value to the company than _most_ single engineers can. Not because they are bad, but because writing good software requires lots of good engineers working together.
You are from Cloudflare? Could you tell me why the replies to geoip/latency based routing CNAMEs do not seem to be cached by Cloudflare?

The setup is: domain.com -> geoiplbr.domain.com with cloudflare caching enabled. Nothing else that is fancy and could cause delays.

If I measure the TTFB for domain.com, I see a large DNS delay until about the 4th consecutive query - and then the DNS is no longer the limiting factor.

The same measures on geoiplbr.domain.com normalize after the 2nd query.

It seems to me you have some kind of Roud Robin going on that does not share the DNS results.

Or maybe the caching is not done at the POP level?
Samsung phones are spontaneously texting users’ photos to random contacts
Dissipative Continuous Spontaneous Localization (CSL) Model
Were not familiar with them but as a Swede I thought to check their board to see if I can recognise some names. And indeeds, it contain well known industrialists. Such as:

Finn Rausing of Rausing family, who made a fortune on founding Tetrapak

Peter Wallenberg Jr. Wallenberg family is the most established "capitalist" family in Sweden with historical ties far back and still significant stake in companies such as Ericsson

Leif Östling, former CEO of Scania, now on the board of Volkswagen
> Team social events shouldn’t require physical prowess or alcoholic excess—so forget paintball and bar crawls.

As a 57 year-old backend engineer I would like to keep the bar crawls, thanks.
I’ve been to SF once for 3 days, and I have never seen so many frankly mentally ill people wandering the streets. This always seems to be downplayed as a factor in the homelessness problem. Difficult to be a part of any solution when you have untreated chronic schizophrenia.
We are - based in Sydney, about 5 minutes walk from town hall.

Currently looking for junior / intermediate symfony or laravel devs.

Also ux / CRO roles available, but not sure if hacker news is the right place for that :-)

Email is my first name @ alternativemedia.com.au.

Ignore the crappy website, we're currently in the process of rebranding.
Ah, not just me then. I assumed it was some GDPR block as wired UK works fine.

Via outline: https://outline.com/mGVbG6
Dyalizer is more of a linter from my understanding. Instead of aiming for formal correctness it looks for cases that are obviously incorrect instead. Meanwhile, the goal of Spec is to provide the ability to specify runtime contracts for what the code is meant to be doing.

I think that both approaches compliment each other in practice. I don't know any articles comparing the two though.
Thanks for the reply. I’m about to go on vacation, but I’ll be looking to get in touch after that. It’s a really cool project, and I’d like to pick the community’s brain for some things when I have time.
Wow, EFF.

I knew when you turned me down for an amicus brief, my only hope of staying out of prison, that it was you were too busy doing more important things.

Then I see this.

Invalidating stupid patents is obviously far more important to society than writing a little note to protect the accused against rampant government misconduct and technophobia. Who needs a sixth amendment right to confrontation, anyway?

That’s definitely not what Gilmore, Barlow, and Kapor set out to do, but as I rot, at least I’ll be secure in the knowledge that patent abuse will not go unnoticed by the people I trusted in but who were too busy to help me.
What does this nonsense have to do with Burning Man?
Seems like a great idea that won't go anywhere. Consider: Solid has to fight the network effects and the marketing/lobbying budgets of all the major players including Google, Facebook, et al., all of whom have a vested financial interest in expanding their walled gardens, driving lock-in, and harvesting user data as insidiously as possible.
Gigantic study of Chinese babies yields slew of health data
You probably don't need to force the _best_ engineers go into management to achieve this - you just need someone with the necessary background and experience - and from that larger pool you can choose the ones that want to do management, and are more likely going to be good at it.

The managers I deal with day-to-day were all once ICs in the same role, but I wouldn't put almost any of them in the same category as the strongest ICs we have in technical skill. And they mostly don't make bad technical decisions - because they mostly don't make any technical decisions - they defer to their strong ICs.
Analytical Flavor Systems | Manhattan - NYC | Full-Time | Onsite | http://www.Gastrograph.com/
Position: Full-Stack Engineer, Application Engineer, DevOps, Data Scientist

Application & Data Stack: Javascript, React & React Native, GraphQL, Docker, Spark, R, postgres/MySQL, AWS

Team: we're a diverse 6 person company (across Data, Engineering, Chemistry, and Biz). Everyone gets trained as a professional taster.

Gastrograph AI is an artificial intelligence platform for modeling human sensory perception to predict consumer preferences of food & beverage products. We help food and beverage companies develop new products and optimize their existing brands by predicting the optimal flavor, aroma and texture for target consumer cohorts.

Our Services

_Innovation Management_: New product development, flavor profile optimization, & portfolio management (multi-product optimization).

_Cognitive Marketing_: Product description optimization to prime consumers to like a product more by purposely engineering a perception bias.

_Deep Market Insights_: Predictions for emergent market preferences by region and demographic.

The Position(s)

_Engineering_: We're currently looking in two specific areas: (1) full stack engineers with experience with React, GraphQL, and React Native to work on our web app for clients and our mobile app for tasters. (2) Streaming infrastructure focused engineers capable of integrating the data pipeline and outputs of machine learning models into an easy to use management platform.

_Data Science_: Data science is central to the value and insights we provide for our clients. We didn't build a data science team to optimize our product's marketing spend, sales funnel, or client retention – we built a data science team to build our product. We are a team of data scientists that understand our clients and turn nebulous business goal into quantitative decision metrics and predictive models to optimize those metrics. The extensive role of data scientists at Analytical Flavor Systems allows us to invest in their education across sensory perception (standard sensory science so they know what we're improving and replacing), tasting experiences (so they appreciate the products we work on and understand how the data is collected), production knowledge, and data science tear-downs (a meeting where the team collaboratively attempts to find and fix problems, try new techniques, and debate the philosophical implications of a model's construction).

Next Steps

Please contact Jason Cohen at JasonCEO@Gastrograph.com to apply.
You can encode interesting things using the type system, but I don't find it's nearly as practical as the alternatives such as runtime contracts. For example, consider a sort function. The types can tell me that I passed in a collection of a particular type and I got a collection of the same type back. However, what I really want to know is that the collection contains the same elements, and that they’re in order. This is difficult to express using most type systems out there, while trivial to do using a contract system such as Spec.
I think this was meant to be a comment on the OP.
"If it were easy, it'd be called 'catching'"

- Papa, and every grandfather, ever.
PKC Security | Senior Architect | Huntington Beach, CA | ONSITE, FULL-TIME | $160-$200k | https://pkcsecurity.com

PKC is looking for an experienced Senior Architect who loves to code but would also enjoy leading our growing team of excellent computer scientists and help us lay rail for an all-clojure toolset that we will be building out and sharing with the larger Clojure community in the near future. This job is a good fit for you if you enjoy mentoring and teaching the finer points of production-level Clojure, but also still enjoy getting your hands dirty and writing excellent code. There’s a more detailed job description here: https://angel.co/pkc-security-1/jobs/361725-senior-software-....

Location: on-site in Huntington Beach, California (we’ll cover your move): $160k-$200k/year base, depending on experience.

Benefits:
- Strong entrepreneurial, empowering, and moral company culture
- Make a major contribution to the Clojure ecosystem
- Work with other excellent engineers
- Work on interesting computer security problems

More about us: PKC was founded in 2014 and is located in Huntington Beach, CA (Southern California). We are a custom software firm that builds secure, cutting-edge software to solve our clients’ most wicked problems. Our work spans across the fintech, e-commerce, NGO, and education spaces. You can find out more about us and peruse our blog here: https://pkcsecurity.com

If you are interested, email Mike at jobs@pkcsecurity.com with your resume and any questions you may have. You should hear back quickly!
Serge Rider - DBeaver - the best open source multi database accesa tool. https://github.com/dbeaver/dbeaver . Daily commits, almost a one man show!