<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>FMPWizard&#39;s blog</title>
    <link>https://blog.fmpwizard.com/</link>
    <description>Recent content on FMPWizard&#39;s blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 22 Apr 2023 21:49:57 -0700</lastBuildDate><atom:link href="https://blog.fmpwizard.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Transgender in North Carolina - Updating Gender/Sex Marker on your Birth Certificate</title>
      <link>https://blog.fmpwizard.com/2023/04/22/transgender-in-north-carolina-updating-gender/sex-marker-on-your-birth-certificate/</link>
      <pubDate>Sat, 22 Apr 2023 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2023/04/22/transgender-in-north-carolina-updating-gender/sex-marker-on-your-birth-certificate/</guid>
      <description>Up until 2022, if you were born in North Carolina and your gender identity didn&amp;rsquo;t match what your birth certificate indicated, you had one significant requirement to change it. You needed to go through sex reassignment surgery.
But all that recently changed, now (April 2023) North Carolina Vital Records has a more reasonable set of requirements for changing the sex marker on your birth certificate.
From the NC Birth Certificate Modification Application:</description>
    </item>
    
    <item>
      <title>About</title>
      <link>https://blog.fmpwizard.com/about/</link>
      <pubDate>Thu, 20 Apr 2023 08:48:51 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/about/</guid>
      <description>I&amp;rsquo;m Diego Medina, I have been developing secure and real-time applications since 2001. Around 2010 I started using Scala and Lift and for many years I was one of the most active members on the mailing list.
You can find my on twitter @fmpwizard, github or email me at diego@fmpwizard.com
I Love learning new technologies, and for the past 8+ years I have been using Go for performance hungry apps at work and some personal projects.</description>
    </item>
    
    <item>
      <title>Git pre-commit hooks not committing</title>
      <link>https://blog.fmpwizard.com/2020/12/07/git-pre-commit-hooks-not-committing/</link>
      <pubDate>Mon, 07 Dec 2020 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2020/12/07/git-pre-commit-hooks-not-committing/</guid>
      <description>We use reflex to restart our local app whenever we make changes to any Go file. But I run into a small problem, because we use Go mod with the vendor pattern, reflex ends up on our go.mod and go.sum files, but I really don&amp;rsquo;t want them there. They are not part of the app and should not be vendored.
I didn&amp;rsquo;t want to ask developers to run go mod tidy before sending a Pull Request, so I looked into using a git pre-commit hook.</description>
    </item>
    
    <item>
      <title>About Me In Early 2020</title>
      <link>https://blog.fmpwizard.com/2020/05/18/about-me-in-early-2020/</link>
      <pubDate>Mon, 18 May 2020 08:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2020/05/18/about-me-in-early-2020/</guid>
      <description>Today I thought it would be good to write down some information about me and my career:
Technical Side I enjoy being proactive, for example, a few weeks ago we had to run data for a large client. It was a process that normally runs for a single day worth of data, but this time we had about 4 years of data. And it took about 7 hours to run. I could have left it like that, but I knew that it was better to try and improve the performance before we start getting more requests with multi year datasets.</description>
    </item>
    
    <item>
      <title>I Knew I Had An Older Brother</title>
      <link>https://blog.fmpwizard.com/2019/04/02/i-knew-i-had-an-older-brother/</link>
      <pubDate>Tue, 02 Apr 2019 08:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2019/04/02/i-knew-i-had-an-older-brother/</guid>
      <description>There were many things I considered wrong when I was a child. One of them was knowing, in my Soul, that I had an older brother, but my family denied it and I didn&amp;rsquo;t have any physical proof.
I remember countless afternoons, sitting at the kitchen table, trying to figure out how to fit an older brother in our family tree. My mother was pretty young when she had my older sister, and I was convinced he was born before her.</description>
    </item>
    
    <item>
      <title>I hate my mother, maybe I&#39;ll love my mother</title>
      <link>https://blog.fmpwizard.com/2019/03/06/i-hate-my-mother-maybe-ill-love-my-mother/</link>
      <pubDate>Wed, 06 Mar 2019 08:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2019/03/06/i-hate-my-mother-maybe-ill-love-my-mother/</guid>
      <description>There are things that are best to leave in the past, or so I thought.
For the past few weeks, memories of my upbringing have come back to the surface. Memories that I have only shared with my wife, and maybe a friend or two.
Now I think it&amp;rsquo;s time to talk about them in the open, hoping that it will help me heal, and maybe it will help others with similar stories.</description>
    </item>
    
    <item>
      <title>The book that changed my life and I&#39;ve never read</title>
      <link>https://blog.fmpwizard.com/2019/02/08/the-book-that-changed-my-life-and-ive-never-read/</link>
      <pubDate>Fri, 08 Feb 2019 08:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2019/02/08/the-book-that-changed-my-life-and-ive-never-read/</guid>
      <description>Throughout my life, I have always felt that life was unfair to different groups of people: minority groups, poor countries, etc. On a more personal level, I didn&amp;rsquo;t know how to stay at peace with the fact that I was able to leave my neighborhood in Argentina, and have a safe, stable life in the US.
The best I could come up with, or anything I would read about, was that each person has their own journey and for some reason this was my journey.</description>
    </item>
    
    <item>
      <title>Teaching my kid to code with Arduino</title>
      <link>https://blog.fmpwizard.com/2018/08/26/teaching-my-kid-to-code-with-arduino/</link>
      <pubDate>Sun, 26 Aug 2018 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2018/08/26/teaching-my-kid-to-code-with-arduino/</guid>
      <description>Since I found out my wife and I were having a daughter, I&amp;rsquo;ve been looking for the best way to teach her how to code. I knew I didn&amp;rsquo;t want to be pushy, I wanted to find the most natural way for this to work out.
Fast forward to the present, she is 8 and a few weeks ago she decided to sit next to me while I was doing code review at work (I love working remotely!</description>
    </item>
    
    <item>
      <title>Buying our first Electric car, a Kia Soul EV 2017</title>
      <link>https://blog.fmpwizard.com/2017/10/22/buying-our-first-electric-car-a-kia-soul-ev-2017/</link>
      <pubDate>Sun, 22 Oct 2017 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2017/10/22/buying-our-first-electric-car-a-kia-soul-ev-2017/</guid>
      <description>I have been dreaming of driving an all electric car for years, the Tesla model S and X are way out of reach, pricewise. But all other options seemed to be cars in the 100 miles per charge range, which I thought was too little for our family. (Now there is the Bolt EV with an estimated 238 miles).
The search This past April, I started looking for our next car, most of the time it was my wife who got to pick cars (she is more into cars than me :)).</description>
    </item>
    
    <item>
      <title>Memory profiling in Go</title>
      <link>https://blog.fmpwizard.com/2017/10/02/memory-profiling-in-go/</link>
      <pubDate>Mon, 02 Oct 2017 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2017/10/02/memory-profiling-in-go/</guid>
      <description>I recently started using the escape analysis report that the go build tool provides. I&amp;rsquo;m still new to it, but what I get out of it so far is knowing if a function can be inline, and/or if a parameter/variable escapes the stack and is allocated in the heap.
The short and simplified version of why it is good when your function is inlined is that it saves the overhead of a functionn call by copying the body of the &amp;ldquo;external&amp;rdquo; function into the code where you are calling the function from.</description>
    </item>
    
    <item>
      <title>Restricting your Go application with SELinux</title>
      <link>https://blog.fmpwizard.com/2016/10/01/restricting-your-go-application-with-selinux/</link>
      <pubDate>Sat, 01 Oct 2016 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2016/10/01/restricting-your-go-application-with-selinux/</guid>
      <description>For years I have been just a passive users of SELinux, in the early days using it in Fedora, I would disable it because there were too many applications that didn&amp;rsquo;t work with it, I knew it was wrong, but didn&amp;rsquo;t have the knowledge nor the time to really look into the right way to deal with it.
Over the years Fedora added a huge number of policies to the point that 99% of the apps I use work just fine with SELinux enabled, and whenever I would get one of those denied warnings, I just followed the wizard-like-troubleshooting to update a policy and move on.</description>
    </item>
    
    <item>
      <title>Automatic TLS certificates for your Go application</title>
      <link>https://blog.fmpwizard.com/2016/09/30/automatic-tls-certificates-for-your-go-application/</link>
      <pubDate>Fri, 30 Sep 2016 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2016/09/30/automatic-tls-certificates-for-your-go-application/</guid>
      <description>I have enjoyed automatic ssl/tls certificates from Let&amp;rsquo;s Encrypt thanks to caddy server for several months already. But a couple of weeks ago I started a new side project, where I needed to run a web application that would listen for incoming requests from the nexmo servers.
This was a great opportunity to try one of the many let&amp;rsquo;s encrypt/acme clients in Go. I originally used rsc.io/letsencrypt and that same evening while reading Twitter, I saw that bradfitz proposed adding autocert to Go 1.</description>
    </item>
    
    <item>
      <title>Tags</title>
      <link>https://blog.fmpwizard.com/tags/</link>
      <pubDate>Mon, 19 Sep 2016 21:48:51 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/tags/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Go - Making a program 70% faster, by avoiding common mistakes</title>
      <link>https://blog.fmpwizard.com/2016/02/29/go-making-a-program-70-faster-by-avoiding-common-mistakes/</link>
      <pubDate>Mon, 29 Feb 2016 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2016/02/29/go-making-a-program-70-faster-by-avoiding-common-mistakes/</guid>
      <description>Go - Making a program 70% faster, by avoiding common mistakes. I often read articles where a developer would say they made this or that change to their code and a benchmark shows their function going from taking ~300ns to ~170ns and they were really happy about it. I think it&amp;rsquo;s great that there are devs out there really squeezing every CPU cycle they can. But this isn&amp;rsquo;t one of those articles.</description>
    </item>
    
    <item>
      <title>Lift Comet for native Android apps</title>
      <link>https://blog.fmpwizard.com/2015/07/19/lift-comet-for-native-android-apps/</link>
      <pubDate>Sun, 19 Jul 2015 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2015/07/19/lift-comet-for-native-android-apps/</guid>
      <description>Lift Comet for native Android apps A very powerful feature in Lift is its comet support, with very little code you can have an app that gives feedback to your users in real time. If you are new to the concept, these videos may help you.
But things get complicated when it&amp;rsquo;s time to write a mobile app and you want to have the same real time feedback on a native app.</description>
    </item>
    
    <item>
      <title>Improving compile time in Go</title>
      <link>https://blog.fmpwizard.com/2015/03/08/improving-compile-time-in-go/</link>
      <pubDate>Sun, 08 Mar 2015 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2015/03/08/improving-compile-time-in-go/</guid>
      <description>Improving compile time in Go The Go compiler is really fast, and I got so used to it that when compiling OwlCrawler was taking about 8 seconds I started to worry (granted I generate 3 executable files).
Tracking down the issue. Some google-fu pointed me to adding the -x parameter to go build to see more details on what was going on.
I noticed that the compiler was taking most of the time building the apache zookeeper go bindings that mesos-go depends on.</description>
    </item>
    
    <item>
      <title>Iron.io - Tech support done right</title>
      <link>https://blog.fmpwizard.com/2015/03/08/iron.io-tech-support-done-right/</link>
      <pubDate>Sun, 08 Mar 2015 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2015/03/08/iron.io-tech-support-done-right/</guid>
      <description>Iron.io - Tech support done right Last week I woke up to find an email from Iron.io telling me that I was running low on my available IronMQ quota. Somehow I had made around 800,000 API requests in a week by running my OwlCrawler project.
How? The reason was easy to spot, every time we got a resource offer from the Mesos master, the scheduler was checking two message queues for new tasks.</description>
    </item>
    
    <item>
      <title>OwlCrawler - Multiple executors using Mesos</title>
      <link>https://blog.fmpwizard.com/2015/03/01/owlcrawler-multiple-executors-using-mesos/</link>
      <pubDate>Sun, 01 Mar 2015 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2015/03/01/owlcrawler-multiple-executors-using-mesos/</guid>
      <description>OwlCrawler - Multiple Executors per Scheduler using Mesos As I continue working on OwlCrawler, I have refactored the code a lot. After getting some great feedback on the Mesos mailing list, I went ahead and split the single executor into two separate Executors that are triggered by the main Scheduler.
On the scheduler, I now have these two ExecutorInfo entries:
fetcherExe := &amp;amp;mesos.ExecutorInfo{ ExecutorId: util.NewExecutorID(&amp;#34;owl-cralwer-fetcher&amp;#34;), Name: proto.String(&amp;#34;OwlCralwer Fetcher&amp;#34;), Source: proto.String(&amp;#34;owl-cralwer&amp;#34;), Command: &amp;amp;mesos.</description>
    </item>
    
    <item>
      <title>Web crawler using Mesos and Go</title>
      <link>https://blog.fmpwizard.com/2015/02/20/web-crawler-using-mesos-and-go/</link>
      <pubDate>Fri, 20 Feb 2015 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2015/02/20/web-crawler-using-mesos-and-go/</guid>
      <description>Distributed web crawler using Mesos and Go OwlCrawler is a simple yet distributed web crawler I&amp;rsquo;m working onto learn Mesos. I&amp;rsquo;m using the mesos go binding to write the logic and use Iron MQ to trigger tasks that fetch pages. At this point I&amp;rsquo;m storing the url and html in etcd but I have plans to move that to CouchDB in the near future.
A bit of history. Writing a web crawler is something I have been thinking about for several years now, when I first started using Scala many years ago, I thought actors would be a great tool to have workers go out and do the crawling.</description>
    </item>
    
    <item>
      <title>Getting fancy with closures in Go</title>
      <link>https://blog.fmpwizard.com/2014/04/26/getting-fancy-with-closures-in-go/</link>
      <pubDate>Sat, 26 Apr 2014 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2014/04/26/getting-fancy-with-closures-in-go/</guid>
      <description>Getting fancy with closures in Go While at the hackday at Gophercon I thought it would be a good idea to do some code refactoring of Cortex.
Over the past 24 hours I made many changes, but one that I specially liked was that I could pass a function as a parameter to another function. This is possible in Go because functions are first class (values? | elements?) And this made the code a lot cleaner.</description>
    </item>
    
    <item>
      <title>Go Cortex - talking to Flowdock</title>
      <link>https://blog.fmpwizard.com/2014/04/23/go-cortex-talking-to-flowdock/</link>
      <pubDate>Wed, 23 Apr 2014 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2014/04/23/go-cortex-talking-to-flowdock/</guid>
      <description>Go Cortex - talking to Flowdock While on one side Go-Cortex let&amp;rsquo;s me control an Arduino using voice recognition, I also wanted to expand Cortex into helping me and my team at Brokc Alloy. we currently use flowdock for internal conversations and there were two things that I wasn&amp;rsquo;t too happy about:
There were times when people would say the current temperature where they live, and that meant I had to go and convert them from Celsius to Fahrenheit.</description>
    </item>
    
    <item>
      <title>HTTP Streaming Using Go</title>
      <link>https://blog.fmpwizard.com/2014/04/04/http-streaming-using-go/</link>
      <pubDate>Fri, 04 Apr 2014 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2014/04/04/http-streaming-using-go/</guid>
      <description>HTTP Streaming Using Go As I continue adding features to Cortex I needed to connect to the streaming api that Flowdock provides.
A quick Google search took me to this post which shows how to do that. It works, but while I was reading the code, it looked pretty low level for my taste. So I decided to try and use the http package.
Making the initial request url := &amp;quot;https://stream.</description>
    </item>
    
    <item>
      <title>Voice command for Arduino and Raspberry Pi using SMS</title>
      <link>https://blog.fmpwizard.com/2014/03/29/voice-command-for-arduino-and-raspberry-pi-using-sms/</link>
      <pubDate>Sat, 29 Mar 2014 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2014/03/29/voice-command-for-arduino-and-raspberry-pi-using-sms/</guid>
      <description>Voice command for Arduino and Raspberry Pi using SMS and Google Now. A couple of weeks ago I went ahead and bought the Wolfson sound card for the raspberry pi. I was hoping to integrate it into Cortex to improve the voice recognition setup I had.
This turned out not to work so well. The card has two built in microphones, but I had to be really close to the board to get a good quality recording.</description>
    </item>
    
    <item>
      <title>Go Cortex - using voice recognition and an ultrasonic sensor</title>
      <link>https://blog.fmpwizard.com/2014/03/09/go-cortex-using-voice-recognition-and-an-ultrasonic-sensor/</link>
      <pubDate>Sun, 09 Mar 2014 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2014/03/09/go-cortex-using-voice-recognition-and-an-ultrasonic-sensor/</guid>
      <description>Go Cortex Using voice recognition and an ultrasonic sensor Last week I released a small project I was working on. After I published it, I kept thinking of different ways to use it and how to make it better. I wasn&amp;rsquo;t too happy with the idea that I had to type my message on the browser, so Cortex could process it. My goal is to have Cortex run on several raspberry pi computers all across my house, and somehow have them all waiting for commands, but I didn&amp;rsquo;t want to have to manually interact with them.</description>
    </item>
    
    <item>
      <title>Go Cortex - using Wit.ai on a raspberry pi connected to an arduino and written in go</title>
      <link>https://blog.fmpwizard.com/2014/03/06/go-cortex-using-wit.ai-on-a-raspberry-pi-connected-to-an-arduino-and-written-in-go/</link>
      <pubDate>Thu, 06 Mar 2014 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2014/03/06/go-cortex-using-wit.ai-on-a-raspberry-pi-connected-to-an-arduino-and-written-in-go/</guid>
      <description>Go Cortex - using Wit.ai on a raspberry pi connected to an arduino and written in go What is it? Update I wrote a follow up post where I added voice recording capabilities.
Cortex is a service written in the Go language that listens for regular sentences and tries to convert them into commands to execute. And in the near future, it will also give you relevant answers.
Internals Cortex understands what you asked by using Wit.</description>
    </item>
    
    <item>
      <title>GoChat - Using Go Channels</title>
      <link>https://blog.fmpwizard.com/2014/01/05/gochat-using-go-channels/</link>
      <pubDate>Sun, 05 Jan 2014 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2014/01/05/gochat-using-go-channels/</guid>
      <description>GoChat - Using Go Channels A couple of weeks ago I wrote about using Go with Twitter Flight to write web applications.
But I didn&amp;rsquo;t put too much emphasis on the go code, it was mostly to highlight some patterns which I think can be applied to any web application.
This post is more about the go code.
Using Go channels. One of the main features I like from Go is that it has concurrency solutions built into the language itself.</description>
    </item>
    
    <item>
      <title>Using Grunt and Bower with Lift</title>
      <link>https://blog.fmpwizard.com/2013/12/23/using-grunt-and-bower-with-lift/</link>
      <pubDate>Mon, 23 Dec 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/12/23/using-grunt-and-bower-with-lift/</guid>
      <description>Using Grunt and Bower with Lift I&amp;rsquo;m very grateful that I always get a chance to work with very smart people, and I get the chance to learn new tools, languages, techniques, etc. Here I&amp;rsquo;ll talk about Grunt, which Tim Nelson introduced me to. And I&amp;rsquo;ll talk a bit about Bower and how they can work together to help you in your Lift applications.
What is Grunt? For those using Scala, think of grunt as a build tool for javascript and css files (I was going to say, think of it as sbt, but then those who &amp;hellip; dislike &amp;hellip; sbt may get some negative ideas about grunt.</description>
    </item>
    
    <item>
      <title>Things I like about Go</title>
      <link>https://blog.fmpwizard.com/2013/12/21/things-i-like-about-go/</link>
      <pubDate>Sat, 21 Dec 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/12/21/things-i-like-about-go/</guid>
      <description>Things I like about Go I was going to start this post by pointing out all the bad things about Scala and how great Go is, but I decided against it, Go is such a great language, that you don&amp;rsquo;t need to trash another language to point out Go&amp;rsquo;s strengths. So here, I&amp;rsquo;m going to list how awesome a language Go is.
Things I love about Go. Fast compiler (I mean, super fast).</description>
    </item>
    
    <item>
      <title>Twitter Flight and Go</title>
      <link>https://blog.fmpwizard.com/2013/12/21/twitter-flight-and-go/</link>
      <pubDate>Sat, 21 Dec 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/12/21/twitter-flight-and-go/</guid>
      <description>Twitter Flight and Go The last couple of weeks I have been using the Go language and twitter flight for a small project. I remember watching an introductory video on go right around the time I go into Scala. It look like an interesting language, I really liked their concurrent built in approach, among other features, but it was way too new as a language for me to get into.</description>
    </item>
    
    <item>
      <title>Getting Started with Twitter Flight - Book review</title>
      <link>https://blog.fmpwizard.com/2013/12/09/getting-started-with-twitter-flight-book-review/</link>
      <pubDate>Mon, 09 Dec 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/12/09/getting-started-with-twitter-flight-book-review/</guid>
      <description>Getting Started with Twitter Flight - Book review. About two weeks ago I was asked if I could review a book about Twitter Flight. That email came in at the right time, as I was looking into trying some new language and/or framework and Flight was something I had in my list of frameworks to try out.
The publishers gave me a free copy of Getting Started with Twitter Flight, written by Tom Hamshere and off I went to read it.</description>
    </item>
    
    <item>
      <title>Different ways to use Comet Actors in Lift (Part III)</title>
      <link>https://blog.fmpwizard.com/2013/03/26/different-ways-to-use-comet-actors-in-lift-part-iii/</link>
      <pubDate>Tue, 26 Mar 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/03/26/different-ways-to-use-comet-actors-in-lift-part-iii/</guid>
      <description>Different ways to use Comet Actors in Lift (Part III). AngularJS&amp;rsquo; turn On my previous post, I showed how you could write a simple chat application using different techniques. The last technique was using knockoutjs, but recently there have been several posts on the Lift mailing list about AngularJS, and as I wanted to try it out, I thought it would be interesting to see what a chat application using angularJS would look like.</description>
    </item>
    
    <item>
      <title>Asynchronous snippets in Lift 2.5</title>
      <link>https://blog.fmpwizard.com/2013/03/08/asynchronous-snippets-in-lift-2.5/</link>
      <pubDate>Fri, 08 Mar 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/03/08/asynchronous-snippets-in-lift-2.5/</guid>
      <description>Asynchronous snippets in Lift 2.5 On my last post I wrote about using LAFutures on your snippets. And one of the things I said was that the syntax I was looking for was this:
val future1: LAFuture[String] = new LAFuture() def render = { &amp;#34;#my-slow-loading-element *&amp;#34; #&amp;gt; future1 } Well, over the last couple of nights I got to what I think is a great syntax:
class Sample extends Loggable { val f1: LAFuture[NodeSeq] = new LAFuture() val f2: LAFuture[NodeSeq] = new LAFuture() LAScheduler.</description>
    </item>
    
    <item>
      <title>Using LAFutures with snippets in Lift 2.x</title>
      <link>https://blog.fmpwizard.com/2013/03/05/using-lafutures-with-snippets-in-lift-2.x/</link>
      <pubDate>Tue, 05 Mar 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/03/05/using-lafutures-with-snippets-in-lift-2.x/</guid>
      <description>Using LAFutures with snippets in Lift 2.x Update There is a better alternative now on this post
==================================
For a while I wanted to do something like this on a Lift snippet:
val future1: LAFuture[String] = new LAFuture() def render = { &amp;#34;#my-slow-loading-element *&amp;#34; #&amp;gt; future1 } And the idea was that the page will load right away, and once the LAFuture had a valid value, it would be added to the page.</description>
    </item>
    
    <item>
      <title>Different ways to use Comet Actors in Lift (Part I)</title>
      <link>https://blog.fmpwizard.com/2013/03/01/different-ways-to-use-comet-actors-in-lift-part-i/</link>
      <pubDate>Fri, 01 Mar 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/03/01/different-ways-to-use-comet-actors-in-lift-part-i/</guid>
      <description>Different ways to use Comet Actors in Lift (Part I). With some bits of knockout.js Lift has many great fundamental features, focusing on security at its core is one of them, and another one is the ability to take a feature like its comet support and integrate it with JavaScript (and any JavaScript framework you wish to use).
Background. When I started using Lift, most of the code I wrote was in scala, but then I needed to add some dynamic magic to them, so I started adding JavaScript in different places.</description>
    </item>
    
    <item>
      <title>Different ways to use Comet Actors in Lift (Part II)</title>
      <link>https://blog.fmpwizard.com/2013/03/01/different-ways-to-use-comet-actors-in-lift-part-ii/</link>
      <pubDate>Fri, 01 Mar 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/03/01/different-ways-to-use-comet-actors-in-lift-part-ii/</guid>
      <description>Different ways to use Comet Actors in Lift (Part II). With some bits of knockout.js Update: I have updated the source code on the github branch, and there is part III, using AngularJS. On my previous post, I gave an introduction of my javascript adventures (kind of). This post is about re-writing the sample chat application that comes with Simply Lift using three different techniques.
Technique I The first technique is to inline JavaScript in your scala code.</description>
    </item>
    
    <item>
      <title>Lift running on Raspberry Pi</title>
      <link>https://blog.fmpwizard.com/2013/02/26/lift-running-on-raspberry-pi/</link>
      <pubDate>Tue, 26 Feb 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/02/26/lift-running-on-raspberry-pi/</guid>
      <description>Lift and Raspberry Pi Several months ago I blogged about controlling a servo motor with an Arduino board and a Lift application running on my computer.
That was a fun little experiment I did, but having to use my regular laptop to send the signals wasn&amp;rsquo;t all that great. So I decided to try something a bit different this time.
The light. I had successfully run a Lift application on my raspberry pi computer, so I figured to try and control the GPIO pins from the raspberry pi from a Lift application.</description>
    </item>
    
    <item>
      <title>Status page in Lift</title>
      <link>https://blog.fmpwizard.com/2013/01/12/status-page-in-lift/</link>
      <pubDate>Sat, 12 Jan 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/01/12/status-page-in-lift/</guid>
      <description>Status page for your Lift server. For the past week I have been building a little Lift application to run on a Raspberry Pi computer. This application is supposed to control the GPIO pins that come on the Raspberry Pi.
But, as this little computer is pretty slow to boot (well, a few seconds), I thought that I should add some kind of status page that I can keep hitting from my laptop, and once I get an OK response, well, Lift is up and I can start controlling the pins.</description>
    </item>
    
    <item>
      <title>Comet Actors in Lift 2.5</title>
      <link>https://blog.fmpwizard.com/2013/01/05/comet-actors-in-lift-2.5/</link>
      <pubDate>Sat, 05 Jan 2013 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2013/01/05/comet-actors-in-lift-2.5/</guid>
      <description>Comet Actors in Lift. One of my favorite features in Lift is Comet Actors, I love how easy they are to reason about, and they work great.
I went ahead and recorded a presentation which focuses just on comet actors. They are split into 3 videos and I hope you find them useful.
All 3 videos in a playlist: Lift Comet Actors presentation
The slides are on Google Drive (they are all 3 parts in one file.</description>
    </item>
    
    <item>
      <title>What is T =&gt; JsCmd or how you send data from the browser to a Lift server</title>
      <link>https://blog.fmpwizard.com/2012/12/07/what-is-t-jscmd-or-how-you-send-data-from-the-browser-to-a-lift-server/</link>
      <pubDate>Fri, 07 Dec 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/12/07/what-is-t-jscmd-or-how-you-send-data-from-the-browser-to-a-lift-server/</guid>
      <description>How does T =&amp;gt; JsCmd send data to Lift? I remember my first few interactions with Lift&amp;rsquo;s ajax support, which were also my first few interactions with Scala. It was pretty hard to get my head around some of the method signatures I would find all across Lift&amp;rsquo;s source code.
The one that took me a while to understand was T =&amp;gt; JsCmd . What was hard to understand was, how that type would mean that I can pass information from the browser to the LIft server, and get back a response in the form of JavaScript.</description>
    </item>
    
    <item>
      <title>How I work with Lift</title>
      <link>https://blog.fmpwizard.com/2012/11/29/how-i-work-with-lift/</link>
      <pubDate>Thu, 29 Nov 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/11/29/how-i-work-with-lift/</guid>
      <description>How I work with Lift. Something I enjoy very much is teaching, specially when Lift is involved. Mainly because I learn a lot by teaching others, and secondly because I have learned a lot thanks to those who spent the time to either teach me directly, or indirectly through blog posts, articles, etc.
Since I joined Elemica about 9 months ago, I have spent a good amount of time sharing what I know about Lift, Scala and web security with my team members.</description>
    </item>
    
    <item>
      <title>Lift Sitemaps - a better way</title>
      <link>https://blog.fmpwizard.com/2012/11/11/lift-sitemaps-a-better-way/</link>
      <pubDate>Sun, 11 Nov 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/11/11/lift-sitemaps-a-better-way/</guid>
      <description>Lift Sitemap One of the many things I have recently learned from Tim Nelson is how to better use Sitemap.
You know, most of us declare our site maps in Lift like this:
def sitemap = SiteMap( Menu.i(&amp;#34;Home&amp;#34;) / &amp;#34;index&amp;#34;, Menu.i(&amp;#34;About&amp;#34;) / &amp;#34;about&amp;#34;, Menu.i(&amp;#34;user.list&amp;#34;) / &amp;#34;user&amp;#34; / &amp;#34;list&amp;#34; &amp;gt;&amp;gt; LoggedIn, Menu.i(&amp;#34;user.create&amp;#34;) / &amp;#34;user&amp;#34; / &amp;#34;create&amp;#34; &amp;gt;&amp;gt; LoggedIn ) To most people this looks just like any other site map they have implemented in the past.</description>
    </item>
    
    <item>
      <title>H2 Web Consoler and Lift</title>
      <link>https://blog.fmpwizard.com/2012/09/05/h2-web-consoler-and-lift/</link>
      <pubDate>Wed, 05 Sep 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/09/05/h2-web-consoler-and-lift/</guid>
      <description>H2 web console and Lift At work we use H2 as the default database while we develop our apps. This helps because t&amp;rsquo;s just easy to setup and if anything goes wrong, we just delete the file and restart our application.
All this is nice, but one thing that wasn&amp;rsquo;t so smooth was accessing H2 from outside Lift, and be able to run any queries against it.
Before I joined Elemica, they were using SQuirrelSQL, which I thought was horrible, it may be a great tool, but all I wanted was connect, and run queries.</description>
    </item>
    
    <item>
      <title>Textile editor and Lift</title>
      <link>https://blog.fmpwizard.com/2012/07/28/textile-editor-and-lift/</link>
      <pubDate>Sat, 28 Jul 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/07/28/textile-editor-and-lift/</guid>
      <description>Textile and Lift One way Lift makes developing applications fun, is by taking care of security for you. Most of the time, you don&amp;rsquo;t have to worry about common hacking attacks like XSS, this is because Lift doesn&amp;rsquo;t treat your data as plain Strings, it treats them as NodeSeq. Instead of displaying html tags, it will html encode them, before returning them the browser.
This happens without you having to enable anything, which is great, so you just focus on your application logic.</description>
    </item>
    
    <item>
      <title>Dynamically adding fields to a Lift application</title>
      <link>https://blog.fmpwizard.com/2012/07/22/dynamically-adding-fields-to-a-lift-application/</link>
      <pubDate>Sun, 22 Jul 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/07/22/dynamically-adding-fields-to-a-lift-application/</guid>
      <description>Dynamically adding fields to a Lift application A question that I see on the mailing list from time to time is how to dynamically add fields to a page.
The usual answer is that they cannot really do that, at least in a clean way, but we offer a few work arounds. One of them is to declare x number of fields, and just use jQuery to hide/show them.
This past week I had the same requirement at work.</description>
    </item>
    
    <item>
      <title>A distributed Lift Comet Chat Application</title>
      <link>https://blog.fmpwizard.com/2012/07/14/a-distributed-lift-comet-chat-application/</link>
      <pubDate>Sat, 14 Jul 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/07/14/a-distributed-lift-comet-chat-application/</guid>
      <description>A distributed Lift Comet Chat Application Lift has very powerful comet support, and 2.5 is bringing even better support. But one of the things I always wondered about was, how to have comet work across several containers.
A few months ago I had an idea of how to do this, and was planning on talking about it at OSCON, but my talk wasn&amp;rsquo;t accepted. Then I decided I could just blog about it and here we are.</description>
    </item>
    
    <item>
      <title>Using Twitter Finagle and the Streaming api</title>
      <link>https://blog.fmpwizard.com/2012/07/01/using-twitter-finagle-and-the-streaming-api/</link>
      <pubDate>Sun, 01 Jul 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/07/01/using-twitter-finagle-and-the-streaming-api/</guid>
      <description>Using Twitter Finagle, the Streaming api and Lift Last weekend I had a chance to try Finagle&amp;rsquo;s streaming client. It wasn&amp;rsquo;t that easy to find an example of how to use it, so I thought it would help to post a working example.
Finagle The complete object here on github. I added as many comments as I could, so it should be easy to understand.
Basically you stablish a connection to the Twitter api doing:</description>
    </item>
    
    <item>
      <title>Lift autocomplete with jQueryUI</title>
      <link>https://blog.fmpwizard.com/2012/06/20/lift-autocomplete-with-jqueryui/</link>
      <pubDate>Wed, 20 Jun 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/06/20/lift-autocomplete-with-jqueryui/</guid>
      <description>A couple of days ago I had to rework an autocomplete widget we had at work.
The old implementation was using Lift as a REST service, and then jQuery to do the autocomplete. It worked well, but it was exposing some internal database IDs and I knew we could do better.
The goals. I had a few ideas of what I wanted to get out of this rewrite:
As the user typed a name, there should be a drop down menu with the found results.</description>
    </item>
    
    <item>
      <title>Arduino and Lift - controlling a servo motor</title>
      <link>https://blog.fmpwizard.com/2012/06/04/arduino-and-lift-controlling-a-servo-motor/</link>
      <pubDate>Mon, 04 Jun 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/06/04/arduino-and-lift-controlling-a-servo-motor/</guid>
      <description>Arduino and Lift - controlling a servo motor. Introduction. I have been meaning to control devices from a computer for a long time. But for one reason or another, I never got to it, that is, until now.
About a year ago I found out about the Arduino project, it looked very interesting, but I didn&amp;rsquo;t want to learn yet another language, I wanted to use Scala for this, so I put the idea to the side.</description>
    </item>
    
    <item>
      <title>Why do we need Template(() =&gt; Templates()) ?</title>
      <link>https://blog.fmpwizard.com/2012/05/30/why-do-we-need-template-templates/</link>
      <pubDate>Wed, 30 May 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/05/30/why-do-we-need-template-templates/</guid>
      <description>Why do we need Template(() =&amp;gt; Templates()) ? I have seen a few emails on the Lift mailing list where people use
Template(() =&amp;gt; Templates(&amp;#34;filenamehere&amp;#34; :: Nill)) but I never knew why they used that, instead of just naming their templates on the sitemap entry like:
Menu.i(&amp;#34;myPage&amp;#34;) / &amp;#34;filenamehere&amp;#34; And today I run into at least one use case, which makes a lot of sense and I&amp;rsquo;m very happy is there.</description>
    </item>
    
    <item>
      <title>Debugging Lift applications using IntelliJ 11 and SBT</title>
      <link>https://blog.fmpwizard.com/2012/01/28/debugging-lift-applications-using-intellij-11-and-sbt/</link>
      <pubDate>Sat, 28 Jan 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/01/28/debugging-lift-applications-using-intellij-11-and-sbt/</guid>
      <description>Debugging Lift applications using IntelliJ 11 and SBT From time to time someone will come to the Lift mailing list asking how to debug their applications from an IDE. I have to confess that most of the time I simply use println or write a spec2 test.
But today I decided to just go ahead and write a little intro on how to setup sbt and intelliJ IDEA 11 to debug a Lift application (and for that matter, debug any application running from sbt.</description>
    </item>
    
    <item>
      <title>Scala / Lift - Custom Wizard</title>
      <link>https://blog.fmpwizard.com/2012/01/27/scala-/-lift-custom-wizard/</link>
      <pubDate>Fri, 27 Jan 2012 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2012/01/27/scala-/-lift-custom-wizard/</guid>
      <description>Scala / Lift - Custom Wizard Lift has an amazing component to write applications like surveys, it is called wizard. And you can find more information on the Simply Lift book.
One limitation it has, is that you cannot place the fields on any part of the page. They all appear one under the other. There is some work being done by Peter Brant which I really hope makes it into 2.</description>
    </item>
    
    <item>
      <title>Lift comet actor per tab library</title>
      <link>https://blog.fmpwizard.com/2011/09/10/lift-comet-actor-per-tab-library/</link>
      <pubDate>Sat, 10 Sep 2011 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2011/09/10/lift-comet-actor-per-tab-library/</guid>
      <description>Lift comet actor per tab library I wrote in the past about having different comet actors on the same window but on different tabs. This in a use case that I run into pretty often. And as I was getting tired of copying and pasting the same files over and over, I decided to write a little library to do just that, allow you to have different actors per browser tab without having to worry about dispatchers, etc.</description>
    </item>
    
    <item>
      <title>Back button and bookmark meet Lift comet - Revisited</title>
      <link>https://blog.fmpwizard.com/2011/07/13/back-button-and-bookmark-meet-lift-comet-revisited/</link>
      <pubDate>Wed, 13 Jul 2011 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2011/07/13/back-button-and-bookmark-meet-lift-comet-revisited/</guid>
      <description>Back button and bookmark meet Lift comet - Revisited On my quest for the ultimate bookmark and back button support for comet and ajax based lift applications, I decided to ask on the Lift mailing list how you could call Scala code from the browser. I really thought that it was going to be pretty hard to understand. But to my surprise, it was very easy.
There are at least three methods, ajaxCall, ajaxInvoke and jsonCall (all in the SHtml object).</description>
    </item>
    
    <item>
      <title>Back button and bookmark meet Lift comet</title>
      <link>https://blog.fmpwizard.com/2011/06/15/back-button-and-bookmark-meet-lift-comet/</link>
      <pubDate>Wed, 15 Jun 2011 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2011/06/15/back-button-and-bookmark-meet-lift-comet/</guid>
      <description>Back button and bookmark meet Lift comet One of the first, if not the first question, that I asked on the mailing list was if Lift had support for browser history when doing ajax requests.
I was coming from using GWT, and they had a nice mechanism for doing this. It uses the url fragment identifier to achieve this.
I had a few answers to my question, but I was too new to Scala and Lift to really implement anything.</description>
    </item>
    
    <item>
      <title>Lift actors, Comet actors and how to do async calls</title>
      <link>https://blog.fmpwizard.com/2011/05/04/lift-actors-comet-actors-and-how-to-do-async-calls/</link>
      <pubDate>Wed, 04 May 2011 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2011/05/04/lift-actors-comet-actors-and-how-to-do-async-calls/</guid>
      <description>Lift actors, Comet actors and how to do async calls A few weeks ago I saw a question on the mailing list that got my attention. It made me think of some of the great things you could do with Lift and its LiftActors.
In this blog post I’ll show you how after a user submits a form, you can start an asynchronous process, and once it finishes, Lift can notify the user of such event.</description>
    </item>
    
    <item>
      <title>Using lift wiring - for real this time</title>
      <link>https://blog.fmpwizard.com/2011/03/29/using-lift-wiring-for-real-this-time/</link>
      <pubDate>Tue, 29 Mar 2011 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2011/03/29/using-lift-wiring-for-real-this-time/</guid>
      <description>Using lift wiring - for real this time On my last article I meant to compare two ways of doing conditional drop down menus using Lift. I wanted to compare using simple Ajax and wiring. But I ended up doing both cases using Ajax :( (This is because Lift makes is so easy :P).
But I still wanted to use Wiring, and be able to write about it. A few nights ago, I was able to update the sample application with a third example, this one really uses wiring!</description>
    </item>
    
    <item>
      <title>Conditional Drop Down - Ajax vs Wiring - Lift - Scala</title>
      <link>https://blog.fmpwizard.com/2011/03/22/conditional-drop-down-ajax-vs-wiring-lift-scala/</link>
      <pubDate>Tue, 22 Mar 2011 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2011/03/22/conditional-drop-down-ajax-vs-wiring-lift-scala/</guid>
      <description>Conditional Drop Down - Ajax vs Wiring - Lift - Scala Update: It turned out that I got a bit sidetracked as I was trying to get this example working, and I did not end up using Wiring. What I refer to as Wiring on this post is actually just Lift’s easy way of doing Ajax (so I compare Ajax with Ajax here :( ). But don’t worry, I still want to use Wiring, so I’ll find time this week to update the sample project and I’ll post again.</description>
    </item>
    
    <item>
      <title>File Upload with Lift - Scala</title>
      <link>https://blog.fmpwizard.com/2011/03/21/file-upload-with-lift-scala/</link>
      <pubDate>Mon, 21 Mar 2011 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2011/03/21/file-upload-with-lift-scala/</guid>
      <description>File Upload with Lift - Scala As I continue to use Lift, I decided to add a file upload to one of my side projects. I had seen the SHtml.fileUpload method before, so I thought it was going to be one of those 5 minutes things.
A few days later and several email exchanges with Jeppe on the mailing list, I finally got it to work. Not that it was hard, but there was a tiny detail that was staring at me the whole time, but I just could not see it.</description>
    </item>
    
    <item>
      <title>Scala &#43; Lift &#43; Comet &#43; REST Support</title>
      <link>https://blog.fmpwizard.com/2011/02/18/scala--lift--comet--rest-support/</link>
      <pubDate>Fri, 18 Feb 2011 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2011/02/18/scala--lift--comet--rest-support/</guid>
      <description>Scala + Lift + Comet + REST Support As part of my day job, I have been writing a dashboard to display test results from our different integration tests. I chose to write it using Scala and Lift and it has been a great choice.
One of the many goals I have for this dashboard is to make the UI as responsive as possible. I also wanted to avoid things like full page reloads just to get new info.</description>
    </item>
    
    <item>
      <title>String.asInstanceOf scala.xml.Elem</title>
      <link>https://blog.fmpwizard.com/2010/05/24/string.asinstanceof-scala.xml.elem/</link>
      <pubDate>Mon, 24 May 2010 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2010/05/24/string.asinstanceof-scala.xml.elem/</guid>
      <description>String.asInstanceOf[scala.xml.Elem] Up until a few weeks ago I was mostly using Scala to read Json data, but the time came when I had to read some XML. I already had a method to read the Json output from a web service, which returns a StringBuilder. So I thought that I could simply use: (This is just a simplified code sample)
println(parseXML(jsonAsString.asInstanceOf[scala.xml.Elem])) package com.fmpwizard.examples import scala.xml._ object Main{ def main(args: Array[String])= { def getJsonAsString(url: String): StringBuilder= { new StringBuilder( &amp;#34;&amp;#34;&amp;#34; &amp;lt;doc&amp;gt; &amp;lt;node&amp;gt;info&amp;lt;/node&amp;gt; &amp;lt;/doc&amp;gt; &amp;#34;&amp;#34;&amp;#34;) } def parseXML(xmlIn: scala.</description>
    </item>
    
    <item>
      <title>Using Apache httpclient Authentication in Scala</title>
      <link>https://blog.fmpwizard.com/2010/04/26/using-apache-httpclient-authentication-in-scala/</link>
      <pubDate>Mon, 26 Apr 2010 21:49:57 -0700</pubDate>
      
      <guid>https://blog.fmpwizard.com/2010/04/26/using-apache-httpclient-authentication-in-scala/</guid>
      <description>Using Apache httpclient Authentication in Scala One of the things I love the most is the web, there is so much information out there, just waiting to be found. Something else I love is writing web crawlers/spiders. So it was just natural that I would look into writing one using Scala.
I found a few examples that show how to use Apache httpclient with Scala, but what I did not find much information about, was how to send credentials along the request.</description>
    </item>
    
  </channel>
</rss>
