Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Skinney
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
56 ms
·
571.
▲
by
Skinney
13y ago
Immutability in general isn't that big of a deal. The problem is that Clojure uses persistent trees for all datastructures, which will trigger alot of retain/release calls. Other than some RC overhead, it should work just fine. A
572.
▲
by
Skinney
13y ago
True, but a Clojure-to-native compiler would be able to use native libraries, which isn't exactely in short supply either.
573.
▲
by
Skinney
13y ago
Persistent datastructures, STM, CAS concurrency primitives and hygenic macros make no sense outside of the JVM? Please... Clojure has host language interop, this isn't necessarily the same as Java interop. It would be very nice to writ
574.
▲
by
Skinney
13y ago
I think it was due to the free version of bitkeeper (which the Linux kernel used for vcs) was taken off market. So the Linux devs would either have to pay for a DVCS or make their own... Several made their own, Git was chosen for the kernel
575.
▲
by
Skinney
13y ago
I wasn't disagreeing, I simply said I never looked at git's history in that way. While I certainly do have a tree, I don't necessarily perceive it as such, especially when using "git log --graph --format=oneline --first-
576.
▲
by
Skinney
13y ago
The rule of thumb is to only use rebase for local commits (commits that haven't been pushed). This causes pain if people have commited, or will commit, work on a branch that has been rebased remotely. I've never really thought of
577.
▲
by
Skinney
13y ago
> There are some things I still don't get about git. And I still find myself with some weird commits that look like I'm committing what other people just committed (because my tree was behind theirs/HEAD, and I had commits
578.
▲
by
Skinney
13y ago
This again, is wrong. Android was made to run managed code from the beginning, it's designed around that very fact. Let me try to enlighten you. In Android, every process spins up its own Dalvik VM. Yes, Dalvik VM, not Java VM, as Andr
579.
▲
by
Skinney
13y ago
All those apps uses the native GUI of the platform, which means they have to use the SDK. Why FB would even consider using the NDK is beyond me, as the FB app is simply a frontend over a web-api, and since you already have a HTTP library in
580.
▲
by
Skinney
13y ago
The Android NDK is usually used for applications that don't use the Android API's (which are all Java). Most applications on Android is written in a JVM-based language. The sort of applications that would typically use the NDK are
581.
▲
by
Skinney
13y ago
Excellent points :) I always heard that the reason for undefined behaviour in C was to allow for certain operations to be implemented in a way that was faster for a given platform. Guess I was wrong. I do disagree regarding comparing the JV
582.
▲
by
Skinney
13y ago
> strlcpy is better because strncpy... I was mostly thinking about about strlcpy and strcpy. The latter indicates no error and can cause a buffer overflow, which IMHO is harder to debug than erronous logic due to a stringer that is short
583.
▲
by
Skinney
13y ago
I've read over several of your answers, and what your arguments boil down to (as far as I can tell) is that people use these functions wrong. While true, incorrect use can lead to an incorrect program, and that people's opinions o
584.
▲
by
Skinney
13y ago
> These APIs do not "fail safe" > This is still a bug in your program Define "fail safe". They don't write more than what you want it to write, which could be exactly what you're looking for. Does it hide
585.
▲
by
Skinney
13y ago
It technically is a full blown OS, just centered around gaming. There are currently 100 or so games available for Steam on Linux. The OS as far as I can tell, is currently in Beta. It's released now so Valve can get feedback and tune i
586.
▲
by
Skinney
13y ago
This was actually written in the book I used to learn C (I think, at least I knew this early on). It seems completely irrational when someone tells you that ptr[3] == 3[ptr], but with the above explination it makes perfect sence.
587.
▲
by
Skinney
13y ago
Lisp macroes have access to code that has already been compiled (which means, everything above the macro, and everything defined in imported files). This gives you access to the entire standard library in your macro. Also, because Lisp code
588.
▲
by
Skinney
13y ago
Agree what you're saying about reading the source. It's actually something I've become accustomed too, as well as just testing things out in the repl. This is a little daunting to new programmers though :/
589.
▲
by
Skinney
13y ago
> There is, but you seem to be hellbent on ignoring it. And you're shouting. There isn't. There is a difference in the way git and mercurial handles anonomous branches (git removes them after a while), which i've already s
590.
▲
by
Skinney
13y ago
How do you twist this to be a result of complicated UI? Git gives a helpfull reminder that commits on a detached HEAD results in a anonomous branch. The only difference from say Mercurial, is that Git warns about this. There is no differenc
591.
▲
by
Skinney
13y ago
> they would not require a lecture to understand how to recover a commit made on a detached HEAD, a lecture that git provides. The only real difference here compared to Mercurial is that Mercurial doesn't issue a warning/lectur
592.
▲
by
Skinney
13y ago
Ah, right. That's only the first time though right? Don't really consider this as a negative.
593.
▲
by
Skinney
13y ago
Actually (1) (2) and (3) are doing the exact same thing. You are retrieving (checking out... checkout) files from storage. "git checkout HEAD" makes perfect sense in this case, cause you are checking out files from the commit poin
594.
▲
by
Skinney
13y ago
Well yes. But in that case Haskell is full of unexpected behaviour for someone completely new to functional programming, as C++ is to someone used to Lisp.
595.
▲
by
Skinney
13y ago
> What's the air speed of a quad/octocopter-style drone? Well, is it an american or european swall, er, drone?
596.
▲
by
Skinney
13y ago
Birds would be a valid concern in the event that they crash into the drone... Drones falling from the sky is due to a pidgin damaging it's rotor would suck. Imagine being hit by a drone and a pidgin :/
597.
▲
by
Skinney
13y ago
Well, to be fair, most unexpected behaviour in js comes from people not knowing the language, or people expecting js to behave like other languages. I do agree though, that js does have its share of design quirks.
598.
▲
by
Skinney
13y ago
This is my oppinion of Go as well. Go has done alot of things right, but the lack of generics is off putting. I would also prefer that the type system could catch null pointer exceptions, but most languages don't give this guarantee, s
599.
▲
by
Skinney
13y ago
The fact that <, >, +, - and other operators are just functions brings alot of benefits. - They are variadic functions, they work on a range of inputs. - Their names are valid identifiers, which allows for function names like list->
600.
▲
by
Skinney
13y ago
Since you use () for more or less everything in Lisp, from declaring functions or records(structs) to calling functions or doing comparisons (<, >, =, etc. are functions in Lisp), you will always get a clump of ) at the end of somethi
More ›