skysight-inc/HackerNews huggingface dataset:
I use my eyes.

If I can narrow it down to what line, or even file, is throwing an error I just take a few minutes, read all the code and all the code of branching methods, and then can narrow it down to a single line.

From there it is actually developing a fix. As you mess around with more and more languages, you will notice that most compilers lend something far from a helping hand.

This only works, and I will stress this, for programs under 1 million lines. Past that mark, you need to do some extra steps.

When I debug one million line projects, I narrow it down to a file. I pull out the code from the file, and I mock all of the methods that file calls (This gets REALLY hard with networked code. Trust me). From this small subset, I slowly break the functionality of the external method until I resemble the error being made in the main project. From that I now know the method(s) that are actually causing the problem.

But, there is one thing that this makes an assumption about: your compiler is working.

Put blatantly, they're crap.

Usually they won't show you the correct file causing the error or they will not generate a helpful error. Runtime errors are even worse.

The best thing to do is avoid making the tricky errors. Make unit tests, using fuzzing tests, and well made documentation.

Documentation alone, that details all of the possible output and input states of the function will save you days on some bugs.

In Java, the @Nullable tag is a godsend. Use these features, they WILL help.

If you do tests, fuzzing, and documentation.

Using your brain and some things to make your brain's job easier will make you faster at debugging then any debugger like your buds GDB/DDD setup.
Agreed. I don't think unpublish should even exist and it just creates all these scenarios full of subjective decisions that will help some and harm others.

If 1.0.0 was published and it has a serious bug, publish a new package with the bug fix. Let 1.0.0 alone forever.
Completely missed that, well played. Oddly enough I tried PixelJihad on an image and the PNG size was actually reduced nearly 25% but resolution and quality kept the same.
Do you have any plans to run on .NET Core? If so, how soon after it's out as RTM? Any issues with this?
I use vim as my editor, so I tend to use print statements.

I do use the perl debugger though when I am writing perl and when there is a need. The benefit to this debugger is that it comes built into the language.
That is how carpooling works.
This looks a lot like Aneditor from Destroy All Software's talk on the subject. Damn, that thing looked amazing. The funny thing is that it's definitely possible to write: just a lot of really hard work.
Building highly available applications using Kubernetes new multi-zone clusters
It's a public goods game. It's in everyone's best interest to pay all employees more, but it's in no one's best interest unless everyone else does it too.
I use a lot of pudb and a lot of print('\n\n~~~!!!VARIABLE', variable)
I do think he has a point though. Wherever people are wealthy enough to spend money on vacations and other activities, they seem to value leisure time over reproduction.

Currently, the world population is still growing, but that's mostly due to poorer countries and sub-populations. AFAIK, not even the US's whites are enough to sustain the population size:

"Expected lifetime births have also fallen for White non-Hispanic women from 1.91 in 2007 to 1.75 in 2013. U.S. White non-Hispanic births have been below the replacement level of 2.1 births per woman for decades." (http://www.unomaha.edu/news/2015/01/fertility.php).

It is even worse in Europe and Russia.
IFTTT has acted throughout as if they were doing Maciej a favor by letting him implement their API, which makes no sense at all. But! According to zacwest[1], the access they're offering him to their "platform" costs $3000 if you walk in off the street.

So not only are they trying to get people to do IFTTT's work for them, they're trying to get people to pay for the privilege of doing IFTTT's work for them. I'm, er, impressed.

[1] https://twitter.com/zacwest/status/714861944465809408
In the USA you'd be able to copy any software available if it was for research, wouldn't you - provided it's also not commercial then there's a strong case for Fair Use exception.

Non-commercial is not an absolute defence not a requirement for Fair Use by it is a factor and with the educational/research facets ...
Capitalism provides an answer, but it's not to pay people more. Wages are determined by the labor market, and employers should pay market prices.

Rather, capitalism's answer is for companies to return the cash to their shareholders. This can be done either through stock buybacks or dividends.

I'm not enough of an expert to speculate on what happens next. Maybe this would just shuffle the hording problem around. But this would be a very simple first step that works entirely within the parameters of our current system.
> Moving to OpenJDK ... does not retroactively ameliorate any issues they had.

True. It does prevent damages going forward, however, and it removes Oracle's biggest club - a court order forbidding any further shipments of Android.
High Tech: How Silicon Valley entrepreneurs are rushing to cash in on cannabis
I think the meditation/therapy angle is going to be a big one. Being able to get away to a happy place of your choice, maybe with a guided breathing exercise, could be very powerful.
I looked into StackStorm several times in the past and got turned off by its complexity and the choice of MongoDB. And, now, somebody paid money for this? Wow!
> anybody have any pointers?

BabyX First Words https://vimeo.com/103501130

Flexible Muscle-Based Locomotion for Bipedal Creatures https://vimeo.com/79098420
How can we secure college and school campus with more powerful security?
I thought PayPal had a donate button you could use for charities.
In the cloak and dagger world the difference is not that clear.
I was surprised at the quality of this article given the clickbait title.

As an anecdotal case, I recently started working remote most days of the week at my job, and it's been dramatically successful compared to the occasional days I'd do it at my last job. So far as I can tell, the reasons are subtle:

* Hipchat/slack integration: My current job does exactly what is listed in the article: even when sitting next to someone, we rely on the IM client for most conversation. Meanwhile, at my previous job, Such tools were rarely used: IM or email, you'd expect a 24 hour response time, so most questions were handled in person.

* Hours. My current job has remote offices, but only spanning a 3 hour time difference. My past job had offices in Seattle, Detroit, and two areas of India (Pune and Bangalore), so a 12 hour time shift was normal. This made ANY remote action difficult, so teams got more insular, so coordination took more time.

* Lots of Remote-ness. My current team is spread across 4 cities. My previous job had everyone local, except for several people in Pune, India. Thus, the difference to my team in having me work from home rather than office is very little: only one person would actually be in the same office as me anyway.

* VPN. My current job has VPN feel exactly like being there. My previous job had VPN be extremely slow, and some crippling dependencies. We had some workarounds, but basically working remote felt like something you suffered through, not something sustainable.

* Monitors/Home Office. My wife recently redid my office, and as such I have a private space to work from at home, and can plug my laptop into a preferred mouse/keyboard/monitor. This makes me much more productive than I'd be before.
Before You Judge Lazy Workers, Consider They Might Serve a Purpose
GDB and some fprintf calls cut it most of the time. The worst kind of bug is when the program segfaults into oblivion and works fine under GDB but in 99% of the cases that's related to uninitialized memory, which might be a bit hard to find but is quite simple to fix (it's the worst because it sometimes takes a while to figure out where you forgot to initialize variables when it's unrelated to a new change and happened to just not occur during previous changes).
Why's that? Do you know who this particular Randy Bush is and his history with regard to the Internet?
I'm the same, a few console.logs and I've usually found the problem. Meanwhile, others are attaching debuggers to step through code and try to understand it and I've already been done for 30 minutes and got a cup of tea and some crumpets.

Debugging for me is about my using my brain to step through code, not some fancy IDE that stops me from thinking. It wasn't always so easy though, but the first step is to stop using big tools to help you.
There is an astonishing amount of self-importance going on in essays like this. People who believe they are striking a blow against fascism by not attending a functional programming conference that an obscure former blogger is going to as well -- this sort of fantasy is quite reminiscent of the sort of online gun-rights slacktivists who picture themselves fighting off armies of looters or government troops with their personal arsenal.

Make no mistake, in an actual fascist regime people like this would be the first to knuckle under.
Is this only a single page?
You can try 8tracks.com. They have curated playlists based on genre/mood/etc. I generally just search by an artist I like then browse through all the different playlists to find something else I like.
Are "stickers" really a selling point for an app?
BigQuery now charges you just $10,000/mo for a PB of long term storage
A good summary on the differences between DeepBlue and AlphaGo, and one that recognizes the latter is part of a broader trend of successful applications of deep neural networks. I thought this was pretty well written and accurate.
My understanding is that while you may be able to resume activity before then, you run the risk of still being fertile.
No insurance is a huge red flag to me
Am super frustrated with how buggy Evernote is, and would be interested in an alternative, but...

"We currently only support your browser in read-only mode. Read more."

You don't support firefox!? It's not like it's some obscure browser.

Also the demo canvas on the landing page being slightly tilted to the left freaks me out.
Are you sure it helps more than console logging?

Would you be able to debug something without these tools?

Do you think potentially these tools abstract some of the work away from you?

Genuine questions, just interested
- If I know what's the problem just by looking at the bug, I go fix it.

- If I do not know what's the problem, I do everything in my power to reproduce the bug and maybe write a test (as small as possible) that triggers the bug. I enable logging or write a special log function to track relevant state in case the bug is rare.

- Once I know what triggers the bug, I should know the general direction of where in the code it is. I start printing various variables and parameters in case it's a low-hanging fruit like wrong sign or stuff like that.

- If I do not succeed with that, I comment out half of the code and look if the bug persists. If it does, then I know it's in the other half. If it does not, then I know it's in this half. I proceed with this binary search until I am down to 1 statement, which takes a logarithmic amount of steps. I found the bug. I fix it. (This does not work if the bug is in two places or if the bug is a bad memory operation that triggers a bug later)

- Real debuggers like valgrind are rarely necessary if you're familiar enough with the program. In fact, unless you're dealing with the hairiest of hairy memory problems and heisenbugs, you probably do not need a debugger at all. Debuggers are useful to debug e.g. generated assembly when you write a compiler.
In other words, a pure function.

https://en.wikipedia.org/wiki/Pure_function
Disclosure: I work at Google on Kubernetes.

We're really excited to be announcing this support, it makes multiple zone Kubernetes really straightforward. Please let us know what we can do better!
Uh, this might be true for simple programs, but please try and debug complex race conditions with console.logs. It doesn't work very well.
Given that this is part 3 of a series about a drug-lord, I suspect that the author is hinting/leading us to think that the "unknown financier" is Paul Le Roux, without blatantly stating it. (either as a teaser for part 4, or because there's not enough dots connected yet).
Facilitated the creation of wealth is more accurate than created wealth.
Nobody even noticed the middle-ma'am though.
LinkedIn sells it to them if your on that site, thats what they charge $5k a year for on the pro version.

Also when you submit your resume to a recruiting firm, they keep it on file. When the firm gets new recruiters, they gain access to your email. When they leave the firm, they take emails with them.

Emails are still one of the best forms of engagement. SMS text messages are another.
No worries, I get what you're saying and it's something I've observed in myself. I'm usually very calm when discussing my depression with an open-minded person. And by open-minded I mean someone who just genuinely wants to know, asks the question and then listens to the answer.

The thing that gets me (and others) worked up is when people make sweeping generalisations regarding the causes and treatments of depression. No one likes being painted with a broad-brush, but it adds insult to injury when something that has caused me so much suffering is dismissed as trivial and easy to solve. I've spent more than a decade trying to treat my condition. It's not as simple or easy as most people think.

I guess it's also an issue of semantics: 'depression' is a very broad term that gets narrowed down in our minds, based on our own personal experiences. When I hear it, I tend to think of the more serious kind because that's what I've lived through: not leaving my house for two weeks, not showering, eating or sleeping for three days etc... I can understand why some others might think of it more like 'that time my goldfish died and I was sad': this is the fortunate extent of their experience of low moods.

Or maybe I just envy those without brain cooties...
Yay, now AAPL is free to go back to focusing on evading taxes.
Print statements, or logging. Using a debugger is an extremely rare occurance, once a year at most.
Wow. Just wow. Before npm you'd grab a tarball and keep a copy in an external modules directory. If the author pulled their work, you'd keep using that tarball, and eventually migrate to another package.

But agreed. Isaacs seems to do quite a few unilateral changes that cause a hell of a lot of disruption.
And even if we get past the social barriers, there's still cost. I can't imagine a program like this being taxpayer funded (for a lot of reasons that are too numerous to get into) so only those who can afford it will have the option.
>The potential amount of encodable data is larger than the file size of the image itself! Screw secret messages, we’re literally creating data storage out of nothing!

Uh, nope. The file is small because the frames are non random, and thus heavily compressed. If you wanted to store arbitrary data, the frames would be far more random, and therefore take up more space.

(The above was written halfway through the article)

I disagree that you need "deep knowledge of how image compression works". I have very little idea how the actual compression works, the only thing I needed to know was that images are compressed and random/arbitrary data doesn't compress as well for fundamental algorithmic reasons. It's obvious that changing images can make them larger even without any knowledge of the particular compression used.
Yeah, they do. But they do not provide an way to make payments using an API. You have to click and fill it up.
> On the one hand the technique has been available for decades, and UMich's Citi group did an interesting project to see if people could both exchange messages on Ebay using pictures of things for sale, and if so did any images on Ebay have steganographic content (at the time it was the largest source of user supplied images). They didn't find any (except for their own test images). But it presumably continues to be a channel people check.

Wouldn't encrypting the data to be hidden, and then hiding it within random data (say, the low bits of image bytes) be perfectly indetectable? I'm assuming that the low bits of image bytes are uniformly random, but even if they're not then one could still hide data in them, it's just trickier.
Don't see the top comments mentioning that, so I will chip in: I always, whenever possible, try to reproduce the bug in tests first, before launching debugger / adding some statements, etc.

Being able to quickly reproduce the bug time and time again makes a big difference. Some permanent verification that it's actually fixed (at least in the given case) at the end of the session is also nice and adds a lot when doing a major refactoring or something similar. Especially for bugs related to the domain specific requirements, rather than the technical ones.
I've come across some curiosity driven skill acquisition research for robots that is similar to this. Below is a link to one of the articles and more related articles can be found from this author.

https://scholar.google.com/citations?view_op=view_citation&h...
Are you worried you'll get sued by Instructure/Blackboard?
Note, this is part 3 already - parts 1 and 2 lay out more of the story.
Official mailing list link: http://mailman.nginx.org/pipermail/nginx-announce/2016/00017...
I start by asking,
Did it used to work?
If so, when did it last work? What changed? When?
Does it work anywhere else?
And most importantly, can you reliably recreate the bug?

Only after I've grappled with these questions will I move onto log analysis, printfs, the debugger, data fuzzing, etc.
I know of ILP but have never used it. Can you point me to a good tutorial?
Hands-on review of SoundCloud Go
Twitter versus Facebook: Scraping, Faking and Influencing
CloudOps: 6 best ways to manage hybrid cloud performance
So you litter your code with console.logs?
This addresses unpublishing but what happens to (dubious/real) trademark claims under this new policy?

Would this keep kik in the registry instead of forcing the dev to give it up?
Lyft's alternative to UberPool is called Lyft Line. Pretty sure they actually launched that (a bit) before Uber as well.
If unpublish shouldn't exist, then neither should there be the ability to rename packages.
Thanks. It's for a general audience, so I gloss over many details, but tried to do so in a way that remains broadly accurate. The Monte Carlo tree search, in particular, involves many finnicky details that I couldn't get into in this kind of essay.
Top 18 Scrum experts and accounts to follow on Twitter
My guess is someone in China will use it to create some sort of hair restoration method or device.
> Don't make the mistake of pronouncing "Exxon" like "exon"; you will appear unsophisticated.

This is some really advanced trolling, on the level of the emperor's new clothes.
I'm not concerned. I also walk around my neighborhood at night, even though some folks have told me that's not safe.
Cannot stress enough how happy I've been since moving all my domain names to Google. Also, sometimes I've had questions and their phone support has been spot on. Side note (my 2 cents): In the past, I was happy with using Hover.com and thought their support was top notch, Google blows them away.
Hiring a hacker: 8 tips to improve your application security
True, but most (all?) NPM packages use free software licenses. If you use such a license you've already granted an irrevocable license to everyone. NPM doesn't need your explicit permission to upload the package to begin with.

If you want to be selective about who can freely distribute your code, then you shouldn't be using a free software license.
Time to get this cloning thing up and running, might be easier to get more of you than to get you alone to fix it all.
It feels a lot like Hackpad, which is great.

One of the main issues we had with Hackpad, though, was that the collaborative editing led to it being used for note-taking with third-parties, and it was really easy to inadvertently share a document by putting it into a space that was public or shared.

What are your plans with Canvas to make sharing easy within a team, and but less error prone for sharing outside?
So, fully serious and non-sarcastic question since I'm not a node developer, what is in that 673MB?
It seems to be cut off after "The only way out was to spill his secrets."?
Reviewing the common nature of the disagreement in replies is also a good way to practice presenting unpopular opinions. There's a lot of pitfalls I've learned to avoid when being tactful
I completely agree with you. Although Video vs Audio content can be a differentiation, especially in the growing market where there is a shortage of data.
It took Apple 12 years to deprecate Carbon API. It is still being shipped for compatibility.

Nobody really throws away anything, that other people are depending on. Especially, if you are depending on their continued investment into your platform.

Otherwise, Windows Mobile to Windows Phone happens. Or Python2 to Python3 (how many years it is already taking?)

So two major releases is too optimistic. Especially in android world, where more than two major releases are used simultaneously.
> The only downside of compulsory voting is that there are more votes to count

Australia has compulsory voting. It also has the donkey vote, estimated at 2% of votes. That is a downside.

http://australianpolitics.com/voting/electoral-system/donkey...
Clearly the US makes a massive amount of cash selling weapons; yes, US is not an "arms dealer" - but likely comparable.
One very important "soft skill" aspect to debugging code is time and ego management. There are times when all I want to do is "solve the problem" and if it means losing 4 hours of sleep over it, my obsession will let it happen. But I'm starting to learn there should be thresholds before letting the problem go and asking for help. Sometimes the fastest way to solving a problem isn't brute forcing it, but getting away from the problem, letting it simmer, or asking someone more experienced.
I'm not that good to pull that off with other people's code. :-)
"When one person pushes on this wall it is stationary; so if two pushed it would move"

The action of the Fed is not constant; it is a reaction to the level of inflation/deflation. When the Fed is succeeding in meeting their target, any variation in inflationary/deflationary forces is cancelled.

Of course, Fed interventions are not perfect at accomplishing that goal; they don't always have the force to meet their targets, and all interventions have side effects. But to treat the Fed's actions as independent of economic conditions seems to mischaracterise its function entirely.
One service you could consider offering is "resolve IP at past date". I don't know that the standard providers do it and it useful when, for instance, batch-processing a backlog of session data.
New startup idea: "Dependence As A Service". For a nominal fee we'll automatically upload a package that depends on any version of any other package that you desire, and we guarantee that we will never yield to any frantic, desperate pleas to excise these dependencies!
You remove them when you've figured out what's wrong and fixed it
This is going to sound silly but the crooked box at the bottom of the home page is so off putting.
Google unveils Fiber Phone, a $10/month home phone service
I actually use that as an interview question: "A user reports a bug. What do you do?". Ideally they mention "writing a failing test" somewhere before "fire up the debugger".

It depends strongly on the circumstances of course.