atlas news
    
Jesse Jiryu Davis : programming
01  avril     17h06
Pseudocode Is Not Durable
   My friend Andrew Helwer argues that the best way to communicate an algorithm is with PlusCal or Python. He has come to believe that both are superior to an ad hoc unspecified pseudo math language, of the sort that researchers often invent for their papers. He recommends a subset of Python that...
10  décembre     15h25
Multi-Paxos in Python, tested with Jepsen
   I want to understand Paxos better, especially Multi Paxos, so I implemented it badly in Python. I tested it with Jepsen it was a chance to play with Jepsen, and a way to check if I’d understood Paxos well enough to code it. I spent about two weeks on the project one was MongoDB’s periodic ...
05  octobre     17h38
Current and Future Tools for Interactive TLA
   This is a talk I gave at the TLA conference with my MongoDB colleague Samyukta Lanka. The video is below, and a written version below that. Update: See this Twitter thread for important corrections. Many of the features we asked for are already possible, but obscure. Table Of Contents ...
26  août     16h01
Paper Review: Programming as Theory Building
   If you’re my colleague and you want to trigger my most ferocious pet peeve, ask me to explain something that I’ve already written down. My first response will be a terse link to the docs. I won’t say RTFM out loud, but if you listen closely you can hear me think it. If you ask a followup that I...
26  février     11h49
Choosing the Adventurous Route: The Career Path for Non-Managers
   If you’re committed to a lifetime of coding, how do you make the most of it Your training, experience, and passion are all in computer programming, but after a few years it can start to feel like you’re being railroaded into management, or out of the industry. Full time programmers in their s or...
08  février     23h22
Choosing the Adventurous Route: Resources
   Links to articles and papers I mention in my PyTennessee talk about the career path for older coders. Video and transcript of my PyTennessee talk. An article I wrote on this subject, aimed at a more general audience. Old modem sounds and an explanation thereof. Median age at Google and Amazon is...
24  septembre     08h35
Please Vote for My ConFoo Proposals
   I have some ideas I want to share at ConFoo in Montréal. If you think these talks sound interesting, take a minute and vote for me Please accept, as a token of my gratitude, this picture of a damp cat in Montréal part of a set I shot in .
11  juillet     04h11
Motor 2.0
   To support multi document transactions, I had to make breaking changes to Motor’s session API and release a major version bump, Motor . . Since this is a major release I also deleted many helper methods and APIs that had been deprecated over time since Motor . , most notably the old CRUD methods...
10  février     13h45
Further Reading About What To Expect When You’re Expiring
   At PyTennessee I gave a talk about writing Python object destructors called What To Expect When You’re Expiring: Rules for del . The rules for a destructor method are: Don’t access modules or globals. Don’t access threadlocals. Don’t take any locks. Links to further reading about the...
03  février     21h51
Video: Writing Winning Proposals for Tech Conferences
   I was invited by PyLadies Online to give a February, webinar about proposing talks, for the annual Global Diversity CFP Day. Watch the recording for my tips about advancing your conference speaking career.
11  janvier     22h48
Announcing libbson and libmongoc 1.9.2
   I made a mistake in libbson . . , so I’ve just released . . of libbson and libmongoc. libbson . . completes reverting a changed macro definition that broke API compatibility. The revert in . . did not completely fix the BC break. Thanks to Petr Pà sa for finding and fixing the mistake. See...
09  janvier     17h46
Announcing libbson and libmongoc 1.9.1
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson This release reverts a changed macro definition that broke API compatibility, and fixes an off by one error in bson append regex that resulted in corrupt BSON, thanks to Derick...
20  décembre     21h29
Announcing libbson and libmongoc 1.9.0
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson It is my pleasure to announce Libbson . . . New features and bugfixes: Fix Autotools syntax for OpenBSD and any platform lacking stdint.h. Fix Android NDK incompatibilities....
18  décembre     15h47
Motor 1.2.0
   I’m excited to announce version . . of Motor, my async Python driver for MongoDB. Motor works with Python . and ., and it supports async MongoDB applications using either Tornado or asyncio. Version . . is not substantially changed from the release candidate I announced last week, please...
13  décembre     07h01
Announcing Motor 1.2 Release Candidate, With MongoDB 3.6 Support
   MongoDB . was released December . Today I’ve uploaded a release candidate for version . of Motor, the async Python driver for MongoDB. This will be a big release so I hope you try the release candidate and tell me if it works for you or if you find bugs. Install the release candidate with pip...
18  novembre     10h24
Announcing libbson and libmongoc 1.8.2
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. Sadly, this is the final version that I worked on with Hannes Magnusson. He’s moved on to fight new bugs on new battlefields. libbson No change since . . ; released to keep pace with...
11  octobre     22h34
Announcing libbson and libmongoc 1.8.1
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson This release removes a syntax error in the configure script that affects some shells, and fixes the encoding of the NEWS file. libmongoc This release fixes the following bugs...
13  septembre     18h02
Announcing libbson and libmongoc 1.8.0
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson New features and bugfixes: Make symbols bson get major version, bson get minor version, bson get micro version, bson get version, and bson check version available to C ...
09  août     12h51
Announcing libbson and libmongoc 1.7.0
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. The main new features are an updated JSON BSON codec, more resilient network layer, and convenient linking. libbson New features and bug fixes: Changes to JSON encoding and decoding...
15  mars     07h11
The Noisiest Block in the Neighborhood: Analyzing NYC Data with Mongolite
   Back in , I ended my seven years of residence on the Lower East Side and moved into an apartment with my girlfriend in Stuyvesant Town a mile north. I’d loved the LES when I first came to New York, because it was where my Jewish ancestors had first lived when they came to America a century ago,...
07  mars     10h10
Announcing libbson and libmongoc 1.6.1
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson This is a bugfix release that resolves GCC compiler warnings, improves HP UX compatibility, and avoids a test failure on bit MIPS. Debugging the MIPS bug was a small saga. I...
04  février     15h13
Monitoring MongoDB Driver Events In Motor
   Do you want to know every MongoDB query or command your program sends, and the server’s reply to each How about getting a notification whenever the driver detects a primary failover, or when a new secondary joins the replica set Over the last year, MongoDB drivers have implemented these...
01  février     21h23
Announcing libbson and libmongoc 1.6.0
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson New features and bug fixes: Use jsonsl instead of libyajl as our JSON parsing library, parse JSON more strictly, fix minor parsing bugs. Extended JSON documents like quot;...
30  janvier     10h19
Announcing libbson and libmongoc 1.5.4
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. There is no change to libbson since . . ; we released it to keep pace with libmongoc’s version. The libmongoc release fixes an error in cursor iteration when a readConcern is set....
11  janvier     18h21
Announcing libbson and libmongoc 1.5.3
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson This is a patch release that fixes a build error with MinGW on Windows. libmongoc This release fixes the following bugs: CDRIVER : Windows CA stores should be opened with...
04  janvier     21h25
Two Dramatic Performances About getaddrinfo
   I just discovered this: a couple weeks ago the BSD Now podcast featured my article about making getaddrinfo concurrent in Python BSD. They were doing a roundup of stories about ancient BSD lore and included my tale about fixing an ancient bug. If you want to watch the two hosts cracking each other...
17  décembre     14h25
Announcing libbson and libmongoc 1.5.1
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson No change since . . ; released to keep pace with libmongoc’s version. libmongoc This is a bugfix release: Fix SEGFAULT with performance counters on NUMA thanks to Jonathan...
05  décembre     11h50
Making getaddrinfo Concurrent in Python On Mac OS and BSD
   Tell us about the time you made DNS resolution concurrent in Python on Mac and BSD. No, no, you do not want to hear that story, my friends. It is nothing but old lore and ifdefs. But you made Python more scalable. The saga of Steve Jobs was sung to you by a mysterious wizard with a fanciful...
29  novembre     22h58
Announcing Motor 1.1 For MongoDB 3.4
   MongoDB . was released this morning; tonight I’ve released Motor . with support for the latest MongoDB features. Motor . now depends on PyMongo . or later. It’s an annoying coincidence that the latest MongoDB and PyMongo versions are the same number. With MongoDB . and the latest Motor,...
27  novembre     22h13
Announcing libbson and libmongoc 1.5.0
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson We have a brand new BSON Type, Decimal , which MongoDB . and all drivers now implement. The BSON code and code with scope types are better supported now: bson append code...
17  novembre     12h15
The Saga of Concurrent DNS: My Article in the MongoDB Engineering Journal
   Earlier this year I updated CPython to allow concurrent DNS resolution on Mac and BSD. My patch was trivial, but it took me weeks of archeological research to prove it was correct. In this article for the MongoDB Engineering Journal, I sing the ballad of my quest: The Saga of Concurrent DNS in...
02  novembre     18h23
Announcing Motor 1.0
   More than four years ago, I was sitting through a particularly distracted period of meditation. It was a Saturday morning and I was sitting on a meditation cushion next to my girlfriend in her Brooklyn apartment, staring at the wall. I suddenly thought of a technique for turning PyMongo into an...
26  octobre     07h16
Announcing Motor 0.7
   Three weeks after I released the beta, I’m proud to present Motor . . For asynchronous I O Motor now uses a thread pool, which is faster and simpler than the prior implementation with greenlets. It no longer requires the greenlet package, and now requires the futures backport package on Python ....
06  octobre     09h40
Computer Science For All
   MongoDB offered a paid fellowship to two teachers this summer. Jeremy Mellema and Tim Chen worked with the MongoDB Education Team in our office, developing a computer science curriculum based on Python, MongoDB, and other technologies. This fall, they’re starting to teach the new class in NYC...
03  octobre     08h28
Motor 0.7 Beta With Pymongo 2.9 And A Threaded Core
   Please try the beta release of Motor . and let me know how it works for you: python m pip install motor . b Documentation: Motor beta documentation Motor . changelog In two ways, Motor . paves the way for Motor . : first, its PyMongo dependency is upgraded from PyMongo . to . ....
30  septembre     17h26
Announcing libbson and libmongoc 1.4.2
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson No change since . . ; released to keep pace with libmongoc’s version. libmongoc This release fixes two bugs in minPoolSize logic: minPoolSize should mean the number of...
20  septembre     16h16
Announcing libbson and libmongoc 1.4.1
   Hannes Magnusson and I are pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson This release improves the HTML documentation’s Makefile. libmongoc This is a bugfix release: mongoc client get server descriptions could return a list...
10  août     18h46
Announcing libbson and libmongoc 1.4.0
   I’m pleased to announce version . . of libbson and libmongoc, the libraries constituting the MongoDB C Driver. This is a very big release a long time coming. The headline feature is support for the TLS libraries included in Mac and Windows, so you no longer need OpenSSL there. Hannes Magnusson...
27  juillet     23h06
Announcing libbson and libmongoc 1.4.0-beta1
   I’m pleased to announce version . . beta of libbson and libmongoc, the libraries constituting the MongoDB C Driver. libbson New features and bug fixes: bson reader reset seeks to the beginning of a BSON buffer. bson steal efficiently transfers contents from one bson t to another. Fix Windows...
26  juillet     20h50
Talk Python to Me: Write an Excellent Programming Blog
   Michael Kennedy and I talked about writing about programming. What kind of writing is most valuable, how do you choose a topic, improve your writing, find an audience, and find the time to write Listen to the podcast on the Talk Python To Me site. I’ve talked with Michael before: Episode of ...
14  juillet     23h28
How To Write Resilient MongoDB Applications
   Update: This technique has been superseded by MongoDB’s built in retryable writes, introduced in . Retryable writes are far simpler and superior to the techniques described here. For even stronger guarantees, use transactions, released in . Once, on a winter afternoon in early , I met a...
29  juin     13h56
Smart Strategies for Resilient MongoDB Applications , The Screencast
   I recorded a screencast of my MongoDB World talk. It’s about handling network exceptions and other errors in a correct and resilient fashion. If you want a simple, reliable method for programming a MongoDB application, watch this:
23  juin     22h44
72% Of The People I Follow On Twitter Are Men
   At least, that’s my estimate. Twitter does not ask users their gender, so I have written a program that guesses based on their names. Among those who follow me, the distribution is even worse: are men. None are gender nonbinary as far as I can tell. The way to fix the first number is not...
09  juin     14h39
Come to MongoDB World. We Need To Talk.
   Please come see me at MongoDB World. It’s in New York on June and . I’ll give you off, I just need to talk to you. You see, for four years, I’ve had this guilt hanging over me. It goes back to a winter afternoon in early , when I met a MongoDB customer who was very angry. He’d come to...
08  juin     09h54
My Two Talks at Open Source Bridge
   My two favorite talks at Open Source Bridge this year aren’t mine: they’re my friends talks about accessibility, and about a parallel testing system written in Go. Nevertheless, I’m excited about the talks I’m going to give. I hope to see you there: Register for Open Source Bridge, June ....
07  juin     19h49
My Two Favorite Talks at Open Source Bridge
   This year there are two talks I’ve had a hand in. The first is by Rebecca Jennings, an ASL interpreter and accessibility expert. What she knows is so fascinating that I nagged her for two years to speak about it at Open Source Bridge. Finally she’s coming to teach us about accessible information...
02  juin     08h30
Write An Excellent Programming Blog at PyCon 2016
   Video of my talk at PyCon in Portland. I talked about writing about programming. Voluminous related information, including a written version of this material, a screencast that I captioned, and links to further reading: The Write an Excellent Programming Blog Page
29  mai     08h34
Say Useful Things To An Audience That’s Listening: 6 Tips For Delivering A PyCon Talk
   Sylvia Pankhurst didn’t waste time on Q amp; A. Ten minutes before my first PyCon talk ever, I was standing at the podium. I had got up there as soon as the previous speaker stepped off I had to be sure I was ready in time for my : pm slot The nice session runner gave me a water bottle, the A V...
26  mai     13h34
Captioning Myself And 6 Other Ways I’ll Prepare In The 24 Hours Before I Speak At Pycon
   At : pm Pacific Time this Wednesday, I’ll be in Portland, sitting in a lecture room at PyCon, judging the right moment to walk on stage and start my talk. I have a regimen for the hours before that primes me to give you the best talk I can. This whole series of articles about conference...
25  mai     09h10
I Saw You Fall So I’m Helping
   Women have been systematically excluded from computer programming for decades. But it wasn’t this way in the past, and it doesn’t need to be in the future. The software industry, it seems, is waking up overnight to how unfairly we’ve treated women and minorities, and we’re beginning to take action...