Posts
  • Code Monkey Have Fun

    The Humans Are Dead

    • 3 Comments
    Sadly, Microsoft has decided to kill the MSR Robotics team... My last day is today. All that remains is a bunch of robots... Since this is an MSDN blog, I believe it will have to continue somewhere else. I don't know where yet, but follow me on Twitter...
  • Code Monkey Have Fun

    F18 Variables

    • 1 Comments
    Variables on the F18 are not like regular Forth variables. Usually a variable is a word returning the address of its value used along with fetch ( @ ) and store ( ! ) words. On the F18 the idiomatic approach is to have individual variable-specific fetch...
  • Code Monkey Have Fun

    Multiply-step Instruction

    • 1 Comments
    Fourth in a series on colorForth and GreenArrays hardware . This time, how the multiply-step instruction works on the F18. Bit Twiddling is Fun! Here's a bit-twiddly interview question for you: Design an algorithm to multiply fixnum integers in...
  • Code Monkey Have Fun

    The Beautiful Simplicity of colorForth

    • 6 Comments
    colorForth As much fun as hand packing instructions was in the last post , that was tedious. Let's move on to colorForth. Don't worry too much about what the code above does (prints "colorForth rocks!"). It compiles to this: Isn't the source...
  • Code Monkey Have Fun

    Programming the F18

    • 11 Comments
    Programming the F18 As we saw in the last post , the GA144 chip is an array of 144 tiny computers or "nodes". We tend not to call them "cores" because they are really more independent than that. Programming these interconnected nodes is something like...
  • Code Monkey Have Fun

    Chuck Moore's Creations

    • 7 Comments
    This is the beginning of a series: Programming the F18 Beautiful Simplicity of colorForth Multiply-step Instruction Simple Variables When I heard that Chuck Moore was speaking at Strange Loop this year I just had to go. His talk yesterday...
  • Code Monkey Have Fun

    Speech Grammars in F#

    • 1 Comments
    People say that Vim keys are a grammar for talking to your editor and that's exactly what they are. One weekend some time back I had fun making VimSpeak to see how well mapping English words to Vim keys would work. It turned out quite nice and some pieces...
  • Code Monkey Have Fun

    Memoization

    • 8 Comments
    Don Syme blogged this quite some years ago but it just came up in a design review on my team this afternoon and it bears repeating. let memoize f = let cache = new Dictionary <_,_> () ( fun x -> match cache.TryGetValue x with | true , res...
  • Code Monkey Have Fun

    Colemak

    • 6 Comments
    I switched to Colemak a couple of years ago. I love it. Never going back. Not really any faster than QWERTY, but so much more comfortable. One issue though is whenever I jump on someone else's machine or remote into some server. I want to switch...
  • Code Monkey Have Fun

    If you can’t beat ‘em, join ‘em

    • 2 Comments
    I’ve had fun making the little DCPU emulator (past couple of posts: 1 , 2 ), but sadly, I’ve had no time to make a Forth for it. But hey, Matt Hellige has already done it ! I just took his GoForth and got it up and going. Just grab the image from here...
  • Code Monkey Have Fun

    What’s a computer without I/O? Hot Silicon At Best…

    • 1 Comments
    [FYI: Matt Hellige’s excellent GoForth runs on this ] I’m completely astonished at how quickly a community has sprung up around Notch’s DCPU-16 . In the first 24 hours there were already tens of implementations in various languages ( including mine )...
  • Code Monkey Have Fun

    Notch is Gonna Outdo Himself!

    • 18 Comments
    [Note: I/O has now been added ] My son is completely obsessed with Minecraft . It’s an amazing game and the way he plays it, it really nurtures extreme creativity. I honestly haven’t been able to get into it myself but I was pretty intrigued by the ComputerCraft...
  • Code Monkey Have Fun

    Turtle Graphics on the Fignition

    • 2 Comments
    The Fignition board is a fun little piece of 8-bit fun I tell ya! I’ve been having a blast with it. It’s an ATmega168 with 8Kb SRAM and 4Mbits of flash with video out (there’s also a sound mod for it ). In this post I want to show off...
  • Code Monkey Have Fun

    96 Line F# Emulator + 960 bytes of HP-35 Microcode

    • 3 Comments
    [Part 3 of the HP Calc series ] In this post, we’ll create a 96-line F# emulator for the HP-35 calculator with which we’ll run the 960 byte (!) ROM image. As you may well know, I am a calculator freak. The 40-year-old HP-35 is an especially...
  • Code Monkey Have Fun

    Introducing the Cult of the Bound Variable to the Cult of Forth

    • 0 Comments
    [The twelfth in a series of posts on the evolution of TransForth ]   It’s been quite fun playing with this Universal Machine from the Cult of the Bound Variable . In this post we’re going to continue the journey toward building a full Forth for this...
  • Code Monkey Have Fun

    Lego KinNXT

    • 14 Comments
    I’ve been having some fun playing with the Kinect SDK and the Lego NXT kit . The protocol to talk to the Lego brick over Bluetooth is pretty straight forward. Below is a little F# module for most of the basic commands. I’ll fill out the full set soon...
  • Code Monkey Have Fun

    Programming a 2000 Year Old Sandstone Computer

    • 0 Comments
    [The eleventh in a series of posts on the evolution of TransForth ] If you think coding with punch cards is old school, you should try using sandstone tablets! Legend has it that members of the Cult of the Bound Variable designed and may have even...
  • Code Monkey Have Fun

    Meta-Circular Chicken and Egg

    • 0 Comments
    [The tenth in a series of posts on the evolution of TransForth ] This post may not quite be deserving of a wizard’s cape and 2001 Space Odyssey background music as when Sussman writes out Lisp in Lisp (at 34:34 - my absolute favorite SICP lecture...
  • Code Monkey Have Fun

    Going “Retro” and Loving It!

    • 1 Comments
    Continuing my concatenative language kick, I’ve been having fun playing with Retro ( http://www.retroforth.com ) and couldn’t resist making an F#-based VM on which to run it. It is an elegant, minimal Forth with an important twist. What caught...
  • Code Monkey Have Fun

    Project Euler Problem #14

    • 2 Comments
    Longest hailstone sequence with starting number under one-million. let hailstone n = Seq.unfold ( function 0L -> None | 1L -> Some(1L, 0L)                                     ...
  • Code Monkey Have Fun

    Programming is “Pointless”

    • 7 Comments
    Some may call it “pointless”, but I absolutely love the point-free tacit programming style . The level of brevity can be truly astounding! Some of the terseness comes from not having to mention parameter names all over the place and much of...
  • Code Monkey Have Fun

    Spanning Two Worlds

    • 0 Comments
    [The ninth in a series of posts on the evolution of TransForth ] The dictionary we have at the moment is split across two worlds. The definitions are in Forth-world; packed into plain memory. But we still have the F#-world mapping of WordRecord s to those...
  • Code Monkey Have Fun

    Heart Transplant

    • 0 Comments
    [The eighth in a series of posts on the evolution of TransForth ] They say that the inner interpreter is the heart of Forth and outer interpreter is the soul. It’s time to give TransForth a heart transplant! To really understand what we’re...
  • Code Monkey Have Fun

    Tearing Away the Scaffolding

    • 2 Comments
    [The seventh in a series of posts on the evolution of TransForth ] At this point we have a reasonably complete Forth that’s pretty fun to play with. Like I said in the first post though, we don’t just want to build a Forth in F#. Stopping...
  • Code Monkey Have Fun

    : LOOPTY DO I . LOOP ;

    • 3 Comments
    [The sixth in a series of posts on the evolution of TransForth ] There’s beginning to be more Forth than F# in these posts! The last major piece we’re missing in the language, aside from some compile-time trickery we’ll get into later...
Page 1 of 4 (79 items) 1234