skysight-inc/HackerNews huggingface dataset:
Hi, currently writing a book on the subject and I'm doing a bit of research myself.

There are two aspects of testing that you need to discern: the development and the project management point of view.
The first regards what and how to test things. This can be achieved by any developer and is moderately easy with the right help and mentoring. The second instead is the most difficult: trying to force tests in a non-test-focused environment, where the business does not understand the meaning and/or the value of testing can be poisonous to us and the business itself. In other words there must be an effort in both directions.
I can keep talking about these two points, but I'll skip them for now unless you're interested.

Regardless of the current environment you're in, and taking for granted that the second part is - if not fully, at least partially satisfied, let's have a look at how to start with TDD: the major problem you're facing is that TDD does not define "what to test". That's why BDD was introduced, to fill in the gaps that TDD has.

Still BDD is somewhat lacking depth and proactive understanding from the project level on how much should be spent on unit tests, how much on functional and acceptance tests. On this note, Google has defined the ACC, which helps you define the testing plan for your application; I think it's totally worth from both a developer and business perspective to dig a bit more into that, especially if you want to get into testing properly.

If you still fail to see why tests are important, let's put it down this way, using James Whittaker's words: "although it is true that quality cannot be tested in, it's equally evident that without testing is impossible to develop anything of quality".

my 2 cents
Perl, Visual Basic 6 and to some extent Python are examples of languages using the moral equivalent of ARC.
Banks create deposits. Deposits are denominated in the unit of account, the dollar.
I'm sure there are lots of people like you, but I don't think you're the majority. And although you are not trying hard, presumably your accountant is on your behalf and you're paying him/her good $ to do so.
Fixing mistakes without accepting blame or acknowledging the error always bothers me. Does it stem from the fear of a lawsuit-happy society, or embarrassment?
> No. You can write it in whatever you want (even on iOS these days)

This is somewhat misleading. Apple bans all use of JIT compilation on iOS, which de facto eliminates languages that depend on it.
The Internet outrage beast is fearsome. I wish more people would focus the attention on those in power. For every Lindsey Stone there are people with real influence who are actually disrespecting or harming the military. I know that lots of social injustice is deeply embedded at the lowest levels of common society, but average folks don't need scarlet letters and endless shaming or harassment. Education and awareness normally suffice. The elite who perpetuate wrongs only benefit when the peasants are infighting. If the outrage machine has any deserving target, it's those at the top.
Ask HN: Best Time Series Format for Querying and Converting to Matlab (HDF5)
Hi, I have somewhat of a unique problem that looks similar to the problem here:

https://news.ycombinator.com/item?id=8368509

I have a high-speed traffic analysis box that is capturing at about 5Gbps, and picking out specific packets from this to save into some format in a C++ program. Each day there will probably be 1-3TB written to disk. Since it's network data, it's all time series down to the nanosecond level, but it would be fine to save it at second or millisecond level and have another application sort the embedded higher-resolution timestamps afterwards. My problem is deciding which format to use. My two requirements are:

1) Be able to write to disk at about 50MB/s continuously with several different timestamped parameters.
2) Be able to export chunks of this data into MATLAB (HDF5).
3) Query this data once or twice a day for analytics purposes

Another nice thing that's not a hard requirement is:

4) There will be 4 of these boxes running independently, and it would be nice to query across all of them and combine data if possible.

The second one is something I cannot change because of legacy applications, but I think the first is more important. The types of queries I may want to export into matlab are something like "Pull metric X between time Y and X", so this would eventually have to go into an HDF5 format. There is an external library called MatIO that I can use to write matlab files if needed, but it would be even better if there wasn't a translation step. I have read the entire thread mentioned above, and there are many options that appear to stand out: kdb+, Cassandra, PyTables, and OpenTSDB. All of these seem to do what I want, but I can't really figure out how easy it would be to get it into the MATLAB HDF5 format, and if any of these would make it harder than others. If anyone has experience doing something similar, it would be a big help. Thanks!
What’s with the 50/72 rule?
Writing tests is like writing articles. You just have to start writing and at some point you will get better.

Writing tests will change your coding style and way of thinking which is great. You might read some articles about testing for your language of choice.

Just start :)
Woot, this is an awesome-people-discussion. Thanks for it.
Show HN: Remind'em gives you the power to set reminders in your friends’ phones
Gore: Yet another Go REPL that works nicely
So TDD is a difficult thing to get into from the beginning. The more experienced you are as a developer the easier it will be to write tests. The thing that is great about TDD is that it forces you to write discrete and modular code as it tends to be easier to test that way.

This week, one of my coworkers described being new to TDD like being new to vim. There is a horribly steep learning curve but once you "get it" it becomes second nature. The real win of TDD, especially for open source, is that when the projects start to get bigger and harder to manually test you can merge PRs with a bit more confidence that you're not breaking things. I can speak with a bit of experience here as an OSS co-maintainer of two pretty large (>500 unique contributors) projects, graphite, and salt.
TurboRLE: Turbo Run Length Encoding
I'm happy to see the authors have posted in the first paragraph something to preempt my posting of the "X kills cancer" XKCD : http://xkcd.com/1217/

> A Rutgers nutritional scientist and two cancer biologists at New York City’s Hunter College have found that an ingredient in extra-virgin olive oil kills a variety of human cancer cells without harming healthy cells.
to be fair, what happens if there's a hash collision?
Most high tech companies are founded by founded by First/2nd gen immigrants
Efficient and fast Run Length Encoding library

- 100% C (C++ compatible headers), without inline assembly
- Efficient compression
- Maximal 1 byte overhead
- No modification of the raw data, preserving compressibility
- Order preserving
There's a slight problem there: real wealth rarely grows exponentially, and capital owners can only be paid via real wealth. So everyone else actually has a bargaining position.
I might consider it given that I just run Linux on it anyways. Quality issues with the case of my current thinkpad, an E530, are likely to give me more pause.

I really do think there is a niche for linux compatible bare bones laptops. I know that some companies make them, but most are of low quality. Maybe Dell will come out with more options in the future.

But to answer your question, I would buy again, but would choose a competitor over them if all other things were equal.
The most important difference on OS X is that ARC is compatible with retain/release, but GC requires explicit support by every framework linked in your app. Some frameworks never added GC compatibility.

In the general case, it is estimated that GC uses on average twice as much memory (high water mark), but direct comparisons are of course very application specific. GC also has the dreaded collection pauses which can make performance unreliable. (Eg stuttering animations)

Biggest drawback of ARC is that it doesn't detect cycles, so the developer needs to have a global understanding of an app to avoid hard to debug leaks.
Well the question looks more like a why instead of a how.. answering the how is simple, if you are starting on a new project (as you seem to be), start with unit tests for all functions, for anything that talks to DBs/external APIs use mocks.

Answering the why,

scenario 0 - it forces you to have functions that do one thing and one thing well. Unit testing mostly helps people keep functions small and focused.

scenario 1 - assume you are working on a fun app without tests. Everything is fine and the app works great. After some time you decide to add a new feature X, and you realize you need to modify an existing function to achieve that.. you modify that, and the new feature X works fine, but two days later you will realize that an old feature Y is broken.

scenario 2 - scenario 1 but with collaborators instead of yourself revisiting the app.

scenario 3 - people use unit tests to understand code - while reading/working on other people's code. Unit tests also serve as excellent examples on how to call/use something, which params to pass etc.

There are a lot more reasons esp for large projects, and you never know when a small one off project grows into something big and critical so its recommended to always start with unit tests as adding them later is usually 10x more work as it would require refactoring etc.
Python has been garbage collected since 2.0.

(Edit: Perl is garbage collected since version 6, and Visual Basic is garbage collected since version 7. I am not aware of any language besides Objective C moving in the opposite direction.)
After iPad initiative failure, school supe says LA can’t buy computers for all
Water is a green house gas? Totally disagree.
i'd only buy them 2nd hand now. Outcry and blog posts don't help with such an attitude. Vote with your money.
I think there's a lot more room for speculation.

We haven't been able to observe nearly enough tidally-locked planets to make general rules about them.

Such new types of planets are likely to exhibit all sorts of phenomena that act as counterexamples to the patterns seen in our own solar system.
Not when it is at the expense of quality, or, say, actually answering the question.
I am the cofounder of a company that serves as an alternative to AdSense. Get in touch with me: joe@publir.com.
In general, don't worry (too much) about tests in the beginning of a project until it's likely you'll have more than one user (aka yourself) and/or paying customers. If you have neither users nor customers, don't feel too guilty about your lack of tests. In many cases, it's more important to make something useful enough that makes an investment in more testing later worthwhile. Later, when you do have users and customers, you will want your tests to discover regressions before your users do.

However, the longer you wait, the higher the risk that you'll discover your code is not easily testable... which will require lots of refactoring to make testable. And that refactoring is made harder by the lack of tests...

In the meantime, if you're truly stuck, write down a list of how you're currently manually testing your code and write down edge and corner cases you're worried about.

(disclosure: I make testing tools for a living.)
It's interesting -- I'd read about this story before but hadn't seen the actual picture. If you have even a mild sense of off-color humor it's really not that bad (I get the joke even without being "in" on it.)

The problem is "the crowd" doesn't generally have even the slightest, subtlest sense of humor, so something like that going public is trouble. Call it the Mass Whoosh Effect :(
And <audio>, and Web Audio, and WebRTC. :)
I found the UX to be horrible for the 5 minutes I used it.
(Apologies if the formatting is problematic, my first post).

1. Stop the service:

sc stop VisualDiscovery

2. Open up your favourite process manager and remove any superfish processes (containing the word superrfish).

3. Perform the uninstall via Add/Remove Programs (under superfish)

4. Confirm %ProgramFiles%/Lenovo/VisualDiscovery is deleted.

5. Open System32 and confirm there are no files beginning with VisualDiscovery

6. Open AppData and confirm that no files start with VisualDiscovery

7. Remove certificates (Firefox and Global).

8. Remove from Registry: HKLM\SOFTWARE\Wow6432Node\VisualDiscovery.

After that, VisualDiscovery should be fully removed.
The reason you _need_ tests is so that (a) when you change some code in the future it doesn't break any of your functionality without you knowing about it and (b) if someone else changes you code it doesn't break any of your functionality without you knowing about it.

If you don't believe that you need unit tests, you won't write them - so step one is persuading yourself that they're useful. So try to remember a time when you broke your code in an unexpected way, and then try to work out what kind of unit test would have helped avoid that.
You are confused. There is no such thing as a loanable funds market. The guy at the bank making the loan does not call the other guy at the bank to look in the safe and see if the funds exist to loan out. Doesn't work that way. Banks have to have appropriate capital ratios in order to stay in business and be considered solvent. Those ratios are entirely determined by regulation. By and large, the only thing stopping a bank from 'creating money' or making a loan is the willing and able consumers.
I prefer BSD due to the slightly higher permissive factors ;[and so forth
Allowing outrage and vengeance of "those at the top" versus "average folk" is exactly what those who engage with the Internet outrage beast think.

The short explanation is that what is "the top"? They believe that their targets are those with power, or privilege, or money, or are an elite, or are not normal and average. It may be an accurate belief. But that's not the point. The point is that it is 100 times easier to convince yourself of someone else is a deserving target than it is to restrain the beast.

Every example in the article was rationalised to have been deserving targets of the Internet outrage beast, which is why it attacked them. Far harder it is to step back and advise tolerance, understanding, empathy, patience.
My biggest frustration with StackOverflow is the massive splitting, combined with the restrictions on low-karma (i.e. new) accounts for subsites.
Lenovo is a big company, and I'm pretty sure that the department responsible for the preloaded junk is completely separate from the people doing security (or, for that matter, any) testing on their regular drivers and utilities.

Unfortunately preloading of software with (to put it mildly) limited usefulness is epidemic in the whole industry, and we also learned that Superfish is only one of many products built with the "Komodia MITM toolkit"! So, I really see this as one outlier in a crappy business. This could have happened to every laptop manufacturer that has crapware in their default-install. Which is every single of them.
You are making an assumption on the host behavior, the assumption being that if you repeat the experiment the host will open a door containing a goat. If you think you're not and that the 1/3 - 2/3 probabilities are correct based on the single observation you made, consider this:

you have 1 black ball and a 2 white balls in 3 different urns each containing a ball. You select one urn A. Some external agent randomly overturns an urn. That ball it contains is white. What's the probability that the ball in urn A is black? The answer is 1/2. Not 1/3. It's 1/2 because you the assumption you make on the external agent's behavior is that it's random. If you don't make an assumption on its behavior, you can't calculate probabilities. If you make the assumption that the external agent picked up the white ball on purpose and will repeat that behavior when faced with similar circumstances, the probability is 2/3.

My point is that if you don't make an assumption on the host's behavior, you can't calculate probabilities.
Enjoy! The most popular course so far!
Google search is FAR more human-driven than they'll ever admit to - for legal and PR reasons.
This is the kind of thing justifying the Right to be Forgotten.
Ask HN: What Are the Pros and Cons in Using Asguard?
We have been using AWS, and we create a different user with authorized_keys imported from github users who are the part of contribute team.

After looking at asguard (), it seems that we can give access to the devs with login credentials.

What will be the perfect use-case for using asguard?
Weibo is dying out
HORRIBLE Snowboarding Fail Captured with Gopro
I'm leaning toward the guys with the Twitter bot being malignant narcissists, so I agree with you. At a minimum, they are gas lighting the victim. I hate to have to watch the video, but I am.
>Now, the thing that stopped me from writing tests was, I thought that ultimately it's a image generation library, why this thing needs any tests.

I'm not sure this one does. It's a very simple library and there's no bugs in the issue tracker.

I would write a test for the first bug you encounter, though.

Or, if you start writing a more complex method on a new feature, start TDD'ing that.
ClickBank University Review
This concern is presumably one of the main reasons why Microsoft introduced "Windows Refresh" in Windows 8 and higher. One problem is that not everyone is aware of this new feature.
I think Wall-E is the more likely outcome. With some getting slightly better prisons (malls).
2: once they're run software on your machine it's not your machine anymore an you cannot know that you have removed all traces of the malware.

Re-installing your OS is not a "just to be safe" measure: it is quicker and more effective than using some malware removal tool.

Using malware removal tools and not reinstalling the OS is sleazy, especially if you charge money for it.
Sure, but somehow their control over the process gives them effective ownership over the people that create the content. Can Netflix replicate that? I think they're getting there judging by House of Cards, but I think it's fair to say that it's not an easier task than the video streaming/distribution one.
Definitely we'd like to, over time! This is just the start, and contributions are welcome :) Servo's a big enough project that we try to reuse C and C++ wherever possible, while being open to eventual Rust rewrites of those components. We're pragmatic above all else.

Also note that, for patent-encumbered codecs, to meet the goals of being freely distributable we unfortunately have to use the platform's native C and C++ implementations, so we're stuck (until the patents expire).
Thanks.

I associate typewriters with a different era, which really wasn't that long ago. An era where we weren't (all) slaves to our work. You worked hard during the day, and went home to a life at night or on weekends. And by life, I mean getting away from work and anything to do with it.

Today--with laptops, tablets, smartphones--that's nearly impossible. And not just for technologists either; business people are just as bad.

It's not regret to see the passage of typewriters, but of the era they represent.
Is there still demand for 32 bit apps? The last 32-bit mac was released in 2006 and the last OS 32 bit OS in 2009?
There's little point to understanding it unless it affects you. Most people think things don't affect them, and sometimes it can seem like just thinking about it can make it affect you when it didn't affect you before. Even I suggest I have a higher level of skepticism than the norm. But I can't really measure that without affecting my level of skepticism. So my psychological understanding might be high right now, but my logical correctness and scientific methodology are probably reduced.

This might have made me upset when I still had my eating disorder, but otherwise I chalk it up to a habit of complaining. The other insight I guess is that people can have correct, rapid switching thoughts and ideas that continuously contradict one another until they achieve a kind of abstract balance.

To me it's one form of maturation. Other people could experience the same thing without the capacity to verbally express it. They may have the insight without the words.
Somehow I have a feeling Cheyer's goal is to sell out once again.
In August of this year I walked into a job interview for an entry-level'ish Rails dev position at a start-up. Already having a great job in education, I made clear that I was weak in testing and needed a plan to patch things up. I'm now very confident with testing using MiniTest. Here're my 2 cents:

- Build something super easy (<4 hours), using Test-Driven Development. The example I used was a URL shortener.

- Rebuild one of your existing apps using Test-Driven Development. If you're wondering where to get started, watch videos titled "creating a simple app using ____ and TDD", or even consider calling the Rails hotline.

- Get someone to look at your test code for you. I learned a ton from this, I can't even begin.

- Use MiniTest. RSpec is amazing, but I found MiniTest to be more transparent as to what was actually happening.

- Check out the codeschool and codeacademy tutorials. Very helpful.

Best of luck. It's a very difficult topic, one that I really struggled with.
On a similar note, there's a clojure-like (syntax) embeddable VM called glisp: https://github.com/zhemao/glisp. I've been tinkering with it to add dynamic plugins to some golang programs.

I'd be interested if someone were to benchmark it against GopherLua.
Thoughts on Supporting Rump Kernels on RTEMS
That's exactly what I mean - words that we otherwise know are used with completely different meaning, which renders the text unintelligible.

I disagree with you completely that 'most educated native speakers' can understand this. By the same token one can say that most native English speakers can solve differential equations :)

The definition of strain you mention is #30 in the dictionary - http://dictionary.reference.com/browse/strain. Can you cite its use in that meaning in a contemporary newspaper or magazine?
Were Women not allowed on the 'normal' conference? Or why do we have this separation?
Weak references don't primarily exist to deal with cycles, and cycles generally often involve necessarily strong references even in systems that support weak references. (That is, e.g., cycles where A needs to be reachable if B is reachable and vice versa, such that a weak reference that allowed B to be disposed while A was reachable or vice versa would not be acceptable. A system that can detect cyclic garbage will still be able to collect both A and B -- connected by strong references -- when neither can be reached from the rest of the program.)
Tidal locking isn't always 1:1. Mercury, the lone tidally locked planet in our Solar System, is locked at a 3:2 resonance. For simple thermodynamic reasons one would expect that in most cases the planets locked at an "offset" ratio are far more likely to be habitable than the ones locked at 1:1. This happens when there are outlying large planets that disrupt the orbit:

http://en.wikipedia.org/wiki/Mercury_%28planet%29#Spin.E2.80...