Hacker Newsnew | past | comments | ask | show | jobs | submit | more unpythonic's commentslogin

Fascinating article which explains the seeming contradiction between China's crackdown on some of the most visible tech companies (Alibaba, Tencent) and it's new emphasis on tech growth.


And here are the headers:

    # curl -i https://www.facebook.com/
    HTTP/1.1 500 Internal Server Error
    X-Frame-Options: DENY
    X-XSS-Protection: 0
    X-Content-Type-Options: nosniff
    Strict-Transport-Security: max-age=15552000; preload
    Set-Cookie: ...
    Expires: Sat, 01 Jan 2000 00:00:00 GMT
    Cache-Control: private, no-cache, no-store, must-revalidate
    Vary: Accept-Encoding
    Pragma: no-cache
    x-fb-rlafr: 0
    Content-Type: text/html; charset="utf-8"
    X-FB-Debug: ...
    Date: Thu, 08 Apr 2021 21:41:49 GMT
    Priority: u=3,i
    Transfer-Encoding: chunked
    Alt-Svc: h3-29=":443"; ma=3600,h3-27=":443"; ma=3600
    Connection: keep-alive

    <!DOCTYPE html><html lang="en" id="facebook"><head><title>Error</title>...


>>Expires: Sat, 01 Jan 2000 00:00:00 GMT

The year 2000 doesn’t sound right.


This is common, it essentially means “don’t cache this”.


Ok, I thought this was related to SSL certs and maybe wrong dates might have caused FB to go haywire.


Because ctrl-z will stop the current command, and when you run "fg" it resumes that one process. However, the loop you were in has been abandoned, and it will not continue to execute.

For example, try it with this:

    for N in $(seq 10); do echo $N; sleep 1; echo $N; done
You'll see something like this:

    $ for N in $(seq 10); do echo $N; sleep 1; echo $N; done
    1
    1
    2
    ^Z
    [1]+  Stopped                 sleep 1
    $ fg
    sleep 1
    $


Great point.

Also, you may have things talking to external resources that are sensitive to timeouts ... even small ones. You may not be able to cleanly resume execution and cause an entirely new problem.


In zsh, it resumes the entire loop.


So ctrl-c and up arrow wouldn’t work?


After so many months, I had no idea what tools I was running in that command line... And therefore, the effect of any signal seemed far more dangerous to me, than extracting the actual command from my shell's memory.


Ok I get that


Let's begin at the beginning, Chapter da39a3ee5e6b4b0d3255bfef95601890afd80709.

Of course, that's tongue-in-cheek. It all began with e83c5163316f89bfbde7d9ab23ca2e25604af290.


sha1("") == da39a3ee5e6b4b0d3255bfef95601890afd80709

and 'e83c5163316f89bfbde7d9ab23ca2e25604af290' is the inital commit of git itself: https://github.com/git/git/tree/e83c5163316f89bfbde7d9ab23ca...


>random three-letter combination that is pronounceable, and not actually used by any common UNIX command.

>actually

Many native French speakers use 'actually' when they mean 'currently' because of the 'actuellement' false-cognate. This looks like the same mistake but neither Swedish nor Finnish have a word that looks like 'actually' when I machine-translate 'currently'.

Any ideas?


I know nothing of Finnish, but, in poking around on Google translate, I found 'nykyinen', commonly translated as 'currently', but sometimes as 'existing'. To rephrase the sentence to say "there is no existing use..." would be a little awkward in English, but would convey the same message.

I felt that in this particular sentence, neither 'actually' nor 'currently' are necessary, but to be sure I wanted to check the context, only to find that this sentence is not currently to be found in the article.


Finn here. I don't think the use of "actually" comes from any Finnish expression specifically but it might be some sort of literary habit that stems from the desire to emphasize how things turned out to be. It's somewhat common in Finnish to say how things turned out, rather than that someone (or you) made it so.

Thinking about it, I might've used the word in a similarly redundant fashion myself occasionally.


Reads like fine English to me. The meaning is "really". As in, he had more favored name ideas, but they were taken.

I am a native Swedish speaker though, so I may share some language blindness with Linus.


>Many native French speakers use 'actually' when they mean 'currently' because of the 'actuellement' false-cognate.

It's also a false friend in German: "aktuell". Wiktionary states that the Swedish word is based on French or German [0]

"From French actuel, perhaps via German aktuell, from Late Latin actuālis, from Latin āctus + -ālis."

[0] https://en.wiktionary.org/wiki/aktuell#Swedish


I think you’re overthinking it. The first definition in the Oxford Dictionary for “actually” equates it with “really”, a substitution which works fine here.

1. as the truth or facts of a situation; really.

"we must pay attention to what young people are actually doing"


That's definitely a possibility I didn't give the proper consideration. On the other hand, if I wrote that sentence with that intention, I would strip 'actually' it for being unnecessary.

Overthinking? Well I can hardly characterise this tangent as important.


In Swedish we have the word "aktuell" which means current (in time).


Another anecdata from a Swedish native:

"Actually" is sometimes used purely for effect (affect?) without any reflection on the meaning of it, similar to how "ducking" is used.

I'm imagining "git" wasn't his first try at finding a unique TLA, and the actually is there to signal effort spent.


That sentence reads fine to me. Possibly for the reasons you listed, which then lead to that usage being common in the language.


Actually is also a false friend in Spanish.


Wonderful! :o)

Reminds me of the joke about there only being 10 kinds of people in this world, those who understand binary and everyone else. Yours is even more esoteric – well done!


And those who understand gray code :)


> Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.

Knuth, "Structured Programming with Goto Statements". Computing Surveys 6:4 (December 1974), pp. 261–301, §1. doi:10.1145/356635.356640

No one has said to ignore optimization, what the quote is actually telling us is to avoid falling into the trap of micro-optimizations which don't really affect the overall performance of the system. Yes, you can spend a week making the world's fastest substring-in-string function, but if you're only checking that your email address has an @ in it, that's kinda silly.

Make your programs fast by concentrating on the areas which give you the most bang for the buck and avoid falling into rat holes where you optimize something which has no impact on the system overall.


> No one has said to ignore optimization

Well, maybe nobody is _saying_ that (Knuth definitely wasn’t) but, as the author points out, this is how a lot of applications of the “premature optimization is the root of all evil” rule end up: any discussion of optimization if forbidden as premature until it’s too late to fix the problems and then it’s “good enough” because we “have to get to market”.


If that's a problem, don't "discuss" it. Just Do!


I find it funny when satire from the past becomes the truth of the present. It's not hard to find examples such as the dystopian satire of "Network" (1976) becoming depressingly accurate.

In this case, Mitchell & Webb performed a sketch on the power of having just shy of two drinks. The Inebriati is "a group bound by the creed that humanity is better and more noble after very nearly two drinks than at any other time."

Video here: https://streamable.com/wtsn


See also: XKCD's "Ballmer Peak"

https://xkcd.com/323/


Saying that Perl was one of the first languages is silly of course. It's nowhere near as old as LISP, FORTRAN, and C.

However, Perl is the first of its kind. Prior to Perl, one would have to hack together in either Bourne or C-shell a series of commands all strung together, poorly. Grep, sed, awk, and a slew of utilities were strung together poorly with any specialized manipulations coded in and compiled from C.

Perl was the first popular language that gave us first class data structures (arrays and hashes) along with the programming structures we were familiar with in C. The inline regex support obviated the need for sed and awk gymnastics to the relief of many.

All of the crazy things in Perl that drive so many people nuts today were derived from the shell scripting that everyone was familiar with at the time. Error codes in "$!", that seems familiar, if you're used to /bin/sh. Perl's syntax which mapped shell script idioms directly into language features made these conversions a breeze.

Perl was the first and best at being able to convert these awful shell scripts into something which was maintainable. This was also Perl's primary downfall. Because it was so easy to use, lots of people who were not first-class programmers were able to write a lot of not-so-nice scripts which made later programmers sad and angry. It was a victim of its own success.


Not sure why we don't refer to the original reporting from which this was based:

"When rides go wrong: How Uber’s investigations unit works to limit the company’s liability"

https://www.washingtonpost.com/technology/2019/09/25/ubers-i...


Submitter here.

Simple: WP is paywalled.

Generally I agree that it's good practice to submit the original source. In this case and since the Verge article is pretty concise I thought it's the better choice.

Mods: Feel free to change the link if you deem it appropriate.


Non-paywalled version: https://outline.com/wd6Y6k


The New York Times ran an article yesterday covering the same topic. I don't have a WSJ subscription, so I don't know if they reference the New York Times article.

"How Apple’s Apps Topped Rivals in the App Store It Controls", Sept 9, 2019

https://www.nytimes.com/interactive/2019/09/09/technology/ap...



I get the feeling he was looking at a world map with a Mercator projection.



Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: