1. 2
    • Confessions of an Economic Hitman
    • The Rosie Project
    • The Rust Programming Language
    1. 5
      • Going through the book “The Rust Programming Language” (3 chapters completed so far)

      • Hoping to release a draft of the book I’m writing “Building GraphQL APIs with Node.js”. Purely focused on building and optimizing GraphQL backends.

      • Learning TLA+ using https://learntla.com/introduction/. At my pace, looks like I will complete it in 3 weeks.

      • I was able to clear all the to-read web articles during the weekend. I either read them or sent them to bookmark-hell.

      1. 5

        I just finished writing Practical TLA+ so it’s time for a break hahaha no I’ve got a workshop to write and a tutorial to clean up

        Outside of work I want to start revving up candymakimg again.

        1. 2

          Nice ~! I came across TLA+ recently and realized I should be using it at work. Got started with TLA+ using this intro guide - https://learntla.com/introduction/ (My schedule is a chapter per week).

        1. 16

          Headphones, turn notifications off, find a way to politely let people know when you don’t want to be disturbed (wearing headphones is a good start), and the rest is self-discipline. Most of my distractions come from me goofing off online, not due to my open office.

          1. 6

            I find having headphones a pain after few hours. Having no noise in your ears all day is difficult to have if you’re in an open-space at work, but really great and so refreshing!

            1. 4

              I just wear the head phones and have no music running. The headphones dull the noise around + also indicating that I’m not interested in random conversations. I use the Bose QC 35.

              1. 2

                This used to happen to me. Then I bought better headphones. Problem was solved. I’ve spent thousands of dollars (USD) on headphones to find what I felt were the best for me and my use. I used to be a headphone snob. I am now content and liquidated my collection keeping only 3: Denon D7000, Sony MDR-1R (I imported from Japan), and the Beoplay H6 (2nd generation)

                Those are my 3 favorites and I’m honestly perfectly content with and have been for at least a couple years. I can go all day with any of the 3 on my head and not really notice.

                Marco’s review of the Beoplay H6 2nd Generation: https://marco.org/2016/03/02/beoplay-h6-v2-review

                1. 1

                  Thank you very much for the advices! I was looking for a new pair of headphones and this is really great!

                  Regarding my comment, having a good pair of headphones doesn’t change the fact that a marble silence is sometimes nice to work with. I like being in the openspace when I need to collaborate and I don’t mind some noise, when I need to focus deeply, remote at home provides the silence that helps me focus.

                  1. 1

                    I used to work in a really noisy open space.

                    I’d wear soft earplugs (from a construction safety supplier) under big over-ear headphones.

                    Frequently I wouldn’t even have any music playing - the headphones hid the plugs, and provided a socially acceptable explanation for not hearing the people around me.

            1. 1

              Started making screencasts about things I enjoy. Here are the first few https://stuffbyexample.com/genstage

              Hoping to keep the content creation steady every month.

              1. 1

                I don’t understand how this could work:

                lock_id = throttler.get_lock("example.com", limit: 10, expires_in: 2.minutes)
                if lock_id
                  # perform the job here
                else
                  # delay the job
                end
                

                get_lock always returns SecureRandom.hex(5) from what I tell.

                1. 1

                  @Stratus3D the unique_key option was added so that we can track jobs by giving it our own unique key. So for xyz.com:123abc, where xyz.com is the facet and123abc is the unique key (and the ID of an item in our db), we know that the item ID being processed is 123abc for the xyz.com site.

                  As a good side-effect, I later realized that if I use the nx option when inserting a key along with the unique_key option, then I could avoid jobs running for the same item at the same time.

                1. 7

                  Just checked out the repo. Looks like lots of work has gone into it already. Very cool to read about an alternative.

                  Can you guys add some screenshots to the website please?

                  1. 4

                    added! thank you for the suggestion!

                    see screenshots

                    1. 2

                      Hey Justin, The screenshots look good. Love the explain graph and the object dependencies graph. These should be very handy.

                      1. 2

                        <gs-img class="image-id-1" style="background-image: url(&quot;images/ScreenShot1.png&quot;);" src="images/ScreenShot1.png" min-width="all {247px,200px}; sml {507px,409px};"></gs-img>

                        What’s gs-img? These don’t seem to be backwards compatible with the standard img tag, and cannot be viewed without CSS, it looks like. (Even with CSS, they’re scaled down, and aren’t very accessible.) I think it’s best to use the standard img, and make the images be links to themselves for easier viewing/zooming.

                        1. 2

                          <gs-img> is a web component. You are absolutely right, those should click through. We’ll add that. Thank you for the suggestion.

                          1. 2

                            I made it so that the images zoom when you click on them (you may need to refresh the page). Thanks for the feedback.

                            1. 1

                              that didn’t really work as well as hoped so now if you click on an image it just opens the image in a new tab.

                      1. 1
                        • Riak Core blog posts and the source code
                        • Learn C the hard way
                        1. 1

                          Finishing my book DevOps by Example http://devopsbyexample.io and editing some content to publish as blog posts.

                          1. 18

                            I’ve had to recalibrate my involvement in OSS because of the combination of full-time job and the book which entails writing and releasing ~100 pages a month. Fortunately, the only library I maintain of any real importance has Michael Xavier who’s using it at work and moving things forward. I’m mostly there to rubber ducky for him and push out releases. I do little/nothing beyond that.

                            The incentives aren’t really there to do OSS if you have an established career, which then leaves a lot of that stuff to relatively inexperienced programmers if you think about it.

                            I think some OSS contributors dream of being able to do it full-time, but that seems very rare.

                            1. 14

                              Hi, I’m the guy who wrote the article. I think this process is part of recalibrating my involvement in OSS. I felt way over-committed, and that’s probably because I decided to take more and more stuff on without cutting back anything. So I’ve cut it all back.

                              The library that gets the most issues for me is paranoia, then followed by Ransack and then Forem. The latter are usually issues that are like “how can I fit your round peg into my square hole?”, which is the kind of thing that I would charge a consulting rate for typically, but I’d feel wrong about closing their issue without replying… and so it lingers forever.

                              The incentive to keep doing OSS is, in my mind, that it provides you with a playground for new ideas. I wouldn’t have spent time learning how to use Sidekiq if it wasn’t for my OSS work. It has some benefit, but not as large a benefit (imo) as my writing does. So I’m quitting the OSS side of things and focussing on writing during the week, and spending my weekends relaxing.

                              1. 8

                                I’ve found not using github pretty good at reducing the number of issues received. Put a tarball on a website. People send mail sometimes, but it’s easy to ignore and there’s no website tracking how awful you are. :)

                                1. 4

                                  You can disable issue tracking per-project on Github. Doing that on @ryanbigg’s projects would probably cut down on the pressure of having to provide support for them while letting others still fork the code and all that stuff.

                                  1. 2

                                    I’d still like people to file issues if they encounter a problem with it. It provides them with a centralised point where they can do that.

                                2. 1

                                  You’re doing the healthier thing than I am. I’ve no family, just a dog. My weekends are devoted to the book and the occasional bit of contract work.

                                3. 7

                                  I think some OSS contributors dream of being able to do it full-time, but that seems very rare.

                                  Exactly my thoughts ~! Very few are fortunate to have their job & opensource work overlap. For the rest of us, it’s two careers: one that pays and one that doesn’t.

                                  1. 6

                                    At least on the big projects, I feel it’s the opposite these days. Genuine volunteers, who contribute to open-source projects out of conviction or as a hobby or side project, seem pretty few and far between in most projects I follow. The vast majority of code seems to be from professional developers getting paid to make those open-source contributions, working for companies like Red Hat, Intel, IBM, Joyent, Google, Samsung, Apple, etc.

                                  2. 11

                                    The incentives aren’t really there to do OSS if you have an established career

                                    Of course they are. My incentive is that it’s fun, stimulating and benefits others.

                                    1. 2

                                      Agreed, (with some caveats re: entitled users, etc), but don’t forget the obvious one: because you need a particular piece OSS in order for your established career to actually proceed.

                                  1. 21

                                    Isn’t that the name of the lisp package something or other?

                                      1. 3

                                        Yes. But that CommonLisp ASDF is library and does not have a binary/command. I needed the “asdf” binary to be able to type it easily. So I went ahead with the same name. I didn’t intend to tell anyone about this tool until a couple months ago :)

                                        1. 9

                                          I think we are all just sad after seeing the title. I personally hoped that the CL library gained enough momentum to start incorporating other languages. What we were left with is reality, the world lives on shell & duct tape :(

                                          1. 3

                                            Google doesn’t care is it is a library or not. If you knew about asdf before hand it is a BM move imho.

                                            if you need to type it by finger rolling why not ‘qwer’ or ‘qwe’?

                                            1. 6

                                              In fairness, naming something for finger-rolling was a bad idea when Common Lisp did it, too. :)

                                              I certainly see the point that it was never meant to be public!

                                              1. 10

                                                As a point of information, asdf was originally going to be called “another defsystem facility” and then I rearranged the words slightly when I looked at the acronym it formed. It was written as a response to the “defsystem 4” proposal, which seemed to me needlessly baroque

                                                Source: I was the original author

                                                1. 5

                                                  Nice to hear that ~!

                                                  I apologize for colliding with your project’s name. To re-iterate, I never intended to even announce my project. It was an entirely personal project to learn bash better. (you can see in the commits that it’s almost a year old and has had rewrites to satisfy the inner-me).

                                                  While writing the version manager, after a curious google search, I found your project. I didn’t know about it’s significance (I missed the part that it was used by quicklisp. I’ve used quicklisp when trying CommonLisp long back). I just needed the “asdf” command and checked that the CommonLisp ASDF didn’t use such a command/binary. So I went ahead with whatever the name I had given. It was also written with the expectation that someone will do a better job than my proof-of-concept, for the .tool-versions file, thereby making the version manager. I do have this idea to build a version manager as a feature to homebrew instead (To anyone reading: idea is up for taking. I’m out of gas)

                                                  1. 4

                                                    UPDATE: I tried to rename to “qwer”, but a quick Twitter search shows too many sexually explicit images & accounts. I’m going to wait until I find a nicer command to type.

                                                  2. 1

                                                    It is an acrynoym, it stands for Another system definition facility.

                                                    Later uiop and xcvb played on the theme though.

                                          1. 9

                                            Trying to build the old NES game “Battle Tank” in the browser

                                            1. 1

                                              Are you building an emulator, or building the game from scratch?

                                              1. 5

                                                From scratch, using Phaser.js for the frontend and Elixir for the backend (multiplayer)

                                                1. 2

                                                  Eek – the example pages for Phaser.js are succeptible to a variety of attacks, but I pushed out a pull request to fix some of the more prominent ones.

                                                  1. 1

                                                    Thanks for the PR and keeping us informed. The PR looks like the security issue is because of the backend they have.

                                                  2. 1

                                                    That sounds awesome!

                                                    1. 1

                                                      Phaser is a fantastic framework.