<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>You Learn Something New Everyday 💭</title>
    <link>https://blog.ryanlevick.com/</link>
    <description>Recent content on You Learn Something New Everyday 💭</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 26 Jun 2013 22:09:00 +0100</lastBuildDate><atom:link href="https://blog.ryanlevick.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Down the Stack: Compiled Rust Part 1</title>
      <link>https://blog.ryanlevick.com/down-the-stack-part-1/</link>
      <pubDate>Mon, 23 Dec 2019 14:49:32 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/down-the-stack-part-1/</guid>
      <description>Like many people who have backgrounds in higher level languages like JavaScript and Ruby, one thing that really attracted me to Rust was the ability to get &amp;ldquo;closer to the metal&amp;rdquo;. While Rust offers plenty of high level abstractions, it certainly makes you think a bit more about lower level concerns like the memory allocation than the JavaScript or Ruby do. But of course, you can always go deeper, and learning more about the abstraction layer underneath Rust can be a really great way to really understand what makes Rust tick.</description>
    </item>
    
    <item>
      <title>Rust 2020 🦀</title>
      <link>https://blog.ryanlevick.com/rust-2020/</link>
      <pubDate>Mon, 02 Dec 2019 17:54:41 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/rust-2020/</guid>
      <description>A while back the Rust team did their annual call for blog posts asking for perspective on what the community thinks the next year in Rust should look like. Here are my thoughts (albeit a bit late).
Process and Governance The most important issues for the Rust community to face in 2020 are process and governance. At the end of the day I think governance and process go hand in hand, so I&amp;rsquo;ll discuss the issues related to them together.</description>
    </item>
    
    <item>
      <title>dev.to 2019 ✍️</title>
      <link>https://blog.ryanlevick.com/dev-to-2019/</link>
      <pubDate>Mon, 23 Sep 2019 15:06:50 +0200</pubDate>
      
      <guid>https://blog.ryanlevick.com/dev-to-2019/</guid>
      <description>In 2019 I tried out posting to dev.to. While I really enjoyed using the site and the community there is great, I ultimately decided to come back to posting on my own blog. Here are links to those articles:
 The Promise of WebAssembly The Most Minimal Serverless Function Giving TodoMVC the API It Deserves 64 Cores on Fire: Supercharging My Development Experience  </description>
    </item>
    
    <item>
      <title>Building and augmenting libraries by calling Rust from JavaScript 🦀🕸</title>
      <link>https://blog.ryanlevick.com/calling-rust-javascript/</link>
      <pubDate>Mon, 18 Mar 2019 14:47:38 +0200</pubDate>
      
      <guid>https://blog.ryanlevick.com/calling-rust-javascript/</guid>
      <description>This was posted originally on opensource.com.
In Why should you use Rust in WebAssembly?, I looked at why you might want to write WebAssembly (Wasm), and why you might choose Rust as the language to do it in. Now I&amp;rsquo;ll share what that looks like by exploring ways to embed Rust inside JavaScript.
This is something that separates Rust from Go, C#, and other languages with large runtimes that can compile to Wasm.</description>
    </item>
    
    <item>
      <title>Why should you use Rust in WebAssembly? 🦀🕸</title>
      <link>https://blog.ryanlevick.com/why-use-rust-webassembly/</link>
      <pubDate>Fri, 15 Feb 2019 14:38:54 +0200</pubDate>
      
      <guid>https://blog.ryanlevick.com/why-use-rust-webassembly/</guid>
      <description>This was posted originally on opensource.com.
WebAssembly (Wasm) is a technology that has the chance to reshape how we build apps for the browser. Not only will it allow us to build whole new classes of web applications, but it will also allow us to make existing apps written in JavaScript even more performant.
In this article about the state of the Rust and Wasm ecosystem, I&amp;rsquo;ll try to explain why Rust is the language that can unlock the true potential of WebAssembly.</description>
    </item>
    
    <item>
      <title>Learning to Computer: How to Gain a New Skill 👩‍💻</title>
      <link>https://blog.ryanlevick.com/learn-to-computer/</link>
      <pubDate>Mon, 28 Jan 2019 17:12:02 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/learn-to-computer/</guid>
      <description>Most people assume that I studied computer science in university and that I&amp;rsquo;ve been coding since I was young. They&amp;rsquo;re usually surprised when I tell them that in fact I studied Marketing and Spanish and that although my brother taught me how to build a very basic web page in the early 2000s, I didn&amp;rsquo;t really start to learn to program until I was an adult with a job.
The truth of the matter is that my story isn&amp;rsquo;t unique.</description>
    </item>
    
    <item>
      <title>I&#39;m an Azure Cloud Developer Advocate! 🎉</title>
      <link>https://blog.ryanlevick.com/starting-developer-advocacy/</link>
      <pubDate>Tue, 15 Jan 2019 16:35:55 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/starting-developer-advocacy/</guid>
      <description>Today I start a new role on the Azure Developer Advocate team! If you&amp;rsquo;re not already familiar with developer advocacy check out this awesome post by Ashley McNamara. She does a really great job of describing what a developer advocate and advocacy in general are and aren&amp;rsquo;t. In short advocacy isn&amp;rsquo;t about selling or marketing but rather giving a voice to developers everywhere whether or not they use a company&amp;rsquo;s particular products.</description>
    </item>
    
    <item>
      <title>Rust WebAssembly 2019</title>
      <link>https://blog.ryanlevick.com/rust-wasm-2019/</link>
      <pubDate>Tue, 08 Jan 2019 14:00:04 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/rust-wasm-2019/</guid>
      <description>I&amp;rsquo;ve already written my views on Rust 2019, but as I&amp;rsquo;ve been an occasional contributor to and a full-time follower of Rust&amp;rsquo;s WebAssembly story, I thought I&amp;rsquo;d offer my views there too. My hope is that 2019 will see a significant increase in the amount of time I spend with Rust, and I hope a good chunk of that time is in relation to wasm.
A Full Stack Story Nick Fitzgerald has already highlighted in his Rust wasm post the need for the working group to contribute to libraries and tooling that are higher up in the stack.</description>
    </item>
    
    <item>
      <title>Rust 2019: Stabilization</title>
      <link>https://blog.ryanlevick.com/rust-2019/</link>
      <pubDate>Wed, 19 Dec 2018 17:37:52 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/rust-2019/</guid>
      <description>The Rust core team has asked for the community to give their ideas on what they&amp;rsquo;d like to see from Rust in 2019 and give hints to what the next edition of Rust (tentatively Rust 2021) could be like. Here&amp;rsquo;s my take.
Stabilizing Rust If you&amp;rsquo;re familiar with the history of Rust you might be confused with a call to stabilization. After all, Rust 2015 (a.k.a 1.0) was all about stabilization and the team has actually done a pretty good job with achieving this goal.</description>
    </item>
    
    <item>
      <title>Things I Knew Little About: Fonts and Font Rasterization</title>
      <link>https://blog.ryanlevick.com/fonts-font-rasterization/</link>
      <pubDate>Mon, 15 Oct 2018 17:52:17 +0200</pubDate>
      
      <guid>https://blog.ryanlevick.com/fonts-font-rasterization/</guid>
      <description>When it comes to computers and computer science, there are still lots of things I know very little about, and I suspect this will always be the case. Instead of learning something new and keeping it to myself, I thought I&amp;rsquo;d share the learnings in case they&amp;rsquo;re useful or interesting to others.
For this post, I&amp;rsquo;ll be focusing on the wild world of font rasterization with tangents into Unicode and the OpenType file format.</description>
    </item>
    
    <item>
      <title>A Sudoku Solver &amp; Generator 🔢</title>
      <link>https://blog.ryanlevick.com/sudoku-solver-generator/</link>
      <pubDate>Sun, 16 Sep 2018 13:32:18 +0200</pubDate>
      
      <guid>https://blog.ryanlevick.com/sudoku-solver-generator/</guid>
      <description>For a small side project I&amp;rsquo;m working on, I&amp;rsquo;m using a Sudoku puzzle solver and puzzle generator that I&amp;rsquo;ve written in Rust. The experience was fun, so I thought I&amp;rsquo;d write up a little bit about the algorithm I&amp;rsquo;ve used and some interesting stats about how it performs.
The Solver Algorithm The first thing I built was an algorithm for solving Sudoku puzzles. After reading a bunch of Stack Overflow articles and a research paper or two, I came to the conclusion that the best way (and maybe only way) to write a solver is using a recursive solver that picks a value for a cell from the possible values left, and if it gets stuck it backtracks and starts over again with a different random value.</description>
    </item>
    
    <item>
      <title>Rust: Pass-By-Value or Pass-By-Reference? 👐</title>
      <link>https://blog.ryanlevick.com/rust-pass-value-or-reference/</link>
      <pubDate>Wed, 12 Sep 2018 19:23:14 +0200</pubDate>
      
      <guid>https://blog.ryanlevick.com/rust-pass-value-or-reference/</guid>
      <description>The other day, a friend of mine who is learning Rust asked if Rust is a pass-by-value or a pass-by-reference language. For the unfamiliar, pass-by-value means that when passing an argument to a function it gets copied into the new function so that the value in the calling function and the value in the called function are two separate values. Changes to one will not in turn result in the same change to the other.</description>
    </item>
    
    <item>
      <title>Rust and JavaScript Interop ↔️</title>
      <link>https://blog.ryanlevick.com/wasm-bindgen-interop/</link>
      <pubDate>Wed, 12 Sep 2018 09:33:01 +0200</pubDate>
      
      <guid>https://blog.ryanlevick.com/wasm-bindgen-interop/</guid>
      <description>In recent projects of mine, I&amp;rsquo;ve been using WebAssembly quite a bit. WebAssembly (Wasm) is &amp;ldquo;a new binary instruction format for a stack based virtual machine&amp;rdquo; that lets you use languages besides JavaScript to run code on a web page - usually either for performance reasons or to run code you&amp;rsquo;d like to share across different platforms. In my opinion, the most promising of these languages, due to its lack of a need for a runtime and great tooling is Rust.</description>
    </item>
    
    <item>
      <title>Babel 📜</title>
      <link>https://blog.ryanlevick.com/babel/</link>
      <pubDate>Mon, 26 May 2014 22:07:00 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/babel/</guid>
      <description>And the Lord said, Behold, the people is one, and they have all one language
Linguistic diversity is one of the true treasures of the human species. Learning a language imparts to us new insights, new ways of viewing the world.
Programming languages often times mirror their natural language counterparts when it comes to what can be gained from learning new ones. Learning new languages can be extremely informative, giving the programmer not only new paradigms to think in but also a new vocabulary which she can use to describe concepts present in languages already learned.</description>
    </item>
    
    <item>
      <title>What&#39;s All This Fuss About Monads? λ</title>
      <link>https://blog.ryanlevick.com/whats-all-this-fuss-about-monads/</link>
      <pubDate>Thu, 20 Feb 2014 19:30:00 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/whats-all-this-fuss-about-monads/</guid>
      <description>Despite Functional Programming&amp;rsquo;s (FP) growing popularity, for many &amp;ldquo;normal programmers&amp;rdquo; the language family seems to be merely an academic exercise that they are neither capable of or willing to engage in. Despite there being many FP languages that are arguably much more accessible than some &amp;ldquo;normal&amp;rdquo; programming languages like C++ (e.g. Elixir), FP does at times have some concepts that remain fuzzy even to those who have programmed before in the functional style.</description>
    </item>
    
    <item>
      <title>Disciplined Yak Shaving 🐂</title>
      <link>https://blog.ryanlevick.com/disciplined-yak-shaving/</link>
      <pubDate>Tue, 21 Jan 2014 22:18:00 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/disciplined-yak-shaving/</guid>
      <description>Being productive is more popular than ever. Everyone wants to get more and more done in less and less time. And no wonder. Getting things done feels really good.
Yet, &amp;ldquo;getting things done&amp;rdquo; is not always the best way to spend our time. yak shaving, done in the right way, can also be a good way to spend time.
Here are some reasons why I find disciplined yak shaving to be a good thing and some things I&amp;rsquo;ve learned along the way about how to do it well.</description>
    </item>
    
    <item>
      <title>Erlang is the Most Object Oriented Language</title>
      <link>https://blog.ryanlevick.com/erlang-is-the-most-object-oriented-language/</link>
      <pubDate>Thu, 03 Oct 2013 11:49:00 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/erlang-is-the-most-object-oriented-language/</guid>
      <description>Here&amp;rsquo;s an idea: Erlang is the only true object oriented language in use today.
You might be thinking &amp;ldquo;WATTTT, that doesn&amp;rsquo;t make any sense&amp;rdquo;. But bear with me. Let&amp;rsquo;s examine this idea a bit and see where it takes us.
Functional Programming and Object Orientation Often when you ask programmers what the opposite of functional programming is, they simply reply &amp;ldquo;well, object oriented programming, of course!&amp;rdquo;.
Unfortunately, this isn&amp;rsquo;t true. Object orientation and functional programming are orthogonal to one another, meaning, in more layman&amp;rsquo;s terms, that you can have your cake and eat it too.</description>
    </item>
    
    <item>
      <title>ActiveRecord Connections</title>
      <link>https://blog.ryanlevick.com/active-record-connection/</link>
      <pubDate>Wed, 26 Jun 2013 22:09:00 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/active-record-connection/</guid>
      <description>So, you feel pretty comfortable writing Ruby on Rails applications. Connecting to one (or more) databases and doing complex queries on complex relations doesn&amp;rsquo;t faze you one bit. But it bothers you that you don&amp;rsquo;t know more about how it works &amp;ldquo;behind the scenes&amp;rdquo;.
Today I&amp;rsquo;ll be starting the first in a series of posts on the internals of ActiveRecord, the part of Rails that allows us to connect to relational databases.</description>
    </item>
    
    <item>
      <title>Fear</title>
      <link>https://blog.ryanlevick.com/fear/</link>
      <pubDate>Fri, 31 May 2013 20:37:00 +0100</pubDate>
      
      <guid>https://blog.ryanlevick.com/fear/</guid>
      <description>Fear is something that we all experience. Generally when we think of fear, we conjure up stereotypical images of snakes or serial killers in our minds. And it makes sense that this would be our go-to definition of fear. We tend to remember things that are out of the ordinary, and the truth is that the fear the some homicidal manic invokes in us is much more unique than the fear that we experience on the daily basis.</description>
    </item>
    
  </channel>
</rss>
