1. 17

This is the weekly thread to discuss what you’ve done recently and are working on this week.

Please be descriptive and don’t hesitate to ask for help, advice or other guidance.


  2. 10

    Someone put my project Fire★ on Hacker News and it got a lot of positive attention and feedback! It was a trending project on GitHub and I was a trending developer (right under Linus, lmao) for the last two days! Yay!

    So this week I am going to sort out any issues people have with it and also expand the API a bit to support better binary data manipulation. I might also make another tutorial or example app. Which do you think people prefer, tutorials, or example programs?

    1. 2

      Tutorials that build up example programs for which the full source is available alongside, but also present in the text. :)

      1. 1

        Great advice. I have a couple of example apps already. Maybe I should just make a tutorial describing how some of them work…

    2. 6

      Hey, never commented here! This week, same as almost all my time, I’ve been working on the X-Force Exchange. Been trying to figure out some performance stuff, and improving some code that I’ve been meaning to work on. I’ve also published my first bower package, angular-libphonenumber, which is the first OSS project I’ve worked on in a long long time. Still an angular n00b, so trying to do much much better on learning and doing things “the right way”, or at least a bit more optimized than I am.

      1. 1

        Just remember that at some point Google is going to abandon Angular v1. for v2.. At least that was the case last I heard, I haven’t heard any news about that changing though.

        1. 2

          Of course! Because we use angular v1 in the Exchange, that’s what angular-libphonenumber is pegged to, but Angular v2 has me excited. I have really no experience in ES6, so it’s going to be an interesting change.

          1. 1

            In spite of the upcoming release of v2 (it’s still only in “alpha preview”), I wouldn’t say that they’re going to “abandon” v1. Angular 1 will be around for quite a while, and they want to make the shift to v2 as easy as possible.

            1. 1

              Right, we are still moving to 1.3, much less v2. But it is showing promise, especially with accessibility.

        2. 5

          Most of my time right now is working on Hypothesis, which is a high quality implementation of Quickcheck for Python. Right now I should be working on state machine based testing stuff but have hit a bit of a road block so am procrastinating with playing around with code coverage driven example discovery instead, which basically finds a minimal set of examples that are needed to execute as much of your code as possible.

          1. [Comment removed by author]

            1. 3

              If you’ve got some experience working with Java and are interested in functional programming and dipping into Scala, I’d highly recommend the Functional Programming Principles in Scala course on Coursera, which is actually run by the creator of Scala himself.

              1. 1

                Thanks. I have been trying to learn Haskell and well I really have been frustrated with Cabal and ghci. It just is a pain to do anything and I keep finding Haskell just not the best learning environment for me. I was going to learn Scala but after talking on reddit and HN I choice Haskell instead. I am regretting that choice because I am really not learning anything but syntax and than working on Cabal.

                1. 1

                  I would say its worth the effort. Having gone through Functional Programming Principles in Scala and trying out Principles of Reactive Programming, I find Haskell’s syntax more easier. Scala has so many syntactical sugar constructs, that I keep forgetting what a particular syntax does.

                  That said, the courses are extremely good and worth going through, to just get good at using functional programming and learn about all the nice things that come with it in a non category theory language.

            2. 4

              Weather is still(!) holding well in the Midlands, although I did get drenched in Manchester this weekend. Visit to bike shop was successful, and new bike ordered. (News flash! Cannondale still makes oversized frames! Go down a frame size vs anyone else’s sizings!) Now just have to play the waiting game for it this week (XKCD #281…). Decided a Cyclocross bike was the way to go in the end, rather than a straight road bike. Should be fun, although I’ve already got a few upgrades planned for it.

              Still playing with ansible/puppet/FreeBSD in virtual machines outside of work. Went back to puppet for config management in the end, somehow the syntax feels simpler and easier for me to grok than writing YAML to define tasks in ansible once there’s some non-trivial modules included in the definition. Got the media server recipes where I want them, and now it’s time to start playing with FreeBSD jails to then go jail a few of the applications/services running on it that don’t need to be running under the global host. So much to learn still, gotta learn it all.

              1. 1

                Haha, oh man, I actually just started down the same path as you last week. Trying my hand at Ansible, and it’s actually really fun! What have you been using for virtualization software? I would recommend Vagrant if you haven’t used it already, it makes managing your VMs SO much easier. https://www.vagrantup.com/

                1. 1

                  Hah, it’s fun isn’t it. I started out with FreeBSD installed from mfsBSD under VMWare Fusion, but blowing it away to check the recipes worked from scratch became tedious (bootstrapping via VMWare Fusion console is a bit manual), so I switched to a FreeBSD box under Vagrant for now. End goal is reinstalling my HP Microserver with FreeBSD on a ZFS root with some jails (instead of SmartOS & native zones which it currently has - as I want to do stuff with USB devices which is a pain on SmartOS.)

                  Although having spent this time playing with it, I’m sorely tempted to get a physical server somewhere and stick FreeBSD on to replace my Ubuntu VMs that don’t need to be VMs as my webservers too.

              2. 3

                Now that I have given my RailsConf talk, I have spare brainpower for anything else.

                I’m starting the Stanford Crypto I course on Coursera and starting to write emails who’ve asked for more info about my presentation topic. Meanwhile, I’ll dig out of accumulated email/chore backlog (not too bad).

                1. 3

                  Sort of last week sort of this week (read: my weekend + today and thursday)

                  I’m putting the finishing touches on my presentation for my Computer Vision/Machine Learning class. My project was building a bot for Hearthstone. Didn’t get all the way through it (that would have been an impressive feat), but I did get pretty far. I can determine (based on visual content alone):

                  • If a frame is of Hearthstone (easy binary classification)
                  • Where all the minions are (less easy, but should generalize well now that I’ve figured it out)
                  • Which minions are the same and which are not (easily the hardest part – this requires clustering without setting the number of clusters, which is not commonly used in computer vision research so I didn’t have much to go off of).

                  Giving my final presentation on Thursday. Submitted my final report late saturday. If anyone cares for a read, it’s on github (repo link).

                  Once I get through finals, gonna give this the full retro treatment. For now: much of this week will be spent on finals. Nothing really seems pressing since I got my results ironed out on that project, though.

                  1. 2

                    Recently I’ve gone ahead and made my own package manager called agnopm. It still needs some man pages so I’ll try to get to that soon, and I still need to add ports/Pkgfiles to it so that it becomes useful not only to me.

                    I do still need to figure out the LD_LIBRARY_PATH and C_INCLUDE_PATH environment variables, see if they can be used and how they’re used, so that my package manager can also handle libraries.

                    The last couple days I’ve been re-learning what I know about JS, and I can honestly say it’s been awesome to properly know Object-based design in JavaScript.

                    Knowing this new knowledge I have restarted my Noedit project, a text editor in Node.js. I had started writing it but quickly hit a stop when I wasn’t sure about how to approach some problems, with my new knowledge I decided to start over, and it has progressed faster, for sure.

                    And my blog post about switching to OpenBSD caught some interest amongst the OpenBSD communities, including Lobsters, so that’s good.

                    This is the first time I participate in this thread so feedback is welcome. :)

                    1. 2

                      I’ll be digging into an in-depth study of rocketry and orbital mechanics, with some deviations into space station & rover construction. In other words, Kerbal Space Program 1.0 is out!

                      Though in code terms, I spent a good chunk of the weekend refreshing my knowledge of chrome extensions and building a sample project so newbies can learn from my pain: https://github.com/SomeKittens/page-message-demo

                      Next step is to implement that messaging system in Batarang with the new angular-hint engine. Whoo!

                      Also, finally figured out what I was missing in CryptoPals #16, so I need to finish that.

                      1. 2

                        Gonna work on an integration with Symantec VIP. All evidence points to this effort being a waste of time but a very wise person said “take solace in the fact that even if it’s for naught, your brain may make a connection down the road, that it wouldnt have otherwise.”

                        I’m trying to figure out how to minimally affect things while still making client authenticated TLS connections for SOAP calls to VIP. Ive been wrestling with how difficult the choice was for me to require client authenticated TLS REST calls and now I’m on the other side of that. Wish me luck.

                        1. 1

                          At work, we’re fixing up our PR to get our “reducers” branch into master, which will let us start iterating faster on all the new aggs we want to add. Mostly cosmetic fixes, so we’re hoping to get it merged soon.

                          In my free time, I’ve been working on a simple, bounded SPSC queue for Rust. The only alternative (that I could find) is to use the sync_channel, but that’s really an MPSC under the covers and has a bit more overhead. Current performance is around is about ~100ns for a push()/pop() pair, while sync_channel takes ~500ns. Not a huge difference, but noticeable. Polishing right now, then I’ll throw it up on Github / Crates.io, and maybe see if Contain-RS wants it.

                          Once that is done, I want to use the queue with Coroutine-rs to build a simple multi-threaded, coroutine work dispatcher system. E.g. a thread pinned per-core which holds the consumer to the SPSC queue, pop'ing work to run as coroutines. Another thread will be spinning on a Mio event loop to process IO requests and fill the queues with work.

                          1. 1

                            Gotta get some client work done first but…

                            • Juice Box made it to HN last week so I got quite a bit of feedback to process and figure out next moves for it, definitely seems like there are people interested in it.

                            • Release latest version of PyJWT

                            • Release latest version of django-rest-framework-jwt

                            • Release latest version of ember-cli-simple-auth-token

                            • Prepare my talk next month at Security BSides Puerto Rico 2015