Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
chousuke
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
74 ms
·
691.
▲
by
chousuke
15y ago
> I think that Clojure's concurrency primitives (various reference types, immutable data structures) are a bit too advanced. While newbies rarely need reference types (other than var, of course), I don't think there's anything particula
692.
▲
by
chousuke
15y ago
It's one thing I respect about RMS. He has a well-defined set of (entirely reasonable) freedoms that he wants to promote, and whatever follows logically from those freedoms is what he recommends to everyone. "His products" are free software
693.
▲
by
chousuke
15y ago
I don't agree with your assessment that adding things necessarily increases complexity. Assuming these things are simple (in the objective sense as defined by Rich), actually suitable for the problem, and used correctly, then any complexity
694.
▲
by
chousuke
15y ago
How does adding several independent simple things make systems more complex in a way that is unavoidable (ie. incidental complexity, not problem complexity)? The interaction between simple elements will be explicit, whereas complex elements
695.
▲
by
chousuke
15y ago
I suppose he means that instead of A calling B directly, A should put work in a queue and B should consume from it, thus decoupling the two entities.
696.
▲
by
chousuke
15y ago
Clojure is homoiconic just as much as CL and Scheme are. It just happens to use more than one datastructure to represent code. The "oneness" in other lisps does not make things simpler, nor, in my opinion, easier. The reason why parens (lis
697.
▲
by
chousuke
15y ago
I think to begin with it's futile to try to cover all relevant behaviour in tests as you introduce new code. Some basic functionality tests will do fine to prevent anyone from completely breaking the code, as well as providing fair document
698.
▲
by
chousuke
15y ago
Yeah, currently Clojure sort of assumes that you know enough to fall back to the Java class library if you can't find something in clojure.core, threading being a good example. The documentation is mostly terse, but there is http://java.oc
699.
▲
by
chousuke
15y ago
Others already mentioned rebasing, but I think the most important tool is the index, or "the staging area". Lots of people not used to Git tend to see the index as an unnecessary extra step, but it's really what enables the good stuff. In s
700.
▲
by
chousuke
15y ago
I think the present tense recommendation comes from the expectation that each commit works as a stand-alone patch. Thus the commit message does not describe what changes you did to the repository, but what the patch does to it. Git provid
701.
▲
by
chousuke
15y ago
Your issues touch the Java side of Clojure which admittedly is not documented very well if at all. Currently you need to implement multiple Java interfaces to completely customise behaviour (which is why Clojure tries to give you enough too
702.
▲
by
chousuke
15y ago
This reply is a bit late but... You're not supposed to do work on the same feature after a merge. I'm not advocating pulling master (or whatever the base branch is) often and merging whenever, so that you end up with loads of pointless merg
703.
▲
by
chousuke
15y ago
namespaces in combination with how syntax-quote (`) autoqualifies symbols and let disallowing qualified identifiers makes it noticeably more difficult to introduce a name clash. for example the following macro results in an error when you t
704.
▲
by
chousuke
15y ago
I don't think that's a good idea in general. It might work for your particular use case, but if you're doing work on a branch you regularly update from a remote, then you will also need to test every time you do a pull. you might introduce
705.
▲
by
chousuke
15y ago
> Hiding away the development of a feature into one large commit makes it harder for people to review. You have it backwards. One commit is much easier to review than three commits that you might not even know are related. Assuming you
706.
▲
by
chousuke
15y ago
So basically you reject a powerful tool out of idealism ("must never ever edit history") and fix your commits manually, also forgoing the possibility of fixing earlier unpublished commits. Instead you could code and commit (you know, use th
707.
▲
by
chousuke
15y ago
How are they useful? Why would anyone care about how you developed a single bugfix or a feature? In your model, often the commits are not even sequential in the log because you might find a mistake only after committing several other change
708.
▲
by
chousuke
15y ago
Another Finn here... I got 25,200. I guess I need to read a couple books. :P My Swedish is atrocious. I can't recall a single time that I'd have had use for it outside school. In contrast, English is useful every day, though mostly in writt
709.
▲
by
chousuke
15y ago
I think committing everything in the working directory is an awful default. Few developers are disciplined enough that the contents of a working directory always make a perfect commit. With git, how you code is a non-issue. The whole idea i
710.
▲
by
chousuke
15y ago
I don't think the point is "more secure" root access. Rather, sudo is just a convenient way to invoke superuser privileges only when necessary. If you need a longer session with uid 0, use sudo -i. Having a separate root login is pretty muc
711.
▲
by
chousuke
16y ago
Heh, I'm the exact opposite. I use a hg-to-git tool to access hg repositories, because I'm much more comfortable with git. I often hear people claiming hg is easier to use and has a better interface, but every time I have to use hg it rubs
712.
▲
by
chousuke
16y ago
I can't draw, but IMO git's basic operations are pretty easy to visualise if you think of the repository and commits as a graph (a tree). You start with the first commit/snapshot as the root, and every node after that is a child of the root
713.
▲
by
chousuke
16y ago
It is trivial to configure Pentadactyl to do this :) The built-in help system is fantastic.
714.
▲
by
chousuke
16y ago
Actually, any key that you don't use as a hintkey can still be used to narrow down the hints. I use lowercase hint keys, and I can hold shift and type the link text (as the matching is case-insensitive, but the labels are not). It works ver
715.
▲
by
chousuke
16y ago
Firefox 4 does upgrades automatically just like Chrome
716.
▲
by
chousuke
16y ago
I suppose CL/Scheme programmers just learn by heart what those combinations do (ie. what kind of structure they work with), because to me both cadadr and the (first (rest ...)) sequence are equally meaningless at first glance. It's not easy
717.
▲
by
chousuke
16y ago
I don't think there's any reason you couldn't have both merges and a clean history. IIRC the git project itself accomplishes this so that the maintainer forms topic branches from patch series sent to the mailing list (a single patch must st
718.
▲
by
chousuke
16y ago
That sounds weird. Are you sure it wasn't a "Recommends" instead of a dependecy? If it really was a dependency, I think a bug should be filed against the package. :/
719.
▲
by
chousuke
16y ago
I have to agree, zsh is a great shell. My only gripe with it is that compiling it on OS X is a pain in the arse because it depends on a weird documentation language called "yodl" which I haven't so far managed to install. It has some weird
720.
▲
by
chousuke
16y ago
No relevant information is lost. You're basically only deleting the reference, which is only a name. As long as you don't explicitly destroy the commits (eg. with a squashing merge or a rebase) the branch will still exist in the repository
More ›