skysight-inc/HackerNews huggingface dataset:
Most importantly, for a larger code-base, unit tests allow a team to make structural and behavioral changes with much less risk of breaking existing functionality. This is especially true when one has a lot of business and domain rules to maintain. One small code change to core logic can have great impact.

Also, I have a lot of customers to support. Unit tests allow me to have confidence that I won't get 'the middle of the night call'. Largely because of them, my small team is able to work 40 hours a week and focus on adding new value rather than putting out fires.

Unit tests provide self-documentation. When starting to get familiar with new code, I first look for unit tests. If written properly, they provide great examples of primary use cases.

Finally, unit tests allow me to design better systems and interfaces. I can take a class or library and work on it in isolation from other parts of the system. Starting from consumer interface first, I can focus on what is really important and to make that interface much more usable. I can add parts incrementally without worry of breaking that core.

Like most things in software, TDD has trade offs. At first, implementation is much slower, and it requires significant knowledge of unit test best practices. I've seen a lot of bad unit tests: ones that don't test important things, ones that rely on external systems or libraries. I've seen developers get caught in 'unit test paralysis' - where they avoid tackling more important things because they are too focused on testing edge-cases, etc.

There's an entire art to unit testing. It requires pragmatism. For small projects, they're probably overkill. But, when your system grows to have many dependencies, some several years old, and someone has to make a change - ahhh, they're the best.
I think the founder of any company would want to provide their employees with the best possible living experience. However, we know that the finance guys and the people who run these things will perceive an incentive to save money. Maybe not all the time, but maybe just in hard times, or under some other conditions. And those people will institute policies that push back on the workers, and they won't lift the policies when the good times come back.

The military still very much has company stores, company housing, really the whole company town concept is very much intact. It works, and has worked since WWII, because getting shot at is a strong disincentive to work for the military. Pacifism doesn't help either. But the net effect is that saving money on housing or recouping paychecks through the company store isn't exactly the long pole in the tent for the organization's success. Retaining skilled workers is far and away the long pole in this tent.

In general, the military also provides housing mainly for people who can't afford the local economy, or are frankly better off not making all their own financial decisions, and a few senior officers where it's better to keep them on base. The "skilled worker" group is still living on the economy, buying houses.

So, I would hypothesize that whenever companies are people-starved for the long term, due to systemic pressures, offering company stores and company housing as a benefit aren't such a bad idea, at least from the company's perspective. But they're still rentals, so really best suited for new grads trying to wait out the market (a strategy I definitely recommend). The company store ... who doesn't have a company store?
As someone who works as an identity and access governance consultant and developer, I endorse this article.

I mean, there's very little you do about this particular scenario other than some small mitigations (at the end of the day you'll have to trust someone with something) but it's genuinely amazing how vulnerable the processes inside large, multi-million companies are to any internal attacker.
It is getting more and more hilarious. Why is nobody thinking of the "unthinkable" - Bernie supporter with a flash drive.
You're not going to get a much better reply than this. Speak their language, they will listen. Especially if you have access to historical data, it can be pretty easy to cherry pick some examples of where the improved QA would have had drastic savings.

People fear change, but no one wants to throw away money. Make them see the dollar signs.
Anonymous Hacks Sarah Silverman's Twitter Account
Micromanaging includes closely observing, and not just controlling, an employee.

If the point of standups in scrum are to find out what an individual has been working on, every day, then this could feel like micromanaging to some people.
Really appreciate your answer. :)

how much was performance difference b/w cpu vs gpu ? what is kind of insight you gained from this experience ? Say for eg - a newbie like me would do sentiment analysis using say IBM watson api ? So doing this by yourself must have helped in some ways - a blog post kind of thing will help newbies. Thank you.
part of pipes was the community of work that you could clone and contribute to. just recreating the technology isnt the same thing.
Yeah, working in central London and there's always an abundance of umbrellas in use when it rains, really not sure what this commenter is talking about.
Kueri: A Natural Language Interface for Databases
When it comes to dry food, many cats do stop when they've had enough. My cat is given 1 cat of wet food a day and then unlimited dry food, and she's 10 lbs; 9 would be ideal but 10 isn't worth worrying about for a cat her age. My ex's cats are both allowed access to unlimited dry food; one is in a similar position to mine, slightly pudgy but not worryingly so, and the other is perfectly fit.

A dog would eat until it weighed 500 lbs, but some cats will actually pace themselves.
What alternatives do you reach for these days?
This just isn't true, I work in central London amongst the bankers and they're usually the first to get out a bank branded umbrella, usually obnoxiously huge ones too.
What I find curious in this article is that they gloss over that this is also a people management problem. Sure you can put restrictive policies in place but apparently things went down at Citibank that caused so much ire for the person in question to take action like that.

I like to think that even though people see sysadmins are grumpy rage-machines in a basement most are super-decent people caring deeply for the systems under their control. Perhaps I've got a too rosy view of my fellow engineers.

I'd be very curious to hear what went on there on the people side of things. What led to this person feeling so angry that they would take an action like this. I'm also curious how it could even get so far. I have the benefit of being able to regularly talk to my manager so even if we did performance reviews in that way they wouldn't come as a surprise.
Robots take over 10m European jobs, create 21m new ones
Python 201: A Tutorial on Threads
AI Nexus Lab Accelerator in NYC Now Accepting Applications
According to their Twitter, they're working on a firmware update to eliminate the reliance on network connectivity for scheduled feedings.

https://twitter.com/petnetiosupport/status/75838081375903334...

It's still pretty ridiculous that this kind of logic made it into a product that is relied upon for feeding.
To Seem Confident, Women Have to Be Seen as Warm
My thoughts from IETF 96
I think a quick look to the domain name has the same effect.
Relevant here because it's "a study analyzing the judgments that colleagues made regarding the competence and warmth of 236 engineers working in project teams at a multinational software development company."
usually triggering leads to paralysis not retaliation, no?
Having grown up in the 80s, I caught a ton of the pop culture nods in the series. I was the exact same age as these kids during the time the show was taking place.

I like how you broke it down by age group vs movies/tropes, something I hadn't considered.

To add to your list, the adults' situations were mirroring much from Jaws (the iconic typewriter scene, the Chief's plodding hunt for the thing), Poltergeist (the mom talking to the room, addressing her child as "Baby"), and Close Encounters of the Third Kind (the mom's obsessive behavior w/ the lights).

Though I'm not a huge fan, I thought Winona Rider's performance was incredible. She had that perfect balance of almost-over-the-top motherly worry about her son, yet cognizant and brave enough to not quite hit the level of crazy hysterics.

I really hope there's a 2nd season.
That's overly dismissive, Node.js has the same issue as JS in the browser and does very well. Small core doesn't matter there.
TDD came out of agile programming which is also more concerned with fast delivery than NASA-style correctness. It's a tool supposed to help you go faster.

If you want an agile unit test suite, it has to run in seconds, not minutes. TDD will make this very clear. If you have problems with the test suite being slow, you have to fix it!

A test suite that developers actually like to run is an enormous value, maybe especially for new team members. It gives you confidence when making changes and adding features.

A basic purpose of TDD is to make it obvious when code is hard to test, so that you're always encouraged to write units that can be unit tested without difficulty. That's a skill that takes some practice and learning, and you need to pay real attention to it. When your team understands how to do it, that's when the test suites start to make real sense, and it becomes pretty much a pleasure to write the tests.

I don't know about being a consultant but I'd like to say that comprehensive testing is a necessary standard part of professional programming just like serious manufacturers verify the quality of components. It can also reduce the stress and anxiety of developers which leads to a better work environment and better quality.

As a coder in a team with half legacy and half well tested code, I know it was a delight to work on the modules developed according to good TDD practice.
Another Larry Ellison masterstroke in corporate engineering. Zach Nelson has spent his entire career more or less building and growing Oracle spin-offs. The fact that Larry has big stakes in both Netsuite and Salesforce shows you what he really thinks of cloud. We have not run into Netsuite in deals lately, not sure what changed but I think they went up-market pretty hard.

As for the fit, that seems obvious.$9.3B is a lot though. Many companies are biting off chunks of what Oracle and Netsuite systems do in a way that is not visible to public shareholders. The market is growing even faster than it seems.
Our cat just eats everything he can find, as quickly as possible - this includes rifling through cupboards and stealing from drawers. We had to fit child locks.
Details are pretty light, anyone know when this starts and what the application deadline is?
Vue.js Newsletter: Weekly dose of handpicked Vue.js news
8 Ways Coding Is Like Pokemon GO
Welcome to Hacker News.

There have been a number of popular discussion of Capture The Flag ]CTF] exercises: https://hn.algolia.com/?query=ctf&sort=byPopularity&prefix&p...

In the case of a new exercise an interesting technical blog post is probably more likely to attract discussion than an announcement.

Good luck.
I've seen two main reasons why people love TDD.

First, testing is hard. It's a different mindset than development. TDD places testing first, which forces people to think about testing while doing development. From many accounts, this is an eye-opener which gets people to understand more about the whole process.

Second, it's a negotiation tactic. Developers usually have much less negotiation experience or influence in a project. It's all too easy to get something "working", then buckle under pressure to ship, even if the code isn't fully tested. Pressure is highest at the end of a project, so placing tests first means they won't be cut back as much. Also, developers can point to the methodology as a way to deflect the pressure from themselves.

Personally, I've tried TDD and found it to get in my way more than it's helpful. I mostly write my tests after writing the code, in an iterative style so the tests are usually written shortly after the development. (I have another stage of testing when I write the documentation and cookbook - that's where I usually find the code which is implemented "as specified", but where there sharp corners I didn't identify until I could use the code as part of a system.)

I have no answers to your underlying goal. One observation: you wrote "Unit tests aren't "valuable" to the customer". Have they considered value to the company?
Well, I'm not entirely sold on TDD just yet, but after applying it for a few years now, the benefits seem to be:

- Requires you to think about structure before you write the actual code. Code that is unit testable is usually better code. (but not necessarily)

- Requires you to think about the scenarios that you will support beforehand.

- Ensures that every file is unit tested. Without TDD you can have untested files. Why unit tests are great is another topic entirely.

- Ensures that tests cannot return false positives. TDD requires you to write and run your tests before any real code is written, so all tests should be red in the beginning. If you write your tests afterwards, your test could be green when in fact the code is incorrect.

What I don't like about TDD is that it pushes your code towards very easy to test code, which is not always better code. I'm more inclined nowadays to just start with the actual code, refactor iteratively until I'm satisfied, and then write the tests. This reduces the total amount of work, because otherwise you also need to refactor your tests every iteration, which only gets written at the end with my method.
The downsides are that unit tests can be forgotten, or that you can write false positive tests.
In my experience though, this rarely happens.

The most important part - imho - is to have meaningful unit tests.

Truth be told, I value solid integration tests more than unit tests, because they actually test the input/output of your system, which at the end of the day is the most important thing. Unfortunately integration tests tend to be more fragile and require more maintenance.
On the other hand, they are more resistant against refactoring, while unit tests essentially have to be rewritten when any kind of refactoring happens.

Nowadays, I write both unit tests and integration tests, which is expensive to write and maintain, but in return they provide you with peace of mind and confidence, which is priceless imho.
Can you show me an opensource library implementing performance-sensitive computations in any field (graphics, numerics, crypto, etc.) which relies on autovectorization to obtain the performance characteristics that clients rely upon?

The large majority of performance-sensitive libraries I know of rely on carefully written native code (C, C++), with a mixture of assembly and/or intrinsics. This, to me, is a failure to concretize autovectorization from textbooks into an industry-accepted solution.
It's a little unsettling to think about how the biggest threats to an organization can be from within. The inside hacker doesn't even have to be disgruntled: they could just download the wrong link or put in a flash stick from the parking lot and BAM! More hacking in a minute than any Hollywood effort could get you.

The worst part about it is that to be completely on the ball with internal threats, you need to be constantly paranoid, assuming by default that any employee with enough access is a threat, or a threat waiting to happen. Such things do not add to team morale or cohesion, but in this case, a pound of prevention is still better than a metric ton of cure.
I honestly have no idea. Given that there are different versions of awk and different versions of python, I'm not even sure there is an answer.

Given awk's age (1977-when computers were much slower and memory much more expensive) and pedigree (Aho, Weinberger, and Kernighan), I wouldn't bet against it for a task like you describe, but that's just a feeling. Again, I don't have any numbers to support that.
1. TDD can make delivery timelines more predictable, as there is less chance of regressions being introduced as new features are added. This predictability can allow a team to scale up to larger and more lucrative projects.

2. TDD enhances the capacity for necessary refactoring to take place which reduces the complexity of the codebase. By reducing complexity we can increase development productivity.

3. TDD itself can speed up development. A developer will necessarily have to test the feature he is building. Manually testing this feature will be time consuming and repetitive. An automated test allows the developer to quickly test the specific element that is being built in a repeatable and verifiable manner.

4. You are saying that the QA team is not catching all the defects. What else is new, but if you are delivering poor quality product to your customers then this may have commercial consequences in the future, if not already.

5. TDD is best practice and is necessary for the professional development of the team. If TDD is not supported it will negatively impact the ability of the business to retain good developers.

But aside from that, if we are talking about software development inside large corporations, we are probably talking about half-baked internal projects that aren't going to go anywhere due to a variety of reasons. The are probably a whole host of things to change within any large corporate of which the introduction of TDD is but a minor concern.
This looks like a great document to help one get started on the road to using Python for lots of STEM type tasks. Pandas fans: don't be put off by the lack of mention of it on the title page, as it is covered in there, too.
Hmm, having a test do anything more than one thing sounds like a functional or integration test.
I would not think passing procedure pointers in C makes it able to support functional programming. That's very shallow.

C lacks (last I looked) nested functions, closures, functions as first class data types, ...

> Really the existence of map, filter, etc are not a clue to a language being 'functional'.

'Functional Programming' isn't black and white. There are pure languages which ENFORCE functional programming like Haskell. It's their many paradigm, the language and its library make heavy use of FP and one has to actively manage side-effects.

Then there are language which SUPPORT some forms of functional programming, for example by providing a subset in the language and its libraries which can be used side-effect free, makes use of higher-order functions, etc.

At the bottom are languages which ENABLE some basic functional programming idioms. Though most of the language and its libraries are not using FP, the user can still use some FP constructs like nested functions, closures, etc.

Generally I agree, that pure FP is not that much used in the real world because of a lot actual problems (difficult to learn/use/maintain, efficiency might be achievable by experts, needs understanding of slightly advanced mathematical concepts, ...). There are some more or less used implementation languages of more or less pure FP (GHC, OCAML, F#, ..., Clojure) languages. I'd guess that the main applications are in domains where they have highly skilled people: finance, data analytics, verification/specification, ...

I sometimes see that companies advertise use of FP languages, but in reality that's marketing in recruiting to look cool and to attract clever people (who then have to work on Java jobs, mostly).
Disabling UnrealEngine GitHub Notification Spam
> What led to this person feeling so angry that they would take an action like this

I'd be interested to hear it too, but in the grand scheme of things, it doesn't matter one iota.
A related HN thread: https://news.ycombinator.com/item?id=12105286
So Anonymous and WikiLeaks are now supporting a pro-Putin president? I used to think they were the good guys. Now I'm not so sure.
A trigger is an event that precipitates other events, aka it sets things in motion. It could be paralysis, or it could be ejecting a bullet from a barrel or wiping a set of routers.
> no legalized prostitution

Actually it's legal if you do it by yourself. And it's even untaxed. I don't understand why :)

It's only illegal if someone gets a cut. And anyway I don't think Polish nationalists are against prostitution in general.

From what I understand they gather support basing on "Polish industry was sold, we were betrayed to EU, banks and foreign corporations buy out everything, leftists and gays want to destroy our culture, and flood us with Muslims".
My gut-ballpark was going to be around an order of magnitude, not two. Here's are two naive comparisons (granted, from the late aughts and not a direct comparison but a more general one) that show ~7-8x[0,1]. The overhead of PyStringObject is not trivial[2] (though the implementation details likely have changed between Py2.x and Python 3).

For things like building accumulators a set of data/log parsing rather than data munging (hits per hour or enumerative tasks), I'd imagine (g|n)?awk might hit your 100x since you'd just grab the fd and traverse being IO bound. I'm not sure how awk does it, but if it's just saving an accumulator value (or 10) in a register. Assuming x64-64 treats, say, an r3 fetch analogously to a fetch to ecx (err..rcx now I guess), rather than having to keep a full object in L1 cache, awk has a huge advantage.

---

N.b., if you're benching tasks like this, don't use 'time' and STDOUT and think you're getting real performance numbers. Your bottleneck (terminals can only render $x lines a minute, so the kernel call to write(STDOUT, ....) will be where you choke, not at the language. Also disk fragmentation would be another issue. Put the both the test file and the output file on a RAMdisk.) Cache flush with Something like sync; echo 3 > /proc/sys/vm/drop_caches (on Linux, I forget the BSD way of doing it) then `time benchmark.py /mnt/ramdisk1/file > /mnt/ramdisk2' over multiple runs, under various loads, with different data sets, etc

Another interesting thing to note is that comp arch is so advanced (I was reading a paper on formal verification of ISAs, and apparently even 12 dollar ARMs now have out-of-order instruction execution type stuff) that between the kernel scheduler and CPU optimizations, Python will likely benefit much more from disk-seek latency (effectively allowing PyStringObject allocation to occur while you're waiting for /dev/sd$n to return).

I'm certainly not an authority on rigorous benchmarks though - someone like Brendan Gregg please jump in!

[0] https://diamondinheritance.blogspot.com/2008/04/awk-vs-pytho...

[1] https://brenocon.com/blog/2009/09/dont-mawk-awk-the-fastest-...

[2] http://www.laurentluce.com/posts/python-string-objects-imple...
I would disagree.

Backups could be maintained on a regular schedule, including full router backups. Others in charge of this could be given create and append access to the backup systems, but not delete.

Once you delineate split rights and controls, then you can mitigate the severity of these attacks. Yes, douchebag-router admin can still zero out the routers. But you can be in business in less than a day with those configs logged.