Artwork

Content provided by Dick Wall and Scalawags Podcast. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Dick Wall and Scalawags Podcast or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Scalawags #23 - Lifting Antonio Salazar Cordozo

1:20:37
 
Share
 

Archived series ("Inactive feed" status)

When? This feed was archived on March 01, 2020 12:09 (4+ y ago). Last successful fetch was on August 13, 2019 01:12 (5y ago)

Why? Inactive feed status. Our servers were unable to retrieve a valid podcast feed for a sustained period.

What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 56794777 series 11533
Content provided by Dick Wall and Scalawags Podcast. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Dick Wall and Scalawags Podcast or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Intro (0:00)
  • theme music by Dick Wall, human beatbox (don't quit your day job, Dick)
  • welcome Heather Miller, now an official Scalawag
    • we're aiming to do episodes more often, with a rotating crew of whoever's available
    • Daniel is busy tonight attempting to shrink his cat
Antonio, our guest (1:25)
  • Antonio Salazar Cardozo, Lift committer
  • Lift really helped Scala take off in the early days
  • Antonio came to Scala and Lift from Rails
    • "welcome, now forget everything you've learned from other frameworks"
What is Lift all about? (4:00)
  • Lift in three bullets:
    • secure by default
    • real-time stuff is freakishly easy (with actors)
    • leverages Scala's type system! (data, not strings)
  • the Lift way: site map
  • the Lift way: templates
  • functional transformations, ultimately resulting in a web page
    • CSS-y syntax for transforming things
  • Scala's XML support does a lot of the work
Scala and XML (13:30)
  • "99% of the time... writing XML into your Scala in Lift is a code smell"
  • Node, NodeSeq, SeqNode: triangle of doom, or circle of doom?
    • implicits defer the pain
  • Scala's perpetually unfixed XML support: do we even care anymore?
    • tl;dr answer: it's actually OK as long as you're using it just for HTML, not for general XML. "HTML is easier"
  • Foghorn Leghorn? what?
  • Daniel is ragged on for Anti-XML not having saved us
  • wizened old Josh reminisces about a version of Lift so old Antonio has no idea what Josh is even talking about.
Forms and sessions (24:40)
  • submit buttons on forms have associated continuation functions
    • Josh: "that was the real mind-bender"
  • resistance to replay attacks via GUIDs (globally unique identifiers)
  • stateful server; state is retained in-memory on the server
  • does that making scaling and load balancing hard?
    • you need sticky sessions, but relax, it's fine
Comet and WebSockets (32:30)
  • in pre-WebSockets days it was a big deal that Lift had great Comet support; does Lift support WebSockets now instead?
  • answer: no, but it's fine, Comet works great, the overhead WebSockets saves you is small, and WebSockets have issues, e.g. w/ firewalls
  • Josh gives Dick free lessons on SSE (Server-Sent Events)
    • SSE and SBT are the same thing because they both use blank lines to separate things
  • Daniel's cat's fur turned black and it lives with Antonio now
    • and contributes to Lift, but its PRs are never accepted
Web containers (41:40)
  • Lift runs inside a web container (usually), other frameworks these days don't?
  • Josh not only remembers JBoss, but knows what it was renamed to to make it sound cooler
  • Lift typically runs on Jetty
    • StackMob has it running on Netty
  • Lift is conservative and stable. people run milestones in production.
    • "we wait out" new technologies
Open source development process (48:30)
  • Lift work happens in committers' spare time
  • David Pollak (Lift creator and ex-BDFL) is also a lawyer, concerned with making Lift legally bulletproof
    • as a result there are only invited committers, not drive-by contributors
    • regardless, development process is very open and public
  • currently most active committers: Antonio, Diego Medina, Matt Farmer
Learning Lift (56:00)
  • Antonio aspires to be the Heather of Lift
  • there are several books, all "slightly outdated"
  • Simply Lift is "probably the closest"
  • Antonio is writing a new tutorial
  • in future episodes, Josh will be fined $50 every time he brings up LOLcode
Lift 3.0 (59:55)
  • what breaking changes are coming?
  • form binding is being reworked
  • CSS selector transforms
JavaScript and Lift (1:02:30)
  • Lift and JavaScript, are they at odds?
  • Knockout yea, React hmm, Angular nay
  • separation of concerns: HTML, CSS, JavaScript. Lift is the fourth column.
  • Lift has a whole AST-like typed API for writing JavaScript in Scala
  • Antonio was hardwired in childhood for separation of concerns between languages
  • Josh: is there a move in web development to more state in the client?
    • stateful-server architectures are fairly rare (Seaside, GWT)
  • Antonio: Lift's facilities for stateless operation as actually very good. you decide where your application lives on the continuum
  • incredibly, more than a full hour passed before someone made a joke about being kicked off the Lift mailing list
We heart PHP? (1:14:40)
  • many fine people have walked through the valley of the shadow of PHP
  • Antonio: "there is nothing out there that's better" than PHP for getting started with web development. "sometimes the only thing that matters is to get started"
  • Seth: if we, who think we know better, aren't beating PHP at its own game, if we don't have something to offer its audience that works as well for them for their goals, then the fault is ours, not PHP's
  • Josh: "focusing on the copy/paste use case is actually a great way to improve adoption" of anything
  • Antonio: "at the end of the day, everything we do is about people"
Conclusion (1:19:35)
  • the cat approves
  continue reading

41 episodes

Artwork
iconShare
 

Archived series ("Inactive feed" status)

When? This feed was archived on March 01, 2020 12:09 (4+ y ago). Last successful fetch was on August 13, 2019 01:12 (5y ago)

Why? Inactive feed status. Our servers were unable to retrieve a valid podcast feed for a sustained period.

What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 56794777 series 11533
Content provided by Dick Wall and Scalawags Podcast. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Dick Wall and Scalawags Podcast or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://player.fm/legal.
Intro (0:00)
  • theme music by Dick Wall, human beatbox (don't quit your day job, Dick)
  • welcome Heather Miller, now an official Scalawag
    • we're aiming to do episodes more often, with a rotating crew of whoever's available
    • Daniel is busy tonight attempting to shrink his cat
Antonio, our guest (1:25)
  • Antonio Salazar Cardozo, Lift committer
  • Lift really helped Scala take off in the early days
  • Antonio came to Scala and Lift from Rails
    • "welcome, now forget everything you've learned from other frameworks"
What is Lift all about? (4:00)
  • Lift in three bullets:
    • secure by default
    • real-time stuff is freakishly easy (with actors)
    • leverages Scala's type system! (data, not strings)
  • the Lift way: site map
  • the Lift way: templates
  • functional transformations, ultimately resulting in a web page
    • CSS-y syntax for transforming things
  • Scala's XML support does a lot of the work
Scala and XML (13:30)
  • "99% of the time... writing XML into your Scala in Lift is a code smell"
  • Node, NodeSeq, SeqNode: triangle of doom, or circle of doom?
    • implicits defer the pain
  • Scala's perpetually unfixed XML support: do we even care anymore?
    • tl;dr answer: it's actually OK as long as you're using it just for HTML, not for general XML. "HTML is easier"
  • Foghorn Leghorn? what?
  • Daniel is ragged on for Anti-XML not having saved us
  • wizened old Josh reminisces about a version of Lift so old Antonio has no idea what Josh is even talking about.
Forms and sessions (24:40)
  • submit buttons on forms have associated continuation functions
    • Josh: "that was the real mind-bender"
  • resistance to replay attacks via GUIDs (globally unique identifiers)
  • stateful server; state is retained in-memory on the server
  • does that making scaling and load balancing hard?
    • you need sticky sessions, but relax, it's fine
Comet and WebSockets (32:30)
  • in pre-WebSockets days it was a big deal that Lift had great Comet support; does Lift support WebSockets now instead?
  • answer: no, but it's fine, Comet works great, the overhead WebSockets saves you is small, and WebSockets have issues, e.g. w/ firewalls
  • Josh gives Dick free lessons on SSE (Server-Sent Events)
    • SSE and SBT are the same thing because they both use blank lines to separate things
  • Daniel's cat's fur turned black and it lives with Antonio now
    • and contributes to Lift, but its PRs are never accepted
Web containers (41:40)
  • Lift runs inside a web container (usually), other frameworks these days don't?
  • Josh not only remembers JBoss, but knows what it was renamed to to make it sound cooler
  • Lift typically runs on Jetty
    • StackMob has it running on Netty
  • Lift is conservative and stable. people run milestones in production.
    • "we wait out" new technologies
Open source development process (48:30)
  • Lift work happens in committers' spare time
  • David Pollak (Lift creator and ex-BDFL) is also a lawyer, concerned with making Lift legally bulletproof
    • as a result there are only invited committers, not drive-by contributors
    • regardless, development process is very open and public
  • currently most active committers: Antonio, Diego Medina, Matt Farmer
Learning Lift (56:00)
  • Antonio aspires to be the Heather of Lift
  • there are several books, all "slightly outdated"
  • Simply Lift is "probably the closest"
  • Antonio is writing a new tutorial
  • in future episodes, Josh will be fined $50 every time he brings up LOLcode
Lift 3.0 (59:55)
  • what breaking changes are coming?
  • form binding is being reworked
  • CSS selector transforms
JavaScript and Lift (1:02:30)
  • Lift and JavaScript, are they at odds?
  • Knockout yea, React hmm, Angular nay
  • separation of concerns: HTML, CSS, JavaScript. Lift is the fourth column.
  • Lift has a whole AST-like typed API for writing JavaScript in Scala
  • Antonio was hardwired in childhood for separation of concerns between languages
  • Josh: is there a move in web development to more state in the client?
    • stateful-server architectures are fairly rare (Seaside, GWT)
  • Antonio: Lift's facilities for stateless operation as actually very good. you decide where your application lives on the continuum
  • incredibly, more than a full hour passed before someone made a joke about being kicked off the Lift mailing list
We heart PHP? (1:14:40)
  • many fine people have walked through the valley of the shadow of PHP
  • Antonio: "there is nothing out there that's better" than PHP for getting started with web development. "sometimes the only thing that matters is to get started"
  • Seth: if we, who think we know better, aren't beating PHP at its own game, if we don't have something to offer its audience that works as well for them for their goals, then the fault is ours, not PHP's
  • Josh: "focusing on the copy/paste use case is actually a great way to improve adoption" of anything
  • Antonio: "at the end of the day, everything we do is about people"
Conclusion (1:19:35)
  • the cat approves
  continue reading

41 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Quick Reference Guide