[Video 458] Kara Erickson and Victor Savkin: Angular 2 updates

Angular is one of the most popular front-end frameworks. Angular 2 promises to be even more interesting and useful — but it’s also going to be very different from Angular 1.  Now  that Angular 2 is in beta, what does it look like?   Developers are being encouraged to use TypeScript when developing in Angular 2; how does that affect how the system works?  Finally, what sorts of new JavaScript capabilities will Angular expect or demand? This talk by Kara Erickson and Victor Savkin introduces the capabilities of Angular 2, giving us a preview of what the team is creating, and how it can/should be used.

(Note: The actual talk starts at 5:30, after some announcement.)

Total time: 1:40

[Video 457] Reginald Braithwaite: First-Class Commands — An unexpectedly fertile design pattern

Functional programming is well known for, among other things, treating functions as data, allowing us to store, create, pass, and return them within a program. This has led to all sorts of interesting techniques, most having to do with holding onto functions until we need to use them. Object-oriented programming languages offer us a similar idea, as the “command pattern” — but where can and should we use it? What problems can be solved elegantly by incorporating the command pattern into our code? In this talk, Reginald Braithwaite introduces the command pattern in a number of different contexts, giving us insight into where and how we can incorporate it into our own work. While examples are in JavaScript,  these ideas can be used in any object-oriented language.

Time: 33 minutes

[Video 456] Scott Hanselman: JavaScript, The Cloud, and the Rise of the New Virtual Machine

It has often been said that JavaScript is the assembly language of the Web. But as JavaScript becomes an increasingly popular target for other languages (in the browser, or on the server) and as virtual machines make it easy, perhaps it’s time for us to think about what constitutes an operating system, and what it means to have a “computer” running a program. Emulation, and virtual machines, make all sorts of new architectures possible.  What is the role of the browser vs. the server? What can we expect to see as we move forward, given the ubiquity of JavaScript and VMs?  And what can we learn from classic computer architecture and languages as we move forward?  In this talk, Scott Hanselman discusses all of these topics.

Time: 1 hour

[Video 455] Dror Helper: Electronics 101 for software developers

Back in college, I had to take some introductory courses in electronics and electrical engineering. I was confused by what I was learning — and ever since, electronics have seemed like a cross between magic and a mystery to me. I’m not sure whether it’s good news or bad, but a large number of other software developers seem to feel the same way as I do. But of course, it would be really nice to know how our computers work, and what the basic principles are of the electronics within. In this talk, Dror Helper comes to the rescue, offering a crash course in electronics for people with a software background. He starts from the beginning, describing such concepts as voltage, resistance, and current, and quickly moves onto more advanced topics.

Time: 1 hour

[Video 454] Ben Christensen: Don’t Build a Distributed Monolith

Is your Web application is getting a bit big and bulky on a single server? You might be thinking of moving to a more distributed, microservice-based architecture. And in many cases, that’s a great way to go about things. But microservices aren’t a panacea, having their own issues and pain points. What are the trade-offs associated with a microservice-based architecture? How do you define the dependencies (code and API) between the different services? And how can you avoid a “distributed monolith” — a situation in which you have many microservices that are dependent on one another? In this talk, Ben Christensen describes the different ways to think about such microservice- systems, and how to avoid some of the more common pitfalls.

[Video 453] Karen E. Fisher and Katya Yefimova: Future Builders — Magical Devices and Start-ups by Syrian Youth at the UNHCR Za’atari Refugee Camp

The civil war currently taking place in Syria has cost many lives, and has created a huge number of refugees. Many of these refugees are now living in a refugee camp at Za’atari, in neighboring Jordan. Under circumstances that range from difficult to grave, is it reasonable to think that young people can get an education, let alone a technical education that’ll enable them to create high-tech devices and applications? In this talk, Karen E. Fisher and Katya Yefimova describe their efforts to do just that — teaching, facilitating, and encouraging these young refugees to create new things, to collaborate with their peers, and to create things that can help themselves and others.

[Video 452] Jignesh Shah: PostgreSQL and Linux Containers

A growing number of organizations are using containers, such as docker, to deploy applications and parts of their infrastructure. How well do contains work with a database such as PostgreSQL? What do we need to know about installing, configuring, and deploying PostgreSQL in this way, and what mistakes should we aim to avoid? In this talk, Jignesh Shah shares his experiences combining PostgreSQL with Docker. He describes the reasons why it’s useful to work in this way, and how we can deploy and then monitor our PostgreSQL instances in a number of ways.

Time: 1 hour, 13 minutes

[Video 451] Brian Lange: Practical Jupyter at a Data Science Firm

One of the growth areas for Python over the last few years has been in the area of data science: Tools such as Jupyter (aka “IPython Notebook“), along with NumPy and Pandas, have made Python one of the main languages that people use when doing data science. But how does a data scientist use Jupyter?  How does a data-science firm use it to promote collaboration and exploration? And where are notebooks note less preferable than traditional Python modules? In this talk, Brian Lange provides a high-level overview of where and how Jupyter notebooks are used in his data-science firm, discussing their relative advantages and disadvantages in consulting and training.

Time: 23 minutes

[Video 450] Sébastien Doeraene: Scala.js Workshop

JavaScript has often been described as the “assembly language of the Web.” Implied in this description is the notion that other languages can and should compile into JavaScript. We have seen examples of this, most prominently with ClojureScript. But Scala, a popular programming language that runs on the JVM, now has a version that compiles into JavaScript, as well: Scala.js. This talk, by Scala.js author Sébastien Doeraene, describes the aims of the project, how well Scala.js programs can interact with other JavaScript libraries and functionality, and what Scala’s typing does to improve the state of JavaScript programming.

Daily technology videos, curated by Reuven Lerner.