• Last week I wrote a DSL for creating messages with automatic type safe serialization functions in C++ for Fire★. You can see an example of what it looks like here. The actual serialization code here and the message DSL here. It is modeled after boost Serialization library, but a tad bit more specific. I could have created a boost Serialization archive specific to my encoding, but I thought it might be more fun to write my own DSL.

    My goal is to have App logic run separate from the GUI thread. And I decided to use messages instead queue of callbacks. This would require many different message types and that is why I created a DSL to simplify creating messages.

    This week I am working on putting App logic in it’s own thread with it’s own event queue. This would make the GUI more responsive and bad Apps won’t lock up the application.

    I am going to do it in such a way to make it easy for me to swap out the GUI from QWidgets to QtQuick so that I can eventually port to phones. I installed sailfish on my nexus 5 and am thinking that could be a fun target.

    Oh, and last night I updated the website to Fire★. Tell me what you think! Any comments about the layout or wording/message would be appreciated.


    score 4 · canonical

  • lobsters__asb@crustaceanson.theshelf.topM
    link
    fedilink
    arrow-up
    1
    ·
    11 days ago

    This weekend I was in Munich for the OpenRISC conference. I presented the lowRISC project, in particular our plans for tagged memory and ‘Minion’ cores for I/O. My slides are available here. I’ve completed the tagged memory part of our whitepaper, we just need to work in some more detail on the Minion cores and that should hopefully be ready for internal review in the next week or so, then put out soon after.

    I hope to find some time to pick back up work on Pyland this week.


    score 5 · canonical

    • Sweet! lowRISC sounds pretty awesome. It would be amazing to eventually be able to run my software on completely open hardware. Can’t wait to see a Rasberry Pi type computer using this thing!

      I know you worked on the Pi, would such a computer use the Pi name? I know they are separate projects, but I think it would be in the spirit of the Rasberry Pi.


      score 2 · canonical

      • lobsters__asb@crustaceanson.theshelf.topM
        link
        fedilink
        arrow-up
        1
        ·
        11 days ago

        Our plan is to release a low-cost development board which would be used much in the way many hobbyists currently use the Pi. We remain separate projects with no plan for a Raspberry Pi with a lowRISC inside badge. The first revision is not going to have a GPU which is important for many current educational uses of the Pi. That said, we hope another spin or two down the line it would be a compelling choice for projects like Raspberry Pi.


        score 2 · canonical

  • My non-work learning is an exploration of web-based graphical stuff in clojurescript that quickly turned into a rabbit hole centered on Conway’s Life. I foolishly thought that canvas would be the bottleneck for generating even small generations and have been focusing on interesting ways to speed it up without depending on mutability. It’s been a pretty mind-twisting experiment that might end in an implementation of Gosper’s approach.

    That said, so far om + clojurescript + figwheel have been super fun to work with.


    score 5 · canonical

  • I’m continuing my explorations of underscore-transducer. It started as an exercise in comprehension, but I’m having a lot of fun with it and like how things are coming together. This week, I plan on documenting and adding support for examples for transducing over streams. I also need to investigate the alternatives (transducers.js and transducers-js) and see if it makes sense to integrate with, or add dependency on one or the other.


    score 6 · canonical

  • This weekend I started writing a basic implementation of the Kademlia DHT. It’s nothing novel, but it’s a good way for me to learn more about asynchronous networking in C++. This week I hope to finish the business logic of k-bucket management so I can start setting up the networking layer next week.


    score 2 · canonical

  • This week I’m working on learning Haskell via implementing a web application in it. I will be creating a Twitter clone using the Scotty framework. I’ve figured out DB inserts, but now I am stuck on DB selects. I did some Stack Overflowing and it appears that I need to do some monad magic.

    As far as work is concerned I’ll be switching to the API team for a bit because they’re moving quite slow, which is frankly annoying because I strongly dislike java :(


    score 4 · canonical

  • This week I am working on Hornet’s fast interpreter. Hornet is a OpenJDK-based JVM implementation that focuses on predictable execution for applications with low-latency requirements. It runs on both Linux and OS X.

    I have about half of the JVM opcodes covered now. Hopefully I will be able to reuse much of the code for Dynasm and LLVM backends in the future. I managed to integrate MPS to the VM core few weeks ago but there’s no JVM stack walking yet so it’s not fully functional.

    Questions, comments, testing, and pull requests are welcome!


    score 3 · canonical

  • Hello all,

    I’ve spent a lot of time in the last week on client work related to emscripten and my memory / heap profiling / tracing tools.

    In Dylan land, I haven’t done a whole lot. I did talk someone into starting to write a SAT solver though which could be exciting down the road.

    I also wrote a blog post that was on here for a while about Rich Command Shells. As a result of that post, the iTerm2 author is considering adding Sixel graphics support. I’m writing a follow up post where I discuss some of the issues in doing output-device-type-dependent output. This is a pretty interesting subject to me and hopefully I can communicate some of that to the reader.

    The reason that I’m writing about rich command shells isn’t really (only) Dylan related, but I’m hoping to get a new project off the ground in the next couple of weeks. That’s why I’ve been working with Polymer, Atom Shell and other things.

    I’m going to be skipping a(nother) beach trip this weekend with my family, I think, so that I can get more stuff done.


    score 8 · canonical

  • lobsters__mbg@crustaceanson.theshelf.topM
    link
    fedilink
    arrow-up
    1
    ·
    11 days ago

    For $FUN, I’m deploying! Should have a fun prototype to show off of a news-aggregator shortly, but deploying Datomic is really, really hard. I went through the steps to get a transactor/storage running on ec2/ddb respectively, but getting access to the peer library when deploying my app is tying me up right now. If anyone has any tips, they’d be welcome. :-)


    score 1 · canonical

  • This week I’m still slowly moving forward on my timing attack resistant type systems project. I’ve been working on a proof-of-concept implementation of the Montgomery ladder, but it’s tricky figuring out what “counts” as an operation that will take time without full-on writing an x86 CPU in idris, which I want to avoid. I think for now I’m just going to assume that anything in the x86 instruction set counts as one action, but I’m not sure that’s the right decision. If anyone good at crypto or idris who also knows their low-level stuff better than I do has some advice, I’d love to hear it.

    Applying to college is still in the planbook as well, and I’ll be finishing phase two of my Minerva application today and tomorrow, after which I’m beginning to really work on my common app. I’m still looking for colleges as well, so if any of you happen to go to or know of a school with a CS program you really love, I would love to know about it.

    Aside from that, I’ve been helping to organize a STEM-y merit badge day for local boy scouts with the local chapter of the Order of the Arrow, the hackerspace in town, and our local university’s security club, and that’s been coming along nicely, so it’s cool to see all of that shape up. I finally got all my location stuff worked out, and now I’m just praying no more people who signed up to help out cancel and trying to find replacements for those who did.


    score 11 · canonical