1. 23

You know the drill - show us what you’re working on. Don’t hesitate to elaborate and ask questions.

Me: On something a little retro. Worked well in testing, completely blew up on the runway due to Mono’s TLS implementation. (I think it can’t handle TLS >=1.1)

  1.  

  2. 14

    Well I keep pushing back the release by one week, and another, and another, because I want it to be perfect when I show it to the world, complete with a super-awesome suite of tests, and the most comprehensive documentation in the history of documentation, but truth is, I’m building this library more to scratch my own itch than anything else, and making it public so that if someone finds it useful, he may use it. And/or contribute back. So here goes:

    https://git.is-a-dev.com/is-a-dev.com/autoapi

    I probably should post this as a post by itself, so it can appropriately get upvoted/downvoted/ignored. :P

    This is my code generator. It grabs the schema from a mysql db, generates db code, http handlers, and a main package that ties them all together. The goal is to keep the schema in the database, along with constraints (this will work wayyyy better with Postgresql). For now I have code that checks against “not null” constraints. Badly, too. There’s a lot of ugly stuff in there. Oh my god, why am I clicking Post.

    1. 2

      This is awesome! It’s rough for sure, but it’s a great way to get some code started, then trim out what you don’t need. Agreed, immediately useful.

      1. 2

        This is cool, I like it a lot!

        You could chain it to my equally-if-not-more sketchy automatic API documentation generator and truly make skynet https://github.com/dangerousbeans/doc_smoosher

        1. 1

          I don’t know if that changes anything for you, but I generate a swagger (http://swagger.io/) file to describe the API. A friend of mine has convinced me that I needed to do something about json-ld and maybe hydra baked-in too. That’s not done yet, I still have a few concepts to wrap my head around of before I start these. XD

        2. 2

          It has some rough edges, but is immediately useful for me, thanks. You looking for contributions or just a solo project?

          1. 1

            Super glad it’s useful, all contributions welcome. Sorry I’m not hosting on github, I hear it’s appreciated for pull requests, it’s probably something I should consider? Again, glad it’s found some use for someone!

            1. 1

              Github might be better for mass adoption, but I honestly don’t care, never used Gogs before – already filed a bug. Working with a very dumb DB with column names like type and so forth.

              I have wanted this exact tool and just didn’t get started on it.

              1. 1

                Pull requests aren’t a silver bullet. You could have a clone on github and see if you like what you get with pull requests. Not everyone does.

                1. 1

                  I have actually never used the native pull-request system built into git – good excuse to use it.

          2. 11

            This is my first post ever! I’ll spend this week working in storm-crawler, an Open Source “crawler” built around Apache Storm, basically I’m doing some work in the parse framework that will allow to split one URL into several documents in the storage (Elasticsearch for now) instead of the 1:1 relation that we have now between an URL and a document.

            1. 8

              I’m taking advantage of the long weekend (Memorial Day in the US) to finally fix my email server. It had broken before, so I fell back to using Google Apps, which gives me a lot of icky feelings.

              1. 8

                The job search picked up a little and then hit a lull again. It was going very well with a US-based company, but they really wanted me to move there. I’m not ready to leave Canada, not for a couple of years.

                I’m now at the stage where I think I could keep looking for other jobs based in Canada or that allow remote work. I am very picky, though, because I will not take a job that proliferates non-free software. I have managed to get this far in my life without taking such a job, and I do not want to give this up now. I have thought of trying to get bitcoin or scipy jobs, or maybe even a bog-standard Django backend job. I’d like a job supporting or maintaining Mercurial, but other than Mozilla, looks like the only companies putting money into Mercurial are Google, Facebook, and maybe Twitter.

                What I really want to work on, however, is GNU Octave. I’ve been trying to look for ways to start that business. I found a business guy who is very interested in doing this, but he seems to make our lead dev a bit uneasy. Our lead dev is also going through some personal stuff right now, so his public involvement with Octave has decreased. I feel like I really need his support for starting Octave work, because as far as I know, he’s the only one right now who is getting paid for commercial support for Octave. I do not want to step on his toes. I want to work with him.

                So now I need to either convince our lead dev that the business guy will not be the end of Octave, or I need to find another way to start our business. I will be going this Wednesday for the first time to the monthly local Startup Drinks. I am not sure what could I find there, since the kind of company I am thinking for Octave does not seem to work well as a traditional startup. It will not be “build once, sell infinitely often”, because each and every sale will require constant labour and upkeep. We could, perhaps, commercialise a web-hosted Octave, (or, ugh, “cloud”) and use the profits to fund actual Octave development. I am not sure how much of a market for such a thing there is. The Mathworks is currently doing this with Matlab, so perhaps there is some money to be made there.

                Oh, in other Octave news, looks like 4.0 should come out this week. It will be a pretty big release: a GUI, supported Windows builds (Mac OS X is too hard though, sorry), basics of classdef implemented, audio functions, plus the usual slew of minor features and bugfixes. I’m thinking of using a website redesign to go along with the release, but the reception to this proposal has been lukewarm.

                1. 7

                  Think of it as a small business then rather than a startup. There’s nothing wrong with being a small business and aspiring to have a well run, profitable small business!

                  1. 1

                    I guess I just don’t know culturally how to get that started, though. There’s a lot of advice on how to do startups, but I feel like I need to learn a completely different career if I’m going to be starting my own business. I don’t know about how to negotiate contracts, how to advertise, how to do market research… I feel like I need someone else’s help with all of that. And I don’t know how to attract that person.

                    1. 1

                      Small businesses actually have a lot less structured culture and a lot more ‘do what works, make money for next month’ type of flow, constant experimentation and adjustment. Additionally, from a corporate governance point of view, it is relatively easy to structure a deal with a business person where they can make LOTS of money while having very little control. Giving them an incentive without putting those who control the ideals of the company at risk.

                2. 8

                  I spent last week being a tour guide. I had a couple of guests visiting us (in Thailand) from the US. So I spent the week taking them to various markets, temples, museums, beaches, etc. We ate out a lot as well with plenty of seafood including a meal in a tree-top restaurant. I think we ate in one place that had actual walls (well, 3 of them, the front is open).

                  Apart from that, I spent the week reading some material about some newer work in type systems and working on some LLDB integration scripts.

                  This week is back to work on all fronts (emscripten, Dylan, debugger).

                  1. 8

                    Polishing a second email to send after lunch to the folks interested in my OO design talk. Already 10x more people have seen the video online than attended the talk last month, which is kind of awesome.

                    Also today I’m writing an outline to adapt the talk content into an ebook. There’s a lot of content I had to cut for time (eg. every test code sample) or have found better explanations for as I’ve talked to more people. It’s funny: I thought after the talk I’d be able to stop thinking about this so much, but that hasn’t been the case. At least the stress of the deadline + public performance is gone. Later this week I’ll start fleshing out the ebook with my existing talk notes so I can plan a timeline.

                    So.. writing a lot more prose than code this week.

                    1. 7

                      Let’s see…submitting an outline for a chapter in a book on technical computing. This will be fun, because the other chapters are all written by PhDs and whatnot, and a friend and I will be responsible for the “No, really though, this is how you write code on a team in the real world” part of things. I’m covering team development, they’re covering testing (something oddly foreign to a lot of academic programmers I’ve worked with).

                      This weekend I also got my FreeBSD VM setup with X, openbox, tint2, feh, and basically it’s now just a little more config twiddling away from being a replacement #! dev station. Any horror stories about mixing ports and pkg?

                      This week we’ll be moving offices at work from a nice university-supplied space to a an accelerator, saving like three grand in rent a month. I’m trying to ignore that fact, and instead interpret it as “look at the nice shiny new office space full of other companies!”–the alternative being “the end of the runway is niiiiigh!”.

                      My intern did some cool stuff last week, and got automated integration going between Confluence (wiki), Github (issue tracking), and our in-house FDA compliance stuff. As for me, this week will also be free of the build system clusterfuck I’ve been sorting out for two weeks. It’s terrible. Windows development…not even once.

                      1. 6

                        Catastrophic hardware failure followed by a botched partial recovery that remained live for 2 days, then hastily repaired improperly … giving us 3 sets of partially accurate data-sets that had to be hand merged (code-assisted) with TLC. Last week was spent cleaning up the mess. This week will be postmortem and putting in some new policies and code to avoid something like this ever happening again. It was just a cavalcade of embarrassing mistakes… including missing the early warnings signs almost a month earlier… back to April 20th, warning signs in log files.

                        This week isn’t going to be overly fun for me, but worse for OPs. Also might try to clean up this patch on neovim (https://github.com/neovim/neovim/issues/2501) to get it in, as it was complained about on the Vim annoyances thread with good reason: https://lobste.rs/s/biywbm/vim_annoyances

                        1. 6

                          personal: working on backups for some home machines (a couple freebsd boxes) – mostly /etc, /usr/local/etc, and a few small data folders. Started out over the weekend with tarsnap on each box, but have now decided to use rsnapshot to collate backups onto the storage server, and run tarsnap from there – better dedup and fewer tarsnap keys to manage. Might get that done today.

                          Also planning on turning my storage server’s 4 disk raidz2 into a raid10. I plan to add another drive pair in a couple of weeks, and raid10 will grow much more elegantly (just add another mirror vdev pair to the pool). I had concerns about losing “the wrong two” drives, but as the pool expands with more pairs, the statistical likelihood will go down. raid10 should also resilver much faster than raidz2. I am going to do a backup first, then try to perform a magical dance of degrading the raidz2 by removing two drives, turning them into a single mirror pair, migrating the data, then killing the raidz2 and turning it into a mirror pair, and adding it to the raid10 pool. crosses fingers. If all else fails I can just restore it from a backup (external usb HD) slowly.

                          Random question: Anyone else here dealing with offsite backups for home media? I am thinking of just buying another set of external usb drives and keeping a set at the in-laws or something. Uploading to some cloud site and/or downloading for recovery would not only take ages, but storing many TB in most backups services would be quite expensive.

                          Work: Continuing rollout of the customized callback service. Last week went slower than expected due to other blocking tasks. Hopefully things this week will be a bit more lubricated.

                          1. 6

                            Finally released the book for early access - really only appropriate for early adopters that want to help us improve the book for now. We’ve also revealed most of the ToC here.

                            I gave a talk and a workshop at Lambda Conf this weekend, so I’m pretty exhausted. It was a really, really good time. The people at the conference were really sweet and fun to talk to. I’m looking forward to next year.

                            Probably one of my cleverer moments in awhile was deciding to use Zendesk to queue, process, and reply to reader feedback on the book. Looked into using a Google Group, too many coordination problems. Needed to know when a ticket was “in process” or being looked at by my coauthor without manual communicated synchronization. This is already paying dividends so I am pretty happy.

                            1. 5

                              I will be at JSConf! So say hello if you’re there.

                              Mostly plodding along with $WORK: I’m gonna try to squash the last 20 or so doc bugs, then move on to filling out various API docs.

                              This week also brings back a new thing for me: actually having some time to work on personal projects. I have a few things I totally put on hold for the Rust release, time to get back to them.

                              1. 5

                                Side projects and hackerspace shenanigans: I’m working on a small project to begin cataloging the extensive dead tree book collection at Noisebridge. I want to build a public, searchable index of our book collection.

                                The part I’m working on in particular is setting up a barcode scanner flow. I’ve bought a wireless USB scanner which presents itself as a regular HID. I’m taking the opportunity to write my first thing in Rust, a small program which uses libevdev to read the key events and gather the UPC barcodes and spit out ISBN numbers. The code is on Github. I’ve near-zero experience with compiled languages and I’ve found this to be a really fun project with which to learn.

                                1. 2

                                  Yay, treeware indices. Librarian has always been a dream job of mine. I think your project sounds fun.

                                2. 5

                                  Previously:

                                  • Spent some time doing good old-fashioned manual labor. It was awesome!
                                  • Got back to writing a bit of Prose for Programmers
                                  • Refactored an Angular/PHP abomination into something more reasonable
                                  • Devoured tons of podcasts, articles, and a couple of books on Kanban and Lean[1]

                                  This week:

                                  • Work with my manager to set some goals for the rest of the year
                                  • Finish preparing an ES6 slide deck
                                  • Clean up a gnarly UI build system and move it from Grunt to Gulp
                                  • Nudge techops to actually set up an internal npm repository
                                  • See if I can convince my team to stop estimating with story points[2]

                                  [1] Can anyone recommend good books on the subject? Particularly any that go in-depth on metrics applicable to software development.

                                  [2] I used Jira’s REST API to pull data about the tickets completed in our last six sprints. Story points completed per sprint was all over the place, but tickets completed was relatively constant. To me this suggests that instead going through the story point ritual, we should just accept about a dozen tickets per sprint.

                                  1. 3

                                    More PCI compliance driven work at $work, started cutting code for the project this week which is a little more exciting. (Today I learned how nice modular Sinatra coupled with mapping different apps in the same process on different URLs can be.)

                                    Outside of work I’ve been playing with the Ubiquiti EdgeRouter Lite that arrived last week. Pretty darn happy with it, and got the basics running in an evening (PPPoE for the fibre modem, firewall, DHCP/NAT for the LAN) and after spending another few hours playing with IPv6 got a 6in4 he.net tunnel running on it (& firewalled!). Got some tidying up left to do in the configuration, but it’s definitely earned a place in the network. Glad I bought it. (Previous “brain” was an Airport Extreme to do everything - now that’s just powering the two wireless networks.)

                                    Half a week off for me as the kids are off school, visiting a Safari Park & Warwick Castle which should be fun days out. Also trying not to do too much before the Dee Mile swim in Chester this weekend. Last year was a blast, hoping for as much fun this year.

                                    1. 3

                                      I’ve just managed to get a major rewrite of the user side crypto for Peergos working. This week I’ll be porting that part to Javascript (I find it faster to get all the logic right in Java, then port to Javascript). Then Chris and I will be trying to connect up our Mock Peergos UI to the Peergos backend. Our original goal, set in January, was an initial alpha release by the end of May of the basic file storage/browser/sharer layer of Peergos. We probably won’t quite make that, but we’re not that far off.

                                      1. 3

                                        Last Week

                                        I actually added a new tutorial for Fire★.

                                        This Week

                                        What should I work on folks? Someone asked me about a mobile port of Fire★. Would anyone be interested in working on a Qt Quick version for phones, maybe targeting android first?

                                        1. 3

                                          I just finished wiring up collaborative realtime for a product I’ve been building on the side: http://stompflow.com/ It’s a project management SaaS, think of it like Jira but actually fast, accessible, and with a sprintboard, also not as customizable and enterprisey. The realtime aspect itself makes me quite happy because I was able to take a progressive approach and just basically bring native <form> tags to websockets (kind of), which was amazing. I’m quite enthusiastic because it actually worked with a few lines of code once I got the “data binding” hookups right

                                          1. 1

                                            automation scripts for work.

                                            let’s auto - version/tag/build/test/deploy all the things!

                                            1. 1

                                              work: new job floundering and flailing. First job I’ve started with a stack I’m not familiar with, plenty of stress that I didn’t anticipate.

                                              otherwise: finishing up this little DOM utility in elixir after abandoning it for a while. haven’t written an html/xml parser from scratch before so it was kinda fun.

                                              1. 1

                                                Have been playing around with Volt Framework a bit, which is great but it upset me that there was no HAML support so I added that in.

                                                1. 1

                                                  At work I’m working on upgrading our MongoDB 2.6 server to MongoDB 3.0, and switching storage backends to the new “Wired Tiger.” From some simple testing and what I’ve read, the new back end should really increase performance for our use case. Unfortunately, a couple of tools I use to make quick one off queries (UMongo and cl-mongo) don’t work with 3.0 just yet, so that’s a bummer.

                                                  While I’m at it, I’m moving our old install and configure script to be a Salt configuration file so that our DevOps group can (hopefully) take care of most of the admin-like work in the future.

                                                  Outside of work a couple friends of mine recommended the book Empire Of The Summer Moon, and I’m about half way through. It’s not a genre I’d usually read, but my friends were pretty excited about it, and after a few pages I was also drawn in. I should finish sometime this week, so I’ll probably doing more coding later this week.

                                                  I’m thinking I’ll update cl-mongo (a Common Lisp library for accessing Mongo) to work with MongoDB 3. My understanding so far is that the changes shouldn’t be too difficult, and mostly limited to retrieving the list of collections in a DB and the list of indices on a collection. Sounds easy enough, but I need to get more familiar with the cl-mongo code.

                                                  I also looked into contributing to Clasp (Common Lisp on LLVM), but decided to hold off until the project stabilizes a bit.

                                                  Other than that, I’ve been getting in a few more ski days while I still can, and biking a lot, and working on my photography.

                                                  1. 1

                                                    I should have worked on a new Rapicorn release but instead cooked up a new IPC binding implementation. In the process I needed to use thread-local storage and did some benchmarking around TLS while I was at it. I’ve blogged about it here: https://testbit.eu/thread-local-storage-benchmark/

                                                    1. 1

                                                      I’m trying to isolate a 2 factor authentication (with mobile codes) in our platform. At the moment, is very tied to login only, but I want to make it modular enough to have something like: action > confirm > process.

                                                      Apart from that, the weekly deployment to production.

                                                      In my startup, I’m experimenting a lot of things and tonight I’m going to hack some Javascript and create a Pebble version of it.