HN user

waxjar

360 karma
Posts0
Comments232
View on HN
No posts found.

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) :)

[dead] 10 years ago

I found that this makes rebasing a feature branch really difficult. The alternative is not much better.

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.

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.

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.

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.

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.

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.

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.

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 :)

JSON Lines 11 years ago

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.

Ruby on Guix 11 years ago

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.

Ruby on Guix 11 years ago

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