Never tried Windsurf in it’s recent form but we did evaluate it when it was still called Codeium and everyone liked Copilot better.
411 karma · joined March 28, 2008
Never tried Windsurf in it’s recent form but we did evaluate it when it was still called Codeium and everyone liked Copilot better.
I am trying them out in some enclosed fixtures, too early to tell how that will work out.
Anyway, if you don't want to look at it, that's your loss - while I don't think CAL has much of a future a lot of work was invested in it by a very talented team and there is probably something to be learned from it.
I've worked quite a bit with CAL over the years and it has been used for some serious work. One of my big frustrations with it though has been the clunkiness of the Java interop, especially since this is one of the reasons you might choose to use a language on the JVM.
Looking at the Frege docs, I like the look of the way this has been handled - rather than using an FFI-style approach, things like Int, String etc map directly to Java types and Java classes can be used like ADTs, which would make life way, way easier.
Given the nature of the language calling Frege from Java is always going to be more complicated but it looks like they've done a nice "fluent" Java API for calling into the runtime.
Would be interesting to see how this performs relative to CAL, in terms of both speed and space.
I've spent a fair bit of time in both places since then and it's not changed my view much.
Were that not a design criteria it might have been better to make things strict by default and have a "lazy" monad rather than do lazy by default and use monads for all the side effecting stuff.
Answer: you do it with callbacks, because they are literally the only mechanism available. Welcome (back) to callback hell.
We don't use D3 for our visualizations (I'd love to, but our users can use the dashboards "live" and, well... Internet Explorer 8) and we snapshot the entire dashboard - which isn't quite as clever as what is done here, but does have the advantage that the resulting mail is self-contained and does not require the dynamically generated images to be hosted somewhere.
Like these guys, I have nothing but good things to say about PhantomJS. We'd previously used another "headless webkit" - wkhtmltoimage - in a similar role but Phantom's design as a general purpose scripting engine for headless browsing tasks is much, much more useful.
(Edit: corrected "one or more" to "zero or more".)
I've been using GWT solidly for the past two years (not my choice for the project, but sometimes you just have to play the hand you are dealt) - and IMO GWT's biggest problem isn't so much that it is Java, but rather that it is Java without any dynamic features (i.e reflection, late binding etc.)
I could rant at length about the dark alleys that GWT's overemphasis on static analysis can take you, just a massive hairball of impenetrable compile-time code generation in order to provide features that would be trivial if you could just reflect on things. Ironic, given the fact that your code is actually running in Javascript.
So while I don't believe static typing is inherently a bad thing, you can definitely have too much.
I did quite a bit of real paying work on BBC Micros back in the day, and think they were great - but reading the way people tell the story today, one would be given the impression that the NewBrain was some kind of grim socialist piece of junk. It was actually a pretty decent bit of kit, quite a bit better quality than many of the other micros on the UK market at the time.
In an ironic turn, the company I worked for doing the BBC stuff later moved into Grundy's old premises in Teddington after they went bust.
Not sure that they beat high-end phones though. I have some HD650s at home, and trust me, they are nicer to listen to (but being open, would annoy the hell out of my co-workers.)
This seems kind of grouchy I know, but I am getting a bit tired of these wildly overblown titles attached to very thin blog posts. I knew what I'd see when I clicked the link and was just as disappointed as I'd expected to be. I guess I have a masochistic streak.
The actual stories of those three editors, their authors and how those stories intertwine would probably be pretty interesting. I guess I'll have to wait for This American Life to tackle it.
Neither Scala or Clojure's compilers generate byte code that is expected to work with that from another version of the respective compiler or with a different version of the language runtime.
In the case of Clojure this is mitigated by the fact that (since it is a dynamic language) that applications and libraries are generally delivered in source form and "ahead of time" compilation is seen as an optimization rather than a code delivery mechanism.
(I used to work at SAP on Streamwork, which was done at the former Business Objects development centre in Vancouver.)