This document provides an overview of the IronRuby programming language and how it allows Ruby code to run on the .NET Common Language Runtime (CLR).
Some key points covered include:
- IronRuby allows Ruby code to leverage .NET libraries and frameworks like ASP.NET and WPF.
- The Dynamic Language Runtime (DLR) plays a key role in enabling IronRuby to run Ruby code on the CLR.
- IronRuby makes it possible to embed and extend C# applications with Ruby code through features like MEF.
- This merging of Ruby and .NET opens up new possibilities for developers to choose the right language for each task and blend multiple languages together in a single application.
Programming languages must be implemented in Java or C, everybody knows this. Sure, a prototype in Ruby, but that would be unusable. After all, Ruby is made for web development, right? Hard tasks, like implementing a compiler, have to happen in far more manly languages. But wait, the Rubinius compiler is written completely in Ruby, and it seems to get pretty decent performance, maybe we can use that.
In this talk, we will explore the possibilities of using the Rubinius compiler tool chain to implement our own programming language targeting the Rubinius VM. We get all the hard work that went into Rubinius for free and above all, can do the heavy lifting in Ruby, everyone's favorite programming language.
As an example we'll use Reak, a Smalltalk implementation running on Rubinius.
Despite the fact that programmers create experiences, the creative aspect of programming gets removed from the conversation. In this talk, I discussed my road to becoming a programmer and how thinking of code as a paintbrush has helped to shape my relationship with programming.
Programming languages must be implemented in Java or C, everybody knows this. Sure, a prototype in Ruby, but that would be unusable. After all, Ruby is made for web development, right? Hard tasks, like implementing a compiler, have to happen in far more manly languages. But wait, the Rubinius compiler is written completely in Ruby, and it seems to get pretty decent performance, maybe we can use that.
In this talk, we will explore the possibilities of using the Rubinius compiler tool chain to implement our own programming language targeting the Rubinius VM. We get all the hard work that went into Rubinius for free and above all, can do the heavy lifting in Ruby, everyone's favorite programming language.
As an example we'll use Reak, a Smalltalk implementation running on Rubinius.
Despite the fact that programmers create experiences, the creative aspect of programming gets removed from the conversation. In this talk, I discussed my road to becoming a programmer and how thinking of code as a paintbrush has helped to shape my relationship with programming.
Developing cross platform desktop application with RubyAnis Ahmad
A brief introduction and example of developing desktop application with Ruby programming language. JRuby and shoesrb is discussed as platform.
Prepared for and Presented on Ruby Conference Bangladesh 2003.
Introduction to Ruby and Introduction to Ruby on Rails basic concepts for beginners. The google presentation is even better in full screen https://docs.google.com/presentation/d/1EE0VuB_PkD2-8j5JNs6CUQHb4J9ToIgC7-IxYTojiS0/pub?start=false&loop=false&delayms=3000#slide=id.p
CoffeeScript: A beginner's presentation for beginners copyPatrick Devins
A short presentation on CoffeeScript for people who may not have much, or any, experience with it. It is a great way to learn JavaScript, as well as a fantastic syntactic sugar fro those who already know JavaScript.
Do you have an experience to write a client application based on http? Such as fetching the contacts from email or writing a IM client. Some of the servers provide apis which make life better, but most of them not. So how can we get the data from these servers or communicating with these servers? This talk will teach you how to analysis the packets between client and server and share my experience about how to write the client application and how to do the test and refactor.
AWS user group September 2017 - Rob Ribeiro "Seeking Solutions for Debugging ...AWS Chicago
From the AWS Chicago user group's September meetup on Serverless
"Seeking Solutions for Debugging Node.js in Lambda" - Rob Ribeiro - DevOps Engineer @ Trek10 // @azurelogic
With JavaScript being no toy language anymore our demands on a high quality development environment have risen tremendously. One part of a good development environment are build tools, and Gulp.js -- being the JavaScript streaming build system -- is but one of the many choices a developer has nowadays. For many however, it's considered to be the best! In this three hour workshop, we will take a good look into Gulp and its possibilities. After our in-depth 3 hour course you will be able to do the following:
- Know how Gulp's API and the ecosystem of its plugins work
- Create parallel and sequential execution chains to be in total control of your build flow
- Know how 3rd party Node modules evolve around Gulp and how they can be integrated
- Create incremental builds to speed up your build time
- Know how streams work in Node.js
- And use stream arrays and merge streams to plumb together sophisticated pipelines doing all the work for you
Join us and become a build plumber!
More information
http://github.com/frontend-tooling
http://bit.ly/gulp-tool-book
http://fettblog.eu
Developing cross platform desktop application with RubyAnis Ahmad
A brief introduction and example of developing desktop application with Ruby programming language. JRuby and shoesrb is discussed as platform.
Prepared for and Presented on Ruby Conference Bangladesh 2003.
Introduction to Ruby and Introduction to Ruby on Rails basic concepts for beginners. The google presentation is even better in full screen https://docs.google.com/presentation/d/1EE0VuB_PkD2-8j5JNs6CUQHb4J9ToIgC7-IxYTojiS0/pub?start=false&loop=false&delayms=3000#slide=id.p
CoffeeScript: A beginner's presentation for beginners copyPatrick Devins
A short presentation on CoffeeScript for people who may not have much, or any, experience with it. It is a great way to learn JavaScript, as well as a fantastic syntactic sugar fro those who already know JavaScript.
Do you have an experience to write a client application based on http? Such as fetching the contacts from email or writing a IM client. Some of the servers provide apis which make life better, but most of them not. So how can we get the data from these servers or communicating with these servers? This talk will teach you how to analysis the packets between client and server and share my experience about how to write the client application and how to do the test and refactor.
AWS user group September 2017 - Rob Ribeiro "Seeking Solutions for Debugging ...AWS Chicago
From the AWS Chicago user group's September meetup on Serverless
"Seeking Solutions for Debugging Node.js in Lambda" - Rob Ribeiro - DevOps Engineer @ Trek10 // @azurelogic
With JavaScript being no toy language anymore our demands on a high quality development environment have risen tremendously. One part of a good development environment are build tools, and Gulp.js -- being the JavaScript streaming build system -- is but one of the many choices a developer has nowadays. For many however, it's considered to be the best! In this three hour workshop, we will take a good look into Gulp and its possibilities. After our in-depth 3 hour course you will be able to do the following:
- Know how Gulp's API and the ecosystem of its plugins work
- Create parallel and sequential execution chains to be in total control of your build flow
- Know how 3rd party Node modules evolve around Gulp and how they can be integrated
- Create incremental builds to speed up your build time
- Know how streams work in Node.js
- And use stream arrays and merge streams to plumb together sophisticated pipelines doing all the work for you
Join us and become a build plumber!
More information
http://github.com/frontend-tooling
http://bit.ly/gulp-tool-book
http://fettblog.eu
Now FLOSS is so common that even Microsoft use it and develop it. But do you have control over your tools for daily use?
Building your own tools is the best way to develop software, and Ruby is the best language for such use. In this talk, I introduce my own tools and my development style.
Gisting is an implementation of Google\'s MapReduce framework for processing and extracting useful information from very large data sets. At the time of this writing, the code is available for PREVIEW at http://github.com/mchung/gisting. I am currently working to release this framework for general usage.
Enterprise JavaScript is a set of API modules that aims at standardising the usage of HTTP client and server, database access, files operations, websockets, soap and even threads and streams manipulations for JavaScript language.
At first glance, from a C# developer’s perspective, Ruby may seem a silly language with strange constructs and lousy syntax. But if you are able to get beyond this you will find a powerful and productive language to develop web applications and useful scripts. During the session we will take a look at Ruby from a C# perspective and analyse some of the “oddities” of this marvellous language!
The Art Of Documentation for Open Source ProjectsBen Hall
Delivered at Kubecon US 2018 by Ben Hall. Watch the recording at https://www.youtube.com/embed/Yjxupg-NKnA
In this talk, Ben uses his expertise of building an Interactive Learning Platform to highlight The Art of Documentation. The aim of the talk is to help open source contributors understand how small changes to their documentation approach can have an enormous impact on how users get started.
Tips on solving E_TOO_MANY_THINGS_TO_LEARN with KubernetesBen Hall
Presented at Skills Matter, 8th February 2017.
Discusses the Kubernetes community and tools such as Minikube, Kubeadm, Helm and Weave Flux. Demos driven by katacoda.com
Deploying applications to Windows Server 2016 and Windows ContainersBen Hall
Deploying applications to Windows Server 2016 and Windows Containers.
Delivered at NDC London 2017 on 20th January.
Sponsored by Katacoda.com, interactive learning platform for Docker and Cloud Native platforms.
Deploying Windows Containers on Windows Server 2016Ben Hall
Introduction into the new Windows Containers and Windows Hyper-V Containers coming in Windows Server 2016.
Presented at WinOps Meetup #5 on Wednesday 20th April 2016. http://www.meetup.com/WinOps/events/229065341/
Real World Lessons on the Pain Points of Node.js Applications
TechDays - IronRuby
1. IronRuby – A brave new world for .Net @Ben_Hall, Developerester, 7digital.com Ben@BenHall.me.uk Blog.BenHall.me.uk CodeBetter.com/blogs/BenHall
2. London (UK) based C# MVPWeb Developer @ 7digital.com Working on a number of Open Source Projects Co-Author of Testing ASP.net Web Applications http://www.testingaspnet.com
11. Duck Typing # Message sends itself via some transport protocol class Message def publish(transport) puts transport.send(self) end end http://www.flickr.com/photos/normis/337183421/
12. Duck Typing class Queue def send(message) @server.open @server.issue(message) @server.close end end
13. Duck Typing class SmtpService def send(message) @service.post(message) end end
14. Duck Typing m = Message.new m.subject = “Hello TechDays!” q = Queue.new s = SmtpService.new m.publish(q) m.publish(s)
15. Duck Typing class Postman def send(message) phone_number = 012398622 @john.call(phone_number) end end m.publish(Postman.new)
16. Mixins class ProductPage < CMS::BasePage include Editable includeThemeable includeDroppableCustomisations end
17. Extendable class Fixnum def odd?() !even? end def even?() self % 2 == 0 end end >>> 1.odd? => true >>> 1.even? => false >>> 2.odd? => false >>> 2.even? => true
43. Utvärdera gärna sessionen. Dina synpunkter är mycket värdefulla för oss. Därför är vi mycket tacksamma för att du tar dig någon minut att utvärdera den session som du just har lyssnat på. Besök din MINT-profil* i din mobil, gå till dina sessioner och klicka på ”utvärdera”. In English: Your feedback is very valuable to us. Therefore, we are very grateful that you take a minute to evaluate the session that you just listened to. Tack! *MINT är en mobil tjänst för evenemang och möten som bland annan erbjuder dig möjligheten att utvärdera de sessioner du besöker direkt i din mobil. Om du saknar mobil eller inte kan komma åt MINT av annan anledning har vi fysiska utvärderingar i pappersform.
Editor's Notes
Dynamic language
Static > Dynamic. Dynamic are more flexible, can adapt the applications frameworks to fit your requirements. Produce similar results, cleaner code and provide a nicer experience for developers. As a result, the code is easier to maintain. Ruby community – testable, clean, natural, expressive => open source