1. 35

Last week’s thread was well received, so here we are again.

So the question is simple? What are you working on this week? If so, do you need any help from one of us? Need feedback on a prototype? Need a proof read of a post? We’re here to help.

In addition to the usual question, what other kinds of weekly content would you like to see? We’re going to be rebooting interviews and posting them every Tuesday. I was thinking about a thread on Friday centered around feedback and constructive criticism. I’d love to hear other ideas.

Have a great week!

  1.  

  2. 11

    I’ll be working on an iOS/Android client for lobste.rs called Pinchy!

    I made a start on the iOS client over the weekend, and have some basic functionality done.

    1. 4

      Cool! Have you seen this Github issue about a previous attempt? The API never fully materialized because OAuth scares me.

      1. 1

        Yeah, I’ve seen that. At the moment I’m just parsing the HTML; I didn’t want to get caught up in the server side of it quite yet.

        1. 3

          Beware, the HTML structure is quite prone to changing.

          1. 2

            @mongey: Yes, even without an authenticated API, fetching JSON representations of pages would be much easier. Just stick .json at the end of a story ID like https://lobste.rs/s/e04ccq.json

          2. 1

            How are you parsing the HTML?

        2. 1

          I had a short play with making an Android lobste.rs client. I’m still very interested in this. Are you open to collaboration on Pinchy for Android? I also bring UI design skills to table.

        3. 10

          I’m porting over the fast LMDB key/value database library to a pure Go implementation.

          1. [Comment removed by author]

            1. 2

              I saw the tiedot database but it didn’t look like it had the performance characteristics and features I was hoping for. LMDB has a great simple design that supports real-time updates, safety under system failure and MVCC (to name a few). It’s been a fascinating code base to read through as well.

            2. 1

              OpenLDAP’s LMDB?

              I’d be really interested to see where this goes. I’ve found gokabinet to be solid, but a native K/V DB would be neat.

              1. 2

                Yep, OpenLDAP’s LMDB. I really like the B+tree approach that Howard Chu uses. I’m removing a few niche features (nested transactions, multi-process support) and cleaning up the API. I’ve seen K/V bindings before but it’d be really nice to have a solid, fast pure Go K/V.

                I enjoy reading all the distributed systems and database research papers that come out but I feel like I get a better understanding if I actually dive into the code itself.

            3. 6

              I’m working on a toy database in go as a learning exercise. I’m working on making the interface very pleasant to develop with and trying to keep style with go’s idioms.

              1. 6

                A blog post comparing a tiny dependently typed program written in Agda, Idris, Haskell and Scala.

                1. 5

                  Design of a standing desk. Writing some copy for an upcoming book on Lua. And a FUSE filesystem.

                  1. 1

                    What’s the Lua book’s focus?

                    1. 2

                      Sorry I missed this, the focus is on “Lua Everywhere”. All the places where embedded Lua logic is available to make systems more adaptable. So very hands on, Redis, Awesome, PostgreSQL, MySQL Proxy, Nginx, etc.

                  2. 5

                    I’ll be working on StackMachine this week, creating a user dashboard and adding missing features people have requested, such as custom release versions and the ability to delete and rename games.

                    On the Lobsters front, this is the week I get the site running locally. I’m really new to rails, so I’m going to start work on some small things, such as changing the sort order of the messages page (and possibly grouping together threaded messages).

                    1. 3

                      FWIW, the sort order of messages is that way intentionally to encourage users to delete old messages. Checkboxes to delete multiple messages at once (or one at the top of the column to check all of them) would be a welcome addition.

                    2. 5

                      Last week I said I was going to finish up autojump tests and get back into contributing to Rust. For autojump I fixed and added tests for a few Unicode issues, but test coverage is still ~30%. In Rust I added a small documentation patch, and I have a few small PRs to cleanup.

                      School’s starting for me this week, so realistically I hope to get the Rust patches accepted and slowly improve autojump test coverage.

                      1. 2

                        I love autojump! I’ve been using it for years now.

                        1. 2

                          I love autojump! I started a PowerShell version for Windows users, which I’ve turned over to someone else to maintain since I don’t work on Windows anymore.

                          1. 1

                            Awesome. :D

                            I used Cygwin in the past so the current implementation wasn’t an issue, but someone submitted a pull request yesterday to add Clink support.

                            1. 1

                              oh that is neat. Thanks for the link

                        2. 4

                          Starting work on the next part of my FPGA series. I’m looking at implementing real-time FIR audio filters on the FPGA. Right now I’m poring through the datasheet for the audio codec to see how to get that working.

                          Also, I’ll be moving to Seattle on Friday and will be starting work at Amazon on Monday.

                          1. 1

                            I would be interested in a post about your interview experiences and especially with amazon and likes - if you can.

                            1. 2

                              I don’t think there’s that much to say. I got a return offer after my internship last summer. I got the internship through the normal interview process. I suppose I would summarize my experience as follows

                              During the Interview Process

                              • Study up on data structures and algorithms. Interview questions generally focus on this subject.
                              • First round interviews will most likely be over the phone. Make sure you take the call in an area with good reception.
                              • If the call drops during the interview, don’t panic. You will probably be using a shared code editor for the interview. Type a message in the editor telling them to call you up again. (This trick really saved my bacon during the Amazon phone interview).

                              During the Internship

                              • Don’t worry if you get stuck. This is bound to happen. Often it’s because of circumstances outside of your control, like some information being missing or another team not responding. When this happens, make sure to tell your mentors and managers that you are stuck. They want to know if this happens. It is there job to help you get unstuck.
                              • If you do have a clear goal set and no roadblocks, work efficiently to get it done quickly, but don’t sacrifice quality. This will greatly impress your manager and coworkers.
                              • Builds and integration tests will take a long time. Plan accordingly.
                              • Code reviews will drag out. Plan accordingly.
                              • Don’t be afraid to ask questions. Your co-workers have been doing this much longer than you have. Chances are they have an answer.
                              • This is so important that it bears repeating. Keep your mentor and manager informed. Make sure they know what you are working on and what you are stuck on. My team had daily stand-up, so it was natural for me to do this.

                              Most importantly in this whole process: don’t stress about it. If you are a good programmer and are on top of things, you will end up with a good job. It may not be the one you had your heart set on. Amazon was not my first choice. If you get a rejection, don’t sweat it, there are plenty of good tech companies out there. Apply somewhere else. Eventually you’ll find a company that sees your value.

                          2. 4

                            Hanging out in Mountain View for a few days. (maybe more depending on how things go!) Anyone want to attempt a ghetto lobsters drinkup?

                            1. 4

                              I am shipping the first version of Bolt that includes free calling to our alpha users tomorrow. Then I assume I’ll be fixing all the bugs they discover for the rest of the week.

                              Very very excited to get feedback on it so if you have an Android phone and are interested in trying out a new free calling app let me know and I’ll add you to the list.

                              1. 4

                                My company is investigating Clojure as a data science tool (we’re heavily invested in the Java ecosystem, but top data scientists generally dislike Java) and I’m working on a library that will improve Clojure’s debugging story, including that pertaining to some classes of performance bugs and numerical issues. I hope to have it into the open-source world in the next month or two.

                                1. 1

                                  You should look into python. Between scipy and pandas, you have everything you need for data sciencey things. And if you’ve heavily invested in a hadoop infrastructure (I assume that’s what you mean by java ecosystem), https://github.com/Yelp/mrjob is totally awesome.

                                2. 4

                                  I’ve really just got two big projects this week:

                                  • Installing a bunch of new hardware in my lab (32 servers and an Infiniband switch) to support cluster benchmarking
                                  • Spinning up a Lustre filesystem as a “fast shared scratch” for the cluster

                                  If anyone has deployed Lustre 2.4 and run into gotchas, I’d love to hear about it. :) I will also probably try to write up a blog post on the deployment process some time soon.

                                  1. 1

                                    I have some old infiniband gear I never setup and I would love to restart the project. Are you running this on centos? I am very much interested in following in your footsteps. I have dual port 10G cards

                                    1. 2

                                      Awesome, more motivation to actually put together the blog post. :) Yes, I’m using CentOS.

                                      Also feel free to PM me if you want to talk about this more.

                                  2. 4

                                    After reading This and the article explaining the process I decided to work on a 1D version to create mountains for a scrollable game background. Gist here, seems to work pretty well but the number of elements in the fractal grows such that n+1 = (2*n) - 1 so the length while loop may not be the best way to go. The current for loop creates multiple sets of images with different damping settings so that each layer in the background appears distinct. With fairly minimal effort I put together this which I ran through a pixelate filter for effect.

                                    Other than that catching up on writing some blog posts, running some simulations for my PhD and writing software spec documents for my startup.

                                    1. 3

                                      tldr; lots of Storm related stuff

                                      at the day job:

                                      Building a new 64 node Storm 0.9.0.1 cluster at work. New offline jobseeker - job matching infrastructure to run inside of Storm.

                                      at night:

                                      More work on the book I’m coauthor of “Storm Applied”.

                                      1. 1

                                        Interesting. I work on the other end of the job market – mainly building services for recruiters. My coworkers are rewriting our aging job classification system to work with Storm.

                                      2. 2

                                        I’ve still got a lot of editing on the book. I’ve also been working on a simple embeddable cryptographic keystore I can use in a couple project ideas I have.

                                        1. 2

                                          Managed to get packrattle (my GLL-based parser library) running inside Chrome and profiled the hell out of it. It’s actually relatively fast again now. Will bump the version and make a new release.

                                          1. 2

                                            I’m building a regex enabled indexed, text search index on top of riak (am using roughly the same techniques as http://swtch.com/~rsc/regexp/regexp4.html). Going pretty well so far.

                                            1. 2

                                              I’m working on figuring out how many concurrent SSL connections nginx can handle. Any links, personal experience in this area would be appreciated

                                              1. 1

                                                I am trying this week to distribute (using Akka actors) a streaming aggregation engine I have written in Scala. I have figured out last week what the components are and how they interact,now it is just matter of coding.

                                                1. 1

                                                  I’m going to be trying to get performance to an acceptable level on my clojure NES emulator. In particular, testing to see if using a transient for all emulation in between frames with substantially improve rendering - which is presently about 1fps :-(

                                                  1. 1

                                                    I’m still working on floating point exception handling in Open Dylan (http://opendylan.org/). I’ve also done some work on the sqlite binding for Dylan and plan to do some initial investigation into our HTTP performance issues.

                                                    I’m also working on clearing out a big backlog of patches to emscripten and getting them all into a set of pull requests, especially those involving improving the libc and test coverage.

                                                    1. 1

                                                      A long long time_t ago I started working on a rthythm game as a lightweight & portable alternative to Stepmania (which has tons of deps, including newish glibc). I got my game to a playable state (on OpenBSD) but got demotivated with UI work and never brought the code to a releaseworthy state. Now I’m trying to continue where I left.

                                                      1. 1

                                                        A set of utilities for basic operations on really large filesystems (the largest we’ve tested it on so far is a 55PB single mount point lustre). 3-clause BSD license.

                                                        An older version of the file copy tool that will be included in this suite can be found at: https://github.com/hpc/dcp

                                                        Eventually (hopefully an alpha release by mid-February), the full set of tools will be available at: http://fileutils.io/ or http://filecopy.org/ or https://github.com/hpc/fileutils

                                                        1. 1

                                                          Working with the DTN API. It’s horrid.

                                                          1. 1

                                                            I’m working on testing tools for Riak. We set aside time after our “code freeze” to do all sorts of testing. This time around we broke out into testing groups, with the tools group focussing on building new tools to make life happier. I think most people think they will hate testing, and then they get into the guts of it and start fixing things that have been broken and annoying and suddenly everyone is happy.

                                                            1. 1

                                                              Last week I reported two projects (recommendation as a service, lua powered 2d game), and it’s pretty much the same, although I’ve only made progress on the game, and haven’t touched the recommendation service any (although I really should, I want something half-baked before heading into the upcoming startup-weekend).

                                                              On the game side of things, I’ve implemented some gameloop hotspots (the lighting in particular) in C, and made a subreddit to post WIP videos.

                                                              1. 1

                                                                Still working on my CAN-to-CAN interface from last week. Wasted a lot of time debugging my use of SPI when it turns out that the issue was unstable power to my CAN controllers. Hardware is fun!

                                                                I’ve got the interface talking to the new instrument cluster now but as I mentioned last week I managed to damage my donor hardware (while trying to repair it), so this might be the end of the line for this project as I don’t want to take my dashboard apart without a suitable donor to drop in.

                                                                At least I have some fun CAN hardware to use in the future!

                                                                1. 1

                                                                  I’m trying to build a data warehouse to sharpen my skills with Django and Javascript. It should be a simple star schema of products I’m comparing, I’m slowly bumbling along. I think I can tie my models to the database, but I’m stuck trying to build a specific input form. I need a tree view of categories that can collapse the features I’m comparing between models. That part is tripping me up.

                                                                  1. 1

                                                                    I’m going to be improving my CSS library Min, which is currently only 995 bytes. http://minfwk.com

                                                                    I encourage anyone reading this to vote in Min’s button design thread: https://github.com/OwenVersteeg/min/issues/6

                                                                    I’m also dealing with burnout over a small project I started (http://goalcalendar.com) - especially after seeing how few people liked it, I’m not sure if I should continue working on it. Feedback would be greatly appreciated.