This submission is _advertising_ a paid app to... skip ads.
Question for OP: how would you feel about a browser extension that automatically recognises submissions of this nature and hides them?
HN user
This submission is _advertising_ a paid app to... skip ads.
Question for OP: how would you feel about a browser extension that automatically recognises submissions of this nature and hides them?
This is the sort of input that you'd selectively pick in a unit test, too. What you don't do is also picking inputs like "llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch" too (all lowercase) :)
What about a static website served through nginx, for example?
It seems that some languages provide a pretty good abstraction, memory-wise ;)
I found that this makes rebasing a feature branch really difficult. The alternative is not much better.
Have you had a continental breakfast?
Was going to try it out today, but alas "You can’t use this version of the application “Intercept” with this version of OS X."
I should update already ;)
We use Charles extensively at work, it's a great tool.
The only thing that really annoys me is that, this being a Java app, the interface works slightly different than the standard OS X interface I'm using to.
I regularly use cmd + backspace, for example, to delete all text until between the beginning of the line and the cursor. In Charles this is a hot key that removes all recorded requests. There are more of such things.
I've been looking for a similar app with a native UI, but haven't been able to find one yet.
What happens if a function is renamed?
Processes can communicate. I reckon you could have a process that's responsible for managing the cache instead of managing a separate cache from each process.
I'm no Erlang programmer, though.
I'm sure you know this, but it's not missing that feature. It's just that the syntax is different.
Instead of the fencing token, could the scenario in the blog post be prevented using a good hashing function?
When you perform a write, instead of the token, send a hash of the object previously read. The storage can then compare this against a hash of the resource's current state. If it doesn't match the lock expired and the write is not accepted.
This would reduce the state to keep track off to the resources themselves.
A droplet is just a VPS.
Taking money gives you all sorts of unpleasant responsibilities to deal with. That's not something everyone wants, especially not if you've got a day job you're not planning on leaving.
Why? A currency symbol does not come with a decimal/thousands separator convention.
I don't think this comes up that often.
It's easier to speak in terms of days and halves of days. Often this is accurate enough.
When I lock my front door and leave a spare key under the doormat, my insurance company is not obliged by law to pay for any damages if the spare key is used by thieves to enter my house. I could have easily prevented the situation.
Content publishers should properly lock their front doors, too, and not have spare keys lying around all over the place.
That experiment has been done before! https://github.com/philipl/pifs
Those aren't very fair to the dynamic languages and JIT compiled languages (this includes Scala).
* For the dynamic languages execution time includes the time it takes to lex, parse and interpret the source code.
* For language implementations with a JIT execution time includes the time the JIT takes to properly optimise hot code paths. Generally you start benchmarking after a warm up period in such cases.
The only fair comparisons are those between ahead of time compiled languages.
For me, this only happens when I scroll up. That seems sensible to me.
My personal favorite: a safe, constant time equality method for cryptographic stuff.
Sure, but it's not very convenient.
I regularly MITM a connection between a mobile app and a HTTP server, when something isn't going quite right. A look at the JSON they exchange exposes the problem in under a minute more often than not. If I want to test something out quickly, I simply modify the incoming / outgoing JSON by hand. It's rare to get the syntax wrong and involves no context switches. I can then go back to the code, find the relevant section and make the changes I need to make. I find this a very convenient way of debugging and I don't think it would be as nice to do this with a binary format.
True. Fortunately, we can be reasonably sure there will be multiple good tools to debug something talking over HTTP 2.0. With something like Transit, I'm not so sure.
I don't think I would enjoy debugging a service that talks in a binary format.
Is duplicating a project on the road map?
We've been looking for a tool with a good interface to use as a collaborative check list. Every checklist shares the bulk of its tasks + it has a few unique tasks per project. Duplicating the tasks by hand seems cumbersome.
If anyone has an alternative, it would be appreciated as well :)
An end of file delimiter would do just as well and has a major benefit: existing JSON parsers can be used without considering the whole file as a giant JSON object.
Most JSON parsers simply parse the JSON string and represent it as an object in memory. You don't want to do that for very big files. Stream based parsers avoid this problem, but are more complicated to work with.
So the real solution is better tracking? I don't think this solves OPs problem.
In C
I do something similar to this. My right prompt shows a small fork symbol when I'm in a sub-shell (based on $SHLVL). However, this does not help me much when I'm several levels deep, which is why eventually I started hooking in on changes to $PWD.
I like the approach of using gs (simple gemsets) [1] and dep (simple dependencies) [2]. I've been using this approach of handling dependencies for a while now.
I've written a simple shell script as a replacement for gs (since I constantly forget if I was in a sub-shell or not). All it does is change $GEM_PATH and $GEM_HOME when $PWD changes (while staying in the same shell). If the current $PWD has a directory ".gs", `gem install` will install them there instead of globally. All I have to remember is to create a .gs directory when I start a new project.
It does not address all issues highlighted in the article, nor do I know how well this would work in a production environment with automated deployments. It's probably more of a work around than a solution. I vastly prefer it for personal projects, though. Hate solving gem conflicts with "bundle exec".
[1] https://github.com/soveran/gs [2]: https://github.com/cyx/dep