This episode is about compile-time metaprogramming, and specifically, about implementing DSLs via compile-time metaprogramming. Our guest, Laurence Tratt, illustrates the idea with his (research) programming language called Converge.

We started by talking about the importance of a custom syntax for DSL and took a brief look at the definition of DSLs by a chap called Paul Hudak. We then briefly covered the disctinction between internal and external DSLs.

More to the point of this episode, we discussed the concept of compile-time metaprogramming, and the language features necessary to achieve it: in converge, these concepts are called splice, quasi-quote and insertion. We then looked at how the Converge compiler works, and at the additional features that are required to implement DSLs based on the metaprogramming features mentioned above. Using an example, we then walked through how to implement a simple DSL.

Looking at some of the more technical details, we discussed the difference between the parse tree and the abstract syntax tree and at different kinds of parsers - specifically, the Earley parser used by Converge. In multi-stage languages (i.e. languages that execute programs and meta programs) error reporting is important, but non trivial. We discussed how this is done in Converge. We finally looked at how to integrate Converge's expression language into your DSL and how to package DSL definition for later use.

The last segment look at the process of implementing a DSL in converge and about some of the history and practical experience with Converge. Lessons learned from building Converge wrap up the episode.
Direct download: seradio-episode57-compileTimeMetaprogrammingWithLaurenceTratt.mp3
Category:Episodes -- posted at: 7:07pm CEST

In this episode we discuss sensor networks with our guest Steffen Schaefer, who is the Technical Thought Leader for Sensors & Actuator Solutions at IBM. The discussion resolves around the TREC device, which can be mounted on containers to track them on their journey over seas, railway tracks and roads. The TREC is a small embedded device developed by Steffen's employer, IBM, that has various sensors and communications channels.

In the episode we first talked about container transport in general, and then looked at how the TREC device works - specifically, it's hardware, software and power management. We then looked at the necessary backend infrastructure. The main part of the discussion covered the communication between the device and the backend, using technologies such as Zigby, GSM and satellite communications. We also looked at the middleware infrastructures used, such as the MQtt messaging tool.

We closed the episode with a little discussion of the "Internet of Things" and some discussion about embedded software devleopment in general. Note that SE Radio will feature more embedded topics in the future - an introduction to embedded development will be put online soon.
Direct download: seradio-episode56-sensorNetworksWithSteffenSchaefer.mp3
Category:Episodes -- posted at: 7:12pm CEST

In the first episode on Refactoring we talked about the basic ideas behind refactoring and some base principles why refactoring is a key part of software engineering. Now we move on to more complicated refactorings and discuss three major situations, their problems and possible solutions: advanced refactorings in large projects that can hardly be finished in a few minutes or hours and refactoring in larger teams. Also covered are the refactoring of published APIs and how merciless refactoring could be aligned with backward compatibility of published APIs, and refactorings that affect more than just code like for example database schemas.
Direct download: seradio-episode55-refactoring_pt2.mp3
Category:Episodes -- posted at: 7:37pm CEST

Note that the this page shows only the 50 most recent episodes. If you want to see older episodes, you need to select the appropriate months from the archives.

Donate

Donate some money so we can buy additional audio equipment and improve our sound quality.

Syndication

Spread the Word

Help us advertise for SE Radio by putting logos on your website or posters into your office.
Get materials here!

License

Creative Commons License
This work is licensed under a Creative Commons License.

Please Vote for us!

... at Podcast Alley
... at digg

Go To ...

Categories
Archives
About the Team
Donate
Search Audio/Notes
Thanks
Other Podcasts

Related Links

SE Radio is (and will continue to be) an independent and non-commercial endeavor. Nonetheless, we want to say 'thank you' to the following organizations who help us to publicize the SE Radio podcast.















Categories

- all -
Episodes

Archives

September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
June
May
April
March
February
January

December
September
July
June
May
April
February
January

December
November
September
July
June
April
March
February
January

December
October
August
July
June
May
April
March
February
January

November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

Team

This podcast is brought to you by a team of experienced software developers and architects. You can reach the team through


Alexander
Schmid


Arno
Haase


Bernd
Kolb


Eberhard
Wolff


Martin
Lippert


Markus
Voelter
 
Michael
Kircher
 

Search

Search in Show Notes:

Search in Audio Content:
Search Google: Google
Web www.se-radio.net

Thanks...

... to Henning Pauly for poviding the music.
... to LibSyn for hosting and bandwidth.

Other Podcasts

Some interesting podcasts you might want to subscribe to:
Security Now!
Java Posse
This Week in Tech (TWiT)
Futures in Biotech
IT Conversations
TED Talks
HPI Podcast
Tonabnehmer (German)
Manager Tools

Software