Danny Loves Racket

Speaker: Danny Yoo
Date: Dec. 6, 2011

Description: Three weeks ago, Carleton showed us his love for a little language called Java. With generics, anonymous classes, aspects, and JVMs passed by reference, he showed us that Java is suitable for implementing complex algorithms and data structures. But is Java the only such language? And are there programs that Java is no good for?

This week a new challenger approaches. Danny Yoo is going to show off a language so elegant and powerful it doesn’t do it justice to present it on its own. Instead, we’ll be learning two languages in one afternoon. It’s just that one will be built inside the other. The target: Brainfuck. The platform: Racket.

Danny Loves Racket (and the 1,000,000 other languages inside of it)

My Favorite Language Series:

Picking a programming language is like being a nerd in a elementary school playground. Inevitably some bully will give you a wedgie, demand you use their favorite language, and the rest of your coding life is set in stone. The time has come to cast off the chains that bind you and make your own language choice. The playground of languages is a fierce jungle and not for the weak of heart. To prepare you for this endeavor, the “My Favorite Language Series” will bring advocates from all floors of the CIT to discuss their favorite languages. Programming language cultism has gone on too long, let the language wars begin! Only the strongest will survive. Or maybe just those with the best IDE.

Posted in Talks | Leave a comment

Negotiating Job Offers and Salaries

Speaker: Eli Upfal
Date: Nov. 29, 2011

Description: This week’s REST session will continue our series about the academic job search. Prof. Eli Upfal will be leading a Q&A discussion about negotiating job offers and salaries. For those who want a quick summary, I imagine it will go something like this:

Mel: Where’s your report card?
Cher: It’s not ready yet.
Mel: What do you mean, “it’s not ready yet?”
Cher: Well, some teachers are trying to low-ball me, Daddy. And I know how you say, “Never accept a first offer”, so I figure these grades are just a jumping off point to start negotiations.
Mel: Very good.

(Clueless, 1995)

Posted in Talks | Leave a comment

Feature Filtering for Instance-Specific Algorithm Configuration

Speaker: Yuri Malitsky
Date: Nov. 22, 2011

Description: Instance-Specific Algorithm Configuration (ISAC) is a novel general technique for automatically generating and tuning algorithm portfolios. The approach has been very successful in practice, but up to now it has been committed to using all the features it was provided. However, traditional feature filtering techniques are not applicable, requiring multiple computationally expensive tuning steps during the evaluation stage. To this end, we show three new evaluation functions that use precomputed runtimes of a collection of untuned solvers to quickly evaluate subsets of features. One of our proposed functions even shows how to generate such an effective collection of solvers when only one highly parameterized solver is available. Using these new functions, we show that the number of features used by ISAC can be reduced to less than a quarter of the original number while often providing significant performance gains. We present numerical results on both SAT and CP domains.

Posted in Talks | Leave a comment

The Academic Job Search

Speaker: Uǧur Çetintemel
Date: Nov. 15, 2011

Description: This week’s REST session will be about the academic job search. Prof. Uǧur Çetintemel will be leading a Q&A discussion. If you’ve never given any thought to post-graduation plans, or if you’re on the Nth revision of your Teaching Statement, this week’s REST is for you! As background material, we suggest the following article Uǧur wrote about his experience on the academic job market in 2000-2001: “On the Academic Interview Circuit: An End-to-End Discussion.”

Posted in Talks | Leave a comment

Carleton Loves Java

Speaker: Carleton Coffrin
Date: Nov. 8, 2011

Description: I am gonna tell ya’ll why JAVA is wicked cool, and why you should love it like I do. If you think Java sucks, too bad. You can tell me why at your own favorite language talk. For serious, this talk will assume basic knowledge of object oriented languages and focus primarily on some of the more advanced language features.

My Favorite Language Series:

Picking a programming language is like being a nerd in a elementary school playground. Inevitably some bully will give you a wedgie, demand you use their favorite language, and the rest of your coding life is set in stone. The time has come to cast off the chains that bind you and make your own language choice. The playground of languages is a fierce jungle and not for the weak of heart. To prepare you for this endeavor, the “My Favorite Language Series” will bring advocates from all floors of the CIT to discuss their favorite languages. Programming language cultism has gone on too long, let the language wars begin! Only the strongest will survive. Or maybe just those with the best IDE.

Posted in Talks | Leave a comment

Mining Multiple Code Branches: challenges and solutions

Speaker: Alex Tarvo
Date: Nov. 1, 2011

Description: Today all of us want to be more efficient, and software engineering is not an exception. People are working on smart solutions to make development and maintenance easier and less expensive. There are lots of methods to do that – testing optimization, risk prediction, program understanding and other ones. But these fancy techniques have one thing in common – they need plenty of data about the system: about changes and bug fixes in it, about developers who are making the change, about system componentization etc.

Normally people mine this information from software repositories, like version control systems (CVS, Subversion, Git etc). Such mining can be relatively simple if only one branch has been used to develop and build the system. But it is hardly the case now.

So in this talk I will present what are the problems associated with the multiple code branches, how they affect mining software repositories, and what are solutions for these problems. This presentation will actually follow the talk I’ve done on the ICSM’11 conference about a month ago.

Posted in Talks | Tagged , | Leave a comment

Achieving Ph.D. Candidacy (a.k.a. Surviving the First Two Years of the CS PhD)

Speaker: Carleton Coffrin
Date: Oct. 25, 2011

Description: I will be leading a discussion about the core requirements for PhD Candidacy, specifically, courses, programming comps, and research comps. We will also get into some of the more subtle/unwritten points about why the candidacy system is particularly vague in some areas.

A note to first and second years: This discussion is for you and, with any luck, it will make your first couple of semesters more enjoyable. Please make your best effort to attend.

A note to those who have reached candidacy: I was asked to lead this discussion simply because my office door happened to be open at the right time. I gladly welcome all of the PhD candidates to join me in sharing their experience and opinions on these subjects.

Slides: [Access restricted to Brown CS only] “Achieving PhD Candidacy at Brown” (PDF)

Posted in Talks | Leave a comment

JavaScript Research at Brown

Speaker: Arjun Guha
Date: Oct. 18, 2011

Description: I will give a high-level overview of three Web-related research projects
done by Brown PLT.

1. Verifying Web Sandboxes: Modern Web sites combine data and code from
third-party sources. Malicious third-party code on sensitive sites can easily
steal data or masquarade as the user. There are various Web Sandboxing
systems, such as Google Caja and Yahoo! ADsafe, that use programming
language techniques to make it “safe” to embed untrusted, third-party code.

We will see how Web Sandboxes are supposed to work and why they often break.
Various research groups have gone bug-hunting, but our group is the first
to verify a Web Sandbox. We will review our technique.

2. The Essence of JavaScript: JavaScript impedes reasoning. If you build a
tool or write a proof that works over JavaScript, it is probably wrong.

We will see why JavaScript impedes reasoning and a way to tackle it without
losing your sanity.

3. Flapjax: JavaScript still impedes reasoning. We will see why JavaScript
(and all other mainstream languages) are sub-optimal for writing rich,
interactive programs.

We will demo Flapjax, a reactive programming language that allows
programmers to write in a declarative and compositional style.

Posted in Talks | Leave a comment

REST canceled today

REST is canceled for Tuesday, April 12, 2011, so that we can attend the security talk by Michael Goodrich.

Posted in Announcements | Leave a comment

Spring break!

There will be no REST talk today, Tuesday, Mar. 29, 2011.

Posted in Announcements | Leave a comment