ºÝºÝߣshows by User: jankrag / http://www.slideshare.net/images/logo.gif ºÝºÝߣshows by User: jankrag / Thu, 02 Feb 2017 12:33:00 GMT ºÝºÝߣShare feed for ºÝºÝߣshows by User: jankrag Jedi Mind Tricks for Git /slideshow/jedi-mind-tricks-for-git/71679695 roaoswfcrvaaaozmovgz-signature-1339c2d5ddfadb99582c34dc13d9ab9937d637bb81d2ff2886cf2d3d64535c44-poli-170202123300
ºÝºÝߣs for a pre-conference workshop I delivered together with Johan Abildskov (@randomsort) at Git Merge 2017 in Brussels. In the workshop we covered fun things to do with Git hooks, Git attributes and custom drivers. In the first half, we demonstrate how you can implement a fully local continuous integration workflow using git hooks. In the second half, we cover cool and creative ways to diff binary files and custom filters for modifying file content while commit'ing.]]>

ºÝºÝߣs for a pre-conference workshop I delivered together with Johan Abildskov (@randomsort) at Git Merge 2017 in Brussels. In the workshop we covered fun things to do with Git hooks, Git attributes and custom drivers. In the first half, we demonstrate how you can implement a fully local continuous integration workflow using git hooks. In the second half, we cover cool and creative ways to diff binary files and custom filters for modifying file content while commit'ing.]]>
Thu, 02 Feb 2017 12:33:00 GMT /slideshow/jedi-mind-tricks-for-git/71679695 jankrag@slideshare.net(jankrag) Jedi Mind Tricks for Git jankrag ºÝºÝߣs for a pre-conference workshop I delivered together with Johan Abildskov (@randomsort) at Git Merge 2017 in Brussels. In the workshop we covered fun things to do with Git hooks, Git attributes and custom drivers. In the first half, we demonstrate how you can implement a fully local continuous integration workflow using git hooks. In the second half, we cover cool and creative ways to diff binary files and custom filters for modifying file content while commit'ing. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/roaoswfcrvaaaozmovgz-signature-1339c2d5ddfadb99582c34dc13d9ab9937d637bb81d2ff2886cf2d3d64535c44-poli-170202123300-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> ºÝºÝߣs for a pre-conference workshop I delivered together with Johan Abildskov (@randomsort) at Git Merge 2017 in Brussels. In the workshop we covered fun things to do with Git hooks, Git attributes and custom drivers. In the first half, we demonstrate how you can implement a fully local continuous integration workflow using git hooks. In the second half, we cover cool and creative ways to diff binary files and custom filters for modifying file content while commit&#39;ing.
Jedi Mind Tricks for Git from Jan Krag
]]>
1992 10 https://cdn.slidesharecdn.com/ss_thumbnails/roaoswfcrvaaaozmovgz-signature-1339c2d5ddfadb99582c34dc13d9ab9937d637bb81d2ff2886cf2d3d64535c44-poli-170202123300-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Lightning talk: Envisioning a new inherently shared programming language /slideshow/lightning-language-brainstorm/50166163 lightning-languagebrainstorm-150704170703-lva1-app6892
This presentation was originally given as a lightning talk on the final day of PolyConf15 in Poznan, PL. The talk came to be as the result of a interesting lunch conversation the day before, leading to a brainstorm about a conceptual new language. The conceptual idea is to invent a new language where sharing, and thus open source, was somehow baked into the language itself. The slides contain some of the thoughts that triggered the brainstorm, and some of the properties I imagine would be useful in such a language, like a strong type-system inspired by Haskell, build in function contracts (Eiffel among others), and type providers like F#. Don't expect any answers, this was just a presentation of an interesting brainstorm, partly to present the idea itself, and partly just to celebrate the amazing brain-soup that congregates at such an event as PolyConf.]]>

This presentation was originally given as a lightning talk on the final day of PolyConf15 in Poznan, PL. The talk came to be as the result of a interesting lunch conversation the day before, leading to a brainstorm about a conceptual new language. The conceptual idea is to invent a new language where sharing, and thus open source, was somehow baked into the language itself. The slides contain some of the thoughts that triggered the brainstorm, and some of the properties I imagine would be useful in such a language, like a strong type-system inspired by Haskell, build in function contracts (Eiffel among others), and type providers like F#. Don't expect any answers, this was just a presentation of an interesting brainstorm, partly to present the idea itself, and partly just to celebrate the amazing brain-soup that congregates at such an event as PolyConf.]]>
Sat, 04 Jul 2015 17:07:03 GMT /slideshow/lightning-language-brainstorm/50166163 jankrag@slideshare.net(jankrag) Lightning talk: Envisioning a new inherently shared programming language jankrag This presentation was originally given as a lightning talk on the final day of PolyConf15 in Poznan, PL. The talk came to be as the result of a interesting lunch conversation the day before, leading to a brainstorm about a conceptual new language. The conceptual idea is to invent a new language where sharing, and thus open source, was somehow baked into the language itself. The slides contain some of the thoughts that triggered the brainstorm, and some of the properties I imagine would be useful in such a language, like a strong type-system inspired by Haskell, build in function contracts (Eiffel among others), and type providers like F#. Don't expect any answers, this was just a presentation of an interesting brainstorm, partly to present the idea itself, and partly just to celebrate the amazing brain-soup that congregates at such an event as PolyConf. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/lightning-languagebrainstorm-150704170703-lva1-app6892-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> This presentation was originally given as a lightning talk on the final day of PolyConf15 in Poznan, PL. The talk came to be as the result of a interesting lunch conversation the day before, leading to a brainstorm about a conceptual new language. The conceptual idea is to invent a new language where sharing, and thus open source, was somehow baked into the language itself. The slides contain some of the thoughts that triggered the brainstorm, and some of the properties I imagine would be useful in such a language, like a strong type-system inspired by Haskell, build in function contracts (Eiffel among others), and type providers like F#. Don&#39;t expect any answers, this was just a presentation of an interesting brainstorm, partly to present the idea itself, and partly just to celebrate the amazing brain-soup that congregates at such an event as PolyConf.
Lightning talk: Envisioning a new inherently shared programming language from Jan Krag
]]>
524 1 https://cdn.slidesharecdn.com/ss_thumbnails/lightning-languagebrainstorm-150704170703-lva1-app6892-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Git internals - Hogwarts School of ma'Git /slideshow/git-internals-26784067/26784067 git-internals-131002080201-phpapp01
English: (Dansk tekst nedenfor/Danish see below) ºÝºÝߣdeck (officially in Danish, but mostly "Git speak") about Git internals (commits, refs, blobs, treeish etc.) and other related subjects, like Git plumbing commands and various branching models. Made for an internal presentation I gave in our company a while back. If you are interested in this slide deck, and don't speak danish, drop me a note, and I might be convinced to translate it to English. Dansk beskrivelse: Dette er en præsentation jeg lavede for min udviklergruppe internt i firmaet (Schantz) engang i april 2013. Presentationen omhandler hovedsageligt Git's interne struktur, pÃ¥ det detalje-niveau hvor jeg mener at det bidrager til folks forstÃ¥else af hvad git egentlig gør og mener. Derudover berører jeg nogle af de mere lav-niveau git kommandoer (git plumbing), samt diverse branching modeller og andre relaterede ting. ]]>

English: (Dansk tekst nedenfor/Danish see below) ºÝºÝߣdeck (officially in Danish, but mostly "Git speak") about Git internals (commits, refs, blobs, treeish etc.) and other related subjects, like Git plumbing commands and various branching models. Made for an internal presentation I gave in our company a while back. If you are interested in this slide deck, and don't speak danish, drop me a note, and I might be convinced to translate it to English. Dansk beskrivelse: Dette er en præsentation jeg lavede for min udviklergruppe internt i firmaet (Schantz) engang i april 2013. Presentationen omhandler hovedsageligt Git's interne struktur, pÃ¥ det detalje-niveau hvor jeg mener at det bidrager til folks forstÃ¥else af hvad git egentlig gør og mener. Derudover berører jeg nogle af de mere lav-niveau git kommandoer (git plumbing), samt diverse branching modeller og andre relaterede ting. ]]>
Wed, 02 Oct 2013 08:02:01 GMT /slideshow/git-internals-26784067/26784067 jankrag@slideshare.net(jankrag) Git internals - Hogwarts School of ma'Git jankrag English: (Dansk tekst nedenfor/Danish see below) ºÝºÝߣdeck (officially in Danish, but mostly "Git speak") about Git internals (commits, refs, blobs, treeish etc.) and other related subjects, like Git plumbing commands and various branching models. Made for an internal presentation I gave in our company a while back. If you are interested in this slide deck, and don't speak danish, drop me a note, and I might be convinced to translate it to English. Dansk beskrivelse: Dette er en præsentation jeg lavede for min udviklergruppe internt i firmaet (Schantz) engang i april 2013. Presentationen omhandler hovedsageligt Git's interne struktur, pÃ¥ det detalje-niveau hvor jeg mener at det bidrager til folks forstÃ¥else af hvad git egentlig gør og mener. Derudover berører jeg nogle af de mere lav-niveau git kommandoer (git plumbing), samt diverse branching modeller og andre relaterede ting. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/git-internals-131002080201-phpapp01-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> English: (Dansk tekst nedenfor/Danish see below) ºÝºÝߣdeck (officially in Danish, but mostly &quot;Git speak&quot;) about Git internals (commits, refs, blobs, treeish etc.) and other related subjects, like Git plumbing commands and various branching models. Made for an internal presentation I gave in our company a while back. If you are interested in this slide deck, and don&#39;t speak danish, drop me a note, and I might be convinced to translate it to English. Dansk beskrivelse: Dette er en præsentation jeg lavede for min udviklergruppe internt i firmaet (Schantz) engang i april 2013. Presentationen omhandler hovedsageligt Git&#39;s interne struktur, pÃ¥ det detalje-niveau hvor jeg mener at det bidrager til folks forstÃ¥else af hvad git egentlig gør og mener. Derudover berører jeg nogle af de mere lav-niveau git kommandoer (git plumbing), samt diverse branching modeller og andre relaterede ting.
Git internals - Hogwarts School of ma'Git from Jan Krag
]]>
550 3 https://cdn.slidesharecdn.com/ss_thumbnails/git-internals-131002080201-phpapp01-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Intro to pattern matching in scala /slideshow/intro-to-pattern-matching-in-scala/25937228 introtopatternmatchinginscala-130905175324-
ºÝºÝߣ deck used for a presentation i gave at CPH Scala Group meeting, Oct. 5th, 2013 in Copenhagen.]]>

ºÝºÝߣ deck used for a presentation i gave at CPH Scala Group meeting, Oct. 5th, 2013 in Copenhagen.]]>
Thu, 05 Sep 2013 17:53:24 GMT /slideshow/intro-to-pattern-matching-in-scala/25937228 jankrag@slideshare.net(jankrag) Intro to pattern matching in scala jankrag ºÝºÝߣ deck used for a presentation i gave at CPH Scala Group meeting, Oct. 5th, 2013 in Copenhagen. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/introtopatternmatchinginscala-130905175324--thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> ºÝºÝߣ deck used for a presentation i gave at CPH Scala Group meeting, Oct. 5th, 2013 in Copenhagen.
Intro to pattern matching in scala from Jan Krag
]]>
2607 8 https://cdn.slidesharecdn.com/ss_thumbnails/introtopatternmatchinginscala-130905175324--thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Introduction to Option monad in Scala /slideshow/introduction-to-option-monad-in-scala/24424387 introductiontooptionmonadinscala-130719091842-phpapp01
Presentation on handling non-existence of data in Java et. al. (e.g. the problem with pesky nulls) and an introduction to the Option monad in Scala as a "solution" to this problem. I presented this talk June, 28th 2013 at CPH Scala Group meeting, and a week later, July 3rd, at the "Scala User Group Ã…rhus" meetup. In this short introduction, I try to frame the problem, i.e. the large amounts of error-prone null-checking code we usually have to write in Java, and Introduce the Option monad (Some/None) in Scala, as a solution. I explain the basics of what the Option class provides, and various ways of using it, ranging from basic level isEmtpy, over pattern-matching to more advanced fully functional "collection-style" (e.g. map, flatMap) operations and finally by using the for-comprehension. Also includes links to relevant resources for further reading on the last slide.]]>

Presentation on handling non-existence of data in Java et. al. (e.g. the problem with pesky nulls) and an introduction to the Option monad in Scala as a "solution" to this problem. I presented this talk June, 28th 2013 at CPH Scala Group meeting, and a week later, July 3rd, at the "Scala User Group Ã…rhus" meetup. In this short introduction, I try to frame the problem, i.e. the large amounts of error-prone null-checking code we usually have to write in Java, and Introduce the Option monad (Some/None) in Scala, as a solution. I explain the basics of what the Option class provides, and various ways of using it, ranging from basic level isEmtpy, over pattern-matching to more advanced fully functional "collection-style" (e.g. map, flatMap) operations and finally by using the for-comprehension. Also includes links to relevant resources for further reading on the last slide.]]>
Fri, 19 Jul 2013 09:18:42 GMT /slideshow/introduction-to-option-monad-in-scala/24424387 jankrag@slideshare.net(jankrag) Introduction to Option monad in Scala jankrag Presentation on handling non-existence of data in Java et. al. (e.g. the problem with pesky nulls) and an introduction to the Option monad in Scala as a "solution" to this problem. I presented this talk June, 28th 2013 at CPH Scala Group meeting, and a week later, July 3rd, at the "Scala User Group Ã…rhus" meetup. In this short introduction, I try to frame the problem, i.e. the large amounts of error-prone null-checking code we usually have to write in Java, and Introduce the Option monad (Some/None) in Scala, as a solution. I explain the basics of what the Option class provides, and various ways of using it, ranging from basic level isEmtpy, over pattern-matching to more advanced fully functional "collection-style" (e.g. map, flatMap) operations and finally by using the for-comprehension. Also includes links to relevant resources for further reading on the last slide. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/introductiontooptionmonadinscala-130719091842-phpapp01-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Presentation on handling non-existence of data in Java et. al. (e.g. the problem with pesky nulls) and an introduction to the Option monad in Scala as a &quot;solution&quot; to this problem. I presented this talk June, 28th 2013 at CPH Scala Group meeting, and a week later, July 3rd, at the &quot;Scala User Group Ã…rhus&quot; meetup. In this short introduction, I try to frame the problem, i.e. the large amounts of error-prone null-checking code we usually have to write in Java, and Introduce the Option monad (Some/None) in Scala, as a solution. I explain the basics of what the Option class provides, and various ways of using it, ranging from basic level isEmtpy, over pattern-matching to more advanced fully functional &quot;collection-style&quot; (e.g. map, flatMap) operations and finally by using the for-comprehension. Also includes links to relevant resources for further reading on the last slide.
Introduction to Option monad in Scala from Jan Krag
]]>
11335 9 https://cdn.slidesharecdn.com/ss_thumbnails/introductiontooptionmonadinscala-130719091842-phpapp01-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Project Coin features in Java 7 /slideshow/java7-coin/24388641 java7-coin-130718102306-phpapp01
Internal presentation for my developer-group at the office.]]>

Internal presentation for my developer-group at the office.]]>
Thu, 18 Jul 2013 10:23:05 GMT /slideshow/java7-coin/24388641 jankrag@slideshare.net(jankrag) Project Coin features in Java 7 jankrag Internal presentation for my developer-group at the office. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/java7-coin-130718102306-phpapp01-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Internal presentation for my developer-group at the office.
Project Coin features in Java 7 from Jan Krag
]]>
359 2 https://cdn.slidesharecdn.com/ss_thumbnails/java7-coin-130718102306-phpapp01-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
https://cdn.slidesharecdn.com/profile-photo-jankrag-48x48.jpg?cb=1559580254 With a long background as a developer, I now work as a specialist and consultant within the fields of Continuous Delivery and DevOps. I regularly work with build servers, Container technologies, Artifact management, version control, agile task management systems + organizational, architectural and process-related challenges. I regularly provide git training & certified trainer for Docker. I have a strong interest in (new) programming languages, especially in the functional flavors and esoterics. In 2014 I started a Copenhagen-based polyglot prog. meetup group. I also have a personal interest in feline (cat) genetics and regularly teach classes on workshops on a voluntary basis. www.praqma.com https://cdn.slidesharecdn.com/ss_thumbnails/roaoswfcrvaaaozmovgz-signature-1339c2d5ddfadb99582c34dc13d9ab9937d637bb81d2ff2886cf2d3d64535c44-poli-170202123300-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/jedi-mind-tricks-for-git/71679695 Jedi Mind Tricks for Git https://cdn.slidesharecdn.com/ss_thumbnails/lightning-languagebrainstorm-150704170703-lva1-app6892-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/lightning-language-brainstorm/50166163 Lightning talk: Envisi... https://cdn.slidesharecdn.com/ss_thumbnails/git-internals-131002080201-phpapp01-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/git-internals-26784067/26784067 Git internals - Hogwar...