diff options
author | Corey Richardson <corey@octayn.net> | 2014-11-05 17:12:45 -0500 |
---|---|---|
committer | Corey Richardson <corey@octayn.net> | 2014-11-05 17:12:45 -0500 |
commit | b90d2b10b0708aba718b121861d59555c6818295 (patch) | |
tree | c400703ca4f13b34d5ac09099560ebc2f1782f62 |
Initial commit
64 files changed, 8499 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..678777e --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.pyc +bin +lib +include +themes +output diff --git a/cache/ArticlesGenerator-Readers b/cache/ArticlesGenerator-Readers Binary files differnew file mode 100644 index 0000000..3d8b9fd --- /dev/null +++ b/cache/ArticlesGenerator-Readers diff --git a/cache/PagesGenerator-Readers b/cache/PagesGenerator-Readers Binary files differnew file mode 100644 index 0000000..832eea7 --- /dev/null +++ b/cache/PagesGenerator-Readers diff --git a/content/2013-06-07-this-week-in-rust.markdown b/content/2013-06-07-this-week-in-rust.markdown new file mode 100644 index 0000000..01fd077 --- /dev/null +++ b/content/2013-06-07-this-week-in-rust.markdown @@ -0,0 +1,119 @@ +Title: This Week In Rust 1 +Date: 2013-06-07 18:46 +Tags: this-week-in-rust, rust, programming +Category: This Week in Rust + +Hello and welcome to the first issue of *This Week In Rust*, a weekly overview +of Rust and its community. I'll be covering what's cooking in incoming, +meeting summaries, meetups, and anything else pertinent. Any ideas, email them +to me, <mailto:corey+rust@octayn.net>. + +The Rust interns arrived this week and have got cracking right away. Big hello +to Aaron Todd, Ben Blum, and Michael Sullivan! We can look forward to work all +over the place, especially in the RT and debug-info. + +<!-- more --> + +# What's cooking in incoming? + +There were 30 pull requests merged this week. A scattering of doc fixes and a +bunch of code cleanups and optimization work as usual. Total issue churn +(excludes pull requests) this week was +6. + +## Notable additions, bugfixes, and cleanups + +- Ben Striegel added the `as_c_str` string function as a method as part of the + overall methodization covered by [6045][is6045]. +- James Miller landed a much better optimization pipeline in [6881][is6881], + fixing a bunch of nascent optimization problems, especially with inlining, + and also fixing an earlier (huge) regression (that he introduced, + admittedly). +- James also fixed [6977][is6977], which allowed nonsensical expressions like `[0, + ..-1]`. Whoops! +- I introduced terminfo handling to `extra::term` in [6826][is6826], bringing + rustc's beautiful colors to a wider audience. Unfortunately, it isn't + complete yet and, most notably, does not handle `xterm-256color` correctly + yet. +- Daniel Micay landed jemalloc as the default allocator in the runtime, + leading to nice allocation performance boosts on all platforms, as well as + much improved multithreaded performance. It also has the benefit of + cross-platform tuning and instrumentation. + +## Breaking changes + +It would be silly not to mention these changes, even though they weren't +strictly this week: + +- `libcore` was renamed to `libstd` and `libstd` was renamed to `libextra`, to + better reflect their purpose. Confusingly, the code in rustc still uses the + old names. Something to watch out for! +- All of the module reexports were removed from the prelude, so if you use, + for example, `io::foo`, `vec::foo`, etc, you will find yourself having to + add a lot of extra imports. `use std::*` to regain the old behavior, + more or less. +- Patrick fixed the unsafe checker to safe code can no longer call unsafe + methods. + +This week: + +- `pub impl` was removed by Patrick Walton as part of [6944][is6944]. What + this did was have all `fn`s in a `pub impl` be `pub` by default. Now, you + must explicitly specify `pub` on all `fn`s in the impl if you want them + public. +- Also in [6944][is6944], Patrick removed the ability to have multiple + patterns appear in "let" declarations. For example: `let a = 4, b = 2;` + becomes `let (a, b) = (4, 2);` +- Daniel renamed the `Ptr` trait to `RawPtr` in [6913][is6913] +- Daniel and Huon Wilson have been working on iterators a lot. In + [6999][is6999], they start removing the `vec::each_*` functions, as the new + iterator code in `std::iterator` is now mature enough for use. + +# Meetings + +There were two main meetings this week. Mostly discussion about DST, closures, +and the GC. Lots of issues and details remain to be worked out, I suspoect it +will still be a bit before anything final-looking comes up in a PR. See the +[meeting][mtg1] [notes][mtg2] for more details. + +# Meetups + +- Erick Tryzelaar has a meetup planned in Mountain View on Wednesday, June 12, + at 7pm. See the [ML thread][sanfran] for more details. +- Tim Chevalier will be giving a talk titled "Rust: A Friendly Introduction" + on Monday, June 17, 6-9pm in Portland. See [Calagator][rafi] for more details. + +# Prominent blog posts and ML threads + +- <https://mail.mozilla.org/pipermail/rust-dev/2013-June/004364.html> +- <http://blog.pnkfx.org/blog/2013/06/07/detective-work-on-rust-closures/> +- <http://smallcultfollowing.com/babysteps/blog/2013/06/03/more-on-fns/> +- <http://smallcultfollowing.com/babysteps/blog/2013/06/06/reducing-dst-annotation/> +- <http://pcwalton.github.io/blog/2013/06/02/removing-garbage-collection-from-the-rust-language/> + +# Other announcements + +- 10gen has some interns working on a MongoDB driver for Rust, which will be + very nice to have. Good luck to them! +- Brendan Zabarauskas has fixed `lmath`. It now works on incoming. Yay! + +Brendan sent in a correction: + +{% blockquote %} +Unfortunately whilst it builds on incoming, due to a bug you can't use it in +external crates. moonchrome and I am are working on fixing this but it will +require us to remove the trait heirachy and use macros to generate each type +(Vec3f, Vec3f32, ... etc.) individually instead. Integer and Boolean vector +types (present in GLSL) will also be removed. +{% endblockquote %} + +[is6045]: https://github.com/mozilla/rust/issues/6045 +[is6881]: https://github.com/mozilla/rust/pull/6881 +[is6977]: https://github.com/mozilla/rust/issues/6977 +[is6826]: https://github.com/mozilla/rust/pull/6826 +[is6944]: https://github.com/mozilla/rust/pull/6944 +[is6913]: https://github.com/mozilla/rust/pull/6913 +[mtg1]: https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-06-04 +[mtg2]: https://github.com/mozilla/rust/wiki/Meeting-2013-06-07 +[rafi]: http://calagator.org/events/1250464376 +[sanfran]: https://mail.mozilla.org/pipermail/rust-dev/2013-June/004356.html +[is6999]: https://github.com/mozilla/rust/pull/6999 diff --git a/content/2013-06-15-this-week-in-rust.markdown b/content/2013-06-15-this-week-in-rust.markdown new file mode 100644 index 0000000..c82bbc6 --- /dev/null +++ b/content/2013-06-15-this-week-in-rust.markdown @@ -0,0 +1,139 @@ +Title: This Week In Rust 2 +Date: 2013-06-15 22:00 +Tags: this-week-in-rust, programming +Category: This Week in Rust + +Hello and welcome to the second issue of *This Week In Rust*, a weekly overview +of Rust and its community. I'll be covering what's cooking in incoming, +meeting summaries, meetups, and anything else pertinent. + +I've decided to stop using real names and use irc/github names, simply because +that is how I, and most everyone, interacts in the community. + +<!-- more --> + +# What's cooking in incoming? + +There's been a lot of breakage on incoming this week, with jemalloc breaking +32bit cross-compilation as well as random segfaults and stack corruption of +unknown cause. Some heroics by the core devs have got it mostly cleaned up, +though the tree is still rather chaotic. Meanwhile a handful of performance +improvements have landed, and achricto rewrote `rusti`. + +There were 17 pull requests merged this week. Total issue churn (excludes pull +requests) this week was +2 (this excludes the 38 pull requests that were +closed when incoming was killed). + +## `incoming` branch annihilated + +Goodbye `incoming`, hello `master`! This change, long in coming, unfortunately +closed all open PRs. Start doing your development against `master` rather than +incoming. + +## Notable additions, bugfixes, and cleanups + +There's a concerted effort to remove duplicate freestanding functions where +possible. + +- In [6986][is6986] bjz and jensnockert have cleaned up the numeric code some + more, adding methods for existing things like `sin`, as well as adding a + bunch of interpolation stuff. +- steven_is_false added prototype dynamic library loading support in + [7027][is7027], which should remove a lot of pain for people looking for + easy dynamic loading. It currently doesn't work on Windows, so if you can + sling Windows code, help would be appreciated! +- In [7029][is7029] luqmana allows having multiple impl's add static methods, + which previously did not work. +- Eridius stepped up to [fix the terminfo code][tinfo], colors should be + arriving to more people soon. +- SiegeLord [improved the CSS][css] used by rustdoc with *huge* improvements. +- sully has gotten default methods working for the most part, he is still + testing cross-crate edge casses. +- vadimcn [has fixed debuginfo][debug], and supposedly the GSoC intern is + getting started on improving it next week. +- doener has got [some nice][inline] [performance][cache] PRs in place. +- aatch is working on [cleaning up trans][trans]. Huge thanks to him! + +## Breaking changes + +- dbaupp and strcat continue their cleanup of the standard library, removing + the ad-hoc iterator functions where `std::iterator` can replace them. +- All of the string functions that could be reasonably converted to methods + have been. +- If you're working in the stdlib, acrichto has toggled most of the lint + settings to "deny" for std/extra, so watch out. + +# Meetings + +The [Tuesday meeting][tues] talked about bblum's [Effect proposal][eff], +removing the master/incoming split, and "alloc expressions", a replacement for +@-sigils. + +The consensus on the effect proposal is that it needs investigation and +wouldn't be landing in 1.0. + +Discussion about master/incoming mostly centered on "master isn't always +green, how can we add better coverage to bors' tests?" Consensus seems to be +that removing incoming would be beneficial, but enabling more OS and valgrind +coverage on bors would harmfully impact development speed. + +The proposed syntax for alloc expressions is `new (provider) expr`, with `new +expr` becoming the replacement for the current `~expr`. This would allow +custom smart pointers. pcwalton ended the meeting with a huge cliff hanger + +{% blockquote %} +I've been meaning to talk a little bit today about simplifying the +mut-borrowing story in regards to this, we may be able to effect a large +simplification on the language +{% endblockquote %} + +Personally, I think [kimundi's proposal][kim] has a lot of promise, and the +syntax is more pleasing to me. It wasn't brought up at the meeting, though. + +# Meetups + +- The Mountain View meetup was a great success. 18 showed up. erickt is + planning for another SF Bay area meetup in July. If you want to give a + presentation, send him your proposal and how long you need to put it + together. +- Tim Chevalier will be giving a talk titled "Rust: A Friendly Introduction" + on Monday, June 17, 6-9pm in Portland. See [Calagator][rafi] for more + details. This is a preview of a talk he will be giving at [Open Source + Bridge][osb], also in Portland. + +# Notable discourse + +- Still more discussion about [iterators][iter], this time focusing around + [changing the semantics][for] of the `for` loop. +- Some discussion about [list comprehensions][listcomp], including initial + proofs-of-concept. +- Graydon explains hashing and versioning + https://botbot.me/mozilla/rust/msg/3792753/ +- Principal author of 0install evaluates rust among other languages as a + python replacement + http://roscidus.com/blog/blog/2013/06/09/choosing-a-python-replacement-for-0install/ +- Niko thinks about parallelism + http://smallcultfollowing.com/babysteps/blog/2013/06/11/data-parallelism-in-rust/ +- http://smallcultfollowing.com/babysteps/blog/2013/06/11/on-the-connection-between-memory-management-and-data-race-freedom/ + +# Other announcements + +- bjz tells me lmath is *actually* fixed now, and is usable + +[is6986]: https://github.com/mozilla/rust/pull/6986 +[is7027]: https://github.com/mozilla/rust/pull/7027 +[is7029]: https://github.com/mozilla/rust/pull/7029 +[tues]: https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-06-11 +[kim]: https://gist.github.com/Kimundi/5744578 +[iter]: https://mail.mozilla.org/pipermail/rust-dev/2013-June/004364.html +[rafi]: http://calagator.org/events/1250464376 +[for]: https://mail.mozilla.org/pipermail/rust-dev/2013-June/004465.html +[listcomp]: http://www.reddit.com/r/rust/comments/1gag3t/list_comprehensions_in_rust_iterator/ +[css]: https://github.com/mozilla/rust/pull/7077 +[eff]: https://github.com/mozilla/rust/wiki/Proposal-for-effects +[tinfo]: https://github.com/mozilla/rust/pull/7133 +[osb]: http://opensourcebridge.org/sessions/970 +[debug]: https://github.com/mozilla/rust/pull/7134 +[inline]: https://github.com/mozilla/rust/pull/7154 +[cache]: https://github.com/mozilla/rust/pull/7144 +[trans]: https://github.com/mozilla/rust/pull/7124 diff --git a/content/2013-06-22-this-week-in-rust.markdown b/content/2013-06-22-this-week-in-rust.markdown new file mode 100644 index 0000000..59fbe67 --- /dev/null +++ b/content/2013-06-22-this-week-in-rust.markdown @@ -0,0 +1,134 @@ +Title: This Week in Rust 3 +Date: 2013-06-22 05:21 +Category: This Week in Rust + +Hello and welcome to the third issue of *This Week in Rust*, a weekly overview +of Rust and its community. + +It has come to my attention that Github does not categorize some +merged-by-bors pull requests as "merged" and instead categorizes it as +"closed". This skews the numbers and also the PRs that I looked through for +inclusion into twir. I'll no longer be including issue churn/PR numbers, and I +hope I didn't miss any import PRs in the last two issues. + +<!-- more --> + +# What's cooking in incoming? + +The last of the tree breakage has been cleaned up. The mysterious stack +corruption was traced down by Blei to occur in jemalloc. It has been disabled +until the real cause of the error is found. A bunch more buildbot +configurations have been turned on for auto, to fend off more breakage. The +tree is open, and aatch got out a new snapshot! + +Most of the work this week is cleanup and preparation for 0.7, but since the +tree has been closed (and the extra auto buildbots lengthen the time it takes +for a PR to be tested for the day it has been open), not much has landed these +past few days, but a bunch happened earlier this week. + +## Notable additions, bugfixes, and cleanup + +- doener made compiles faster by emitting less useless copies and allocations + in [7259](https://github.com/mozilla/rust/pull/7259) +- aatch landed [part 1](https://github.com/mozilla/rust/pull/7124) and [part + 2](https://github.com/mozilla/rust/pull/7182) of his huge trans refactor + effort, which make trans faster and less terrible. +- sully got [default methods](https://github.com/mozilla/rust/pull/7203) + less broken +- yichoi landed a [bunch](https://github.com/mozilla/rust/pull/7128) of + Android fixes. +- vadimcn has [fixed debuginfo](https://github.com/mozilla/rust/pull/7134), + which is super amazing. This makes it a lot easier for the GSoC student (mw) + to get started. +- doener has [fixed](https://github.com/mozilla/rust/pull/7186) some + pathological behavior in how codegen creates cleanup blocks. This makes the + IR better, reducing compile time, and also allowing better optimization, + reducing binary size. + +{% blockquote @dotdash https://github.com/mozilla/rust/pull/7259 %} +They reduce compile times by about 10% in total. +{% endblockquote %} + +{% blockquote @dotdash https://github.com/mozilla/rust/pull/7186 %} +Reduces the size of librustc by about 5% and the time required to build +it by about 10%. +{% endblockquote %} + +{% blockquote @dotdash https://github.com/mozilla/rust/pull/7154 %} +The resulting code for rustc is about 13% faster (measured up to and +including the "trans" pass) and the resulting librustc is about 5% +smaller. +{% endblockquote %} + +## Breaking changes + +strcat [continues](https://github.com/mozilla/rust/pull/7263) +[work](https://github.com/mozilla/rust/pull/7162) with iterators. The changes +that landed are vector cleanups. Probably most importantly, the `each` and +`eachi` methods are being removed. The `eachi` removal landed but the `each` +one broke bors, so it's currently in limbo (**UPDATE** 6/23/2013: it landed). +The current replacement is: + +``` +// each +for your_vec.iter().advance |element| { + ... +} +// eachi +for your_vec.iter().enumerate().advance |(i, element)| { + ... +} +``` + +Once the rest of the iterator work is hashed out and lands, it will just be + +``` +// each +for your_vec |element| { + ... +} +// eachi +for your_vec.enumerate() |(i, element)| { + ... +} +``` + +although the syntax might be slightly different (`for element in your_vec` is +my favorite proposal). + +# Meetings + +The [Tuesday +meeting's](https://github.com/mozilla/rust/wiki/Meeting-weekly-2013-06-18) +main topics were once fn's and how namespaces work. For once fn's, graydon +says "I'm concerned with adding new features and I want to see if we can live +without it, I understand it is common," not yet making a decision to include +them in the language. + +# Meetups + +- tjc's pre-talk and talk, "Rust: A Friendly Introduction" went very well. The + [slides](http://catamorphism.org/Writing/Rust-Tutorial-tjc.pdf) are up, and + a recording is coming soon (hopefuly). tjc says the slides aren't as + understanable without the audio of the talk. +- nmatsakis has expressed willingness/interest in a Boston meetup sometime. If + you're interested, contact him on IRC or the ML. + +# Notable discourse and external projects + +- [mmap and the Rust FFI](http://maniagnosis.crsr.net/2013/06/mmap-and-rust-foreign-function-interface.html) + (indutny is working on mman bindings in libc, for the record. will mention + in next week's twir when it lands) +- [code generation and rustc speed](https://mail.mozilla.org/pipermail/rust-dev/2013-June/004480.html) +- [Rust for game development?](http://www.reddit.com/r/rust/comments/1gs93k/rust_for_game_development/) +- [Feed us some low hanging fruit!](http://www.reddit.com/r/rust/comments/1grj61/feed_us_some_low_hanging_fruit/) +- [Paying Technical Debt in rustc](http://aatch.github.io/blog/2013/06/19/paying-technical-debt-in-rustc/) +- [What issues in Rust today effect (sic) you most?](http://www.reddit.com/r/rust/comments/1gpbcs/what_issues_in_rust_today_effect_you_most/) +- [rustdoc rewrite and redesign](https://mail.mozilla.org/pipermail/rust-dev/2013-June/004520.html) +- [rust-bench: a tool for profiling memory usage](http://www.reddit.com/r/rust/comments/1gmac5/linux_rustbench_a_tool_for_profiling_memory_usage/) + +# Other announcements + +- Michael Woerister (mw), the GSoC student working on debug info, has begun + work. His [project log](http://michaelwoerister.github.io/) will be updated + weekly. I'm looking forward to a much better debug experience. diff --git a/content/2013-06-29-this-week-in-rust.markdown b/content/2013-06-29-this-week-in-rust.markdown new file mode 100644 index 0000000..9d3dccf --- /dev/null +++ b/content/2013-06-29-this-week-in-rust.markdown @@ -0,0 +1,107 @@ +Title: This Week in Rust 4 +Date: 2013-06-29 12:26 +Category: This Week in Rust + +Hello and welcome to the fourth issue of *This Week in Rust*, a weekly overview of Rust and its community. + +`0.7` is being cut soon (today, I think). There are preliminary release notes [on +GitHub](https://github.com/mozilla/rust/blob/master/RELEASES.txt). The tree has been quite calm, with regards to +breakage. Cycle time is still high, but at least when things land they don't break master. + +<!-- more --> + +# What's cooking on master? + +Issue churn this week was -1. Yay! Issue churn this month was -47. 61 people pushed 1,080 commits, changing 2,117 files +and adding a total of 53347 lines. The top 10 committers were pcwalton, brson, dbaupp, strcat, bblum, nmatsakis, +acricto, Blei, me (cmr), and aatch. + +Much of the work this week was cleanup or rebases of older PRs that just hadn't made it in yet. + +## Notable additions, bugfixes, and cleanup + +- Eridius has finished (I think!) the last bit of UNIX [terminal support](https://github.com/mozilla/rust/pull/7436), + adding fallback and smarter detection. It should work in 8-color terminals now too. +- pcwalton [rewrote each_path](https://github.com/mozilla/rust/pull/ |