skysight-inc/HackerNews huggingface dataset:
> Our laws ostensibly exist for the common people

That's how US Constitution was written (not that it helped a lot - there's still hot debate about what "abridging the freedom of speech" or "to keep and bear arms" means). But most of the other laws are about as readable to the common man as a patch against dense APL code is readable to a seven year old. You may encounter some words you think you recognize. And then there are bylaws and regulations, which most people don't even know exist and some are impossible to get without paying money (yes, really). And then in common law system there's caselaw which is court decision having the power of law. Common man has the chance of a snowball in a nuclear reactor.
> but when Pol Pot copy cats come along, root them out

Probably not the best example. The "free countries" did nothing about the Khmer Rouge and it was left to post-unification Vietnam to invade Cambodia and clean up the mess.

Vietnam was then sanctioned for its aggressive invasion of a sovereign nation..
What i think about it: why not build in ToR client right into the app itself, make it update itself, then always use ToR with obfs4, and openly declare that there will be no compliance, and you can't do anything?

Only concern could be the file size, but Orbot is only 12MB for example.

It will also greatly increase popularity of the messenger.
Good for them. I, frankly, doubt there’s much assembly work involved with today’s laptops. I’d gladly compensate the company for that person-hour just to give folks in Colorado some business, rather than sustain some eternal Dear Leader Jinping.
The author seems to think that today's software is all created in short, barely-planned bursts of activity. They've heard of agile and scrum, and decided to lump everything together in there. The truth is there are high-assurance systems out there which go through extreme vetting and safety checks. Techniques like formal verification, model checking, and design by contract are all used to engineer safe systems.

There's no doubt that, at a certain level of quality assurance, what software developers do is truly engineering.
Most software "engineers" barely think about the societal consequences of their work, and CS students have no "do-no-harm" oath that engineers have to take. I would say that in comparison to engineers who build things for public interest (infrastructure that can kill people), physicists (history of the nuclear bomb), biologists (unethical medical experimentation from WWII), etc ... software engineers barely think about societal consequences of their actions the way other scientific professions do.
It may seem glib, but the best resource to spur one to think systemically is a three year-old child. Their favorite word seems to be "why?" and they will keep asking it until you either reach an abstraction they accept, you get tired and concede you don't know by saying "because I said so," or they get tired and find something else. The third option is rare in my experience.
Aren't we all taught to write "y = 3" as the answer to algebra questions? That's how I always thought of it, not as assignment, but as a declaration of truth.
We are just Data Miners, with a hat for protection waiting to see a rock falling in our head... ouch, a comment did fall in my head. ~ so is this thing.

You want hear a worse thing? Data Scientists thinking that are Mathematicians.

All these titles are a joke. JavaScript Programmer is an insult, it should be only Browser API User.
Metaphor isn't necessarily vague. You can have extended metaphors, which can have surprising and informing depth. It can even be an isomorphism.

e.g. the desktop metaphor
How to add a search box with icon to the navbar in Bootstrap 3?
I may be confused about the thrust of this article, but I don't like polymorphism. Independent of my appreciation for FP, I hate when I have to do a bit of code in Java or similar languages, because instead of manipulating dumb data, I have to learn 10,000 micro-APIs.

I would much rather have a short list of simple, powerful functions, that operate over sequences. Array Oriented, if you will, or perhaps even Map Oriented. If you need to construct a full name from an object, whether it's a user or a client, or a character, or a cat or whatever, that can be passed quickly over my lists to return the relevant strings.

This function-and-array style of programming forces you to standardize your data formats and types across your program, and is easily tested. While the OO approach allows you to indulge a thousand different quirks of naming and style and logic, that will take far longer to test, and will likely still have quirks and inconsistencies.
That's what Pincoin did

>The company first ran the Pincoin ICO, promising constant returns to investors

>Investors have been told that they would enjoy a profit rate of 48 percent a month from their initial investment, and recoup all investments after four months.
And how much of each is there? Some of the most important software infrastructures were built years ago at the dawn of computing (telephone, banking, etc.) when experts and artisans ruled the field. Now anybody who does a few weeks of bootcamp or watches some online videos calls themselves an engineer and pushes out crap code to the masses.
They want a cut, too.
Perhaps some programmers are producing those products you describe but many of them are not.

Programming is a vague term that seems to simply refer to the act of using a descriptive and functional language to describe a problem set intended to be solved by a computer. But then how is that different from any other area of applied mathematics?

This ongoing debate seems needlessly pedantic. Someone will write some new academic paper, or book, or tweet which future generations will point back to and say "that was where the term computer humptyfucker came from to describe my job." A bunch of neckbeards will then buck the trend and start writing op-ed pieces about how we aren't humptyfuckers because we don't apply the rigidity that traditional certified and legal humptyfuckery requires.
Yep. Not all computer programmers are software engineers, but there definitely are software engineers. Building high-scale systems that also achieve high-availability with no maintenance windows yadda yadda is a challenging problem that requires navigating tradeoffs using scientific principles in the same way as other branches of engineering.

Related: the article "They Write the Right Stuff", about the software engineers who worked on the Space Shuttle [1].

In the United States, the National Council of Examiners for Engineering and Surveying (NCEES), which is the organization of engineering licensing boards in all states, recognizes Software Engineering as a discipline of Professional Engineering [2]. Our industry does not ordinarily require certification as a professional engineer, and it is not normally required by law; however, if you look at the topics that the certification exam covers [3] -- intended for people with 4 years minimum industry experience -- they are all ones that I'd expect senior software engineers to have down pat.

[1] https://www.fastcompany.com/28121/they-write-right-stuff

[2] https://ncees.org/engineering/pe/software/

[3] https://ncees.org/wp-content/uploads/2015/07/SWE-Apr-2013.pd...
Why am I an Engineer ? Because my school, based in Europe, is accredited to deliver a proper recognized engineering degree. Last time I check, I could get a P.Eng (proper engineer order here in Canada), but don't see the point forking the $400 annual subscription.
> Do you engineer logic?

You betcha. Think of how Woz designed a floppy disk controller that used fewer parts than other designs. That's engineering the logic.

A big part of software engineering is to engineer the logic to get the correct result as fast as possible.
Actually the term "war" in the contexts of drugs and poverty is appropriate since they both depend upon force as the means to achieve their goals as they depend upon government action.
> You're only talking about one specific kind of leak.

Yeah, you're right.

I was focusing on leaks to media/news sites but that's because the Apple memo seemed to focus on that as well (e.g., "The employee who leaked the meeting to a reporter ...", "Instead, people who work for Apple are often targeted by press, analysts and bloggers ...", and so on), although they did specifically mention leaks "in the supply chain" too.

Leaking/selling company information to a competitor or rival is obviously a concern as well but I think this memo is pretty clearly aimed at those who might consider leaking to the press.
Yeah, but that in turn always screwed my US taxes when I lived/worked in Japan (as a native, not an Aoyama expat)
You can see it in this thread: people who won't buy stuff and people who have canceled their Prime account. It's the type of cancer that isn't noticed until it's too widespread to ignore.
Oh I absolutely agree it's an appalling approach to hiring, at least for a role that isn't heavy on macroeconomics (or whatever). I suppose I was only making the trivial point that very high GPAs are common in that sphere. But upon reflecting on your reply, maybe that is an undesirable self-perpetuating selection effect.
It's now too late to edit my comment (above) but

s/all/well/

is what I intended to write.
I was curious so I looked it up, Wikipedia has Jeff Bezos born in 1964, and the Pentagon Papers leak in 1971. I'm too tired to bother with months, so for the sake of convenience we'll go with Jeff was 7 when this happened. In response to the parent post here-- I know Jeff is an impressive guy, but using technology that wouldn't appear for half a century or so to create a conflict of interest with the CIA at 7? Holy shit! If I were 1/100,000th that awesome I'd have a Turing Prize to go with my Fields Medal :P
Bargain and dollar stores are the fastest growing segment of retail stores in the US:

http://www.chicagotribune.com/business/ct-fastest-growing-re...

https://www.usatoday.com/story/money/2018/01/16/ulta-dollar-...
Well, he better be ready to flee the USA if he used his prior knowledge because the civil suit is guaranteed and a criminal suit is very likely. Of course, once he makes tens or even hundreds of millions, finding a country where Apple doesn't have a subsidiary shouldn't be too hard.
> just like being a mechanic above a certain level is engineering

And therein lies the confusion. There is no level at which a mechanic becomes an engineer. You can be both a mechanic and an engineer, but these are separate tracks with separate skills and training. A skilled mechanical engineer can be an inept mechanic, and vice versa. The fact that you don't understand traditional engineering shows why you consider programmers to be "engineers."
I also have friends who I have mad respect for who are proper engineers and have demonstrated years of diligence in earning that steel ring. But I also have lots of programmer friends who have demonstrated years of diligence without there being any steel ring at the end to save them from programming on a white board every time they apply for a job. I think our way is better for talented but inexperienced young folks just breaking in, but worse for experienced folks whose years of success would have earned them a universally-respected credential in pretty much every other profession.
> Why doesn't 'software architect' get the same criticism for not being an architect?

I'm married to an Architect, it bugs them too.

In most states - Legally they can't call themselves Architects until they've passed the AREs. You can't take the AREs until you have enough IDP hours (which takes about 3 years). You can't start IDP unless you have a Masters (or more recently a "professional bachelors"). Oh, and you have to take a new test for every state / country you want to practice Architecture in (Reciprocity is getting better but not quickly)

So it's that sense that they have to scratch and claw to get the title where we can just sort of make it up that bugs them.

I think we should switch to a different title scheme. I'm going to be a Doctor of Site Reliability (you know since I'm already doing operations....)
> I leave my personal name and email address on a public forum. Google later add that post to it's index, or another random company like Web Archive or archive.is scrapes it.

I wish there was an official guide on how to run a forum properly, because all forums suffer from the same problems.

What I figured out so far:

You as a forum administrator must delete that personal data on request. This could mean digging through all posts of a user and delete all PII, although you don’t have to delete all posts if they contain no PII.

You as a forum administrator must get your privacy policy right and possibly make it harder for third parties to index PII. This depends on your intentions and whether or not people know that your forum is public.

Say, your forum is about car parts. You could set a subforum that asks members to introduce themselves (where PII are most likely) to noindex or hide from the public.

This way, you’ve put in reasonable effort to protect your users and your obligation is done. Indexing by third parties is now out of your control.

But say you run a medical forum where people post health data (considered super sensitive) and are expected to post a lot of PII, you might have to set the entire board to ”members only“.

Although I’m not sure about any of this and to some extend, most forums provide value by being visible to visitors and indexes by Google. Quite sad.
I don't think that's fair to Snowden. Doing something altruistically does NOT preclude skipping the step where you throw yourself into the belly of the most powerful beast in the world, which also happens to be incredibly pissed off at you.
The "desktop metaphor" is a conceit, in the literary sense, that provides a general structure to a presentation but it isn't truly useful as a means of conveying the logic or expectations of a system in the way that an analogy provides.
In this sense, brutalism is not designing at all.

Brutalism was about focusing on function, with no consideration given to making it pretty for the sake of prettiness. If you treat this as a design style, you're missing the point.
The thing that blew my mind was that there are some mathematical programming languages where the point is not to ever actually run the program. Just type-checking it is enough to prove the result. (In the "programs are proofs" sense.) In these languages, it's important not to allow infinite loops because you will never test the code.

Even though there's a correspondence, there's always going to be a difference between writing a program so that you can actually run it and writing proofs, where you don't, and ridiculously inefficient algorithms don't matter at all, so long as they don't diverge.
Show HN: CutBox a nice little pasteboard time machine for the Mac
Related question: I was wondering about the origin of the usage of the term "build" when programmers describe what they do. To be clear, I am not referring to "build" as in compiling, assembling and linking to "build" binaries, but "build" as used in statements such as "I like to build stuff." I believe it may have originated from a 1993 book called "Code Complete". This book used a "construction" metaphor to describe programming. This is only a guess.
I'm sorry, but this is incorrect.

https://www.nspe.org/resources/licensure/resources/faq

https://en.wikipedia.org/wiki/Regulation_and_licensure_in_en...
I agree that money probably isn't the thing. I would imagine the average Apple engineer would realize that the payment for leaking would have to be massive to offset the damage to career / loss of earnings from the damned good job they already have. Maybe it's the sense of getting away with something? Like a super lame, mundane version of Thomas Crown--life is going well in pretty much every category so raise a little hell just to see if you can?
Story of how we Scaled our Billing Platform
> I disagree. I think the first part of OP raised some good points. The copy everyone's copying and that everyone understand may just be an inferior local maxima.

Yup. But the way out of those inferior local maxima is by focusing on making UX more "simple, reliable, easy to understand". By focusing on being different and expressing your brand identity, you go towards even worse state than the local maximum you're trying to escape.
An aspect that does is the position of a mouse on a desktop with the position of a cursor on the screen.
The easiest arbitrage is whenever Dai is != $1. Free money
I personally agree with rdlecler1's comment.
"At some point someone will die from something that is counterfeit and Bezos will be in DC like Zuckerberg is today. Why they’re not being more proactive is beyond me."
Replying here because I'm becoming enraged by HN rate-limiting our perfectly civil discussion.

I definitely see where you are coming from re: 'engineering' logic. As I said before, I don't have a huge argument against this. However, for me this is where the metaphor blurs into near-meaninglessness for me. Optimization happens to be a specialization of mine, and I can't find a reason to think of it as engineering, except for the fact that I take measurements. The optimization itself is more like applied information theory. I can agree that the measurement + iteration is perhaps engineering.
How does that make the statement incorrect?
It is only appropriate if you cannot conceive government actions that have nothing to do with force :)
books can last decades. an ipad absolutely won’t.
What most programmers do isn't engineering. However, there are programmers that do engineering. Here's two that were used to make software that was consistently low-defect that sometimes came with warranties. I picked them since they had acceptable cost/timing vs the methods with full, formal verification.

http://infohost.nmt.edu/~al/cseet-paper.html

http://www.anthonyhall.org/c_by_c_secure_system.pdf
Amazon Studios No Longer Accepting Script and Concept Submissions
Like the other commenters I've been to diners like that elsewhere in the US. The difference is generally in the types of food served. Lots of Jewish diners on the East coast. Lots of influence from Eastern Europe, particularly Poland, Ukraine and Russia. And lots of Greek-owned diners, in the NYC metro area and perhaps especially on Long Island. A diner in Florida might look nearly identical to one in NYC, but they'll have burgers and steaks, but no matzo ball soup or pirogies.
How effective are your presentation skills?
Well, which is it? Is software "eating the world," or is it basically a small accoutrement to the world as it existed, the way an office chair is?
Google, Facebook, and LinkedIn all have roughly the same interview process. One hour phone screen, 5 hour on-site interviews, then a decision.

I have never encountered a situation with 7 interviews.

Bear in mind that many wash out during the phone screen, so no, a fully loaded interview schedule is not that sort of commitment at all.
Except that the "desktop metaphor" stops being a "desktop" with the introduction of a cursor and mouse. Actual desktops are manipulated directly by users... and desktops don't allow you to move your hand all the way to the right and magically move to a new clean desk (in the case of virtual windows). There's nothing about a desktop that infers the behaviors described which is why it's crappy for conveying the actual behaviors of current UI... hence the limited nature of metaphor.
What in the world are you on about? Sorry dude, I can make no sense of anything in your rambling comment.
Uh, yeah. What would be weird or objectionable about any of those premises?
> To achieve the same result with recursion requires a whole other can of worms: memoization and tail recursive style and compiler optimizations to shed stack frames. It’s a lot more work to understand all that (to get to an equivalent solution) than it is to understand mutation!

It's true, you can't rely on tail call optimizations on every language. But practically all modern compilers for imperative languages transform your code into SSA form[1] in one of their intermediate stages, so the code:

int x = 1
x = x + 1

will invariably be transformed into:

int x0 = 1
int x1 = x0 + 1

in one of the intermediate stages - before applying further optimizations and finally converting it to stack-based bytecode or register-based machine code.

This means that mutating a variable, at least when dealing with local primitive values, is equivalent to assigning the value to a new variable.

Even in other cases, in-place mutation is not necessarily more efficient than copying and modifying values. For multi-threaded code, mutation often requires relying on synchronization which can be more expensive than copying around data.

> Simply stated, the goals of mathematics and programming are quite differently aligned. The former is about understanding a thing, and the latter is more often about describing a concrete process under threat of limited resources.

In the current day and age, if a programmer would wants to write the most efficient code, they need to understand a lot about their multi-stage optimizing compiler, Out-of-order CPUs, OS threads and so on - and they would still need to benchmark their implementation against others. It is not clear anymore that mutation is always faster.

I think that in 99% of the cases, clear, safe and maintainable code trump the micro-optimizations that may (and often may not) be gained from using mutable data. Immutable data is generally easier to reason about, always safer from data races and other bugs, and - in most languages languages - more maintainable.

The age of limited resources and straightforward compilers is long over, but it left mutable variables as its heritage. I'd argue they're still common not because they are necessary to deal with hardware limitations, but just because generations of programmers have gotten so used to them, it's hard to give up on them.

[1] https://en.wikipedia.org/wiki/Static_single_assignment_form
And what actions would those be that do not, eventually, rely upon force?
Personally, I never call myself an engineer. Partly for the reason it annoys engineers, but partly because I don't think of what I do as engineering in the first place. And I think the reason for that is I have studied the hell out of CS, programming, and math; but I have not studied a lick of engineering! Learning a few engineering approaches by needing to stress-test software, because it's too complicated to grok, does not qualify one as an engineer in my mind.

I do however wish that people were better able to make the distinction between titling oneself 'software architect' and claiming to be a sub-type of architect. Perhaps it's too subtle. What I mean is, 'software engineer' and 'software architect' are singular roles, peculiar to this industry, that happen to be made of two words.
What Israel wants, Israel gets. I find it hard to believe that anyone truly believes the narrative being pushed by the West.
It's really tragic the consumer can't validate this. So I just don't buy FBA stuff if buying from Amazon.
Skrill App Latest APK V2.4.11 Free Download – Apk
I wish more things were as stable as email. It just works. It has worked perfectly for 20 years. Email I received 10 years ago is easily readable today. Email I send today will be readable for the next decade and more. In other words, it's a feature, not a bug.

I wish people who want to "advance" the standard went off and used something else. Go use allo or hangouts or whatever new locked-down app google is pushing this week. I suspect there will always be people who are content with email.
Command and control: A fight for the future of government hacking