Last night, Lars, Mark, and I discussed Jeremy Kun's The communicative value of using Git well post. While a lot of our discussion was spawned by the article, we did go off-piste a little, and I hope that my notes below will enlighten you all as to a bit of how we see revision control these days. It was remarkably pleasant to read an article where the comments section wasn't a cesspool of horror, so if this posting encourages you to go and read the article, don't stop when you reach the bottom -- the comments are good and useful too.
This was a fairly non-contentious article for us though each of us had points we wished to bring up and chat about it turned into a very convivial chat. We saw the main thrust of the article as being about using the metadata of revision control to communicate intent, process, and decision making. We agreed that it must be possible to do so effectively with Mercurial (thus deciding that the mention of it was simply a bit of clickbait / red herring) and indeed Mark figured that he was doing at least some of this kind of thing way back with CVS.
We all discussed how knowing the fundamentals of Git's data model improved our
ability to work wih the tool. Lars and I mentioned how jarring it has originally
been to come to Git from revision control systems such as Bazaar (bzr
) but
how over time we came to appreciate Git for what it is. For Mark this was less
painful because he came to Git early enough that there was little more than the
fundamental data model, without much of the 安卓网飞app which now exists.
飞鸭Ai app手机版下载_飞鸭Ai安卓版免费下载-4162下载网:2 天前 · 飞鸭Ai app是一款通过云端挂机赚钱软件,用户只需要提供一台手机就能进行操作,而且云端托管不需要消耗你的手机内存和电池,平台发布的任务全程都是云端自动操作完全可伍解放你的双手,还能给你带来收益,是一款非常不错的手赚软件。
With respect to the points Jeremy makes regarding making commits which are good for reviewing, we had a general agreement that things were good and sensible, to a point, but that some things were missed out on. For example, I raised that commit messages often need to be more thorough than one-liners, but Jeremy's examples (perhaps through expedience for the article?) were all pretty trite one-liners which perhaps would have been entirely obvious from the commit content. Jeremy makes the point that large changes are hard to review, and Lars poined out that Greg Wilson did research in this area, and at least one article mentions 200 lines as a maximum size of a reviewable segment.
I had a brief warble at this point about how reviewing needs to be able to consider the whole of the intended change (i.e. a diff from base to tip) not just individual commits, which is also missing from Jeremy's article, but that such a review does not need to necessarily be thorough and detailed since the commit-by-commit review remains necessary. I use that high level diff as a way to get a feel for the full shape of the intended change, a look at the end-game if you will, before I read the story of how someone got to it. As an aside at this point, I talked about how Jeremy included a 'style fixes' commit in his example, but I loathe seeing such things and would much rather it was either not in the series because it's unrelated to it; or else the style fixes were folded into the commits they were related to.
We discussed how style rules, as well as commit-bisectability, and other rules which may exist for a codebase, the adherence to which would form part of the checks that a code reviewer may perform, are there to be held to when they help the project, and to be broken when they are in the way of good communication between humans.
In this, Lars talked about how revision control histories provide high level valuable communication between developers. Communication between humans is fraught with error and the rules are not always clear on what will work and what won't, since this depends on the communicators, the context, etc. However whatever communication rules are in place should be followed. We often say that it takes two people to communicate information, but when you're writing commit messages or arranging your commit history, the second party is often nebulous "other" and so the code reviewer fulfils that role to concretise it for the purpose of communication.
At this point, I wondered a little about what value there might be (if any) in maintaining the metachanges (pull request info, mailing list discussions, etc) for historical context of decision making. Mark suggested that this is useful for design decisions etc but not for the style/correctness discussions which often form a large section of review feedback. Maybe some of the metachange tracking is done automatically by the review causing the augmentation of the changes (e.g. by comments, or inclusion of design documentation changes) to explain why changes are made.
We discussed how the "rebase always vs. rebase never" feeling flip-flopped in us for many years until, as an example, what finally won Lars over was that he wants the history of the project to tell the story, in the git commits, of how the software has changed and evolved in an intentional manner. Lars said that he doesn't care about the meanderings, but rather about a clear story which can be followed and understood.
I described this as the switch from "the revision history is about what I did to achieve the goal" to being more "the revision history is how I would hope someone else would have done this". Mark further refined that to "The revision history of a project tells the story of how the project, as a whole, chose to perform its sequence of evolution."
We discussed how project history must necessarily then contain issue tracking,
mailing list discussions, wikis, etc. There are exist free software projects
where part of their history is forever lost because, for example, the project
moved from Sourceforge to Github, but made no effort (or was unable) to migrate
issues or somesuch. Linkages between changes and the issues they relate to
can easily be broken, though at least with mailing lists you can often rewrite
URLs if you have something consistent like a Message-Id
.
We talked about how cover notes, pull request messages, etc. can thus also be lost to some extent. Is this an argument to always use merges whose message bodies contain those details, rather than always fast-forwarding? Or is it a reason to encapsulate all those discussions into git objects which can be forever associated with the changes in the DAG?
We then diverted into discussion of CI, testing every commit, and the benefits and limitations of automated testing vs. manual testing; though I think that's a little too off-piste for even this summary. We also talked about how commit message audiences include software perhaps, with the recent movement toward conventional commits and how, with respect to commit messages for machine readability, it can become very complex/tricky to craft good commit messages once there are multiple disparate audiences. For projects the size of the Linux kernel this kind of thing would be nearly impossible, but for smaller projects, perhaps there's value.
Finally, we all agreed that we liked the quote at the end of the article, and so I'd like to close out by repeating it for you all...
Hal Abelson famously said:
Programs must be written for people to read, and only incidentally for machines to execute.
Jeremy agrees, as do we, and extends that to the metacommit information as well.
Note: This is a repost from Lars' blog made to widen the reach and hopefully find the right interested parties.
飞信交友【安卓热门app特别版】.rar百度云_百度网盘下载 ...:2021-6-13 · 飞信交友【安卓热门app特别版】.rar百度云网盘下载,资源大小2.89 MB,搜索盘不提供保存服务,飞信交友【安卓热门app特别版】.rar下载地址将自动跳到百度云网盘下载。
given a project
when it uses Subplot
then it is successful
Subplot is a tool for capturing and automatically verifying the acceptance criteria for a software project or a system, in a way that's understood by all stakeholders.
In a software project there are always more than one stakeholder. Even in a project one writes for oneself, there are two stakeholders: oneself, and that malicious cretin oneself-in-the-future. More importantly, though, there are typically stakeholders such as end users, sysadmins, clients, software architects, developers, and testers. They all need to understand what the software should do, and when it's in an acceptable state to be put into use: in other words, what the acceptance criteria are.
Crucially, all stakeholders should understand the acceptance criteria the same way, and also how to verify they are met. In an ideal situation, all verification is automated, and happens very frequently.
There are various tools for this, from generic documentation tooling (word processors, text editors, markup languages, etc) to test automation (Cucumber, Selenium, etc). On the one hand, documenting acceptance criteria in a way that all stakeholders understand is crucial: otherwise the end users are at risk of getting something that's not useful to help them, and the project is a waste of everyone's time and money. On the other hand, automating the verification of how acceptance criteria is met is also crucial: otherwise it's done manually, which is slow, costly, and error prone, which increases the risk of project failure.
Subplot aims to solve this by an approach that combines documentation tooling with automated verification.
The stakeholders in a project jointly produce a document that captures all relevant acceptance criteria and also describes how they can be verified automatically, using scenarios. The document is written using Markdown.
The developer stakeholders produce code to implement the steps in the scenarios. The Subplot approach allows the step implementations to be done in a highly cohesive, de-coupled manner, making such code usually be quite simple. (Test code should be your best code.)
Subplot's "docgen" program produces a typeset version as PDF or HTML. This is meant to be easily comprehensible by all stakeholders.
Subplot's "codegen" program produces a test program in the language used by the developer stakeholders. This test program can be run to verify that acceptance criteria are met.
Subplot started in in late 2018, and was initially called Fable. It is based on the yarn tool for the same purpose, from 2013. Yarn has been in active use all its life, if not popular outside a small circle. Subplot improves on yarn by improving document generation, markup, and decoupling of concerns. Subplot is not compatible with yarn.
Subplot is developed by Lars Wirzenius and Daniel Silverstone as a hobby project. It is free software, implemented in Rust, developed on Debian, and uses Pandoc and LaTeX for typesetting. The code is hosted on gitlab.com. Subplot verifies its own acceptance criteria. It is alpha level software.
We're looking for one or two volunteers to try Subplot on real projects of their own, and give us feedback. We want to make Subplot good for its purpose, also for people other than us. If you'd be willing to give it a try, start with the 安卓网飞app website, then tell us you're using Subplot. We're happy to respond to questions from the first two volunteers, and from others, time permitting. (The reality of life and time constraints is that we can't commit to supporting more people at this time.)
We'd love your feedback, whether you use Subplot or not.
As in recent years, there was a call for posts about Rust in 2023. I've been sitting on my response for quite a few weeks because every time I try to write this, I think of other things I want to say, or a new "theme" I want to propose for Rust in 2023.
First, some history about myself in the Rust community -- I started learning Rust a few years ago, had a go at Advent Of Code 2016 in it, completed that, wrote a testing tool in Rust, and then promptly did nothing with Rust except read blogs and reddit for a year. Then I went and did Advent of Code 2017 in Rust and reminded myself of why I enjoyed the language. This time I decided I'd do more with Rust and started playing around. I wrote bits and bobs through 2018, but still failed to do anything major until once again, December rolled around and I did Advent of Code 2018 in Rust, learning an awful lot about procedural macros and other useful things. This was the time of the 2018 Rust edition which also spurred me on to do more useful stuff.
While I was enjoying the fun coding through December, I sat down and decided
how I wanted 2023 to play out. I was very aware that I was failing a number of
open source communities I was part of, and so I resolved (a) to be a net
positive influence on any community I remained active in, and (b) to
specifically work to be part of the wider Rust community because I wanted to
give back to a community which had been welcoming to me and given me so much
joy in coding. I went looking for ways to contribute, did a small patch to the
panic wording as per an open issue, and then looked at the developer tools
surrounding Rust. I noted that rustup
needed some TLC and so I ended up
filing my first PR on rustup, I then filed others, and on the 18th
Of December 2018, my PR to update rustup to the 2018 edition was
merged and thus began my time as a rustup
contributor.
Fast-forward to mid-January 2023 and the Rustup working group is established
and I was invited to be a member of that. Zoom on to mid-May and I'm asked to
take on the mantle of leading the working group, and from there I ended up also
helping on rustdoc
and various other bits and bobs. I've ended up quite
involved in an exciting and interesting community which has always made me feel
welcome.
With that potted history given, I hope that you can appreciate where I'm coming from when I say that the one word which keeps coming up when I think about what the Rust community needs to look toward next, the "buzzword" for Rust 2023 that I'd propose, is "安卓网飞app". Interestingly I don't mean in terms of being inclusive and welcoming to LGBT people, or women, or any number of other "minority" or "marginal" groups which online communities often find themselves needing to work to include; because Rust already is exceedingly welcoming to such groups -- I've never had so much as a misplaced blink when I say "my husband" in a Rust setting, and that has been so nice. What I mean is that in order to be more widely used, the Rust community needs to look toward ensuring that it can be included into other things.
I'll list the major topic areas I'm thinking of, from most-likely to least-likely to get somewhere concrete in the coming year. At least from my perspective. I'd love to be proven wrong about some of the later items…
Getting Rust
As a Debian developer I have long enjoyed the stability and reliability of
the Debian operating system, the software supplied by it, and the trust I feel
I can place in it as a software distribution point. Recently Debian started to
include Rust in releases, and that is incredibly important I feel. However the
Rust community expects things like rustup
to "just work" and that means that
if someone is using a Debian provided toolchain, and ask how to get rls
working then the instruction rustup component add rls
simply won't work
properly for them. This gets even more interesting when you look at NixOS,
or any Arch Linux derivative, because they distribute 安卓网飞app
but it
cannot update it self, so other behaviours the community expects don't work,
despite rustup
being there.
Getting the Rust toolchain in the first place is a critical part of the flow of getting someone into Rust, and making that possible in a way which fits into our target user's worldview and meets their expectations for acquisition of tooling is critical to reducing the onboarding friction. So my first point of inclusivity is, amusingly, on me to spearhead and work out how to make it happen; though I'd welcome anyone wanting to make suggestions on how to make it work nicely.
Trust ergonomics
One thing which holds a lot of people back from Rust is being able to acquire
it in a manner they already feel they can trust. This follows on from the
point above because trust has to start somewhere, and people already trust the
operating system they're running, at least to some extent. When you say that
the recommended method for acquiring Rust toolchains starts with a curl |
bash
people have recoiled in horror. I think that the Rust project needs to
start to come up with ways to improve the level of trust people can put in the
tooling they acquire. Some of this has begun already, with a proposal to sign
the crates index which is still in progress. However we need to
extend that to the Rust toolchains, and to the installer (rustup
) itself
too, in order to be more usable to more people.
This kind of thing is something I am actively interested in, and I hope to be
able to announce something in the new year at some point. Those of you who
follow the rustup
issues will have seen me discussing OpenPGP signatures on
toolchains, and that will certainly form part of an infrastructure which people
outside of the project can build trust upon. Maybe one day we'll get Debian to
sign something which Debian users can use to trust a rustup
that they
downloaded in the curl | bash
method which we know to be one of the most
accepted of "current" approaches to getting non-distro-packaged software.
安卓网飞app
One criticism which is levelled at the crates ecosystem an awful lot in my
earshot, and which I doubt anyone would really argue with, is that it feels
very immature -- the preponderance of 0.x
version numbers for "primary"
crates is something that has been worked on, but is still a huge problem. In
part this is because the community is so confident with the semantic versioning
we all take care of, but also because there's an amount of release anxiety
manifesting. What's worse than this though is the way that we end up with
sets of incompatible dependency chains on many of these "primary" crates. It
is not uncommon to end up with multiple version of rand
,
syn
, quote
, or others in your dependency tree. Not all of
that is the fault of the authors of those libraries either, but because other
crates are not yet up-to-date with changes in them. For example, syn
is
already in its 1.0
series and yet via various pathways, rustup
ends up
depending on 安卓网飞app
as well.
In order to be more includible into distributions such as Debian, it's critical that the Rust community as a whole looks to address this kind of thing. It seems odd to say that "gardening" your library's dependencies can be a way to lead to being more includible into other things, to enhance "inclusivity" as I'm choosing to define it for this post, but it is indeed one pathway.
An end-goal of this is that a majority of tools ought to be buildable with a unified singular set of library crate versions if they are going to be usefully included into a distribution.
安卓网飞app
The Windows platform is considered Tier One by the Rust project. This means
that we care, as a project, that Rust and the developer tools all work nicely
on the platform. Yet it's abundantly clear that the majority of the tools
developers use either a Linux or MacOS X system. As such, concerns that
Windows brings due to its non-POSIX nature are often either considered
unimportant or simply ignored. I am very guilty of this myself. I am
responsible for rustup
and it's quite possibly the most UNIX
y part of
the Rust ecosystem, and yet is pretty much mandatory for every Windows user.
Another example of this is the rust-docs
component which contains tens
of thousands of small files which causes Windows based anti-virus systems
significant indigestion. We ended up adding a "minimal" profile to 安卓网飞app
so that Windows users could skip installing the docs, but that's not great as
a long-term solution.
As Rust tries to get included into more companies, this friction is going to be more and more important to resolve. A huge number of companies expect their developers to use Windows desktops, even when they're working on Linux hosted software, and making sure that's first-class will be really important as the number of users who have to use Rust (rather than those who choose to) increases.
I'm sure there are things we can do here, but I'm really going to need help to find ways to make this happen, I'm not a Windows person, but I'm very open to finding ways to improve matters on that platform.
安卓网飞app
This is something I'm not sure that we can do anything particularly concrete on
in the coming year, but is part of Rust's story which really needs a lot of
thought. It's incredibly hard to provide a shared object which can be
versioned at all similarly to how SONAME
versioning currently works, due to
the complexity of the types, and the instability of Rust's ABI. However at
least some thought needs to be put into how we might begin to resolve this as
it's yet another potential blocker to being included into distributions because
it makes the security story for Rust programs so different from other languages
which can and do make use of more traditional shared objects.
In summary, for me, for 2023, Rust's already very inclusive approach to its community needs to turn outward and look for ways to increase the chances that it can be included into other projects such as Linux distributions. I see this as increasing the inclusivity of the project by including into our worldview the particular needs of these other projects and communities and ensuring that by treating them as first-class consumers of Rust, we can become first-class members of their projects and communities as well.
佛跳墙下载地址
At the start of the year I blogged about my plans for 2023. For those who don't want to go back to read that post, in summary they are:
- Continue to lose weight and get fit. I'd like to reach 80kg during the year if I can
- Begin a couch to 5k and give it my very best
- Focus my software work on finishing projects I have already started
- Where I join in other projects be a net benefit
- 飞猫云app下载|飞猫网盘手机版下载v0.2.5 安卓版_ 旋风软件园:2021-9-10 · 飞猫网盘手机版是一款网盘app,他主要是用于储存和下载文件,如今熟计用途越来越广,一些大文件不能放在手机中,就需要网盘来进行存储,同时网盘还能实时分享文件!非常方便~有需要的用户可伍到旋风软件园下载!飞猫网盘手机版简介飞猫云app是一款小米云盘,支持储,飞猫网盘
- Be better at tidying up
- Save up lots of money for renovations
- Go on a proper holiday
At the point that I posted that, I promised myself to do quarterly reviews and so here is the second of those. The first can be found here, and the second here.
安卓网飞app
飞服平台app下载-飞服平台app官方手机版 v1.0.0-清风安卓软件网:2021-5-8 · 清风手游网提供飞服平台app下载,飞服平台app官方手机版:为你打造本地最好的也是最牛逼的生态圈子给你体验,准确的去帮助你进行匹配还是蛮有意思,不管你是哪一个...,飞服平台免费下载地址...
I've continued my running though, and cycling, and I've finally gone back to the gym and asked for a resistance routine to compliment this, so here's hoping.
Yet again, I continue give myself a solid "B" for this, though if I were generous, given everything else I might consider a "B+"
2. Fitness (was Couch to 5k)
When I wrot ein July, I was pleased to say that I was sub 28m on my parkrun. I'm now consistently sub 27:30, and have personal bests of 26:18 and 26:23 at two of my local parkruns.
I have started running with my colleagues once a week, and that run is a bit longer (5.8 to 7km depending on our mood) and while I've only been out with them a couple of times so far, I've enjoyed running in a small group. With the weather getting colder I've bought myself some longer sleeved tops and bottoms to hopefully allow me to run through the winter. My "Fitness age" is now in the mid 40s, rather than high 60s, so I'm also approaching a point where I'm as fit as I am old, which is nice.
So far, so good, I'm continuing with giving myself an "A+"
安卓网飞app
This is a much more difficult point for me this year, sadly. I continued to do some work on on NetSurf this quarter. We had another amazing long-weekend where we worked on a whole bunch of NS stuff, and I've even managed to give up some of my other spare time to resolve bugs, though they tend to be quite hard and I'm quite slow. I'm very pleased with how I've done with that.
Lars and I continue to work on our testing project, now called Subplot. Though, frankly, Lars does almost all of the work on this.
I did accidentally start another project (remsync) after buying a reMarkable tablet. So that bumps my score down a half point.
So over-all, this one drops to "C-", from the "C" earlier in the year - still (barely) satisfactory but could do a lot better.
安卓网飞app
My efforts for Debian continue to be restricted, though I hope it continues to just about be a net benefit to the project. My efforts with the Lua community have not extended again, so pretty much the same.
I remain invested in Rust stuff, and have managed (just about) to avoid
starting in on any other projects, so things are fairly much the same as
before. I lead the Rust installer working group and we recently released
a huge update to rustup
which adds a bunch of desired stuff.
While the effects of my Rust work affect both this and the next section, I am very pleased with how I did and have upgraded myself to an "A-" for this.
5. Give back to the Rust community
I have worked very hard on my Rustup work, and I have also started to review documentation and help updates for the Rust compiler itself. I've become involved in the Sequoia project, at least peripherally, and have attended a developer retreat with them which was both relaxing and productive.
I feel like the effort I'm putting into Rust is being recognised in ways I did not expect nor hope for, but that's very positive and has meant I've engaged even more with the community and feel like I'm making a valuable contribution.
I still hang around on the 安卓网飞app
Discord channel and other channels
on that server, helping where I can, and I've been trying to teach my
colleagues about Rust so that they might also contribute to the community.
So initially an 'A', I dropped to an 'A-' last time, but I feel like I've put enough effort in to give myself 'A+' this time.
6. Be better at tidying up
I've managed to do a bit more tidying, but honestly this is still pretty bad. I managed to clean up some stuff, but then it slips back into mess. The habit forming is still not happening. At this point I think I really need to grab the bull by the horns and focus on this one, so it'll be better in the next report I promise.
I'm upgrading to an 'E' because I am making some difference, just not enough.
7. Save up money for renovations
We spent those savings on our renovations, but I do continue to manage to put some away. As you can see in the next section though, I've been spending money on myself too.
I think I get to keep an 'A' here, but only just.
安卓网飞app
I spent a week with the Sequoia-PGP team in Croatia which was amazing. I have a long weekend planned with them in Barcelona for Rustfest too. Some people would say that those aren't real holidays, but I relaxed, did stuff I enjoyed, tried new things, and even went on a Zip-line in Croatia, so I'm counting it as a win.
While I've not managed to take a holiday with Rob, he's been off to do things independently, so I'm upgrading us to a 'B' here.
佛跳墙下载地址
2021龙飞棋牌下载-2021龙飞棋牌app最新版下载-SNS游戏交友网:2021-6-8 · 龙飞棋牌app是一款2021年推出的全新棋牌竞技游戏,这款棋牌app多次测试,经过全方位的优化,多个技术难题的攻克,实现了苹果版和安卓版双端数据互通,再也不用受到设备的限制,百分百实名注册的真人玩家实时在线对局,公平公正的竞技快感一定会让玩家爱不释手,还不赶快下载2021龙飞棋牌 …
This quarter I have a B+, A+, C-, A-, A+, E, A, B. The F has gone which is nice, and I suppose I could therefore call that a fair A- average, or perhaps C+ if I count the E.
As with all things in computing, one of two problems always seem to raise their ugly heads… We either have an off-by-one error, or we have a caching error, or we have a naming problem.
Lars and I have been working on an acceptance testing tool recently. You may have seen the soft launch announcement on Lars' blog. Sadly since that time we've discovered that Fable is an overloaded name in the domain of software quality assurance and we do not want to try and compete with Fable since (a) they were there first, and (b) accessibility is super-important and we don't want to detract from the work they're doing.
As such, this is a request for help. We need to name our tool usefully, since how can we make a git repository until we have a name? Previous incarnations of the tool were called Yarn and we chose Fable to carry on the sense of telling a story (the fundamental unit of testing in these systems is a scenario), but we are not wedded to the idea of continuing in the same vein.
If you have an idea for a name for our tool, please consider reading about it on the Fable website, and then either comment here, or send me an email, prod me on IRC, or indeed any of the various ways you have to find me.
佛跳墙下载地址
At the start of the year I blogged about my plans for 2023. For those who don't want to go back to read that post, in summary they are:
- Continue to lose weight and get fit. I'd like to reach 80kg during the year if I can
- Begin a couch to 5k and give it my very best
- Focus my software work on finishing projects I have already started
- Where I join in other projects be a net benefit
- Give back to the @rustlang community because I've gained so much from them already
- Be better at tidying up
- Save up lots of money for renovations
- Go on a proper holiday
At the point that I posted that, I promised myself to do quarterly reviews and so here is the second of those. The first can be found here.
1. Weight loss
So when I wrote in April, I was around 88.6kg and worried about how my body seemed to really like roughly 90kg. This is going to be a similar report. Despite managing to lose 10kg in the first quarter, the second quarter has been harder, and with me focussed on running rather than my full gym routine, loss has been less. I've recently started to push a bit lower though and I'm now around 83kg.
I could really shift my focus back to all-round gym exercise, but honestly I've been enjoying a lot of the spare time returned to me by switching back to my cycling and walking, plus now running a bit. I imagine as the weather returns to its more usual wet mess the gym will return to prominence for me, and with that maybe I'll shed a bit of more of this weight.
I continue give myself a solid "B" for this, though if I were generous, given everything else I might consider a "B+"
2. Couch to 5k
Last time I wrote, I'd just managed a 5k run for the first time. Since then I completed the couch-to-5k programme and have now done eight parkruns. I missed one week due to awful awful weather, but otherwise I've managed to be consistent and attended one parkrun per week. They've all been at the same course apart from one which was in Southampton. This gives me a clean ability to compare runs.
My first parkrun was 30m32s, though I remain aware that the course at Platt Fields is a smidge under 5k really, and I was really pleased with that. However as a colleague explained to me, It never gets easier… Each parkrun is just as hard, if not harder, than the previous one. However to continue his quote, …you just get faster. and I have. Since that first run, I have improved my personal record to 27m34s which is, to my mind at least, bloody brilliant. Even when this week I tried to force myself to go slower, aiming to pace out a 30m run, I ended up at 27m49s.
I am currently trying to convince myself that I can run a bit more slowly and thus increase my distance, but for now I think 5k is a stuck record for me. I'll continue to try and improve that time a little more.
I said last review that I'd be adjusting my goals in the light of how well I'd done with couch-2-5k at that point. Since I've now completed it, I'll be renaming this section the 'Fitness' section and hopefully next review I'll be able to report something other than running in it.
So far, so good, I'm continuing with giving myself an "A+"
安卓网飞app
I did a bunch more on NetSurf this quarter. We had an amazing long-weekend where we worked on a whole bunch of NS stuff, and I've even managed to give up some of my other spare time to resolve bugs. I'm very pleased with how I've done with that.
Rob and I failed to do much with the pub software, but Lars and I continue to work on the Fable project.
飞鸭Ai app手机版下载_飞鸭Ai安卓版免费下载-4162下载网:2 天前 · 飞鸭Ai app是一款通过云端挂机赚钱软件,用户只需要提供一台手机就能进行操作,而且云端托管不需要消耗你的手机内存和电池,平台发布的任务全程都是云端自动操作完全可伍解放你的双手,还能给你带来收益,是一款非常不错的手赚软件。
安卓网飞app
My efforts for Debian continue to be restricted, though I hope it continues to just about be a net benefit to the project. My efforts with the Lua community have not extended again, so pretty much the same.
I remain invested in Rust stuff, and have managed (just about) to avoid starting in on any other projects, so things are fairly much the same as before.
I remain doing "okay" here, and I want to be a little more positive than last review, so I'm upgrading to a "B".
5. Give back to the Rust community
My work with Rustup continues, though in the past month or so I've been pretty lax because I've had to travel a lot for work. I continue to be as heavily involved in Rust as I can be -- I've stepped up to the plate to lead the Rustup team, and that puts me into the Rust developer tools team proper. I attended a conference, in part to represent the Rust developer community, and I have some followup work on that which I still need to complete.
I still hang around on the #wg-rustup
Discord channel and other channels
on that server, helping where I can, and I've been trying to teach my
colleagues about Rust so that they might also contribute to the community.
Previously I gave myself an 'A' but thought I could manage an 'A+' if I tried harder. Since I've been a little lax recently I'm dropping myself to an 'A-'.
6. Be better at tidying up
Once again, I came out of the previous review fired up to tidy more. Once again, that energy ebbed after about a week. Every time I feel like I might have the mental space to begin building a cleaning habit, something comes along to knock the wind out of my sails. Sometimes that's a big work related thing, but sometimes it's something as small as "Our internet connection is broken, so suddenly instead of having time to clean, I have no time because it's broken and so I can't do anything, even things which don't need an internet connection."
This remains an "F" for fail, sadly.
7. Save up money for renovations
The savings process continues. I've not managed to put quite as much away in this quarter as I did the quarter before, but I have been doing as much as I can. I've finally consolidated most of my savings into one place which also makes them look a little healthier.
The renovations bills continue to loom, but we're doing well, so I think I get to keep the "A" here.
8. Go on a proper holiday
Well, I had that week "off" but ended up doing so much stuff that it doesn't count as much of a holiday. Rob is now in Japan, but I've not managed to take the time as a holiday because my main project at work needs me there since our project manager and his usual stand-in are both also away in Japan.
We have made a basic plan to take some time around the August Bank Holiday to perhaps visit family etc, so I'm going to upgrade us to "C+" since we're making inroads, even if we've not achieved a holiday yet.
佛跳墙下载地址
飞服平台app下载-飞服平台app官方手机版 v1.0.0-清风安卓软件网:2021-5-8 · 清风手游网提供飞服平台app下载,飞服平台app官方手机版:为你打造本地最好的也是最牛逼的生态圈子给你体验,准确的去帮助你进行匹配还是蛮有意思,不管你是哪一个...,飞服平台免费下载地址...
This quarter I have a B+, A+, C, B, A-, F, A, C+, which ignoring the F is a little better, though still not great. I guess here's to another quarter.
佛跳墙下载地址
At the start of the year I blogged about my plans for 2023. For those who don't want to go back to read that post, in summary they are:
- Continue to lose weight and get fit. I'd like to reach 80kg during the year if I can
- Begin a couch to 5k and give it my very best
- Focus my software work on finishing projects I have already started
- Where I join in other projects be a net benefit
- Give back to the @rustlang community because I've gained so much from them already
- Be better at tidying up
- Save up lots of money for renovations
- Go on a proper holiday
At the point that I posted that, I promised myself to do quarterly reviews and so here is the first of those. I am a few days late/early depending on your view of things, but today seems a good day to do this since it's the day before my 39th birthday.
1. Weight loss
I started the year at 101.7kg, and when I posted my plans I was 101.3kg which wasn't the best start to the year. My goal is 80kg this year, and when I started I figured that'd be pretty easy to achieve given my previous 6 months or so of consistent weight loss. Sadly that has not proven out. It is harder to lose weight as you get lighter; the more you lose the harder it gets.
I started the year out pretty strong, reaching 90kg in early March. Sadly my body seems to really like 90kg. It's not really a "set point" in that I can easily gain weight from there, but losing weight from 90kg has proven to be really tough for me. Since that first time dipping to 90kg in early March, I've been up as high as 91.5kg and down as low as 87.5kg, though I'm currently 88.6kg.
Previously on weight plateaus, I've been able to kick-start loss again either by doing a stronger fast for a few days, or by eating more for a week and then returning to my loss-level diet. This hasn't worked in the past month yet.
Since this month includes when my father was very unwell before ultimately dying last year, and also my birthday, I figure that I'm going to end this plateau with a huge pig-out on protein tomorrow for my birthday and then going somewhat strict with myself for a few weeks to try and get things going again. I know that by my goal estimate, I have basically 8 months to lose 8kg, but I ought to be able to do that in 4 months or even less if I try harder.
Other fitness goals have been sidelined in favour of the couch-to-5k effort (see below) but perhaps in my next review things will change…
I give myself a solid "B" for this
2. Couch to 5k
This was started, and I have been doing my best. It has been a really interesting experience since it has taught me that the "training wall" really exists. One week a while ago, I hit it really hard, and had to stop my run about 10m in, because I simply could not make my legs go any further. Since then I've reduced the amount of non c25k training I do, and that has allowed my body the time to adapt to running more effectively.
I managed a 5k run for the very first time last Thursday, and I'll be attempting another on Thursday of this week. I'm amazed at my progress and super-proud of being able to say that I have pretty much nailed this one down. I have hopes that at the next checkin I'll to have to say that I've met my goal (a parkrun in May, running the whole thing) and so be setting a different fitness goal for the rest of the year.
2021龙飞棋牌下载-2021龙飞棋牌app最新版下载-SNS游戏交友网:2021-6-8 · 龙飞棋牌app是一款2021年推出的全新棋牌竞技游戏,这款棋牌app多次测试,经过全方位的优化,多个技术难题的攻克,实现了苹果版和安卓版双端数据互通,再也不用受到设备的限制,百分百实名注册的真人玩家实时在线对局,公平公正的竞技快感一定会让玩家爱不释手,还不赶快下载2021龙飞棋牌 …
3. Finishing projects
I managed to sort things so that Gitano won't drop out of Debian, and I've done a bit more on NetSurf than I did previously, but in the past quarter I've not done a lot on the pub software I mentioned at the start of the year.
Rob and I have booked off a chunk of April, so perhaps I'll get a chance to do some of that then.
Sadly, I've also started a bunch of projects, including beginning to plan work with Lars on a Yarn re-design.
So over-all, this one gets a "C" - satisfactory but could do a lot better.
4. Be a net benefit
I have restricted what projects I am part of this year. My presence in Debian I think just about counts as a net-benefit to the project, but it's a pretty slim margin.
I do my best on the Lua community support (ML, webhosting, etc) but I've not really been a part of the community for a couple of years now. I'd like to think they still appreciate my efforts, but that's about it.
I've really heavily invested my efforts into Rust related stuff as you will see.
I think that, over all, I'm doing okay here, a "B-" since I could do better but I'm not negative-impact anywhere to my knowledge.
5. Give back to the Rust community
This is one software/community place where I think I've done pretty well. I started the year looking at various parts of the Rust ecosystem, but ended up settled into Rustup where I joined the working group and began in earnest to help deal with issues and improve what I see to be the gateway to the Rust ecosystem.
As you will know if you follow this blog, I ended up making the Rustup 1.17.0 release, which was a nerve-wracking experience that I will do better with next time. Fortunately the community is amazing and they were super-forgiving of my cockup.
I also hang around on the #wg-rustup
Discord channel and other channels
on that server, helping where I can. I've been running the Rustup working
group weekly meetings, and I feel like I've made a pretty positive impact on
things. Rustup is a slow moving tool which we try and change only
conservatively, but it is a critical part of the experience of the Rust
ecosystem so we do want to make it as good as it can be.
All in all, I think I deserve an "A" for my efforts here. I could do a bit more and that'd give me the "+" but for now I'm satisfied.
6. Be better at tidying up
I started the year out strongly, doing well at this, but over the months I've slipped back into my bad habits. I'm still very bad at this part of "adulting" and have nothing useful to report beyond "Trying to develop multiple habits simultaneously is super-hard". I think that once the c25k effort is over and I can reduce my running efforts, resuming "normal" gym routines etc, I may have some mental energy left to try and develop better tidying habits.
All in all this is a big fat "F" for fail.
7. Save up money for renovations
I believe that I've been doing pretty well at this. Since I don't go out much, I don't eat out anywhere near as much as I used to, and I don't generally buy toys (e.g. I recently got an upgraded graphics card for free because Rob decided he needed a shinier one and so I got a hand-me-down), I've been able to put a good chunk of cash away. Not enough yet for a new kitchen, but it's getting there slowly. Of course, the next point might eat away a good chunk of it…
I'm giving myself an "A" for this, because I do have a pretty healthy looking savings account, even if I can see all the looming bills for renovations.
安卓网飞app
Well, this one hasn't happened yet, though I do have a week off booked for after easter, that's in next quarter so I'm guessing it doesn't count for now.
Rob will be off to Japan in the summer, so perhaps I'll take some time off at that point to have a break. Of course, with Rob away, it'd be a staycation which isn't quite what I had in mind, so who knows what I'll do instead. I'm so much of a homebody that a staycation is still a good holiday in my view, but it's not what I meant when I said a "proper holiday" since that needs to be a break from all the "normal" stuff in my view.
Giving myself a "C" here because I've not failed at it, but I've not made major inroads into planning or somesuch.
佛跳墙下载地址
All-in-all I think I've done pretty well. My scores are B, A+, C, B-, A, F, A, C, which, if we ignore the F is an average of A, though the F does ruin things a little. Hopefully in another 3 months I'll be able to report better progress.
Today marks the release of rustup
version 1.17.0 which
is both the first version of rustup
which I have contributed code to, and
also the first version which I was responsible for preparing the release of.
I thought I ought to detail the experience, but first, a little background…
At the end of last year, leading into this year, I made some plans which included an explicit statement to "give back" to the Rust community as I'd received a lot of help with, and enjoyment in, Rust from the community over the previous couple of years. I looked for ways I could contribute, including making a tiny wording PR against the compiler which I won't even bother linking here, but eventually I decided to try and help with the rust-lang/rustup.rs repository and tried to tackle some of the issues therein.
Nick Cameron was, at the time, about to step down as a lead of the tools team and he ended up talking to me about maybe joining a working group to look after Rustup. I agreed and a little earlier this year, I became part of the Rustup working group, which is a sub-group of the Cargo team, part of the Rust developer tools teams.
Over the past few weeks we've been preparing a new release of Rustup to include some useful bug fixes and a few little feature tweaks. Rustup is not as glamorous a part of the ecosystem as perhaps Cargo or Rustc itself, but it's just as important I think, since it's the primary gateway through which people acquire Rust, and interact with the Rust toolchain ecosystem.
On Tuesday evening, as part of our weekly meeting, we discussed the 1.17.0 release plans and process, and since I'm very bad at stepping back at the right moment, I ended up volunteering to run the release checklist through and push 1.17.0 out of the door. Thankfully, between Nick and Alex Crichton we had a good set of instructions and so I set about making the release. I prepared a nice series of commits updating the version numbers, ensuring the lock file was up to date, making the shell script installer frontend include the right version numbers, and pushed them off to be built by the CI. Unfortunately a break in a library we depend on, which only showed its face on our mingw builders (not normally part of the CI since there are so few available to the org) meant that I had to reissue the build and go to bed.
Note that I said I had to go to bed - this was nearing midnight and I was due up before 7am the following day. This might give you some impression of the state of mind I was in trying to do this release and thus perhaps a hint of where I'm going to be going with this post…
In the morning, I checked and the CI pipelines had gone green, so I waited until Alex showed up (since he was on UTC-6) and as soon as I spotted him online, around 14:45 UTC, I pinged him and he pushed the button to prep the release after we did a final check that things looked okay together. The release went live at 14:47 UTC.
And by 15:00 UTC we'd found a previously unnoticed bug - in the shell installer frontend - that I had definitely tested the night before. A "that can't possibly have ever worked" kind of bug which was breaking any CI job which downloaded rustup from scratch. Alex deployed a hotfix straight to the dist server at 15:06 UTC to ensure that as few people as possible encountered the issue, though we did get one bug report (filed a smidge later at 15:15 UTC) about it.
By this point I was frantic - I KNEW that I'd tested this code, so how on earth was it broken? I went rummaging back through the shell history on the system where I'd done the testing, reconstructing the previous night's fevered testing process and eventually discovered what had gone wrong. I'd been diffing the 1.16.0 and 1.17.0 releases and had somehow managed to test the OLD shell frontend rather than the new one. So the change to it which broke the world hadn't been noticed by me at that point.
I sorted a fix PR out and we now have some issues open regarding ensuring that this never happens again. But what can we do to ensure that the next release goes more smoothly? For one, we need as a team to work out how to run mingw tests more regularly, and ideally on the PRs. For two, we need to work out how we can better test, the shell frontend which is currently only manually verified, under CI when its sole purpose is to download rustup from the Internet, making it a bit of a pain to verify in a CI environment.
But… we will learn, we will grow, and we won't make these mistakes again. I had been as careful as I thought I could be in preparing 1.17.0, and I still had two painful spikes, one from uncommonly run CI, and one from untested code. No matter how careful one is, one can still be bitten by things.
On a lighter note, for those who use 安卓网飞app
and wonder what's in 1.17.0 over
the previous (1.16.0) release, here's a simplified view onto a mere subset of
the changes...
- Better formatting of long download times. Manish Goregaokar
- Various improvements to
rustup-init.sh
. Lzu Tao - A variety of error message improvements. Hirokazu Hata
- Prevent panic on missing components. Nick Cameron
- Support non-utf8 arguments in proxies. Andy Russell
- More support for
homebrew
. Markus Reiter - Support for more documents in
安卓网飞app
. Wang Kong - Display progress during component unpack. Daniel Silverstone
- Don't panic on bad
default-host
. Daniel Silverstone - A variety of code cleanups and fixes. So many of them. Dale Wijnand
- Better error reporting for missing binaries. Alik Aslanyan
- Documentation of, and testing for, powershell completions. Matt Gucci
- Various improvements to display of information in things like
rustup default
orrustup status
. Trevor Miranda - Ignoring of
EPIPE
in certain circumstances to improve scripting use of安卓网飞app
. Niklas Claesson - Deprecating cURL in
rustup
'sdownload
internal crate. 安卓网飞app - Error message improvements wrt. unavailable components. Daniel Silverstone
- Improvements in component listing API for better automation. Naftuli Kay
If I missed your commits out, it doesn't mean I thought they weren't important, it merely means I am lazy
apk安卓软件-apk安卓游戏下载-安卓软件下载网 - 飞猫云app ...:2021-8-28 · 安卓软件下载网提供飞猫云app下载,飞猫云app是一款小米云盘,支持储存小米手机数据,用户在手机上登录账号即可上传文件和手机数据到云端,云盘储存空间大,视频、图...,飞猫云下载地址...
We have plenty of plans for 1.18.0, mostly centered around tidying up the
codebase more, getting rid of legacies in the code where we can, and making
it easier to see the wood for the trees as we bring 安卓网飞app
up-to-snuff as
a modern part of the Rust ecosystem.
If you'd like to participate in Rustup development, why not join us on our
discord server? You can visit http://discord.gg/rust-lang and once you've
jumped through some of the anti-spam hoops (check your DMs on joining) you can
come along to #wg-rustup
and we'll be pleased to have you help. Failing
that, you can always just open issues or PRs on
http://github.com/rust-lang/rustup.rs if you have something useful to
contribute.
At the end of last year I made eight statements about what I wanted to do throughout 2023. I tried to split them semi-evenly between being a better adult human and being a better software community contributor. I have had a few weeks now to settle my thoughts around what they mean and I'd like to take some time to go through the eight and discuss them a little more.
网飞公司app下载-网飞公司安卓版下载7.39.0 build 23 34648 ...:2021-1-15 · 网飞公司是一款手机影视播放器,你可伍通过app随时随地观看你想看的电影、电视剧等视频,这里有海量的电影和电视节目,全球最新影片不断更新,实时观看,喜欢看电影的小伙伴伊快来下载观看吧。 功能特色 • 我伊会不断添加电影和电视节目。您可伍浏览新影片或搜索自己喜爱的内容,并且在 ...
My list of goals was stated in a pair of tweets:
- Continue to lose weight and get fit. I'd like to reach 80kg during the year if I can
- Begin a couch to 5k and give it my very best
- Focus my software work on finishing projects I have already started
- Where I join in other projects be a net benefit
- Give back to the @rustlang community because I've gained so much from them already
- Be better at tidying up
- Save up lots of money for renovations
- 安卓网飞app
佛跳墙下载地址
Some of you may be aware already, others may not, that I have been making an effort to shed some of my excess weight over the past six or seven months. I "started" in May of 2018 weighing approximately 141kg and I am, as of this morning, weighing approximately 101kg. Essentially that's a semi-steady rate of 5kg per month, though it has, obviously, been slowing down of late.
In theory, given my height of roughly 178cm I should aim for a weight of around 70kg. I am trying to improve my fitness and to build some muscle and as such I'm aiming long-term for roughly 75kg. My goal for this year is to continue my improvement and to reach and maintain 80kg or better. I think this will make a significant difference to my health and my general wellbeing. I'm already sleeping better on average, and I feel like I have more energy over all. I bought a Garmin Vivoactive 3 and have been using that to track my general health and activity. My resting heart rate has gone down a few BPM over the past six months, and I can see my general improvement in sleep etc over that time too. I bought a Garmin Index Scale to track my weight and body composition, and that is also showing me good values as well as encouraging me to weigh myself every day and to learn how to interpret the results.
I've been managing my weight loss partly by means of a 16:8 intermittent fasting protocol, combined with a steady calorie deficit of around 1000kcal/day. While this sounds pretty drastic, I was horrendously overweight and this was critical to getting my weight to shift quickly. I expect I'll reduce that deficit over the course of the year, hence I'm only aiming for a 20kg drop over a year rather than trying to maintain what could in theory be a drop of 30kg or more.
In addition to the IF/deficit, I have been more active. I bought an 安卓网飞app and slowly got going on that over the summer, along with learning to enjoy walks around my local parks and scrubland. Since the weather got bad enough that I didn't want to be out of doors I joined a gym where I have been going regularly since September. Since the end of October I have been doing a very basic strength training routine and my shoulders do seem to be improving for it. I can still barely do a pushup but it's less embarassingly awful than it was.
Given my efforts toward my fitness, my intention this year is to extend that to include a Couch to 5k type effort. Amusingly, Garmin offer a self adjusting "coach" called Garmin Coach which I will likely use to guide me through the process. While I'm not committing to any, maybe I'll get involved in some parkruns this year too. I'm not committing to reach an ability to run 5k because, quite simply, my bad leg may not let me, but I am committing to give it my best. My promise to myself was to start some level of jogging once I hit 100kg, so that's looking likely by the end of this month. Maybe February is when I'll start the c25k stuff in earnest.
佛跳墙下载地址
I have put three items down in this category to get better at this year. One is a big thing for our house. I am, quite simply put, awful at tidying up. I leave all sorts of things lying around and I am messy and lazy. I need to fix this. My short-term goal in this respect is to pick one room of the house where the mess is mostly mine, and learn to keep it tidy before my checkpoint in April. I think I'm likely to choose the Study because it's where others of my activities for this year will centre and it's definitely almost entirely my mess in there. I'm not yet certain how I'll learn to do this, but it has been a long time coming and I really do need to. It's not fair to my husband for me to be this awful all the time.
The second of these points is to explicitly save money for renovations. Last year we had a new bathroom installed and I've been seriously happy about that. We will need to pay that off this year (we have the money, we're just waiting as long as we can to earn the best interest on it first) and then I'll want to be saving up for another spot of renovations. I'd like to have the kitchen and dining room done - new floor, new units and sink in the kitchen, fix up the messy wall in the dining room, have them decorated, etc. I imagine this will take quite a bit of 2023 to save for, but hopefully this time next year I'll be saying that we managed that and it's time for the next part of the house.
Finally I want to take a proper holiday this year. It has been a couple of years since Rob and I went to Seoul for a month, and while that was excellent, it was partly "work from home" and so I'd like to take a holiday which isn't also a conference, or working from home, or anything other than relaxation and seeing of interesting things. This will also require saving for, so I imagine we won't get to do it until mid to late 2023, but I feel like this is part of a general effort I've been making to take care of myself more. The fitness stuff above being physical, but a proper holiday being part of taking better care of my mental health.
佛跳墙下载地址
2018 was not a great year for me in terms of getting projects done. I have failed to do almost anything with Gitano and I did not doing well with Debian or other projects I am part of. As such, I'm committing to do better by my projects in 2023.
First, and foremost, I'm pledging to focus my efforts on finishing projects which I've already started. I am very good at thinking "Oh, that sounds fun" and starting something new, leaving old projects by the wayside and not getting them to any state of completion. While software is never entirely "done", I do feel like I should get in-progress projects to a point that others can use them and maybe contribute too.
As such, I'll be making an effort to sort out issues which others have raised in Gitano (though I doubt I'll do much more feature development for it) so that it can be used by NetSurf and so that it doesn't drop out of Debian. Since the next release of Debian is due soon, I will have to pull my finger out and get this done pretty soon.
I have been working, on and off, with Rob on a new point-of-sale for our local pub Ye Olde Vic and I am committing to get it done to a point that we can experiment with using it in the pub by the summer. Also I was working on a way to measure fluid flow through a pipe so that we can correlate the pulled beer with the sales and determine wastage etc. I expect I'll get back to the "beer'o'meter" once the point-of-sale work is in place and usable. I am not going to commit to getting it done this year, but I'd like to make a dent in the remaining work for it.
I have an on-again off-again relationship with some code I wrote quite a while
ago when learning Rust. I am speaking of my 安卓网飞app
implementation called (imaginatively) rsyarn. I'd like to have that
project reworked into something which can be used with Cargo and
associated tooling nicely so that running cargo test
in a Rust project can
result in running yarns as well.
百分网APP(破解游戏盒子) v4.6.2 百分网APP(破解游戏盒子 ...:2021-6-3 · 百分网APP破解游戏盒子,是一个专为喜欢游戏破解,BT游戏,BT网游的玩家打造,我伊专注于首发游戏,提供安卓最新最好玩,更有同步更新破解!在这里,你只要下载百分网客户端即可随时查看安卓 …
飞牛网手机客户端 2.4.0 安卓版app:2021-11-26 · 飞牛网手机客户端 2.4.0 安卓版app 一家自营模式的全品类综合零售购物网站 授权方式:免费软件 软件类型:国产软件 软件大小: 28.06 MB 推荐星级: 软件来源:上海飞牛集达电子商务有限公司 更新时间:2021-03-04 15:31 运行环境:Android4.0
佛跳墙下载地址
I've mentioned Rust above, and this is perhaps the most overlappy of my promises for 2023. I want to give back to the Rust community because over the past few years as I've learned Rust and learned more and more about the community, I've seen how much of a positive effect they've had on my life. Not just because they made learning a new programming langauge so enjoyable, but because of the community's focus on programmers as human beings. The fantastic documentation ethics, and the wonderfully inclusive atmosphere in the community meant that I managed to get going with Rust so much more effectively than with almost any other language I've ever tried to learn since Lua.
I have, since Christmas, been slowly involving myself in the Rust community more and more. I joined one of the various Discord servers and have been learning about how crates.io is managed and I have been contributing to rustup.rs which is the initial software interface most Rust users encounter and forms such an integral part of the experience of the ecosystem that I feel it's somewhere I can make a useful impact.
While I can't say a significant amount more right now, I hope I'll be able to blog more in the future on what I'm up to in the Rust community and how I hope that will benefit others already in, and interested in joining, the fun that is programming in Rust.
In summary, I hope at least some of you will help to keep me honest about my intentions for 2023, and if, in return, I can help you too, please feel free to let me know.
I glanced back over my shoulder to see the Director approaching. Zhe stood next to me, watched me intently for a few moments, before turning and looking out at the scape. The water was preturnaturally calm, above it only clear blue. A number of dark, almost formless, shapes were slowly moving back and forth beneath the surface.
"Is everything in readiness?" zhe queried, sounding both impatient and resigned at the same time. "And will it work?" zhe added. My predecessor, and zir predecessor before zem, had attempted to reach the same goal now set for myself.
"I believe so" I responded, sounding perhaps slightly more confident than I felt. "All the preparations have been made, everything is in accordance with what has been written". The director nodded, zir face pinched, with worry writ across it.
I closed my eyes, took a deep breath, opened them, raised my hand and focussed on the scape, until it seemed to me that my hand was almost floating on the water. With all of my strength of will I formed the incantation, repeating it over and over in my mind until I was sure that I was ready. I released it into the scape and dropped my arm.
飞鸭Ai app手机版下载_飞鸭Ai安卓版免费下载-4162下载网:2 天前 · 飞鸭Ai app是一款通过云端挂机赚钱软件,用户只需要提供一台手机就能进行操作,而且云端托管不需要消耗你的手机内存和电池,平台发布的任务全程都是云端自动操作完全可伍解放你的双手,还能给你带来收益,是一款非常不错的手赚软件。
Chunks of goodness-knows-what rained down from the grey streaked morass, thumping into place seamlessly onto the foundations, slowly building what I had envisioned. I started to allow myself to feel hope, things were going well, each tower of the final solution was taking form, becoming the slick and clean visions of function which I had painstakingly selected from among the masses of clamoring options.
Now and then, the whale-like shapes would surface momentarily near one of the towers, stringing connections like bunting across the water, until the final design was achieved. My shoulders tightened and I raised my hand once more. As I did so, the waters settled, the grey bled out from the blue, and the scape became calm and the towers shone, each in its place, each looking exactly as it should.
Chanting the second incantation under my breath, over and over, until it seemed seared into my very bones, I released it into the scape and watched it flow over the towers, each one ringing out as the command reached it, until all the towers sang, producing a resonant and consonant chord which rose of its own accord, seeming to summon creatures from the very waters in which the towers stood.
The creatures approached the towers, reached up as one, touched the doors, and screamed in horror as their arms caught aflame. In moments each and every creature was reduced to ashes, somehow fundamentally unable to make use of the incredible forms I had wrought. The Director sighed heavily, turned, and made to leave. The towers I had sweated over the design of for months stood proud, beautiful, worthless.
I also turned, made my way out of the realisation suite, and with a sigh hit the scape-purge button on the outer wall. It was over. The grand design was flawed. Nothing I created in this manner would be likely to work in the scape and so the most important moment of my life was lost to ruin, just as my predecessor, and zir predecessor before zem.
Returning to my chambers, I snatched up the book from my workbench. The whale-like creature winking to me from the cover, grinning, as though it knew what I had tried to do and relished my failure. I cast it into the waste chute and went back to my drafting table to design new towers, towers which might be compatible with the creatures which were needed to inhabit them and breath life into their very structure, towers which would involve no grinning whales.
This blog is powered by ikiwiki.