Posts
  • 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

    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

    FORTH LOVE? IF HONK THEN

    • 12 Comments
    [The first in a series of posts on the evolution of TransForth ] I’ve been enthralled by retro computing recently and have been filling my bookshelf [yes, actual bound paper books] with (nearly) extinct programming language topics: Lisp, Fortran...
  • 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

    Bowling Kata

    • 7 Comments
    Our team’s been doing Katas to get the hang of TDD. One such kata ( calculating bowling scores ) struck me as insanely simple with pattern matching in F#: let rec score acc = function | 10 :: (a :: b :: _ as t) -> score (acc + 10 + a + b)...
  • 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 When I heard that Chuck Moore was speaking at Strange Loop this year I just had to go. His talk yesterday was excellent...
  • Code Monkey Have Fun

    Programming the F18

    • 7 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

    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

    Turning Your Brain Inside Out with Continuations

    • 7 Comments
    [Part 10 of the FScheme series ] We’re into one of the most magical chapters in Bill Hails’ book . We’re about to add a very strange and dangerous feature to the interpreter: ‘call/cc’ (“call with current continuation”...
  • Code Monkey Have Fun

    FScheme - Scheme in F#

    • 6 Comments
    [Part 1 of the FScheme series ] One of my New Year’s goals is to re-read Lisp in Small Pieces and implement all 11 interpreters and 2 compilers. As much as I like the "Lisp in Lisp" idea and enjoyed the eureka moment in SICP when Sussman writes...
  • 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

    Microcode-level HP-35 Emulator (in JavaScript!)

    • 5 Comments
    [Part 1 of the HP Calc series ] I recently started a super-geeky side hobby of collecting vintage calculators and got my hands on a pair of HP calcs. The more I learned about the internals of the devices, the more intrigued I was. Jacques Laporte...
  • Code Monkey Have Fun

    Wolfram – A New Kind of Turing Machine

    • 4 Comments
    Stephen Wolfram ’s book, “ A New Kind of Science ” is flippin’ brilliant! (or perhaps I'm just not brilliant enough to realize he's a mad man) 1,280 pages packed with beautiful insights and Tufte-worthy visualizations. I remember...
  • Code Monkey Have Fun

    Colemak

    • 4 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

    : 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...
  • 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

    Future of Computing

    • 3 Comments
    [I wrote this almost 14 years ago (20 FEB 1996. Today is 27 SEP 2009). Some of it is embarrassingly naïve, but I was just a (25 year old) punk kid back then. I was quite the anti-Microsoft/Intel, Java-head back then. It’s funny that despite...
  • Code Monkey Have Fun

    The Lambda Calculus

    • 2 Comments
    Mads Torgersen’s post the other day was very cool! The first time I really understood Lambda Calculus was from this little 8-page paper . Relating it to Scheme made it stick for me. After reading Dr. T’s post I was just now having some fun playing with...
  • Code Monkey Have Fun

    Fixing Decades-old Bugs in the HP-35

    • 2 Comments
    [Part 2 of the HP Calc series ] Making the JavaScript-based HP-35 microcode emulator has been a fun little project. Last time we disassembled the original bits from the ROM. I say “disassemble” but really our microcode instructions were...
  • Code Monkey Have Fun

    Project Euler Problem #8

    • 2 Comments
    Largest products of five consecutive digits in this 1000-digit number. open System.Numerics let digits n = Seq.unfold ( fun i – > if i = 0I then None else Some(i % 10I, i / 10I)) n let consecutive = Seq.unfold ( function (a : BigInteger) ...
  • Code Monkey Have Fun

    Functional I/O (or at least “O”)

    • 2 Comments
    [Part 12 of the FScheme series ] I just watched Matthias Felleisen’s talk on Functional I/O and read this paper and decided to bolt on a little I/O system to the FScheme interpreter we’ve been building. It’s a pretty nice FRP-type...
  • Code Monkey Have Fun

    Ape - New Toy Language

    • 2 Comments
    I read “ Thinking Fourth ” and also played with Joy and Cat some time ago, but honestly I had written them off as “toy” languages. Recently I’ve had renewed interest in concatenative languages after watching Slava Pestov’s...
  • 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

    : REFACTOR TRIM BUILD ;

    • 2 Comments
    [The third in a series of posts on the evolution of TransForth ] Now that we have Forth hobbling along, we can start to peel away the scaffolding. Some of the things we’ve defined in F# can now be redefined in Forth instead. As we go along, I...
  • 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...
Page 1 of 4 (77 items) 1234