Exciting nescala photos posted by PHASE organizer Brian Clapper
# 9:00
1 note
Sink, swim, or splash around.
I think of Scala as a swimming pool; there is a deep end and a shallow end, it seems that many people who haven’t learned to swim yet jump straight into the deep end. Inevitably, after splashing about for a while are surprised to find that their legs don’t quite reach the floor, or that they sank to the bottom and are startled by not being able to breathe under water.
This is a decent metaphor.
- Avoid the SBT
What? No. That is not avoiding the deep end, it is avoiding the pool. Almost every Scala open-source project worth using is built with sbt. If you refuse to use sbt, you can not contribute fixes, enhancements, or tests to any of them.
For example, to make my project a web project, I first had to add a plug-in dependency like this in plugins.sbt …
Listen, it’s not 1997. There are ways to write web applications that don’t require a servlet container. But if you wish to use a servlet container, you could start with a template project. That’s what we make them for.
This made me puke a little bit in my mouth…
4 . Avoid libraries that overuse “operator overloading”
This is going to be fun.
But sometimes you may have no good choice of a library that doesn’t overuse symbols. Although I wrote a HTTP client wrapper for Scala that is mostly symbol-free (except for / and ? for constructing URLs)
For a second I thought there was a principle here.
it was mainly for my own use and I haven’t maintained it properly.
There’s the rub.
On the other hand, Databinder Dispatch, which does use symbols a bit much (as seen from the periodic table above), is quite well maintained.
They said the same thing about chemistry.
~~~
I don’t actually care about the linked post very much one way or the other. It is a regrettable attempt to attract attention by courting controversy, without offering new information. My hopes were high with the pool metaphor, but then the swimming advice was something like “wear a helmet”.
If I have a warning to Scala beginners, it’s to use libraries that are reliably cross-published if they ever plan on upgrading the library or the language. (Cross-publishing is a key feature of sbt, so you know.) With libraries that are only published for one version of Scala, you may have to upgrade your Scala version to get fixes or features in the library, or upgrade the library to get fixes or features in Scala. That would be acceptable if upgrades never introduced bugs of their own.
And if people want to pontificate about Dispatch, they could at least be up to date. I went to some trouble to write about the future of the library in this three-part series { 1, 2, 3 } and practically nobody read it. Why? There was no bullshit controversy.
Since nobody uses RSS or reads boring old “lots of words” posts on tumblr, the only remaining distribution mechanism is to write something silly and hope everybody links to you from their personal shouty stumps. This is most effective if popular convictions are uplifted or ridiculed, and you simply can not go wrong by declaring that a particular departure from convention goes too far or not far enough. The only thing you will fail to do, with such empty debate, is change minds.
Now. If your hunger for polemic is sated and you have a more than superficial interest in Scala library design, allow me to refer you to a series I once composed on the subject…
# 20 Mar 2012
1 note
2012 Northeast Scala Symposium Videos - Marakana
Recently, Marakana headed east for The Northeast Scala Symposium in Boston which featured 16 talks, one keynote, and one panel discussion on a broad range of topics surrounding Scala and functional programming. Marakana recorded all of the talks and will be posting them below as fast as we can edit them.
Summer of Code 2012 Scala Projects | Integration of giter8 in Scala IDE / Eclipse
The idea is to combine these 2 projects together, to allow to create new Eclipse projects based on giter8 templates. The goal is to have a New Project wizard to choose and configure a template, and run the template engine to generate the new project. And to provide a set of templates for some of the Scala frameworks like Akka or Play, and some documentation about the specificity of creating a project template for Eclipse.
Hm. I’ve thought about graphical front-ends for giter8 (and conscript, and pamflet, and herald…). Could be very cool.
# 17 Mar 2012
3 notes
What happened when one of the world’s most unusual, and beloved, computer programmers disappeared.
Second, I needed to figure out how to create and save a program—in my case, just a single line of text. I started off by saving it as a Word document, but it needed to be in plain text.
Is there any wider gulf between us and them, than our primal appreciation for plain text and their unawareness of the concept?
I don’t use traditional office suites for anything, except occasionally and regretfully to read someone’s resume. And I use gnumeric when I need to do arithmetic. (I figure its lack of bloat excludes it from the genre.)
But I have been increasingly using Google Docs as a solution to the prolonged email thread problem, where nobody remembers exactly what was decided by the end of it and somebody must do the difficult work of synthesis or the output is nil. When participants are forced to work on a single document, that just doesn’t happen.
It hit me the other day, as I started a document that absolutely did not require formatting or “page breaks”, that Docs just doesn’t support plain text. That’s really too bad, for the reasons we know so deeply. I would like to collaboratively edit files in the most humane format, and I just can’t do that there.
There are other sites where I can do that, I assume, but Google Docs has critical advantages. People are familiar with it and willing to use it. They can also generally find the document later, as long as you shared it with the Google account they typically use. But if I insist on using some other site for its plain text support, people are going to forget where it is. They’ll have to search their email archives—or worse, write me asking where it was—recreating the email busywork that collaborative editing was meant to avoid.
So it sure would be nice if Google Docs supported plain text.
Also, the linked article is worth reading if you are interested in how non-programmers approach our craft. I do not fault the author for thinking she could write some ruby code with Microsoft Word, though it makes my head spin. If those of us who work in software make an effort to draw users away from complex formats that add no value most of the time, not only would things be better for us and for them—there would be more understanding among all.
# 16 Mar 2012
1 note
Custom email domains for Kindle delivery :: Readability Ideas
I have an idea for building on the Kindle digest service, but I need to be able to pre-process the digest to implement it. If I could enter a free-form domain as an alternative to kindle.com and free.kindle.com, I could target my own email server, manipulate the contents, then send them on to my Kindle address.
Vote for me, e-ink hackers!
# 15 Mar 2012
1 note
Hacking is Important
The growth paradox is that the chaotic means by which you found success might become distasteful to those you hire to maintain and build on that success. Once they’ve established themselves, they will point at the hacking and ask important sounding questions like, “What is it they are building?” or “How does this poorly defined thing fit into our overall strategy?” They will label these hackers “disruptors” and they are 100% correct.
Hacking is disruptive, and whether you code software, write books, or film movies, I believe bringing anything new into the world is a disruptive act. By being novel and compelling, the new is likely to replace something else and that something else isn’t being replaced without a fight.
“When installing the Typesafe Stack you will have access to Scala, sbt and giter8 on your local system.”
# 11:03
2 notes
“Typesafe Console captures the events that comprise your application’s asynchronous processing, links those events into meaningful trace flows across actors and remote nodes” (via Typesafe — Products: Console)
# 12 Mar 2012
1 note
argot 0.3.6 - implicit.ly
- Converted to use SBT 0.11.2.
- Updated ScalaTest versions.
- Added ls.implicit.ly metadata.
- Now publishes to oss.sonatype.org (and, thence, to the Maven central repo).
Argot is a command-line parser library for Scala…
The machine is reassembling itself.
← Older Entries Page 3 of 44 Newer Entries →