[HN Gopher] WriteFreely - An open source platform for building a...
___________________________________________________________________
WriteFreely - An open source platform for building a writing space
on the web
Author : btdmaster
Score : 219 points
Date : 2021-07-11 12:24 UTC (10 hours ago)
(HTM) web link (writefreely.org)
(TXT) w3m dump (writefreely.org)
| hsn915 wrote:
| I think writing on the internet is not a problem. It's easy to
| build a blog from a static site generator. There are tons of them
| these days.
|
| IMO the actual problem is you want to interact with the people
| reading what you write.
|
| Without a commenting system, the writing/publishing platform
| loses a lot of its potential value.
|
| The other problem like other people mentioned is discovery.
|
| Let's take YouTube for an example.
|
| In theory you can make videos and publish them on your own self-
| hosted website.
|
| But if you post the videos to youtube, you get a bigger chance of
| people finding out about you.
|
| So, if you want to empower a distributed network of personal
| websites, you also need a powerful "indexing" engine that
| continuously fetches and catalogues all the new content being
| published by all these people for easy discovery.
|
| The other problem is discontinuity between discovery mode and
| consumption mode.
|
| On YouTube, when you find a video you like, you still see related
| or recommended videos on the side.
|
| If you have a video index that tries to work like YouTube but
| redirects to different websites where videos are actually hosted,
| you get this discontinuity where, once the user visits the actual
| website where the content is hosted, they are no longer
| discovering new things on the indexing service.
| SalimoS wrote:
| > So, if you want to empower a distributed network of personal
| websites, you also need a powerful "indexing" engine that
| continuously fetches and catalogues all the new content being
| published by all these people for easy discovery
|
| Isn't this just rss with extra steps ?
|
| If I'm interested in content I will most likely subscribe to
| his RSS feeds
| alexwennerberg wrote:
| > IMO the actual problem is you want to interact with the
| people reading what you write.
|
| What about email? I.e. put together a mailing list for your
| blog and host the archives online?
| x4e wrote:
| I self-hosted a writefreely instance for a while but I found many
| features were proprietary and only available in the paid managed
| hosting (write.as). All features that I didn't need that much and
| could workaround however it just made me feel quite dissatisfied
| with the project.
|
| People self hosting are not likely to be the same people who
| would pay for managed hosting so it makes no sense to lock
| features off for them.
|
| I forked the codebase and added stuff myself for a while because
| even after funnelling users to their commercial option they still
| do hardly any development, see how long this one line PR I made
| took to be merged:
| https://github.com/writefreely/writefreely/pull/429.
|
| Now I just have a simple python script that makes everything I
| need in a blog [0] (markdown, resources, mathjax, atom feed and
| all completely static with no JS). There is no need to have
| complicated blog services, just compile static html.
|
| [0]: https://github.com/x4e/Blog/blob/master/make.py
| donmcronald wrote:
| I really dislike how open source has evolved over the last
| decade. A lot of open source isn't much more than a feature
| anemic demo and IMO is only there so companies can generate
| sales leads. Getting good quality bug reports or contributions
| from the "community" members (aka suckers) are a bonus.
|
| I don't contribute to projects that have stripped down, almost
| unusable versions for their open source variant and that's most
| of them. Years ago I saw someone on HN say something like
| "charge for features or scale, not both." Personally I think
| that should be "charge for scale, not features."
|
| I like the way Drone.io has done their licensing so far, even
| after being bought by Harness. Before, it was something like
| "do what you want if you have less than $1 million in revenue."
| Now, with Harness.io it appears they've settled on charging for
| scale. When I looked at their pricing a couple days ago it says
| the "free" (open source) version is limited to 1 server. I'm
| not sure how that works (or how they enforce it), but the main
| thing IMO is they don't appear to limit features. I can
| actually use it without reading their feature tiers like it's
| an API that changes every time the marketing department waffles
| on the pricing.
|
| I think the current models for pricing SaaS suck and Harness is
| closer to a model that makes sense. For me, the reality is that
| I only want 2 tiers; free where I self host and SaaS where I
| pay someone to do it. The problem is they always want to charge
| enterprises more per user which makes sense since it's harder
| to scale and support to the level needed.
|
| IMO, just have 2 tiers; free, self-hosted with full features
| and community support and paid, but with a different pricing
| model that's based on user count and support. For example, give
| the first user for free with community support. You always keep
| the price for lower tier users. Give the next 4 users for a low
| cost with email support. Give the next 20 ish users for a mid-
| tier cost with phone support. Make the remaining users the
| price you actually want with priority support.
|
| That brings the cost average down for small users and makes it
| much more attractive to adopt a product. The pricing curve
| looks more like a camels hump (assuming you negotiate if you're
| huge) instead of a staircase (like GitLab) where you hit
| pricing cliffs that are tough to swallow.
| thebaer wrote:
| Just curious, which features did you want that were proprietary
| at the time?
|
| The primary reasons for including certain features in Write.as
| but not in WriteFreely are when they're very early (it's easier
| to deploy and fix on a single hosted service), or when they
| involve a ton of external dependencies. My thinking on the
| latter is that I'd rather leave a feature out than leave admins
| with a poor experience, vendor lock-in, lacking documentation,
| etc. But maybe that's the wrong way to think about it.
|
| Either way, "locking features off" isn't a business strategy
| here, but just a matter of practicality as a very small open
| source project. As I mentioned elsewhere, we plan to bring
| things into parity for v1.0. And we very much welcome
| contributors -- even if it's just reviewing pull requests!
| x4e wrote:
| It was a while ago but the ones I remember were email
| subscriptions, custom javascript, and custom instance support
| in the iOS app.
|
| Thank You for clarifying the reasoning. That does make more
| sense and makes it more justified. I still think it would be
| better to at least have the write.as fork be open source even
| if you can't ensure stability/any sort of support.
| eitland wrote:
| As you see below somewhere I say nice about you but I must
| also say there are some things I'd really want to see fixed
| soon:
|
| - make inclusion of photos, including from snap.as kind of
| usable (yes, I'm a paying customer)
|
| - fix statistics
|
| On the bright side I can now see who follows me, instead of
| just a number like it was for a long time.
| [deleted]
| worldmerge wrote:
| This seems pretty cool. I've been interested in getting into
| blogging and moving away from WordPress. I checked out Jekyll and
| it's a pain to add media to a post so this looks like a great
| alternative. It would be nice if there was an online demo you
| could try out before setting it up.
| BossingAround wrote:
| Hugo offers pretty much every static site feature that
| writefreely does for free. Media on a page isn't an issue with
| Hugo websites.
| yoz-y wrote:
| One thing a bit annoying with Hugo is that somewhere down the
| line of updates they made breaking changes to templates.
|
| Now, since it's written in go and all statically linked, I've
| just put the Linux and macOS binaries of the version that
| worked for me in my repo and never update.
|
| Good thing about a stagnant platform is that one can spend
| less time tinkering with it.
| btdmaster wrote:
| Check out one of the public instances:
| https://writefreely.org/instances.
| mercacona wrote:
| It's the engine backing https://write.as if you wanna try.
| thebaer wrote:
| Besides everything else mentioned, you can create an account on
| our official demo instance here:
| https://pencil.writefree.ly/invite/NB8Ycb
| digitalsushi wrote:
| Naive question, not trying to lead somewhere.
|
| Back in the day we'd do a ./configure && make install on some
| server and we'd be up and running to kick the tires.
|
| It's been a long time since I have done this - my career went off
| in other directions - and so I am curious if web app authors are
| providing automatic serverless deploy plans that are just as easy
| to run as that ./configure experience from much earlier.
|
| (I know configure scripts still exist, but they are largely
| satisfied by OS providers for users like me)
| eitland wrote:
| Been using it for a while.
|
| Refreshingly simple business model. They don't even hound you for
| an email address.
| potamic wrote:
| It's a really clean design, exactly how I would like to read
| content!
|
| I'm new to this federation idea, curious how blog pages work in
| this world. Is there something of an open protocol for
| publishing/consuming content so that I can use any provider or
| client I like, or how does it work?
| riffic wrote:
| People with Mastodon accounts for instance can follow accounts
| on your WriteFreely instance.
|
| This is powered by the ActivityPub protocol, a W3C
| recommendation.
| Kye wrote:
| Systems that federate over ActivityPub (AP) produce JSON blobs
| that other systems choose how to present. For example: an AP
| blog might show a blog post and comments like a traditional
| blog, while Mastodon could show the same data as a toot and
| replies to it.
| elyseum wrote:
| Interesting promise. Will give it a try. Does anybody known
| similar tools, written in a different language (no expertise on
| Go)?
| wakest wrote:
| The other main ActivityPub blogging centric software is Plume
| https://joinplu.me, oh and there are some plugins for Wordpress
| dangom wrote:
| Shameless plug: back in the day I put together an Emacs package
| to push org-files directly to an writefreely instance. Literally
| 0 friction to start a blog.
| https://github.com/dangom/writefreely.el
| wut42 wrote:
| Nice, thanks! But I wouldn't say "0 friction" as you need to
| know emacs, org-mode, how to manage a server, and install
| WriteFreely :)
| dangom wrote:
| Haha, sure. But you don't need to install writefreely, you
| can publish anonymously to write.as, the "canonical"
| writefreely instance.
| agnosticmantis wrote:
| This looks very beautiful. I wonder if it supports math
| typesetting (via latex) out of the box or if there are plug-ins
| for that.
| ta988 wrote:
| Yes there seem to be a MathJax support that you just have to
| enable according to what I see in the source and in the forums.
| It is apparently not in the documentation.
| [deleted]
| jedberg wrote:
| Almost every self hosted blogging platform I've seen requires you
| to have a server to run it on 24/7, and I don't get it.
|
| This is the _perfect_ use case for FaaS -- a personal site that
| maybe gets a few thousand hits a month, and maybe has that one
| post that goes viral and gets 100,000 hits in a day.
|
| I love all the features and the nice aesthetic of all these
| things, but it seems silly to pay even $5/mo for a 24/7 server
| when I can host it for free on AWS Lambda if the software had
| been written that way. Not to mention it would make it more
| accessible to non-tech folks if you can just give them a button
| to click that sets up a Cloudformation for them or something.
|
| Sadly I don't have the time (not design skills) to write one
| myself.
| cpach wrote:
| Very interesting idea.
|
| If you or anyone else feel like expanding upon that idea and do
| a "back-of-the-napkin" diagram or something, it would be very
| interesting to see that!
|
| (I started dipping my toes into FaaS[0] literally yesterday, so
| I must admit I can't yet imagine how one would actually host a
| blogging service in such an environment.)
|
| [0] _Function as a service_
| jedberg wrote:
| It's pretty straightforward actually. What does a blog do?
|
| - Show content to users
|
| - Allow the admin to update content
|
| So you'd really just need three functions and some storage:
|
| - A function that takes a request for content and shows a web
| page
|
| - A function that authenticates the admin and shows them an
| admin page
|
| - A function that takes their admin update request and writes
| to storage.
|
| The storage could be S3, of if you want to get fancy you
| could use DynamoDB so that you can do things like tags and
| have blog pages that show each tag (or just regenerate them
| and put them on S3 every time you make a update with a new
| tag).
| indigodaddy wrote:
| I don't think there is any significant technical challenges to
| running this on lambda. You'd just need some sort of workflow
| to update the lambda image with each blog update. A big
| downside to hosting on AWS though is if your site gets HN'ed,
| you could have a hefty bill on your hands.
| jedberg wrote:
| That's unlikely. Using Cloudfront you'd only pay 8 cents per
| GB (once you get past the 50GB of free data tier). Or you
| can put Cloudflare in front of it and pay nothing.
| indigodaddy wrote:
| So I'm not that familiar with using CDNs. So Cloudflare
| would actually serve 100% of the workload for a static
| site? That's where you leave everything default for a
| domain in Cloudflare's UI right? Usually I uncheck the "use
| cloudflare" or whatever they call it, essentially just
| having Cloudflare do the DNS only.
| jedberg wrote:
| Not 100% but petty close. For a mostly static website
| like a blog it could easily serve 95%+ of the traffic.
|
| And yes, it's where you leave it checked to use
| Cloudflare for your traffic.
| indigodaddy wrote:
| Thanks for the response and info!
| cpach wrote:
| Couldn't the risk of hefty bills be lowered by using
| CloudFront as a caching layer?
| Jnr wrote:
| I really enjoy Wordpress for writing freely. Ever since Docker-
| compose, automatic updates and Gutenberg editor became available,
| I haven't even needed to look at alternatives.
| wakest wrote:
| you can also use wordpress with the fediverse too, there is a
| good plugin that lets you syndicate your posts out and let the
| rest of the fediverse follow/comment/etc from where they
| already are
| bovermyer wrote:
| Very happy to have contributed to this project. Of all the blog
| engines out there, it is by far my favorite.
| 2Gkashmiri wrote:
| What is the point of "medium" other than to hold your content
| hostage and force users to pay a subscription ? Writefreely
| instead is about sharing. A full 360 from medium.
| quaintdev wrote:
| > There are enough places on the web built to hog your attention;
| keep you scrolling and checking your feed, hoping for a new like
| or retweet. WriteFreely gives you the space to think for yourself
| again, free from alerts, feeds, and the distractions of classic
| social media.
|
| I think within a decade we all are going to come back to
| blog/personal sites and ditch social media. The easier we make
| people to set up self hosted blogs, faster will be the switch. I
| know general public does not give a shit about this but a man can
| hope.
| daptaq wrote:
| Who is we?
| hairofadog wrote:
| Me and quaintdev!
| ta988 wrote:
| And me!
| AmroGab wrote:
| And me.
| the_rectifier wrote:
| ...and my axe!
|
| Sorry.
| daptaq wrote:
| Ok, but what about those stuck behind in the walled gardens
| and currated feeds?
| DerekBickerton wrote:
| > ditch social media
|
| Personally I have made my addiction to social media work for
| me. I make full use of curated feeds, and make sure my feed has
| a good signal to noise ratio. The ADs are annoying, but I would
| rather trade my data for them. I can't afford $5.00 per month,
| and happily let ADs subsidize these companies (Twitter,
| Facebook etc).
| _dibly wrote:
| >I make full use of curated feeds, and make sure my feed has
| a good signal to noise ratio. The ADs are annoying, but I
| would rather trade my data for them.
|
| I just don't think that is a sustainable position with the
| way things are moving. If anything, this is the direction
| social media is moving away from. Feeds are increasingly
| curated by the user's browsing behaviors and and not their
| conscious decisions. Data is only becoming more valuable as
| more people make the choice to trade theirs away with no real
| thought about the long-term effects of colossal repositories
| of complex user data and very little regulation in place to
| restrict their use.
|
| Not to say that it isn't possible to make social media work
| for you. I just continue to wonder what the threshold is
| where users won't be comfortable leveraging their personal
| data for convenience.
| armchairhacker wrote:
| The problem with personal sites is that they're hard to
| discover. Case in point: there are a lot of personal sites out
| there right now (and many more which existed but are now
| offline), that only a few people even know exist.
|
| We have platforms which make it easy to set up self-posted
| blogs, we just need a way to make them more discoverable. Which
| is what Twitter, Reddit, and _especially_ Medium (which I
| imagine WriteFreely was inspired by) had in mind.
|
| This is something I said before: the reason existing platforms
| dominate the market is because they have the most users. Most
| people create blogs or any other kind of content because they
| want to be heard.
| manuelmoreale wrote:
| > The problem with personal sites is that they're hard to
| discover.
|
| I completely agree with you. Discovery still seems to be the
| hardest problem to solve.
|
| I, as a blog owner, I decided that the best way to contribute
| solve this problem comes in two ways:
|
| 1) By linking more to external sites and talk about websites
| I like and push for more networking to take place rather than
| only linking internally to generate more traffic
|
| 2) I created https://theforest.link/ as a way to bring back
| some of the fun in the way we explore the web.
|
| These two won't obviously solve the problem altogether but I
| think if more people try their best to spread the word about
| content worth consuming we can solve the discovery issue
| without inventing a separate discovery platform.
|
| Also, we should bring back blogrolls
| indigodaddy wrote:
| Hey your site is really cool! How/where/in what fashion did
| you compile your random list of sites?
| manuelmoreale wrote:
| It's just a curated list of all sorts of random links,
| stored on airtable.
|
| The site is as low tech as it gets. I was just trying to
| make something fun and help people discover interesting
| sites.
|
| It's mostly personal sites/blogs and some indie
| publication.
| reaperducer wrote:
| _The problem with personal sites is that they 're hard to
| discover._
|
| I think the problem with the web as it is now is that it's
| too _easy_ to discover sites. Which is why more and more
| (though not enough) people distrust the large search
| providers.
|
| Nothing the tech companies have invented carries the weight
| of word-of-mouth and personal recommendations. You've
| probably seen it in your own browsing.
|
| Search for something - Open 30 tabs from the search results
| and look at each one for a fraction of a second.
|
| See a link described on HN - Open one tab and give it a fair
| shot.
|
| It would be nice to see the return of niche search engines.
| Want to know something about architecture? Visit
| architecturesearch.example and when you search for
| "skyscraper" you get information about tall buildings, and
| not bad action films and ads for high-heeled shoes.
| armchairhacker wrote:
| > I think the problem with the web as it is now is that
| it's too easy to discover sites. Both are the same problem:
| it's hard to find good sites among the massive amount of
| clickbait, SEO optimization, and generally low-quality
| sites. It's a hard problem too. There are a million users
| who all want blogs, and a million bloggers who all want
| viewers. The reality is, if you or I were to start a blog
| it would probably only be interesting to a few people. So
| your goal is to get said blog to the right few people,
| while getting a different blog to a different right few
| people, etc. a million times.
|
| A niche search engine is a good solution, for niche content
| you already know about. For discovering new niche content
| you'd need a really good algorithm (perhaps based on
| similar niches) or some other system.
| mstngl wrote:
| But here you have at least the AtivityPub integration. This
| allows users at instances of the Fediverse to subscribe and
| share your contents in a quite native way.
|
| The Micropub / Microsub standard follows a similar, even more
| granular approach (where content types note and article are
| existent explicitly).
|
| Of course, those alternative network standards are not
| attracting the broad majority of users yet but this is not a
| technical problem.
| jhfxcvki wrote:
| ActivityPub just pushes the discovery problem to the
| homeserver administrator, who must find -- via word of
| mouth -- other Fedi relays to federated with, or the
| homeserver is a silo.
|
| No part of this discovery step is automated or aided by the
| software.
|
| Personally I think it's a big oversight in the ActivityPub
| protocol.. but then again, ActivityPub is more oversights
| than it is features.
| kevincox wrote:
| I don't think that is the main benefit. I think it is the
| ability to "reshare" a post and have your followers see
| it. So you can follow your "friends" and learn about new
| blogs from there. There is no reason that this couldn't
| be done on regular blogs, but it isn't common.
| tedunangst wrote:
| AP has Note and Article object types.
| captn3m0 wrote:
| Does WriteFreely now support hosting multiple sites on a single
| instance?
| wakest wrote:
| yes
| captn3m0 wrote:
| Just took a look at the docs, looks neat!
| zamalek wrote:
| I have been using it, and there's a liberating lack of bullshit.
| I love that there's no comments/spam/trolls. It took me like
| 15min to get it going on a droplet. What a fantastically simple
| project.
| throwawaysea wrote:
| Is there a good guide on how to do this step by step? I don't
| mind learning and getting my hands dirty but I also fear things
| like getting security right.
| zamalek wrote:
| I did their production config instructions, but remember to
| disable the engine version header (some random tutorial [1]).
|
| I then used Cloudflare as a proxy, directly to the IP. You
| can get the IP certificate from CF.
|
| I am only paying for a droplet.
|
| [1]: https://seoneurons.com/hide-nginx-server-version-header/
| BossingAround wrote:
| > It took me like 15min to get it going on a droplet
|
| Don't know much about writefreely in general, but static
| website hosting is free with Github Pages (or extremely cheap
| on something like S3).
|
| You mentioning a droplet sounds you're running a full VM to
| host a static site, which sounds too expensive if that's the
| only use case for the VM.
| throwawayswede wrote:
| Don't bother with any of this crap.
|
| Self-host your shit.
| Popegaf wrote:
| Is it possible to import stuff from other blogs e.g move from
| WordPress to WriteFreely using a WordPress export?
|
| And is it possible to export from WriteFreely should one want to
| migrate away from it?
| thebaer wrote:
| There isn't a direct way to import from WordPress so far, but
| there is an open API [0] you could use to move your blog.
| That's the tack we took for our Hugo import tool [1]: just
| taking posts from a previous blog, parsing out the metadata,
| and publishing via the API. For WordPress, you'd also just want
| to get the posts converted to Markdown for the best experience
| in WF.
|
| As for exporting your content, yes you can do that at any time.
| Everything is downloadable as JSON, CSV, or a zipped archive of
| plain text files.
|
| [0] https://developers.write.as/docs/api/
|
| [1] https://github.com/writefreely/hugo-importer
| thebaer wrote:
| Hi! I'm the lead developer of WriteFreely -- happy to answer any
| questions you have!
|
| For a little update on where the project is today: we just put
| out our last update [0] before v1.0, which we're aiming to
| release later this year. In 1.0, among other things, you'll find
| many features we've been piloting on our hosted service
| (Write.as), including newsletters, social media cross-posting,
| eBook export, etc.
|
| We're also experimenting with new, non-core features, like photo
| hosting [1] and comments [2]. Our core focus has always been on
| _just writing_ , which is why many features (including ones
| afforded by ActivityPub) have been left out. So we're trying to
| see what's possible when we keep a clean, simple core with
| optional "rooms" of functionality around it. If you want to keep
| up with us, you should see more developments around this before
| the end of the year, too.
|
| [0] https://blog.writefreely.org/version-0-13
|
| [1] https://snap.as
|
| [2] https://remark.as
| nickjj wrote:
| Hi,
|
| If you ever wanted to hop on my podcast to talk about how
| you've built and deployed things let me know. We could chat
| about your tech stack, lessons learned, etc.. The podcast is
| at: https://runninginproduction.com/podcast/ and if you want to
| become a guest there's a "become a guest" button on the right
| top to get the ball rolling.
|
| Currently inching up on 100 episodes.
| thebaer wrote:
| Sounds awesome! Would love to be a part of it. I'll reach out
| soon!
| nickjj wrote:
| Awesome, I'll keep an eye out for your submission.
|
| Side note: if anyone else happens to read this, you're
| welcome to submit your site / app too. The more the
| merrier!
| imwillofficial wrote:
| My obligatory "I signed up for write freely to support the
| project. Forgot my password and couldn't get it reset (it was a
| manual process). After a few months I tried to cancel. Developer
| completely unresponsive for a year, I kept getting charged each
| month. My bank quizzically refunded some fees, but not others.
| Love the idea, but developer responsiveness needs work if I can't
| even reset my password or cancel service.
|
| Best of luck to this project!
| phantom_oracle wrote:
| How do you integrate this tool into an existing blog?
|
| I like the idea of ActivityPub followers but shifting all the
| contents over from an existing static site sounds like a wasteful
| exercise
| [deleted]
| [deleted]
| pmlnr wrote:
| Integrate your existing blog with https://fed.brid.gy/ instead.
| keb_ wrote:
| I love Write.as, but one little nitpick that has always bothered
| me is the font loading flicker, like it takes a second on page
| load to load the custom font. Not sure if it's the browsers I'm
| using or uBlock but it always happens. Is there a way to disable
| the custom font?
| btdmaster wrote:
| You can block remote fonts with uBO in its per-site menu, left
| of the disable JS button.
| keb_ wrote:
| Weird, but that setting seemed to not work. What _did_ work
| was disabling JavaScript, which is a bit puzzling -- why is
| JS loading the fonts?
| monkeydust wrote:
| Been looking to start blogging, I feel it's making a slow
| comeback (along with RSS!) this looks great.
| RNCTX wrote:
| So is the business model of their company to turn every random
| user into a content generator which pays them to give away
| content?
|
| Because it seems that if the author can't be identified, the
| ownership of the content is implied to be the publisher of this
| codebase.
| ta988 wrote:
| From what I see, they charge you for hosting if you don't do it
| yourself. $4/mo for a blog. It seems that you can have themes
| and newsletters and other stuff that are not available in the
| free version. I'm still looking at what the self-hosted version
| can do.
| ta988 wrote:
| It doesn't seem that the self-hosted version has any
| restrictions. And it doesn't seem hard to setup either.
| Optional mysql, reverse proxy or just give it the
| certificates and you're ready.
| throwawaysea wrote:
| There's also Ghost, which similarly has an open source offering
| and a paid hosting service: https://ghost.org/about/
|
| Previous discussions:
| https://news.ycombinator.com/item?id=14864731
| https://news.ycombinator.com/item?id=17809447
| https://news.ycombinator.com/item?id=21322712
| https://news.ycombinator.com/item?id=17082228
___________________________________________________________________
(page generated 2021-07-11 23:00 UTC)