skysight-inc/HackerNews huggingface dataset:
> The import code in CPython was a mess, which was apparently cleaned up by importlib in Python 3, through tremendous effort. But unfortunately I think importlib made things slower?

AFAIK importlib is entirely written in Python and kinda portable across Python implementations, while previously most was C code. It's not surprising something gets slower when written in Python.

> Also, even if you distributed self-contained applications, the startup time is not great. It's improved a bit because you're "statting" a zip file rather than making syscalls, but it's still not great.

PyQt applications on Windows typically take two or more seconds before they can do anything, including Enterprise's favourite start-up pastime, splashscreens. Except maybe if you rolled your own .exe wrapper that displayed the splash before invoking any of the Python loading.

That's really, really poor in the age of 4 GHz CPUs from the factory, RAM big enough to fit multiple copies of all binaries on a PC and SSDs with at the very least tens of thousands of IOPS.
Physically stronger Norwegian men are more likely to be married
Totally agree. I thought of that later (and I wasn’t sure how well it fit into the narrative of my original comment/the article) and wrote about what they did to the carriers here [1].

I remember when I got my RAZR, it was the first phone I had that could play video. I was able to watch a 3m cartoon from Boomerang (Tom and Jerry or something like that). The quality was surprisingly good.

It used up 60-70% of my battery and the little phone got very hot.

And that was a $15/month service.

And let’s not formget the mapping ‘services’ that Google and Apple completely killed.

1. https://news.ycombinator.com/item?id=16979353
> Web applications are applications running in a Web browser

And Electron embeds an instance of Chromium, to provide a webview for the 'application' interface.

How is that not a web app? It's written in HTML, CSS and JS, it runs inside a browser.

Just because the user can't choose the browser doesn't mean shit. Users couldn't choose the browser to run a lot of Microsoft-stack Web Apps in the early 2000's either, because they only worked in MSIE.
Why doesn't a startup run their own fibre? Are building owners that protective?

Actually scratch that, I tried getting a 1 gig cross manhattan link. Cost more than 1g to London.
I thought my Sony Clié was ahead of it's time ~2002

https://en.m.wikipedia.org/wiki/File:Sony-CLIE-PEG-NZ90.jpg
An alternative title would be "How do the basic tools for stringing together an MVP for a software product cost?".

The things covered in this content are only relevant to a very specific niche, and brutally misrepresent the wild and intense amount of effort, knowledge acquisition, and capital that go in to something that even remotely resembles an actual startup company.

This is a great toolkit for putting together a product. Not a business.
> You can do better.

More importantly, so can desktop application developers.
" each document lives exclusively on one specific worker"

Would decoupling the workers and the documents they work on not solve this problem? Granted this might be non trivial, but it might have solved the fundamental issue thats arguably more interesting.
Selerity | DevOps/SRE | Contract or Full-time | NYC or REMOTE | http://www.selerityinc.com/

Senior DevOps (Site Reliability) Engineer to join Selerity’s team, scaling up an A.I. driven analytics and recommendation platform and integrating it into enterprise workflows. Highly competitive compensation plus significant opportunities for professional growth and career advancement.

Location is flexible: We have offices in New York City and Oak Park, Illinois (Chicago suburb) but about half of our team currently works remotely from various parts of Europe, North America, and Asia.

Want to change how the world engages with chat, research, social media, news, and data?

Selerity has dominated ultra-low-latency data science in finance for several years. Now our real-time content analytics and contextual recommendation platform is gaining broader traction in enterprise and media applications. We're tackling big challenges in predictive analytics, conversational interfaces, and workflow automation and need your help!

We’re looking for an experienced DevOps (Site Reliability) Engineer to join a major initiative at a critical point in our company’s growth. The majority of Selerity’s applications are developed in Java and C++ on Linux but knowledge of other languages (especially Python and JavaScript), platforms and levels of the stack is very helpful.

Must-haves:
* Possess a rock-solid background in Computer Science (minimum BS in Comp Sci or related field) + at least 5 years (ideally 10+) of challenging work experience.
* Implementation of DevOps / SRE processes at scale including continuous integration (preferred: Jenkins), automated testing, and platform monitoring (preferred: JMX, Icinga, Grafana, Graphite).
* Demonstrated proficiency building and modifying Java and C++ applications in Linux environments (using Git, SVN).
* Significant operations expertise with the Ansible (preferred), Chef, or Puppet deployment automation system in a Cloud environment.

Interview Process:

If you can see yourself at Selerity, send your resume and/or online profile (e.g. LinkedIn) to careers@selerityinc.com. We’ll arrange a short introductory phone call and if it sounds like there’s a match we'll arrange for you to meet the team for a full interview.
Sure that could work for a while, even if it's a bit inconvenient for users. Eventually the bastards will filter emails too. Spam filters could certainly be trained to find these notifications.
Show HN: News aggregator for upcoming stuff – smartphones, games, movies, EV
Introducing Google Maps Platform
I think design choices made in Python simply don't allow for comprehensive ahead of time compilation. For what it's worth, they have recently landed snapshots in Dart that do what you want:

https://github.com/dart-lang/sdk/wiki/Snapshots

It's what Flutter uses on iOS since you can't run JITed code; AOT compile it and load it as just another shared library.
Just weighing in, I'd be wary of DD at the moment. The guy who posted this is a legend but the culture as a whole isn't quite there (as an ex employee). They do some seriously cool stuff though, so maybe it's worth it?
> Be that as it may in most cases, the compiler shouldn't make an assumption that this is always the case. If I don't pass any optimization options, and especially if I pass -O0, the correct behavior should be "no surprises".

The problem with this argument is that before the compiler even enters the picture, the C standard has always specified that signed overflow is UB. I'd argue that providing the additional guarantee that "actually, it'd defined" for the -O0 case only is a bigger surprise than "funny stuff with your code." To categorize treating signed overflow as UB as doing "funny stuff" is off the mark; the behavior was always unspecified.

> I think you're underestimating the amount of people who will run "cc foo.c -o foo" and expect it to work, without thinking too much about UB as defined in the C standard, and who haven't ever heard of -fwrapv. By virtue of passing "-O1" in, it's safe for the compiler to assume you know what you're doing, but the default behavior should treat the user as a novice.

I can't remember the last time I actually invoked a C compiler directly on the command line in the way you're describing (rather than through higher-level build configuration; e.g. generated Makefiles, VS solutions, whatever). I would hope such a use case for non-toy code is... rare.
Why NASA's Next Mars Lander Will Launch from California Instead of Florida
> Because, like monarchy, they are still the least worst option

Traditionally, that description is applied to democracy...
Tesla’s First-Quarter Cash Position in Focus: What to Watch
Back in the 1990s, Python was promoted as a web programming language. This was back in the days when everyone used CGIs. Python came with an cgi module, while in Perl you had to download cgi-lib.pl. I even helped maintain a Python web application that was all CGI-based.

So I can assure you that at one point Python was trying to be in the "short run applications" space. They may have given up since then, but that's a different issue.

As for me, I do write little scripts in Python. I don't like how most of my run time is spent waiting for Python to get ready.

What I really don't like is using NumPy. I tend to re-implement features I want rather than reach for NumPy because that 0.2s import time irks me so much. And it's because the NumPy developers want people to do "import numpy; numpy.reach.into.a.deep.package", so they import most of its submodules.

They used to also eval() some code at import, causing even more overhead. I don't know if that's gone away.
Lambda Calculus is perhaps the Maxwell's equations of computability, not of the computer field. What Kay might have meant is that Lisp is the Maxwell's equations of programming a computer to do something useful.

Lambda Calculus doesn't even have numbers; you either have to build them out of functions, or else extend Lambda Calculus with numeric terms. Lambda Calculus doesn't have eval or quote, and if it did, they wouldn't work because Lambda Calculus doesn't have a data structure representing Lambda Calculus source code. Lambda Calculus also lacks practicalities like assignable variables, which are part of computer science and mutable data structures in general.

MacCarthy had another analogy: Lisp for programming is kind of like the advantage of using binary over decimal for digital computers:

> This internal representation of symbolic information gives up the familiar infix notations in favor of a notation that simplifies the task of programming the substantive computations, e.g. logical deduction or algebraic simplification, differentiation or integration. If customary notations are to be used externally, translation programs must be written. Thus most LISP programs use a prefix notation for algebraic expressions, because they usually must determine the main connective before deciding what to do next. In this LISP differs from almost every other symbolic computation system. COMIT, FORMAC, and Formula Algol programs all express the computations as operations on some approximation to the customary printed forms of symbolic expressions. SNOBOL operates on character strings but is neutral on how character strings are used to represent symbolic information. This feature probably accounts for LISP's success in competition with these languages, especially when large programs have to be written. The advantage is like that of binary computers over decimal - but larger. [History of Lisp -> LISP prehistory - Summer 1956 through Summer 1958.]
> Your notion of forcing people

That's the wrong way to look at it. Is the FDA "forcing" you to eat non-poisonous food? No of course not.

As the more technologically knowledgeable and competent of our society it's our responsibility to help steer the evolution of internet applications in the right direction.

> Remember when half the web sites you'd visit put up a big notice "Your browser is not supported. Download the latest browser here?"

Your example is not lost on me, I was there. But this is different. That was about promoting proprietary features of specific browsers. That was corporations vying for market control. Today the only thing that matters to anyone is standards compliance, performance and security.

Developers are the architects of the internet. It's not only a responsibility to build it with a forward-thinking approach, it's an opportunity to have a positive impact on the world.

The difference is seen throughout the world when comparing communities where people care, versus cities where people are just collecting their paychecks.

> The customer's money is still green

That sentiment gets it's origin from people who had business deals with the Nazis in the early 20th century.

----

Speaking of money, the 13% of "outdated browsers" is not actually 13% real people using real browsers. It's robots, it's faked agent strings, it's web scraping tools. We're not talking about actual customers who would be spending money on your services or products. The actual number of real people still using crap like IE9 is very tiny, if not zero.

"Active" users, the sort who participate in the online economy, are using modern browsers that auto-update themselves and already have full support for Grid.
It's real, but I'm not a fan of the application in tech.

You have junior people who are evaluated according to arbitrary metrics. So they try to put in a process and get a bunch of people to give feedback. So now you have these people getting evaluated according to arbitrary metrics in an overwrought process. You have overhead and barriers and all sorts of politics in place just to prevent a junior engineer getting promoted to mid level with slightly less experience. The impact to the company of doing that is negligible. The impact to the employee can be negative, but if they don't make that level fairly quickly they get fired anyway.

I'd say the impact of that person giving up and quitting and getting the next level at another company is worse. Now you have lost someone you put years of effort into.

I've seen this first hand. Surveys showing that a majority of engineers don't know what it takes to get to the next level, don't believe they can make the next level on their current team, frustration with promotion processes. Orgs arbitrarily deciding to ignore new guidelines because they think they are too easy. All because of a lack of transparency and a broken process, developed as a result of the dreaded peter principle.

No different than shitty interviews powered by false negatives because "it's too costly to hire someone bad".
A common solution for web application servers ("preforking").

The idea of keeping persistent interpreters doesn't really work for Python because the interpreter is full of state in places you'd never expect -- it's hard to reset the interpreter to a sane state after it ran some unknown program.
‘Hi, It’s Amazon Calling. Here’s What We Don’t Like in Your City.’
Be likeable or get fired

https://news.ycombinator.com/item?id=16883882
Alfie Evans' parents probably would...as would some of the people waiting months to get a simple MRI.
I've worked for an ISP for about six and a half years. In that time, I have received I-don't-know-how-many e-mails about people torrenting and so on. I've had one conversation with a Special Agent from DHS investigating credit card fraud.

Over this same period, I have given out a customer's identifying information zero times (if more than 24 hours have passed, there is a very small chance that I am able to identify the customer). In every instance, it was "sorry, I am not able to identify the customer".

Zero is also the number of times I have heard anything from any of my upstreams regarding any ToS violations or similar.
I did not support the ACA but I use the healthcare exchange because it is in my best interest to do so. I get free money from others to pay for my family's health insurance. In fact, I get a 100% subsidy. But the reason I get a 100% subsidy is because I am affluent enough to live comfortably on only a small portion of my income and funnel the rest into tax-advantaged accounts that reduce my AGI to a fraction of my actual income. It would thus not be in my interest to advocate the ending of the ACA. This is the same reason the elderly (who are the wealthiest cohort) do not wish to see Medicare/Medicaid dismantled. But is this what's best for society? Everyone gaming the system to benefit at the expense of everyone else?
Ksonnet might be under active development, but Jsonnet is stable. YAML + Jinja2 is a dirty workaround - you can't even guarantee valid YAML with it as to Jinja2, everything's just text unlike with Jsonnet.
I'm pretty convinced half of that is ability to handle arbitrary bullshit, and the rest is just an IQ test with a different name.
Major Bank Loses 12M Customers' Data in Most Embarrassing Way Possible
If you are creating a website targeting people in a Western culture (most websites), I do not see any harm in optimizing for their user experience. Catering towards demographics outside of your target audience may do more harm than good.
Java still has GC overhead and higher resource consumption in general, when compared to rust or C++
HPC Clusters would be one candidate
Isn't that the story of Karachi in general?
Best out of 5 times on my Debian testing laptop for a "hello world", in order of worst to best:

ruby2.5: 83ms (-e 'puts "hi"')
python3.6: 35ms (-c 'print("hi")')
python2.7: 24ms (-c 'print("hi")')
perl5.26.2: 8ms (-e 'print "hi"')
C (GCC 7.3): 2ms (int main(void) { puts("hi"); })
Community Resources
Don't let the door hit you on the way out...

Now let's guess the name of the next semi-anonymous holding company and it's wholly-owned subsidiary with identical board members and customers.
We changed the title because the original one was arguably linkbait, and the site guidelines call for changing those (see https://news.ycombinator.com/newsguidelines.html).

When we do that, we try to find a phrase in the article itself that represents what the author is saying. That's what we did here. If there's a better, more representative phrase, we can change it again.
I'm confused, since my daily workflow is pushing to Bitbucket via hg and ssh.
No, you sacrifice platform specificity for better or broader functionality (given the same development capacity).

Of course, with unlimited development capacity, for each React Native app there could be a better purely native app.

Another point also often forgotten is that the user experience of a React Native app, while not as 'platformy', will be very coherent for users of multiple platforms. That can also be considered as 'better', given you are such a user.
This isn't an attitude of "no" - it's an attitude of "yes" to other things. The arguments are that making Python startup fast makes other things worse, and we care about those other things.

Here are some other things we can say "yes" to:

- Rewrite as much of Mercurial in Rust as possible, which will provide performance improvements well beyond what Python can possibly offer. https://www.mercurial-scm.org/wiki/OxidationPlan

- Spend resources on developing PyPy, which (being a JIT) has relatively slow startup but much faster performance in general, for people who want fast performance.

- Write compilers from well-typed Python to native code.

- Keep CPython easy to hack on, so that more people with a "can do" spirit can successfully contribute to CPython instead of it being a mess of special cases in Guido's head.

Will you join me in saying "yes" to these things and not convincing ourselves to accept mediocrity?
I imagine it's not as bad as running a Tor exit node, which organizations like Noisebridge [1] seem to do without much issue (aside from the occasional visit from the FBI... [2])

1. https://www.noisebridge.net/wiki/Noisebridge_Tor

2. https://www.noisebridge.net/wiki/Noisebridge_Tor/FBI
> Beginning on June 11, 2018, you’ll need to enable billing with a credit card and have a valid API key for all projects. This will give you the ability to scale easily with less downtime and fewer performance issues. In addition, we’re simplifying our 18 individual APIs into three products: Maps, Routes, and Places.

> Also, in June 2016 we announced that we would stop supporting keyless usage, meaning any request that doesn’t include an API key or Client ID. This will go into effect on June 11th, and keyless access will no longer be supported. At that time, keyless calls to the Maps JavaScript API and Street View API will return low-resolution maps watermarked with “for development purposes only.” Keyless calls to any of the following APIs will return an error: Maps Static API (including Static Street View), Directions API, Distance Matrix API, Geocoding API, Geolocation API, Places API, Roads API, and Time Zone API.

https://cloud.google.com/maps-platform/user-guide/
Carry the five, add the expected ego crushing, broken relationships and ulcers...

I get infinity.

It costs infinity to build a startup.
The user, just some one user torrenting material using Comcast doesn't endanger Comcast themselves.

That's just not how IXes and peering agreements work.
As someone who owns a Homepod, Google Home, and an Echo - the Homepod is hardly as capable as either of the others.

It can consistently tell me the weather and set alarms, but it's bad at everything else.
It turns out it's really hard to get a UI Builder right with HTML/CSS. In particular, layout is tricky because DOM trees imply both bottom-up and top-down constraints. For example, text getting longer pushes down content beneath it, while at the same time, the text might be 50% of it's parent node's width. The first constraint is bottom-up: the text node influences it's parent and sibling DOM node's geometry, while the second constraint is top-down.

I'm working at Pagedraw (https://pagedraw.io/) which attempts to solve this problem. We make a UI builder for web. It pretty much works like all the UI builders of the past, but translates constraints into divs, flexbox, and other web standard html/css. We don't have the benefit other UI builders in the past have had of compiling into our own layout system, because we refuse to force our users to use a js-based layout library or take extra dependencies which could increase bundle size.

It's only available for React Web for now, but we look forward to supporting React Native, and maybe even Proton Native in the future!

Lastly to matchbok's point:

> NIBs in macOS/iOS are horrible for development and code review.

We hope that this is a problem with NIBs, and not with UI builders in general. We believe that it's because there are no NIB diff/merge tools, so we're building branch/diff/merge into Pagedraw as a first-class feature.
The arxiv paper [0] shows some further examples, which include some non-white faces. Your point is a fair one in the case of this application, since the goal is to do 3D reconstruction of the face. The project's YouTube video [1] shows one example (around 0:44) of the reconstruction run on test input of a black woman, and the reconstruction has some troubles modeling the wider nose common in black populations. More varied data (or an ensemble method that attempts coarse racial categorization and then further refining ethnicity-specific face models) might get better results.

[0] https://arxiv.org/pdf/1803.07835.pdf

[1] https://www.youtube.com/watch?v=tXTgLSyIha8&feature=youtu.be
I don't think mesh makes sense from an economics perspective. The number of edges scales O(n^2), where n is the number of people in the network. That's not very efficient. Even if you think wireless internet is feasible in dense urban areas (I think this is still an open question) it seems like a star topology connected by wireless backhaul to fiber makes more sense. This scales O(n).
I imagine tor exit points have the exact same issues?
To frame it in a libertarian context :

I would assume that if you live on someone’s land, you would agree that their property rights mean you must pay rent, otherwise you must move.

The government is sovereign over the the land of the nation. If you live there, you must pay “rent” in the form of taxes. You aren’t respecting the property rights of the nation otherwise. You can always move.
Agreed, Windows 10 is still a mess. I have constant issues with stability.

My latest fun issue is that my gaming desktop won't install OS updates. It knows there are updates available, but when I tell it to install, the progress bar never progresses. I've tried restarting multiple times, but it makes no difference. I thought maybe I just needed to let it run for a while. It's been running for 3 days now, and the progress bar still hasn't moved.

I guess I'm probably going to have to either reformat the machine, or decide that I don't want OS updates any longer.