skysight-inc/HackerNews huggingface dataset:
>would your first thought be to go searching for a package

No, because if this isn't in the standard library (or a very simple one-liner from standard library functions like "fold +") then I don't want to be working in this language.

If I have to work in this language, and I'm allowed to bring in packages, I'd go look for the community's attempt at fixing the standard library, or at least a "math" package, particularly if there were lots of other basic math functions I'd have to do myself. If it's really just this, I'll probably paste a Stackoverflow answer.

Could I come up with it myself? Yes, but thinking through the pitfalls of the implementations of basic math operations is not a good use of time.

What would you do if your language didn't have exponentiation?
Oh, I think the fact that TN's median income is about 70% that of CA and Nashville's is about 60% that of SF might have had something to do with it, along with commercial lease rates being 20% those of SF office space. Meanwhile, the rest of the company is still commuting to the Mission.
What I see is that a module has a non-zero overhead in complexity in itself. That is, ten 10 line modules and twenty 5 line modules do not yield the same complexity. The modules themselves have a complexity overhead associated, and submodules have their own complexity overhead associated, albeit smaller than first party modules. That complexity is easily seen from the recent situation of unpublishing modules, which resulting in modules multiple steps removed having problems building.

So, when I read "It doesn't matter if the module is one line or hundreds." I call bullshit. There is overhead, it's usually just fairly small (at may event begin to rival the gains from using a module at that level), but that small amount adds up. Once you've had to deal with a dependency graph that's 10 levels deep and contains hundreds or thousands of modules, that small extra complexity imposed by using a module is no longer in total, and comes at a real cost, as we've just seen.

Other module ecosystems have gone through some of the same problems. There was a movement in Perl/CPAN a few years back to supply smaller, more tightly focused modules a while back, to combat the sprawling dependencies that were popping up. The module names were generally suffixed with "Tiny"[1] and the goals where multiple:

- Where possible, clean up APIs where consensus had generally been built over what the most convenient usage idioms were.

- Try to eliminate or reduce non-core dependencies where possible.

- Try to keep the modules themselves and their scope fairly small.

- Remove features in comparison to the "everything included" competitor modules.

This has yielded quite a few very useful and strong modules that are commonly includes in any project. They aren't always tiny, but they attack their problem space efficiently and concisely. Even so, I'm not sure there's ever a module that's a single line of code (or less than 10, given the required statements to namespace, etc), as the point is to serve a problem, not an action.

1: https://metacpan.org/search?size=20&q=%3A%3Atiny&search_type...
EU countries and their citizens have been extremely pissed since that election day in November 2000. I remember spending a lot of time in front of the TV in a dorm at an american university at that time, thinking "I can't believe this is happening". From then on it went downhill.
Visited WTC that month as well, not knowing what was gonna happen to it...
I don't recall the blog post, but when Patrick switched from consulting to appointment reminder only, he had a sudden cash crunch due to an (unexpected tax bill?) and suffered a major health crisis. That wasn't that long ago.

I think the consulting gigs were not constant. Those were the high points. He had a high income, just not so high as if you multiply $15,000 * 52.

I'm writing this as a fan of Patrick's. Just clarifying your answer based on my recollection of his writings. It's pretty plausible he didn't have a massive savings buffer.

Speaking as an entrepreneur, there's always conflict between saving money vs. investing more of it in businesses. I imagine a lot of value is locked up in appointment reminder. This last paragraph is entirely speculation and not based on anything I remember Patrick writing.
Bravo. Saving this comment.

For substance: Consider how this is all part of the effort by management to make programmers feel as interchangeable and insignificant as possible.

And it's not even in the name of quality. Plenty of software out there breaks because of its multiple single points of failure in the form of dependencies.
Small modules are easy to reason about

Yes they are, in the same way that a book in which every page consists of a single word is easier to understand than one with more content per page.

By focusing on the small-scale complexity to such an extreme, you've managed to make the whole system much harder to understand, and understanding the big picture is vital to things like debugging and making systems which are efficient overall.

IMHO this hyperabstraction and hypermodularisation (I just made these terms up, but I think they should be used more) is a symptom of a community that has mainly abandoned real thought and replaced it with dogmatic cargo-cult adherence to "best practices" which they think will somehow magically make their software awesome if taken to extremes. It's easy to see how advice like "keep functions short" and "don't implement anything yourself" could lead to such absurdity when taken to their logical conclusions. The same mentality with "more OOP is better" is what lead to Enterprise Java.

Related article that explains this phenomenon in more detail:
http://countercomplex.blogspot.ca/2014/08/the-resource-leak-...
I swear, this line needs to make it into Silicon Valley the show.
I doubt something like 'wrote npm package that averages stuff' would be relevant without fluffing it up to impress the non-tech hiring manager. Still would ring alarm bells with devs though.
A lot of these links are broken. For example, http://www.getaccept.com/%E2%80%9C

Luckily, it's easy to parse this out but it's a bit jarring.
I'd need enough cash to hire Tom Cruise and at least three half-dozen rotating shift blue goo tub people. In fact, I'm pretty sure you can write a $100,000,000 check payable to the Church of Scientology, and they'll supply the whole package.
Yes, but is Intel?
You responded to a point I made in response to Spivak. If you don't care about his argument, then it might be worth responding elsewhere.
The website says they provide language models for "many languages".

When did you try it and which languages? Any particular issues you can share?
the repo is a bit of a mess right now (current research). The p-1 factorization technique doesn't work because of the factor is large enough.

There is also another method that I use that hides the generator's subgroup with a composite modulus.

Both methods are NOBUS and are easy to exploit (no need for index calculus)

> For what it's worth, the author missed that interpreting the modulus bytes as 16-bit words in little-endian order does get us a prime, though still not a safe one.

I'm reading that over and over again and still don't understand what you're pointing at, care to expand?
YES... it is... its a trade off... code reuse has a upside and a downside...
>TL;DR: Small modules are easy to reason about, and encourage code reuse and sharing across the entire community.

How does that even remotely applies to the "is positive integer" test, and even more so to "it's positive" and "it's integer"?

What's next? is-bigger-than-5? word-starts-with-capital-letter? add-1-to-a-number?
My point is more that the compiler* can't detect these mistakes but in other languages you can. E.g. in Haskell you only allow Null on types when you want it (you do this by using the Maybe type). Objects where you probe for values that could be undefined or could be defined but null doesn't exist as a concept but if you badly wanted it you could use a dictionary. In Haskell if you use Maybe and you process a Maybe object you have to deal with the null and not null case otherwise you get a compiler error.

All these checks seem annoying but we've all seen the bar chart of when you discover the bug vs. the cost of that bug. The compiler finding the bug is cheap. Haskell is a cheap language to program in, compared to JS!

* I forgot there is no compiler in JS but let's say the linter for argument sake.
Since number 1 is a catheter, I want to repeat a long time complaint. Why can't technology help urinals stay clean? There are puddles in literally every male bathroom. Some one please solve this.

Edit: At my age, the last sputters go in every which way. So missing is unavoidable and we need some kind of self cleaning floor.
The truth is, in a free society, it is not a problem that cannot be completely solved. As long as people want to harm others, they will find a way.
>There are definitely trade-offs involved when making decisions to inline vs import.

If someone can't make the right trade-off regarding "should I import a module called "isArray" or "is-positive-integer", then they should not be programming...
Pipelines, Platforms, and the New Rules of Strategy
Technical debt doesn't stop being technical debt just because it's your code.
The last time I worked at a software company they were trying to plump up the license $/services $ metric, because while it's easier to book services contracts they also increase your costs. Software companies only make runaway profits when they sell the same thing to a bunch of different customers.

That said, it's not like you can't make money selling services.
Supporting multiple platforms is simple. Assume the user has an existing build pipeline and you need to integrate into it. That means doing one of:

1) provide a single, amalgamated .h/.cpp pair
2) provide per-platform, per-config precompiled static and/or dynamic libs
3) provide all dependencies in the form of 1 or 2

Voila! Your goal should be to provide something that can be trivially added to an existing pipeline.
Yeah and it got the promised updates(up to 2 years)
> targeting conventional DH

this is targeting ephemeral diffie-hellman. So this would work on any library/private product where you can "hey guys, we should start using 2048bits for DHE, let me suggest this one". This would not work on DH/RSA/... because people usually generate their own parameters for these.

If this remark was pointed at the fact that ECDHE > DHE: I'm not taking the point of view of an implementer trying to implement "new" crypto, I'm trying to take the point of view of a backdoorer (?) trying to push this backdoor in various products/libraries. And it seems like most still use DHE (some stats are in the logjam paper, but I'll do some stats myself out of scans.io when I get time)
Well, it does encourage code re-use, but the issue is that the benefits of code re-use here are far outweighed by the downsides of just writing it yourself.
With Obama's recent actions regarding privacy and encryption, I'm terribly glad I didn't go to work for the US Digital Service.
It is a user error not a technology problem :)

If you did want a technology solution I would suggest electrifying a zone area around the urinal - 5000V should get even the most haphazard user on the straight and narrow.
The US didn't create this problem.
Concorde cost £1.134 billion to develop around 1965. That's like $10bn+ inflation adjusted.
Me too. Also, I have terribly embarrassing secrets.
What's the largest number you can express with 3 digits?
[Edit: Parent comment has been rewritten, see second response, below].

That you think averaging a list of numbers qualifies as a 'feature' you might add to a codebase is rather the surprising thing about your response. I'm aware I'm coming over rather arsey, and that isn't intended, I'm just surprised to find someone actually defend the attitude, generally, that says a trivial calculation should be either a) provided, or you're not going to use the language, or b) put in a package to mean you don't have to spend 'the time' writing it, while at the same time saying you don't care what is in those implementations.

I mean, it doesn't matter to me, obviously. You can choose to have whatever criteria for taking a job you like, and I can have whatever criteria I like for my hires. I'm just surprised. Sorry If I've come over argumentative or grandstanding.
An issue at very large companies like Apple is that while they can be superb in one area or in one core product does not translate into being adept in other areas under different teams with different management styles, demands budgets, etc.

So unless Apple are going to put their best and poach other industry bests, their result will likely not deliver on premise or promise.
Then and Now: How Little Things Have Changed (2016)
The kik Ruby gem. Would this be next?
"Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function."

--John Carmack
Why I don't support or contribute to GitHub repositories (2014)
The Google App Engine Is Now Supporting Node.js
Here's one of my favorites:

http://www.kalzumeus.com/2014/11/07/doing-business-in-japan/
Well it is TechCrunch (where it's and its are seemingly interchangeable).
The article's talking about Nashville, which if you're going to be stuck in the South, you could do a lot worse than.

I also don't think it's totally fair to compare it to the plains states, those places are emptying out for a reason (ok, several reasons).
For what it's worth you can buy used cars that are, I'll presume for the sake of argument, cheaper than and better than new 1973 cars.
I don't mod at all, I've got a Nexus 6p and am confident it is the perfect phone right now.
Show HN: Avoiding spam on GitHub
I started out really thinking Kik was wrong to sue this guy but like with all things, the longer this goes on the less sympathetic I grow.

Write your own goddamn utility classes, people. Or learn how to suspend package releases, include them in your projects, and smoke test your releases.
I had a wonderful year with dvorak and moved on for this exact reason. I also use boring old bash to get things done.

That said, if a tool gives you a net productivity boost, you should probably adopt it. I'm pretty sure I was working with Robby when he started down this road. (Hi Robby!)
D’Oh My Zsh
When you are no longer the smartest person in the room
>how would you, looking at the photo, know that this is multicultural?

You could take it for face value and just assume they were talking about the food. It's also possible the "white people" are from a variety of the many diverse european cultures. Those both by definition are multicultural.

>Multicultural here is misused as a thinly veiled term for 'there's one not-white person in this photo'

No its not, you are just focusing on the color of their skin and projecting a world view that is not built upon principle but instead identity politics. Try and change out "white people" in your argument for any large group of people who are of other skin colors and this becomes immediately apparent.
npm has namespaces. https://docs.npmjs.com/misc/scope
Lots of biotech/medical device companies in this class. Historically this has not been a good category to invest in (unless you like to lose money), nor one that is easy to get right. The FDA is a real pain to deal with and trying to "do things that don’t scale" has you end up like Theranos. I do give YC kudos for trying.
I meet some entrepreneurs who are used to being the smartest person in the room. Many have been the smartest person in the rooms that they have been in–and my entering the room doesn’t change that. But getting into a room with a prospect does because they are the expert on their situation and their needs.
I completely agree with the author.

The loudest people in the Node community have been evangelizing this practice for as long as I can remember. This shouldn't come as a surprise.

The argument, "If I didn't write it I don't have to think about it" is ludicrous. I just have to point at the left-pad incident disprove the premise of this argument.

The analogy of building things with a bunch of npm lego blocks is laughable. Those responsible for advocating the use of trivial functions by acquiring module dependencies are leading the masses astray.

"But, If I find that there's a bug in a module I can AUTOMATICALLY fix it everywhere!"

No.

You still need to assess how the change to that module impacts any code that depends on it. Just by updating a module and posting a "minor" bug fix can lead to other bugs that RELIED on the behavior as it was originally written.

It's simple, write your own trivial functions. Test them. Maintain them.

P.S.

Another module that can easily be in-lined to every code base you own. (3 million downloads this week).

https://www.npmjs.com/package/escape-string-regexp
add-1-to-a-number

This seems to be a very common example in educational materials about how to create a function in some programming language. Perhaps they should all be prefaced with "NOTE: you should not actually make such a function, because its triviality means that every time you use it you will be increasing the complexity of your code", or a longer discussion on when abstraction in general is appropriate and when it is not.

Ditto for any other abstraction --- I've found there's too much of an "abstraction is good so use it whenever you can" theme in a lot of programming/software design books and not enough "why abstraction can be bad" sort of discussion, which then leads to the "you can never have too much" mentality and the resultant explosion of monstrous complexity. Apparently, trusting the reader to think about the negatives and exercise discretion didn't work so well...
I meant attitude towards free software in general (i.e. stance on software patents and such). That divides those who can be called open source company, and those who can't. It's not a sufficient condition, but I'd say it's a requirement.
Ah, I missed the "composite modulus" bit. Right, that could provide NOBUS, at the expense of being even more glaringly obvious.
How Google stays like a startup despite having 70,000 employees
Isn't this how it works in most of Europe? I don't know - I've been there a few times, and for exceptional service have left a Euro or two on advice of a local, but that's it. A way to acknowledge appreciation, not pay for 20% of the actual cost of my meal in a separate transaction.
...

nvm has been the thing slowing down my terminal loads?

Thanks.
https://news.ycombinator.com/item?id=11324317
From the article, it seems clear: "Their jobs were moving to Tennessee. They could relocate and take an eventual pay cut, or they could leave"
"Addressed" doesn't mean "solved!" ;)

Yes, you're right, making use of dynamic behaviour will break DCE.
Yes the chart is what they captured; the animation is inferred from the data and our current models of supernovae.
CSS level 4: custom selectors
Why are ten year old billion dollar companies with back offices in other states still called startups?
>> "...transported like a bank shipment..."

If you think the NSA/state level adversaries have not penetrated bank shipments, you are dangerously naive. Instead, maybe transport it like the CIA moves the communication hardware for its quiet rooms, or like the Russians move the bugs destined for US embassies.

Apple is interesting because it's one of the few organizations that could plausibly do this.
How would you prevent this type of attack while retaining the keyless start and entry feature? (just curious)
I don't think there's any non-trivial software that completely unambiguously passes all my tests (and a lot depends on how strictly one interprets "is more than one person able to read and understand the entire codebase" – I'd allow the proviso that the reader has access to the documentation, tests and commit history, and that inherently high-complexity software like an operating system can be broken down into its components); the question is more whether it clearly fails one.[0]

Software that's prone to be subject to (arguably!) unfair charges of bloat includes old standbys that have lately been challenged by upstarts (e.g. jQuery, Apache), or that developers already dislike for reasons other than quality (e.g. Oracle, Microsoft products).

---

[0] I'll demonstrate by applying my tests as I see it to everyone's favorite poster child for bloat – the C++ programming language.

Has the project grown so large that it's starting to run into real-world performance issues?

Compilers have, and how. The binaries they produce mostly haven't, although certain language features, particularly amongst those that didn't come from C, compare unfavorably to their equivalents in "slower" languages. And the language has become complex enough as to be pretty slow on the meta level of writing or learning it.

I'll say ambiguous, leaning fail.

Has the project grown so large that bugs are popping up faster than the developers can do maintenance?

Well, the invalid pointer access meta-bug has been around for (CURRENT_YEAR - 1972) years...

Personal view is it doesn't matter if the reason for failing this test is because the maintainers place artificial restrictions on their ability to fix stuff, so I'd say fail on this one, although others might disagree.

Is there no or only one person who can read and understand the entire codebase?

Hard to define in this case. Is it the standard? The most popular compiler? Every popular compiler?

I'll say ambiguous, leaning pass. But few programming languages would pass this completely unambiguously.

Are there many undocumented/poorly-documented features?

"undefined behavior"

FAIL

Are there features that are both undocumented/poorly-documented and dangerous?

"undefined behavior"

FAIL

Are there many deprecated or outdated features that have yet to be removed?

FFFFF AAAAA I L !!
F A A I L !!
FFFF AAAAA I L !!
F A A I L
F A A I LLLL !!

Are there many features that both duplicate and do not improve on functionality found elsewhere?

[Dig trenches, commence C vs. C++ flamewar]

---

In conclusion, yes, C++ is bloated.
Extract OCR/HOCR Text from Images in .NET Apps Using Aspose.OCR Cloud SDK
What "steps to prepare for a lower carbon future" can an oil company actually take? (Unless that meant, are they bracing for a decline in oil consumption...)
Not sure they are that great anymore... For sure they played a huuuuge important role in the formation of basic workers' rights. That can't be discounted. But in practice in 2016, I have yet to see where they actually shine, and I'm a bleeding heart liberal with teachers dotted all over my family.

That said the one place I can still see some importance is for police - mostly in available representation in legal matters.
The science is probably well understood. But getting a plane approved in different markets must be a massive undertaking. I work for a medical device company and even getting a simple device to market takes a huge amount of money, effort and experience. Now scale that up a few hundred times and you have something that only somebody like Boeing, Airbus or a state sponsored company can do. Add to that changing oil prices and other factors you need a lot of money to finish that effort. Virgin is not even flying their Spaceship Two yet and that certainly is a much simpler development.

Don't get me wrong. I would love to see them succeed but it seems really, really, really hard. Much harder than anything any of the current unicorns has achieved.
I think it would be relevant to this discussion to point out the flaws in Nix rather than vaguely refer to them. Please explain how to make the more complete tool from any of the 5 package managers you mentioned.

If I were to grant your comment the same amount of charity as you have granted this project, I would summarize it as, "This project has problems like all the rest. If you don't make it better, it's lame."