Culture / Development

This Week in Programming: GitHub Opens Back Up to Iran

9 Jan 2021 6:00am, by

It has been a little over a year now since GitHub blocked a number of places — Crimea, Cuba, Iran, North Korea, and Syria — from accessing its site in an effort to maintain compliance with U.S. trade sanctions, but this week the company announced that it was once again fully available in Iran.

“Today we are announcing a breakthrough: we have secured a license from the US government to offer GitHub to developers in Iran. This includes all services for individuals and organizations, private and public, free and paid,” wrote GitHub CEO Nat Friedman in a blog post.

Friedman notes that while they continued making public repos available to those countries, they also got to work dealing with the Office of Foreign Assets Control (OFAC) in applying for the license, in what he describes as “a lengthy and intensive process of advocating for broad and open access to GitHub in sanctioned countries.”

In what Friedman described in a Hacker News comment as “pure coincidence,” the news came just in time for one company that suddenly lost access across its account to GitHub the day before, when one employee was said to have “opened his laptop while visiting [his] parents in Iran.”

While the move is welcomed by many developers in Iran (though many point out VPN use was a common solution), GitHub says it is “working with the US government to secure similar licenses for developers in Crimea and Syria as well” — a point that seemed to spur some confusion.

This Week in Programming

  • Wasmer Takes Universal WebAssembly GA: Wasmer, the company that has been striving to make WebAssembly accessible outside of JavaScript by creating universal binaries, has released Wasmer 1.0, bringing with it improved runtime and compiler performance and new features that include better error handling, a more powerful API, cross-compilation, headless Wasmer, and more. Wasmer takes code written in a number of different languages and allows users to compile it into a standalone binary that can be run on any operating system and in browsers, and now the company says the tool is ready for production. In addition, the company says that the latest version of Wasmer now supports the new Apple ARM architecture, and users can get started by installing the CLI or embedding Wasmer in the language of their choice.

  • 2020 Season of Docs Wraps Up: As a developer, the last thing you likely want to do, aside from commenting your code, is writing user-facing docs. Well, for you open source developers, that’s where Google’s Season of Docs can help, as the program annually pairs technical writers with open source projects to help create documentation. So 2020 was the second year running for the project and Google this week announced the results of the 2020 program, boasting 64 writers having successfully completed their projects, with 18 bigger projects expected to be complete by March. If getting some help documenting your project is of interest, make sure to sign up for the announcements email list for the Season of Docs 2021.
  • Python Takes TIOBE’s Top Spot Again: The TIOBE Index, the somewhat dubious ranking of programming language popularity according to search engine results, has announced its yearly proclamation of “language of the year,” with the award going to Python for the fourth time in its history. The title, the project leads write, “is awarded to the programming language that has gained most popularity in one year,” with Python moving up 2.01% in 2020, which they attribute to “the ease of learning the language and its high productivity,” alongside its numerous use cases. Read on if programming language horse races are your bag.

  • Rust 1.49 Adds Architectures: With the release of Rust 1.49.0, the language has now promoted the 64-bit ARM Linux architecture to Tier 1 support, which provides the highest support guarantee for the language being properly tested on that architecture. At the same time, the 64-bit ARM macOS and Windows architectures have both reached Tier 2. Beyond this, there are a few standard library changes, which can be found in the detailed release notes. On a separate but related note, a blog post this past week remarks that Rust is now overall faster than C in benchmarks, tho remains just slightly slower than C++.
  • Ruby 3.0 Boasts 3x Speed Improvements: Having been in development since 2015, Ruby 3.0.0 arrived recently with the stated goals of improving performance, concurrency, and Typing. Specifically, the blog post announcing the arrival quotes Ruby creator Yukihiro Matsumoto as having stated that “Ruby3 will be 3 times faster than Ruby2” a.k.a. Ruby 3×3. According to a DevClass article that dives into the history of the language’s latest version, the Ruby community “put a focus on improving the JIT in a way that boosts performance for applications that frequently call the same few methods. To get there, they tackled JIT-ed code and the compilation process itself, avoiding garbage collection or executing it in the background, and reducing the number of locks between Ruby and JIT threads.” Ruby 3.0 also introduces a number of new features since 2.7, including “deduplication routines for native functions shared by multiple methods, method inlining support for some C methods, and instance variable improvements such as access optimisations in core classes, and a reduction of redundant checks.”

Feature image  par Serkan Turk de Pixabay.

The New Stack is a wholly owned subsidiary of Insight Partners, an investor in the following companies mentioned in this article: Docker.

A newsletter digest of the week’s most important stories & analyses.