1. 30

It’s Monday finally! Please share what you’re working on this week (nice to submit a link or at least a short description). We’d also love to hear what you were up to last week and what you accomplished! Feel free to promote yourself!

This week I’m mostly learning AngularJS by creating a real-time chat application powered by websockets. I also decided to learn new backend technology, so server will be implemented in Go (I don’t know it very much yet, but learning it is not an essential goal for this week).

  1.  

  2. 16

    An RFC to add regular expressions to the Rust distribution. The implementation already exists.

    1. 2

      yay for using the re2 approach!

    2. 11

      I’m working on moving my life to New York since I just joined Tumblr!

      1. 1

        New York is a fantastic place to live with an amazing tech community. You should definitely join Hack and Tell!

      2. 8

        Yesterday I published Hendrix, p2p chat for web. It’s build on some cool, new technologies like PeerJS (WebRTC) and React (Shadown DOM). It’s an attempt to create IRC for web that’s as server-less as possible. I would like to hear what do you think and a star would be great!

        Currently I’m planning to add things like:

        • Group chat and rooms/channels,
        • Authentication (I’m thinking PGP);
        1. 2

          so how easy is peer-to-peer in browsers now? a while (a few years i guess) back when opengl becamme available in browsers i started writing an “arcade” game that would run in browsers and allow people to fly around the surface of a planet shooting each other. it didn’t get very far (i am not an experienced 3d programmer), but it was clear the p2p part was not going to be ready any time soon anyway… is that now “trivial”?

          1. 2

            I can’t comment on how it has changed in past years because I’m new to the WebRTC myself and this is my first attempt to make something with it. However, PeerJS (WebRTC wrapper) helps and it’s a matter of listening and triggering events that PeerJS offers.

          2. 1

            this looks great! I’ve been working on a leisure project similar to this one, only not web based. I’d be happy to share my ideas or designs with you, if you wish.

            I can’t seem to get it up and running, though. would you consider adding some instructions into the README file so other people know how to get this booted up?

            thanks, and good luck!

            1. 1

              Thanks! I would like to hear your thoughts on Hendrix.

              I added some instructions to the repo! ;)

            2. 1

              Great project! Would love to see live demo :)

              1. 1

                Thanks!

                I’ve been trying to implement group chat now. As soon as it’s ready, I will create a demo page! ;)

                1. 1

                  I will be waiting for that. Meanwhile I hope that there will be time to try it on my own.

              2. 1

                I love the project. We need to bring internet tech back to a distributed model from which it came from. I am also excited about WebRTC. Have a look at my project Fire★, I had to implement something like WebRTC from scratch. Though mine is built from C++ and not web tech.

                If you see any awesome idea from Fire★, go ahead and clone. We need more p2p to take off.

                1. 1

                  Looks like a cool project :) You might also be interested in https://echoplex.us. I’m using PGP to sign/encrypt messages, which I think works pretty well for identity in an anonymous environment

                2. 8

                  I started a Colorado BSD Users Group! Gonna be working on slides for the first meeting!

                  1. 7

                    This week is going to be a bit slow since we’re still traveling.

                    For emscripten, I’m working on an extension to embind.

                    In Open Dylan land, we’re working on Qt bindings still. These are getting much closer, but there’s still a good bit of work to do. Mapping between some of the Qt and C++ types and those from Dylan can be pretty complex.

                    I’m also working on some usability improvements to both our compiler and the new build tool. I’ve just recently worked out the cause of some dependency checking issues, am working on reducing the amount of compiler output, and adding something like -Wfatal to the build tool.

                    I’m also starting to think about what a major revision to the Dylan language might look like. This would be something like “Dylan 2016” to give us enough time to do a good job of it.

                    1. 5

                      Python interop library for Apache Storm.

                      1. 5

                        last week i said i was working on a fast library for CRC in julia. it turned out not to be so fast :o) and a peek at the libz C code (which implements CRC32 and was running about 2.5x faster than my code) showed that i need to read data in larger chunks (eg use large native word size, typically 64 bits, rather than bytes) and unroll some loops. so i’m doing that. the maths (you need more lookup tables to calculate the polynomials) is fairly easy but the details are messy and if i want to keep the code and api clean i need to simplify things elsewhere.

                        at work spent some time calibrating hydroacoustic (earthquake) sensors and am now back to the testing system (how to use git so that we only use commits that have passed unit tests in integration tests).

                        1. 3

                          What’s the speed comparison for lookup tables vs doing the math? I did CRC with math and not tables on a microcontroller due to lack of memory.

                          Why not just write a wrapper for the libz C library? ;)

                          1. 1

                            i can’t remember the numbers, but it’s quite a bit faster because you can munch a byte at a time, rather than a bit at a time if you do it directly.

                            the library will support all the CRCs in http://reveng.sourceforge.net/crc-catalogue/ and the code should be (i hope) easier to understand and extend (julia is a bit like c plus templates); there is a wrapper for libz (which is what i am using to tets against for speed), but it’s CRC32 only.

                        2. 4

                          Last week I finished up Palimpsest, my experimental browser-based drawing app. This week I’m stepping back from coding to read through Patterson and Hennessy’s Computer Organization and Design, as well as Betty Edwards' Drawing on the Right Side of the Brain.

                          1. 4

                            I’ve got a few openbsd issues I’m trying to fix. The first is the watchdog timeouts on cpsw on the BB. If I can figure that out I’ve got a diff to port over for USB support for the same device.

                            1. 2

                              I’ve been thinking about adopting OpenBSD. How’s the support for recent laptop hardware? Is there a guide anywhere which outlines compatibility? Something akin to thinkwiki, or no?

                              1. 3

                                You should definitely give it a try. There is almost no effort involved to see if your hardware is supported. Generally most modern laptop hardware is. Visit the faq for installation. We do not support a hardware list because they just become an outdated maintenance nightmare quickly.

                            2. 4

                              Adding database diffing to my product

                              1. 4

                                Among other things, working on integrating DataDog with TokuMX: https://github.com/Tokutek/dd-agent

                                So far, really enjoying the sandbox nature of DataDog, and the power of their “graph any expression composing data series you have” feature.

                                1. 4

                                  I’ve been learning React by writing an online multiplayer card game. It’s really wonderful stuff.

                                  1. 4

                                    I’m continuing work on a new way of structuring data which results in fast, easy querying (here, of semantic data).

                                    I like the idea from HN yesterday of including screenshots.

                                    Here is a screenshot of the result of a query for “all museums in Paris that have art by Picasso.”

                                    http://imgur.com/Cskqx0f

                                    And here: European countries with a life expectancy less than 83, along with a graph of another one of the columns

                                    http://imgur.com/NhgVtW5

                                    1. 4

                                      Most likely continue the work on the entity editor in my game engine. During the last weeks I have gotten the runtime compiled c++ working, that was easier than I expected in the end.

                                      Some video from the C# editor: https://www.youtube.com/watch?v=WrOjRxE5E1Q

                                      1. 3

                                        I’m hiring the first lead developer for http://snow.sh and powering through our 300+ back-ordered developer kits.

                                        1. 3

                                          I will either be working on writing a functional language or my cryptocurrency trade algorithm for funsies.

                                          1. 3

                                            I’m working on a rails app that will be my first launched startup. I’ve had millions* of ideas but never shipped because there has never been a deadline but this app is a love letter to my partner of 15 years so it has to be done by May 30th, our 10th anniversary! She’ll be the first beta user. :D

                                            1. 1

                                              What a lovely gift. Congratulations to you both!

                                              1. 1

                                                Thank you.

                                            2. 3

                                              I got a lot closer to making a custom bash dialect that (ab)uses cpp to enable e.g. a primitive include system (and textual macros rather than eval) than you might think possible, before realizing how utterly idiotic this idea was. Oh, how I hate the shell.

                                              1. 3

                                                This week is another week of working front-end rebuild of a client’s webapp - the interesting thing about it is that we’re using SUIT CSS as the base framework, plus a design system of signed-off HTML+CSS+JS components to make it far more of a ‘lego-blocks’ approach. So far, it’s proving excellent - I heartily recommend you check out SUIT CSS’s design principles: https://github.com/suitcss/suit/blob/master/doc/design-principles.md

                                                1. 3

                                                  For $work: OpenStack fiddling (yay), Windows Batch Script Debugging (boo), Jenkins futzing (boo).

                                                  For !$work: Finishing up some Arch Vagrant boxes + polishing the packer scripts for them (hopefully going to start doing more development inside of some portable-ish VMs, so that my workstate survives host-machine restarts). I’ve been taking a break from working on katuv because I’m stuck on how to structure a particular part of the final code-generation bit, and I just need to let it bake in my head for a while. In the meantime (and, honestly, in most of the non-meantime too), I’ve been playing the shit out of Kerbal Space Program. Once you get some extra mods installed (in particular RemoteTech2, Kethane, and Kerbal Interstellar) the game really opens up and becomes much more interesting – since it forces you to build infrastructure, rather than just race toward planets. I’ve spent a fair amount of time in GeoGebra working out orbital mechanics and satellite positioning, at some point I have to learn how to use the macrolanguage and build a model of the Kerbol system. I’m looking forward to futzing about with some of the alternate system configurations after I finish this first campaign in the stock system. For those interested in seeing what the game is all about, I recommend checking out Scott Manly’s Youtube Series on Kerbal Interstellar. He’s also got some nice videos about orbital mechanics and the like, if you'ven’t had exposure to them before.

                                                  1. 2

                                                    I’m embarrassed to say! I’m implementing some really simple automated trading code. And it’s taking me fucking forever because I don’t know Java or automated trading systems.

                                                    1. 2

                                                      I love the JVM, but you should be careful about using anything with stop the world pauses for super-low-latency systems.

                                                      1. 1

                                                        There’s ways around it. In particular check out this guy’s blog: http://vanillajava.blogspot.com/ . From the same guy who wrote OpenHFT and Chronicle (Peter Lawrey).

                                                        1. 1

                                                          Agreed (except that I admire the JVM without actually liking it), but we aren’t doing anything super-low-latency.

                                                      2. 2

                                                        I’m trying to make spectrum2, an XMPP transport, accept my patch request to get it to use libcommuni 3.x. I also want to implement auto-reconnect functionality so that when the gateway connections to my FB and GChat accounts are lost, they reconnect correctly.

                                                        1. 2

                                                          This week I’m working on a Rust driver for RethinkDB. So far I’ve done the easy bit: connecting to the database and performing the handshake. Implementing ReQL in Rust is proving to be a challenge for me, but it’s fun at least!

                                                          1. 2

                                                            A server library to use WebRTC’s data channels to communicate with browsers. I made an initial pass in python getting the ICE/STUN discovery done and getting DTLS packets. I discovered that the DTLS support in OpenSSL wasn’t covered by pyOpenSSL and it also wasn’t written for nonblocking servers (the handshake blocks). I decide would rather implement on Erlang/Elixir, so I’m porting the STUN code over then hoping to work on the DTLS support in Erlang.

                                                            1. 1

                                                              I just came back from PyCon and am in inspiration mode. But, I also have a game jam (48 hour game hackathon) in 2 weeks so I’m working on my Javascript game utility belt framework instead. Weird balancing these two obsessions. (python and JavaScript)

                                                              1. 1

                                                                I’ve got two main things on my plate this week:

                                                                First, ZooKeeper is proving to be a lousy tool for service discovery when you’ve got servers running across multiple data centers and AWS availability zones due to its CP v. AP trade-off, so I’m working to replace it with a Eureka-based solution. This in turn has got me thinking about the feasibility of writing my own Eureka workalike in a language other than Java.

                                                                Second, I’ve started work on an auto-caching PyPI server suitable for storing your personal packages, plus automatically mirroring anything you use from the official PyPI server. I hope to release this under a BSD license in the next six weeks or so.

                                                                1. 1

                                                                  Have you looked at etcd? ZooKeeper vs. Doozer vs. Etcd

                                                                  1. 1

                                                                    My understanding is that etcd makes exactly the same trade-offs as ZooKeeper when it comes to partition tolerance. Am I missing something about its design?

                                                                2. 1

                                                                  I’m learning Go. I’m looking to build small command line utilities or single purpose services and Go with its cross compilation and lightness (well compared to having the Ruby interpreter running) looks like a real winner.

                                                                  I’m currently building a small tool for merging directories together to emit distributable packages.

                                                                  1. 1

                                                                    Building a Haskell course based on the “Purely functional data structures” book (http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504). I’m translating the book’s code to Haskell and adding quickcheck based doctests. I have a separate templates/ directory where you only have the tests and only the function’s signature with an empty body, that’s where you’re supposed to work on filling the function definitions and getting the tests to pass. The project is at https://github.com/djv/pfds

                                                                    1. 1

                                                                      My impression is that all of the SML is translated to Haskell in an appendix at the end.

                                                                    2. 1

                                                                      I am almost done with the 0.3 point release of Fire★. I got around to changing the conversation UI based on user feedback. It also has app syncing if you add another person to a conversation. Slowly and surely it is becoming more magical every day.