BASE (Bay Area Scala Enthusiasts)


BASE Meeting #43 - Mon Nov 14th 7pm at LinkedIn, Mountain View

posted Nov 8, 2011, 12:30 PM by Domain Admin

Continuing the recent jam-packed content for the Bay Area Scala Enthusiast meetings, this month we once again bring you a double-headliner.

Mark Hamstra will talk about Spark:

The Scala-centric part is the Spark cluster computing system that I am working with (http://www.spark-project.org/).  The actual data mining algorithm that I've re-implemented in Scala/Spark is Classification based on Predictive Association Rules (CPAR -- http://www.siam.org/proceedings/datamining/2003/dm03_40YinX.pdf).

Spark is in many ways similar to MapReduce/Hadoop, and leverages much of the same infrastructure. The talk will cover the entire Hadoop ecosystem from a high level, how Spark fits in, and what the significant differences are -- particularly the Mesos cluster manager, Spark's distributed data sets and their support for iterative algorithms, and more.


And then James Earl Douglas will talk about a declarative UI framework he has put together using continuations and functional reactive programming.  It's a neat way to hide the noise of Java's ActionListener API and to keep UI behavior cleanly defined in one place.


Since Dick will be in Belgium for Devoxx, Dave Briccetti has kindly volunteered to step in and run the meeting. Thanks Dave.

We will also have lightning talks and pizza.

The details:

Monday 11/14/2011
7pm-9pm in the Unite Conference Room
2025 Stierlin Ct
Mountain View, CA 94043


See you there for a fun evening. Please try to arrive a little before 7pm to ensure you can get in easily.

Base Meeting #42 - Monday 10th October at ***FourSquare*** in SF

posted Oct 7, 2011, 3:00 PM by Domain Admin

Please note the change of location for just this upcoming meeting. FourSquare has volunteered their offices in San Francisco, as well as pizza and beer, and a speaker.

The offices are at:

363 Clementina St
btw 4th & 5th St
San Francisco, CA 94107

Use http://g.co/maps/5rqer for a map link.

This month we have a double header. Holden Karau will talk about Slashem, a Rogue like DSL for using SOLR from Scala. We are also welcoming Indrajit Raychaudhuri to talk about SBT 0.11. This is a meeting not to be missed. As always, the meeting starts promptly at 7pm to please aim to get there by 6.45 to be sure of getting in to the building without problems. We will also have lightning talks if anyone volunteers, and some general admin updates.

Thanks and see you there

BASE Meeting #41 - Monday 12th Sept 7pm at LinkedIn

posted Sep 11, 2011, 4:33 PM by Domain Admin

This month's meeting, at LinkedIn in Mountain View, will feature a double header: a talk on SubCut (Dependency Injection/Service Locator) by Dick Wall, and a second talk on Swarm (a continuations library for Scala) by James Earl Douglas.

We will also have lightning talks and pizza.

The details:

Monday 9/12/2011
7pm-9pm in the Unite Conference Room
2025 Stierlin Ct
Mountain View, CA 94043


See you there for a fun evening. Please try to arrive a little before 7pm to ensure you can get in easily.

Base Meeting #40 - August 8th, 7pm at Atlassian, SF

posted Aug 6, 2011, 12:26 PM by Domain Admin

This month, Bill Venners will talk about new features in ScalaTest, and you will have your chance to give feedback and influence the future development of the ScalaTest project. In addition we will have lightning talks (including possibly a quick one on compiler plugins by yours truly), office hours for people struggling with a scala problem, or who just want to shoot the breeze, and of course the usual Scala centric social networking. Please join us.

The meeting will be at the Atlassian HQ, in SF at:

375 Alabama St, San Francisco, CA 94110
For directions, use this map to the meeting: http://goo.gl/evvKC

The closest BART station is 16th and Mission - about 4 blocks from the Atlassian offices. Reportedly parking at that time of night should be fairly easy as well.

When you get there please go up to the third floor for the meeting. If the door is locked, please be patient, someone will make a sweep every few minutes to let you in.

In addition to generously providing a location, Atlassian is also providing pizza and refreshments. I don't know if there will be T-shirts like last time, but you should come along and find out, just in case :-).

Thanks, and see you there.

Base meeting #39 - Monday July 11th, 7pm at LinkedIn in Mountain View

posted Jul 11, 2011, 12:52 PM by Domain Admin

The next Scala BASE (Bay Area Scala Enthusiasts) meeting will be held at LinkedIn, on Monday, July 11 from 6:30 to 9:00pm. This talk is open to the public and will include presentations from Dick Wall and Vlad Patryshev. Please email Dhananjay Ragade at dragade@linkedin.com to RSVP.

Synopsis

This is open to all and a good opportunity to meet other scala language users. Dick Wall (of Java Posse fame) will give a presentation on Scala best practices, "Idiomatic Scala". Vlad Patryshev will also give a lighting talk on solving a dynamic programming problem with scala. We'll have pizza too, so please be sure to RSVP so we know how much to order!

Location

Base Meeting #38 - Monday June 13th 7pm at Atlassian, SF

posted Jun 10, 2011, 4:11 PM by Domain Admin

Please note change of location from previous San Francisco meetings

The next BASE meeting will take place on Monday June 13th at 7pm in San Francisco in the Atlassian offices located at:

375 Alabama St, San Francisco, CA 94110

For directions, use this map to the meeting: http://goo.gl/evvKC

The closest BART station is 16th and Mission - about 4 blocks from the Atlassian offices. Reportedly parking at that time of night should be fairly easy as well.

When you get there please go up to the third floor for the meeting.

This month we welcome Lalit Pant to talk about Kojo - A desktop application for learning programming in an interactive and fun way. You could think of it as the Scala REPL with a graphics display attached, allowing you to create graphics interactively. Lalit says its influences include Logo, Processing and the Geometers Sketchpad. It's a terrific learning environment and has applications beyond that, providing an interactive mathematics and geometry exploration environment.


In addition to this we will have lightning talks (if anyone volunteers to do one). Atlassian is kindly providing pizza for the meeting as well.

Please help spread the word about the change of location to anyone you know to be a regular but who might not have heard. Thanks and see you there.

BASE Meeting #37 - 7pm Monday 9th May at LinkedIn in Mountain View

posted May 7, 2011, 11:25 AM by Domain Admin   [ updated May 7, 2011, 11:37 AM ]

Lift and Scala at the Guardian Newspaper

The Guardian is one of the best known national newspapers in the UK. Their online presence, guardian.co.uk, has the second highest readership of any online news source after the New York Times!

The team behind the online site are gradually replacing their Java, Velocity, Spring and Hibernate stack with a combination of Scala and a suite of Scala libraries, including Lift.

Members of the team are in town for Google IO and have volunteered to share their experiences in making this switch. It should be an extremely informative and pragmatic evening for anyone curious about making the same kind of switch, or even just for finding out the libraries, tools and approaches they have used in the migration.

As always, there will be a few minutes for lightning talks before the main talk starts.

Thanks, and see you there.

As always please plan to arrive a little early to get into the meeting (security means the doors must be kept locked, so we will be running down to the lobby every few minutes to let people in until 7pm).

LinkedIn is kindly providing facilities and refreshments for the event. Check below for information and map:

http://tinyurl.com/BaseLinkedIn

As you turn in to Stierlin ct you will see signs for the BASE meeting, please follow those for parking and for the correct meeting room. The map shows one of the offices we meet in, but it could be different on the night, just follow the signs and you will be fine.

LinkedIn is kindly providing pizza for tonight's meeting

BASE - No Meeting In April

posted Apr 10, 2011, 3:26 PM by Domain Admin

Just a quick notice that there will not be a meeting this month (April). Normal service will be resumed in May with a meeting on the 9th at LinkedIn in Mountain View.

Please keep an eye on either this site or the BASE Google Group for announcements. The next San Francisco meeting (in June) will be at Atlassian's offices, more details as soon as they are firmed up.

Thanks, and see you next month.

BASE Meeting #36 - 7pm Monday 14th March at LinkedIn in Mountain View

posted Mar 8, 2011, 7:45 PM by Domain Admin   [ updated Mar 14, 2011, 11:14 AM ]

Talking Puffin!

This month, our own Dave Briccetti will talk about his project, Talking Puffin - a Twitter client written in Scala, which just had its 1.0 release. Dave will cover the following topics, among others:

A small Scala wrapper around the Java Twitter library, Twitter4J
Generating Web page XML constructs using functional features
A Lift widget for the Flot jQuery plotting library, with new pan and zoom support
Word frequency counting, for finding often-used words, and frequently @mentioned screen names
Using Scala functional features to analyze Tweets
Ajax and Comet with Lift
Running under Jetty and Tomcat

This talk should be suitable for Scala beginners to intermediates, and experts may enjoy educating us in the code walkthroughs.

In addition to this main talk, we already have a couple of entertaining lightning talks lined up. If you want to fill the third lightning talk slot for this meeting, please let us know on the BASE google group, or just come with a lightning talk ready to go (5 minutes limit, any subject is permitted).

Thanks, and see you there.

As always please plan to arrive a little early to get into the meeting (security means the doors must be kept locked, so we will be running down to the lobby every few minutes to let people in until 7pm).

LinkedIn is kindly providing facilities and refreshments for the event. Check below for information and map:

http://tinyurl.com/BaseLinkedIn

The room is the main big presentation area called "Unite" at 2025 Stierlin Ct. just up the stairs past the entrance.
As you enter from Shoreline Blvd, and drive down Stierlin, this building will be on your right BEFORE you get to the big courtyard.

UPDATE: LinkedIn is kindly providing pizza for tonight's meeting

BASE Meeting #35 - WEDNESDAY! 16th of Feb (Note different day), 7pm at Twitter in SF

posted Feb 10, 2011, 9:26 AM by Domain Admin   [ updated Feb 10, 2011, 9:37 AM ]

Hi everyone

We are changing the day for the BASE meeting just for this month - this is to avoid Valentine's day, and also because Mark (our kind Twitter host) will not be available on the 14th to let us in. As a result, we are moving the meeting to Wednesday next week, just for this month (back to normal next month). 

This month's talk will be from Kip Kohn on Tie - see below for a full description of the topic.

I will be out of town for this meeting, but Vladimir Giverts, with help from Dave Bricetti and Mark McBride, will be hosting the evening. I know there will be at least one lightning talk (feel free to volunteer your own on the night if you would like to do one).

The meeting will be on Feb 16th (Wednesday), 7pm at Twitter HQ in San Francisco, please aim to arrive 15 minutes early to sign in at reception.
Twitter HQ is located at 795 Folsom St., Suite 600, San Francisco, CA, 94107 

Map: http://tinyurl.com/BaseTwitterNew

Unfortunately we do not have a pizza sponsor for this month, unless someone would like to step up (please contact me on the BASE Google groups if you do).

Here is Kip's description of Tie:

We all know that a good picture is worth a thousand words, but what we'd just as soon forget is that making a good one programmatically requires tweaking at least that many knobs and dials of various drawing objects to have them render just so. It never seems very complicated when sitting in front of a WYSIWYG editor like Inkscape or Visio, but writing a program to generate the same drawing sure is. Clearly, there's something far more intuitive about the application controls--something which better approximates our thoughts--than when we're forced to linearize our thinking into code. Your mileage may vary, but any sufficiently complex rendering layout I've undertaken seems to reflect the visual essence in no more than one quarter of the program. Another quarter is a hunk of boiler-plate to initialize various graphics objects, like colors, gradients, or a graphics context (whatever that means). And, worst of all, the last half is a slew of semi-ad-hoc algebraic calculations needed to bridge the chasm between my intentions for the visualization at hand, and that drawing tool's available primitives. I'm talking about things like: "for the center to sit there, where would the upper-left go?" Or, my personal favorite, "how big should this shape be to hold that text caption, and yet not be too much bigger or smaller than the ones nearby, each with their own caption?"

If visualizations weren't so compelling, I just wouldn't bother. But the high-bandwidth channel of our eyes is too rich to squander. A pair of beautiful 'little languages' are exceptional attempts to solve this 'death by a thousand calculations'. They are: pic(1) by Brian Kernighan, and (Graphviz) dot by Emden Gansner and Stephen North. Both know largely how to Do The Right Thing. Even so, since neither is a full-featured programming language, each projects unfortunate limitations on one's ability to both tweak The Right Thing to be correct in a slightly different way, or to package solutions for later reuse. In the end, I've addressed the latter by resorting to generating the little language (as text) from modules written in a high-level language. It's about as fun as it sounds, though fortunately the resulting drawings look a lot prettier than that code.

In the hacker spirit of "scratching my own itch", I've created 'Tie', a Scala graphics package for generating technical drawings programmatically. It consciously embodies the spirit of PIC and DOT, rather than, say, the Java AWT. Its functional approach of building larger drawings by composing and transforming smaller ones is also loosely inspired by Paul Hudak's inimitable tutorial, "The Haskell School of Expression".

Like PIC and DOT, Tie is also a programming language, one which is hosted within Scala. This means that it is not another 'little language', but a strongly-typed modern object-oriented language with first-class functions, anonymous classes, type inference, extensible pattern matching, and a collections library which encourages one to program in aggregates. So, whether you have data to visualize, a network to monitor, or a system architecture to model; any time you need to parametrize a part of your drawing, you could accept a function or perhaps a user-defined class instance as a value; just as any functionality you want to leverage later, could be defined as a mixin or a derived class--even a curry-able function. Naturally, laying out a nice drawing still requires a little geometry, but, thanks to these facilities for abstraction and modularization, most of the basics have been swept out of sight into the library, which, like the Scala Standard Library, has been written in user-space, and so may be reimplemented if the need arises. With the right abstraction then, the intent behind the visual layout actually becomes a separable concern from the mathematics to effect that layout.

While illustrations in Tie are format-agnostic, renderers exist for both SVG documents and PNG images. At present, roughly 90% of the non-animation portions of the SVG 1.1, 2nd Ed. specification (of June 2010) is supported. One may draw common geometric shapes, render images, write text, or formulate arbitrary paths by composing lines, arcs, and bezier curves. Then, transforming shapes by scaling, rotation, reflection, and more is made deceptively simple, for its power. Finally, beyond basic coloring, Tie has support for linear and radial gradients, repetitive tiling of patterns, and clipping and/or masking of one shape by another, all with precise opacity control. Essentially, with the notable exception of filter effects--which are on the way--if you can show it in SVG, you can write a program to render it for you with Tie.

The best thing, however--what makes it even cooler than SVG, which already expresses these kinds of drawings--is Tie's rich offering of state-of-the-art modularity constructs. From deep support for blending the best of functional and object-oriented programming, to the ability to build one language on top of another, Tie rocks because of its Scalatude!

Not surprisingly, there's a quite a bit to the project, and a lot of ideas and code to discuss. I'll begin with an overview of the language's domain model, and then move into how the constructs are expressed in actual code. In a few instances, I'll call out some of the Scala features and idioms which either made implementation exceptionally simple, or perhaps resulted in a more powerful interface than would have been possible under Java. Those last pieces would cater more toward the Intermediate Scala Programmer, but the talk should be well-understood by those who know little more than basic Scala syntax. Since drawing pictures offers such immediate gratification, perhaps playing around with Tie would a good vehicle for some fence-sitters to finally dig in and write more Scala. Throughout, there will naturally be a number of drawings for those, who merely want to drink beer and look at pretty pictures.

At the moment, Tie is under quite active development, to the degree that I need another day or two to finish testing some of the features I've crammed in during the run up to this initial public release. I'll get the bits up Thursday or Friday, so those, who would like a chance to play beforehand, may take an early look. Once I've done so, I'll send out a follow up announcement to the group. Bring your feedback--hope to see you there!

1-10 of 19