1. 34

It’s Monday, so let’s talk about your plans this week. Feel free to also share what you accomplished last week. Please provide links! Self promotion in this thread is encouraged.

  1.  

  2. 13

    I was very surprised to find out there was not a good open source alternative to meetup.com, so I will be working on a basic implementation of that this week.

    1. 3

      Fantastic, I think its much needed =)

    2. 8

      I’m working on porting the twilio-python helper library to use Requests and also clean up a lot of crap in the interface. You can see a preview here: https://github.com/twilio/twilio-python/compare/master...requests.

      Pro tip: merging PR’s without thinking about the greater library design is not smart and will cause pain in the future.

      I’m also working on retry support in urllib3; your feedback here is appreciated, https://github.com/shazow/urllib3/issues/260

      I am also trying to put together a “train day” for devs in the Bay Area. The idea is to ride the train network around the Bay Area all day since we get so much more work done on the train than in an office. So far the team is jazzychad and myself. Ping me if you are interested.

      Last week I merged support for TCP_NODELAY to urllib3 and upgraded our internal Twilio requests client to use my own open source code (hooray!)

      1. 3

        Do you mean BART? Caltrain?

        1. 3

          Not sure yet, maybe both :) Likely BART because you can ride all day without getting off the system and only pay for your start/exit stops. Though Kyle just pointed out there aren’t bathrooms and not much access to power strips, so maybe we’ll do Caltrain after all.

          1. 2

            I’m interested in train day. I think BART is a bad choice. There are no easily accessible outlets unless you’re willing to dig. Food isn’t allowed. Finding bathrooms can be very difficult. I’m looking up Amtrak times now.

            1. 1

              Amtrak from Oakland out to the central valley is a very pleasant experience, but might be expensive for two-way travel. Maybe if there’s a really good lunch stopover in Modesto or somewhere….

      2. 5

        I’m working on improving TokuMX (http://www.tokutek.com/products/tokumx-for-mongodb). Mostly working on sharding:

        1. Hashed keys generate 8-byte ints, which are frequently larger than 252. Unfortunately, numbers larger than 252 are encoded in MongoDB as a fairly inefficient data type (just raw BSON), instead of just as a raw number (this is where the v0/v1 index format split came in MongoDB). Therefore, hashed keys (particularly useful as shard keys) are almost always very slow in the comparison function. I made a change and we’re testing/benchmarking it to encode large 8-byte ints as themselves, which in prototypical benchmarking saw a ~20% speed boost. Really hoping this gets in to 1.4. (http://github.com/Tokutek/mongo/compare/master...int64keys)

        2. In sharding migrations in MongoDB and TokuMX <1.4, the initial “bulk clone” phase of the chunk migration is done by doing a query on the donor and many upserts on the recipient. Since TokuMX has transactional semantics per-shard, we don’t need to do upserts for idempotency, instead we can do regular inserts, which saves us from doing an implicit query, and therefore should speed up this part of a migration dramatically. This is implemented and scheduled for 1.4 as well, but also needs benchmarking and testing. (http://github.com/Tokutek/mongo/compare/master...migrate-inserts)

        3. I’m also giving some love to my pet benchmarking/stress testing framework, cortisol (http://github.com/leifwalsh/cortisol), trying to make it more of a general-purpose framework for threaded performance testing.

        1. 5

          I’ll be spending a few days this week interviewing at a company in California, and I’m working on adding HMAC support to the Cryptotronix Hashlet. I’ve been making slow but steady progress building a small certificate authority, as well.

          1. 6

            Good luck with the interview!

            1. 3

              Thanks! I’m pretty excited about the opportunity.

          2. 5

            School is in full swing, so…

            1. Implement a Pascal lexer using yacc. Last week was to implement by hand in C.
            2. Implement an interpreter for a simple grammar (conditionals, variables, arithmetic) in Haskell.
            3. Implement an analysis pass and perform basic algebraic optimizations in C++ / LLVM.
            4. Read a couple papers:
              1. Determining global state for stable predicates on distributed systems
              2. Time / vector clocks
              3. Making ad-hoc polymorphism less ad-hoc
            5. I also have a 2 week old Rust patch that doesn’t pass tests.
            1. 4

              I’m working on a more civilized interface to IMDb, written in Go, called Goim. I believe it will solve problems similar to what is solved by IMDbPY, except faster (and not GPL’d).

              1. 2

                Be careful that you aren’t violating the IMDB terms of service.

                1. 2

                  Thanks. But I think I’m OK. IMDbPY has been around for a long time and is widely used.

                  Note that I’m not scraping. I’m downloading their data in plain text form, which they make available for free under liberal terms for personal and non-commercial use.

                  Actually, IMDbPY also has facilities for scraping IMDb, which I think is against their ToS. I refuse to do such things. :-)

              2. 4

                This week is dedicated to work on OpenDylan.

                So far, I have implemented a bit of special compiler support for Objective C’s objc_msgSend so that we can have a solid Objective C / Dylan bridge. I plan to get that landed this week.

                I have a couple of other things to try and land this week as well.

                I’ll also be working on writing up a call for help with some of our higher priority tasks where we could use some fresh blood to post in various places.

                1. 3

                  It’s the beginning of a dev sprint in my Amazon team, so hopefully I will finally be given something to work on.

                  As far as side projects go, I finished my real-time FPGA audio filter and posted it here. This will probably be the last post for a while in my “Exploring the Arrow SoCKit” series, since I’ve run out of ideas. I think I might try looking into the Chisel hardware description language, since a) it’s pretty cool and b) I’m getting pretty tired of Verilog. I might try implementing an 8-bit microprocessor in it.

                  1. 3

                    I’m trying to learn elixir! And trying to make some more progress on the stripe-ctf. Plus the day job.

                    1. 2

                      Hopefully I’ll be finishing up initial unit testing on my project PatchNotes and I should be able to get around to finishing the rewrite of the Gittip Everywhere plugin for Gittip.

                      1. 2

                        Spent the weekend and probably the rest of this week refactoring and getting my side project back on its feet. Probably open sourcing it soon, because why not.

                        1. 2

                          I am hacking on libraries and resource providers for Chef. Attempting to get better at OOP and Ruby. chef_logstash/gemify is my current attempt at moving a Chef RP into a rubygem. I need to do more testing to see how well that works out. The plan for the future is to link it to the logstash-lib and allow building validated configurations automatically through Chef.

                          Thanks to the Resource Collection, we can search for resources which have specific attributes and use that to configure log management / filtering / etc.

                          1. 2

                            I’m going to be working on my extremely tiny CSS framework, Min - it’s 995 bytes. http://minfwk.com

                            Also, I’m deciding whether or not to do anything with a website I made that helps people keep track of their goals: http://goalcalendar.com - please comment with any feedback you have.

                            1. 2

                              I have been working on my c++ game-engine project lately.

                              Last week I got integration with a C# editor working. I am compiling the engine and game into a .dll file, that I then can load and run inside the c# editor. Passing a pointer to hwnd and I have the game nicely inside the C# gui application.

                              Other than that, I have been working on low level tools on the engine.

                              I have to actually consider continuing blogging and write some progress notes about this project…

                              1. 2

                                A couple of things but one is exactly the same as last week. What’s new for this week?

                                We have a new team member and I’m taking them through the first week of our onboarding process which I detailed last year here:

                                http://dev.theladders.com/2013/02/onboarding/

                                1. 2

                                  University.

                                  Finding and reviewing a machine learning paper for a module.

                                  If you’re reading this looking for ideas, and haven’t learned any CompSci in a while look at Support Vector Machines, they’re really neat.

                                  1. 2

                                    Classes are starting back up and I’m excited about my operating systems class. It’s starting out in 8086 assembly and I’m messing around on my own, but having problems finding a good reference for it.

                                    1. 3

                                      You can find some good x86 assembly references on the course website for MIT’s operating systems class. I’d recommend taking a look at “PC Assembly Language”. The 8086 architecture is mostly a 16-bit subset of x86. Modern x86 processors actually boot in a 16-bit compatibility mode called “real mode”.

                                      1. 1

                                        Ah thanks! Google apparently failed to point me there…

                                      2. 2

                                        I’ve just finished a course that had a large focus on ARM Assembly. It was fantastic! Good luck!

                                        1. 1

                                          Ive done a good amount of ARM on my own (Raspberry Pi, Samsung Chromebook) and Im in love with it. ARM assembly, in my opinion, is much easier to read, write, and understand, but who knows. maybe ill eventually like x86 too?

                                      3. 2

                                        Finally packaged up some old ruby libs as gems and github repos: test-garden, argos, mindi, darb.

                                        Thinking about possible julia implementation of redshift, for simulating dynamically reconfigurable networks of hybrid automata.

                                        1. 2

                                          An Android app to manage school work for students. I’m implementing most of the internals this week, and connecting it to our API.

                                          By the way, can anybody recommend any really easy to use, quick to integrate libraries for HTTP requests? I’m on a tight time budget here!

                                          1. 2

                                            There’s always the what do I want to work on vs. what I actually work on.

                                            Wants:

                                            Work on a scraper for the cupes ala this math genius

                                            Build some kind of simple REST server to build my really ghetto rigged home automation for renters

                                            Use said REST server to save all my quantified self data I need to collect in one spot

                                            Actual:

                                            mindlessly surf the web

                                            study a bit for school

                                            go out far too much

                                            1. 2

                                              I am working on a publish-subscribe pattern implementation for web clients (which has websocket and rest interface). here is the code https://github.com/huseyinyilmaz/publicator I also started to write documentation here: http://publicator.readthedocs.org/ (work in progress)

                                              1. 2

                                                This week I’m starting lectures again, and need to choose a research topic for my masters project. I’m thinking about researching the history of NoSQL databases, and comparing/contrasting current implementations and how they are used to try and clarify the good use cases for each.

                                                (The project isn’t my dissertation, it’s basically a big literature review)

                                                1. 2

                                                  I’m looking at making my Go micro-framework a little better: https://github.com/dougblack/sleepy

                                                  I’m also thinking about how to add identifier-based semantic coloring to Vim: https://medium.com/p/3a6db2743a1e/

                                                  1. 2

                                                    This week I’m working on our sales process here at Fogbeam Labs. Specifically, I’m working on sorting out how to integrate a model like “Applied Information Economics” ( a methodology for determining the value of IT investments) into our sales process. The idea is to use something heavily inspired by Jeff Thull’s “Diagnostic Business Development” model, and aggressively try to quantify the extent to which the customer is (or isn’t) having the problem(s) that our solutions are meant to address.

                                                    1. 1

                                                      Taking this iOS development course from The Pragmatic Studio: http://pragmaticstudio.com/ios. Top notch, so far it’s been great. Highly recommended.

                                                      (My background is web dev of all flavors but native is pretty new to me.)

                                                      1. 1

                                                        I will be working on shipping the new landing page for Bolt.

                                                        The plan is to ship by the end of the week, and my current workflow involves a lot of Grunt tasks. This speeds up development considerably and keeps everything pretty “future-proof”.