skysight-inc/HackerNews huggingface dataset:
This is preposterous. People with cargo ebikes are not randomly plowing into other bikers.
> Why aren't cell phone tower communications secured? Why aren't cell towers secured with certificates verified by the network?

They can be, but that adds cost to running a cell phone network. Since very few people ask for their cell phone communications to be secured, companies just don't do it. it's like how GPS is completely unsecured - anyone with a couple hundred bucks can interfere with GPS signals. Maybe route a cruise ship into an island, or a random driver to a sketchy area of town.

> Why aren't stingray devices considered an attack on the cell network?

LEO's use them very frequently to conduct investigations and gather evidence. Just look at the current debate around full-device encryption. USA Law Enforcement really likes access to information. Telecommunications (and a lot of the inernet: TCP/IP, DNS, etc) were initially set up to be open - security was an afterthought. And they just never bothered to add security later on.

Also deprecating old things is hard. People still expect to be able to pick up a charged Nokia phone from 2001 and call 911 on it.
Come live in my building... we're usually operating at half-capacity. Presently we're down to 1/4 elevators for a 32-story residential building. It's a little on the frustrating side.

Our elevators break down quarterly, and for some reason the wait for Otis-approved parts is weeks to months at a time.
Depends entirely upon architecture and what the SaaS does; there's nowhere near enough data to give a meaningful answer.
I agree with you and I doubt we'll get useful AI-generated code before we get strong AI, and by the time we get that we'll have much more interesting applications to showcase I'm sure.

I can definitely see this tech leading to ever more clever linters though. Having an AI reading my code, interpreting the comments, variable and function names and use that to look for bugs in my implementation could be highly valuable, assuming that the number of false positives isn't overwhelming. "Your comment says that you apply the discount only on palindromes but your condition here is wrong and your code ends up doing the opposite".
Absence of clear types is what driven me mad (and my ex), when my ex tried to learn python via interactive online courses. Constant questions like: "why this thing named a is a number and this one thing named "b" is now a list and this other thing does stuff". Switched to java, all problems immediately disappeared.
"No one should learn CS or programming as a trade with only a few languages in the same syntax family."

This is a fine ideal, but I bet there are tons of professional programmers who only know a couple of languages all from the syntax family set of { C, C++, Java, JavaScript, PHP, Swift } and it's not a career problem at all.
Lots of large companies don't include their clusters on those supercomputer lists. Including Google. IDK about DoD, but I wouldn't be surprised if they have top 10 clusters we don't know about. The list of largest supercomputers is definitely only a list of the largest disclosed supercomputers.

That said, only so many actors could've secretly sourced 10K+ v100s with fast interconnect...
Taking this question from the opposite angle, what benefits do switch statements give us over if...elif?

Not actually a heavy Python user, but even though most languages I use regularly are more switch/case-heavy, I've never quite grasped why there's two largely interchangeable ways to do the one thing.
Yes, that why those things are either illegal or heavily regulated.
You're driving the metapthor too far, I honestly don't get your point. Are you're saying we shouldn't touch the institution of police and just replace the individual police members?

To my knowledge, that is what has been done until now - and it evidently didn't work.
Go: Sync Pakcage
It's probably not just a "these days" problem though. Thinking through my own experience and various anecdotes it seems like fighting over-engineering and complexity are staples of software development.

Consider also that sometimes complexity/engineering really is warranted; either by the domain or by the tooling.

In other words, avoiding complexity-domain mismatch isn't just a "these days" problem, it's a constant consideration in software development.
Python is far simpler than Java in its essence; you aren't required to write class and access control boilerplate if you don't want to, you don't have to explain type systems, and the syntax is much cleaner. I would personally recommend Racket/Scheme as the foundational language for computer science and software engineering over Python as it is even simpler, but I can understand why Python has displaced Java as the default teaching language at many universities.

Beginning programmers don't care about any of this stuff about the version split or strings, and the syntax and semantics argument is completely subjective.
None of these things are specifically related to teaching programming. This is just the author's personal list of things they hate about Python, and they're using "what language should we teach newbies?" as an attempt to make it seem like more.

There's nothing wrong with having an opinion about Python, but for this to really be a valuable insight into teaching Python, there needs to be some introspection into why dynamic typing is bad as a foundational language, etc, and also needs to analyze the other side of the coin: the many things that do make Python attractive as a first language. Without it, this is just a rant #34929865 about Python's lack of typing and curly braces.
I was under the impression that it didn't in the early days in the US. For sure, in several other countries, it started without ads, and some channels stayed ad-free whereas others did get ads and getting more of them (though, nothing quite as horrible as what the US has these days -- on a recent visit to New York, my kids tried to watch Cartoon Network on the Hotel Television, and it was probably 30% ads -- never seen anything remotely close to that in UK, Germany and other countries I visit)
"Compare that to Erlang's half a day to a day for onboarding,"

Erlang's a half day for onboarding if you're onboarding a Haskell programmer, not because Haskell programmers are that awesome but because they've already had to learn the hard things involved in Erlang to work with Haskell [1]. Otherwise, that's ludicrous nonsense. Most programmers will need several hours just to figure out how to write the equivalent of lists:map in the new Erlang, immutable world, more hours to figure out how to write things non-trivially with it, and a good couple of weeks at a bare minimum to figure out how to structure applications in an OTP world, then some more time to figure out how to debug it.

It's not especially harder than learning SQL or the latest Javascript framework or other things that aren't Algol-descended languages, but it's nowhere near that easy.

[1] I went the other way. I found Erlang an excellent introduction to Haskell; you get to absorb some of the challenges like working in pervasive immutability in an environment where you're not also swallowing a complicated type system or strict effects separation.
I bought a domain on GoDaddy a while back and the very next day I started getting robocalls and spam emails when I had been getting basically none before. They hold your personal info hostage; either pay extra or we expose this info to a legion of scrapers.
You'll be looking for a long time for your lightweight ICE bike. Probably be faster just to build it yourself with a leaf blower motor.
Article: "Why is Python not C++? It should be C++."
The problem is that the countries most likely to block it are also the ones most likely to replace it with much worse.
I do not. Google search results, I find, are extremely inconsistent.
Interesting take from Ben that custom chips means that Apple expects the Mac business to grow - in order to support the fixed costs - and that probably means new designs. Maybe finally a touchscreen to go with the iPad and iPhone apps?
Presumably there are many other one-off sources that would see this behavior and then not talk to the NYT, so I’m not convinced that explains it.
Since .NET 4,

https://docs.microsoft.com/en-us/archive/msdn-magazine/2009/...

Also note that Windows development team doesn't have that much .NET love (owned by DevTools).
Given that Image-GPT[1] which was based on the GPT-2 architecture has been shown to do very good image completion, I think in the next 12 months we'll see a unified Image/Language GPT.

I think it will be able to (imperfectly) do things like the following:

- OCR from images
- Textual descriptions of images

It may start to make some progress towards things like:

- Generating images from a textual description
- producing structured documents (eg HTML) from document images

It'd be interesting to see how far along they already are with this.

[1] https://openai.com/blog/image-gpt/
I was a junior back then but COM felt like magic to me. I think MS made COM more arcane than necessary. It was not until I read the book Essential COM by Don Box that I understood COM.
Trending Developers News – Weekly Picks #133
Well, that's something that I didn't expect to see here.
All I see is a list of complaints about warts that Python has, and no real foundational reasons for or against using Python, such as the ecosystem, long term cost of ownership, ease of iteration, or ability to manage a codebase at scale. I think this blog post is not named accurately.
Touching the top-most part of the newer iPhones (with the notch) scrolls you back up to the top page.
I started with Java originally, but the school where I learned has since switched to Python.

For those who learned Python as a first language, how well did you do with typing? My guess is that learning Java for me enforced thinking about the types for everything, and the compiler gave me useful errors, rather than at runtime. I could see a student getting frustrated with runtime type errors, especially for things returned from their own functions, which can snowball easily into a mess.
Home and End are the amazing in VSCode for doing bulk line edits in conjunction with multi cursor.
Apple buys a company at least every couple of weeks. Most companies that Apple buys would never be successful products as an IPO. They were never products that would have ipo’d
That gives me an idea. A privacy oriented NGO could create an address and agree to publicly upload all letters received and allow the users to read the mail anonymously.
Everything Is Wrong with Your Startup
I think culturally, because “explicit is better than implicit” (from the Zen of Python). Switch statements have a lot of implicit-ness to them (implicit invocation of equality comparison, to start) and it never seemed quite necessary, given how spare Python syntax is anyway.
I'm Bringing Modern Design Practices to Legacy Technology
I see it as a transition layer. Apple can get away with "sorry we've just changed architecture, all your binaries are obsolete again, deal with it" but Windows can't. The ground is being laid, piece by tiny piece, for more POSIXism. The two most visible warts - CRLF and '\' - are the ones to watch for when they get deprecated.
These predictions often surely make most sense and are most prevalent in a particular field of NLP research, like dialogue (open-domain, non-task oriented). Believable dialogue seems to require some kind of world knowledge, certain forms of 'common sense' (e.g. arithmetic reasoning), and the ability to track belief states and be coherent over long periods.

GPT-2 was critiqued for its inability to deal with simple arithmetic questions, as well as contradicting itself over long periods [1].

GPT-3 has similar deficiencies in terms of sensible real-world knowledge and displaying coherence both with its own previous answers and with a more general real-world knowledge:

'Within the domain of discrete language tasks, we have noticed informally that GPT-3 seems to have special difficulty with “common sense physics”, despite doing well on some datasets (such as PIQA [BZB+19]) that test this domain. Specifically GPT-3 has difficulty with questions of the type “If I put cheese into the fridge, will it melt?”.' [2]) of the type that would obviously torpedo attempts at open domain dialogue over long periods.

Take a typical two paper pointing out the failings of brute force methods for dialogue. They trot out a classic example:

'Without getting into the specifics of how these systems are constructed, it is apparent that such an approach [brute force] provides a method for imitating a dialogue but not for participating in one. We can see the limitations of the approach from examples like these:
Human: what is your job ? Machine: i ’m a lawyer .
Human: what do you do ? Machine: i ’m a doctor
(Vinyals & Le, 2015).' [3]
Huge models can provide plausible, but not consistently coherent, dialogue inputs. In the dialogue domain, the 'winter' will come (/has come) when it becomes clear that Meena, BlenderBot etc need a little help when it comes to coherence over an arbitrary number of turns, displaying 'common sense physics', and so on.

[1] https://thegradient.pub/gpt2-and-the-nature-of-intelligence/
[2] https://arxiv.org/pdf/2005.14165.pdf
[3] https://arxiv.org/pdf/1812.01144.pdf
I am quoting her statement.
ECMAScript proposal: private static methods and accessors in classes
Colour me surprised. Yeah, that looks like a module system to me.
Agreed. I think maintaining your own code for some length of time is at least as important as writing new code.
Mounting clues suggest the coronavirus might trigger diabetes
> .NET ideas got re-implemented as COM

I know where you're coming from, given Longhorn's original history as an effort to implement part of Windows on .Net, but it's still interesting to see it cast this way.

Without getting too deep into the gory details, COM was originally the implementation technology for OLE 2.0, with the CLR being a combination of efforts to replace COM and compete with Java/JVM. (At least partially in response to the Sun lawsuit over Microsoft's attempts to extend Java directly.)
Watch AT&T invent cloud computing in 1994
Related Wired article from 2014: https://www.wired.com/2014/05/tech-time-warp-cloud-is-born/
Mars Is About to Have Its ‘Wright Brothers Moment’
Somewhat reasonable title but poorly written content.

> For instance, what is called an "Array" in pretty much every mainstream language, is instead called a "List" in Python.

Because it is a list rather than an array (as in C).

> Another issue with Python is that it is essentially two different languages, there's Python 2.7 and Python 3+.

It's 2020, you are not supposed to teach Python 2 to newbies.

I was expecting more in-depth discussion, and the whole article is just way too superficial.
>I have added unnecessary complexity to my own designs as a response to comments. Not customer driven, not data driven, but somebody at a meeting got focused on something and it ended up getting added to the design.

I've had unnecessary complexity introduced to my code during code reviews as a response to comments, too. Most often it's to make things "more testable" so as to reach an arbitrary code coverage target.
As Kent Beck says [0]: "for each desired change, make the change easy (warning: this may be hard), then make the easy change"

[0] https://twitter.com/KentBeck/status/250733358307500032
Whatever. Why should companies help out their rivals? To this day, nobody is forced to use Facebook.

I am not against helping rivals, synergies, whatever. But to claim it is unfair not to help rivals seems silly.

Invariably, if somebody is successful, some people will emerge claiming it was all unfair gains.

Not that I liked Facebook's approach, especially in the early days they were harvesting address books. It's not really an uncommon practice, though. The key point is, again, that nobody is forced to use them.

It may be a bit more difficult to avoid their tracking on web sites, but then it is on those web sites not to use the Facebook scripts. And if you really care, you can install an AdBlocker.
HTML version with a TOC sidebar for easier navigation: https://www.rfc-editor.org/rfc/rfc8765.html
Politics and Academia
> A basic question like "how many people came to my website today" is more accurately answered with client-side analytics than by analyzing web server logs.

How can client side analytics be more accurate, when ad blockers stop visits from even being registered by client-side analytics?
Terrible article.

Looks like it's written in 2004? I've been using Python 3+ for the past few years, never looked back.

> Python decided it would be a fun idea to govern blocks using whitespace, instead of wrapping everything in braces.

Yeah, because using braces was a stupid idea in the first place. Just because C++ / JavaScript etc. are stuck with backwards compatibility, doesn't mean that other languages can't move to something better.

> For instance, what is called an "Array" in pretty much every mainstream language, is instead called a "List" in Python. Key-Value stores that are usually called a "Map" or a "HashMap" are instead referred to as a "Dictionary".

Yeah, except in C++, where it's called "Vector" (which makes even less sense, from a mathematical point of view). Also, The problem with "Map" (the data structure) is that it conflicts with "map" (the function). I prefer what Python is doing.

> When creating a string in most mainstream languages you can usually just do something along the lines of var s = "string" or for a char you usually use single quotes var c = 'c'

And most mainstream languages are wrong. In practice, there's no meaningful difference between (Unicode multi-byte multi-codepoint) characters and strings; Python just makes it more obvious.
Break the problem you're trying to solve up into simple steps. Each step should be nothing more than a single task.

Ex. if you have a problem to solve that goes like: Must create store with products that are blue only.

Then you'd break it up like:

Create store
Filter products (Blue only)
Create products in store

Then when you start coding you solve nothing more than what you put down as each task.

Ex. you don't do anything more than what's required. You might think you need to create a store and stores are businesses so you need to create some business wrapper etc. but nope. You don't need that until a client comes one day and requests it. Right now all you need is a store with blue products and that is all you're going to solve.

Often when you over-engineer something then you never need the extra abstractions you created.
This is the epitome of the ignorant, tiresome, bad-faith "innocent before proven guilty" argument. The childish "A tactic often used by authoritarians" is just icing on the cake.
I think the police would, if they are doing their jobs (a big "if") be completely uninterested in an algorithm that is the direct equivalent of an unreliable eyewitness confabulating a plausible face for a photofit.
We already have AI-generated code. It's just that compilers work well enough to actually use, we understand their limitations, and so we stopped calling microcode compilers "automatic programmers" back in the 80s.

I think we will have useful source code synthesizers for high-level languages at some point in the next few years. They will probably look more like alphazero than gpt-3 though.

I'm not sure that they will be commercially successful. The way you automate away programmers is Wix, not Ruby on Rails program synthesizers.
Y8 Games Statement About Racist Ai
The article links to PEP 3103, which is a proposal to add a switch statement to the language. Interestingly, it was written by Guido himself, which you'd usually expect to give a pretty good chance of being accepted, especially since he was the sole decider of what would be accepted at the time! The rejection notice says simply:

> A quick poll during my keynote presentation at PyCon 2007 shows this proposal has no popular support. I therefore reject it.

[1] https://www.python.org/dev/peps/pep-3103/
Feel free. I simply made an observation that was loosely connected to the existing converaation and noted how it seemed to parallel something else.

I wasn't annoyed by you misunderstanding, I was annoyed by you misunderstanding, assuming you understood my position completely because it would more conveniently fit with your existing knowledge, and then using that assumed position to proclaim your superiority and my foolishness.

It's not about deep conversational chess on my part, it's about common decency and not assuming uncharitable positions of others by default on your part. A problem, I'll note, that you repeated in the last comment.
> The DNS Long-Lived Queries (LLQ) mechanism [RFC8764] is an existing deployed solution to provide asynchronous change notifications; it was used by Apple's Back to My Mac [RFC6281] service introduced in Mac OS X 10.5 Leopard in 2007. Back to My Mac was designed in an era when the data center operations staff asserted that it was impossible for a server to handle large numbers of TCP connections, even if those connections carried very little traffic and spent most of their time idle. Consequently, LLQ was defined as a UDP-based protocol, effectively replicating much of TCP's connection state management logic in user space and creating its own imitation of existing TCP features like flow control, reliability, and the three-way handshake.

I can't help but hear the skepticism in "asserted"!

Also, fun that Apple want to move a service from UDP to TCP at a time when Google are trying to move another service from TCP to UDP.
You don't find Image GPT[1] novel?

I'm not aware of anything else showing how effective the transformer architecture is on image tasks, and I think that is a pretty fundamental breakthrough. I realise it's not GPT-3 (it's based on GPT-2), but this seems more a project resourcing issue than being fundamentally unsatisfying.

[1] https://openai.com/blog/image-gpt/
Yes it would suffer. Who are you to judge.

In fact I buy less stuff than many people I know. It is how my family can live on just one income (though I do make far more than average), and save a fair bit. However that is my life choices, I avoid judging others with different lives.
Grow Your SaaS Easily
i agree that significant-whitespace is a bad idea.

It's bad in things like yaml, coffeescript or haml where mis-indentation can dramatically change semantics. Of course brackets or other delimiters are also susceptible, but they're much easier to spot, especially for syntax highlighters, linters, etc.

And whitespace can actually be part of how you communicate your thinking to other developers.
I'm not sure I would put Swift in that syntax family. It doesn't have C-style for loops and most of it is pretty different from C aside from curly-brace delimited blocks. First-class functions, lots of Smalltalk- and Objective-C-isms, some ML stuff, etc.
. o O (And the MISTer project for lots of great retro systems/consoles/games...)
I stopped reading after "constant variable".
So it’s actually a smart switch statement.

Seems like it doesn’t create instances when you’re doing

Node(children=[Leaf(value="("), Node(), Leaf(value=")")])

instead:

1. Node means "is instance of Node".

2. Everything in between () is "has an attribute with value".

3. List means "the attribute should be treated as a tuple of"..
etc..

Very confusing, this definitely needs another syntax, because both newcomers and experienced devs will be prone to read it as plain `==`, since that's how enums and primitives will be working.

This syntax goes against Zen:
It’s implicit -- when using match case expressions don't mean what they regularly mean.
It’s complicated -- basically it’s another language (like regex) which is injected into Python.

I’m a big believer in this feature, it just needs some other syntax.
Using {} instead of () makes it a lot better. Now no way to confuse it with simple equality.

match node:
case Node{children=[{Leaf{value="(", Node{}, ...}}