Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Twenty years of blogging (thegreenplace.net)
180 points by hasheddan on May 9, 2023 | hide | past | favorite | 87 comments


The best time to start blogging was twenty years ago. The second best is today - having a personal blog is an investment that just keeps on compounding over time, even if you only post things there a few times a year.

Mine hit 20 last year: https://simonwillison.net/2022/Jun/12/twenty-years/


I kept putting off making a blog because I thought the market must be saturated by now, who will even care?

It turns out the only one who needs to care is yourself!

I recently bought a random domain and my very first post went up towards the end of April. I kinda knew I wanted to write about gaming, and I feel it’s slowly developing and a core concept is forming every day that goes by.

I don’t really care about up to date gaming news and reviews, it turned out I’m interested looking back on my own history of gaming and talking about anything gaming adjacent I love so I write about those things, and hope other people can relate! I have dabbled in an attempt at an SEO post as well but it was for a game I am actively playing so doesn’t seem too disingenuous!

People shouldn’t get bogged down about what to write, you’ll eventually discover what you want to do the more you actually do it. It’s like a muscle!

And a link if anyone is interested: https://chronodrift.com


Mine'll be 23 years old in November. I don't post much anymore, but I'm trying to get back in the habit. http://mischeathen.com

Early on, it was a couple hundred posts a year, but I got really politically engaged in the wake of the 2000 election and that helped encourage activity. Busiest year was 2007, with 1,147 posts.

Last year was only 28, but I'm nearly at that for 2023 already. Less politics now, more writing, and more just sharing stuff. I need to hook up the share-to-Mastodon thing since I'm obviously no longer sharing to Twitter.

Mine's been through several platforms -- first Blogger, then to Grey Matter, then Blosxom (whose simplicity I really miss), and for a few years on Movable Type, before landing (obviously) on Wordpress in 2012. I had comments for a while, but that became untenable, and also less rewarding in the era of social media.

Early on, when corporate sites were typically hosted IN HOUSE, like in the same building that business got done in, it was fun to look through the logs and see recognizable domains -- a buddy's law firm in NY, etc. Eventually when colos took over that stopped being as easy to do, and that I look back at doing so fondly probably dates me.


How did you deal with all those migrations? I have a blog from 2010 with around 450 posts and it's been through several migrations and it's getting more and more painful to do them, with many manual interventions needed.


I have a motivated pal who's helped me a couple times, but some of them were turnkey. ISTR that moving from MT to WP was pretty seamless.


I've tried to start blogging many times. But I always find I have nothing to speak about. I also have this mental hurdle of thinking my blog's have to be super serious and professional. This time around I'm trying to take myself less seriously and treat it as a way to store things I'd like to remember in the future.


> But I always find I have nothing to speak about.

Odds are you do have something interesting to speak about. Many people are experts in very niche things and don't even realize it. You may be very proficient with a niche piece of software that is not well documented, or may have created software to solve a very specific problem. Writing blog posts about your niche knowledge can be tremendously helpful; I can't tell you how many times a single blog post about an obscure problem has saved me hours (possibly even days or weeks) of research when I've encountered the same problem.


I feel like I never understand anything well enough to tell other people about it - the bare information I have can easily be acquired by anyone else without reading anything I write so my writing is a waste of time (when it comes to writing for other people anyway)


Everyone learns things in a different order and in different ways, so an alternative explanation or source of information can still be valuable. Sometimes I have an important realization simply because something I'd already known for years was presented from a different angle, or maybe just because I rediscovered it in a more fitting moment of my life.

And if someone doesn't find it useful, well, they'll just stop reading and go somewhere else.


Often writing for yourself (“how I did x when I didn’t know how”) is useful enough without being an expert on the subject. You can refer back to it later on if you forgot how you did it, or someone else who was in your shoes will appreciate it. Also makes things less daunting (“hey others are going through the same as me”).


I find the amount of interesting things I have to say correlates strongly with the amount of quality reading I do. It doesn't have to be related to what I'm saying. Like I've been inspired to write about technology by reading Herodetos.

I think it's useful to view your mind as a garden. If you plant nothing then all you'll grow is weeds. If you get rid of the weeds and plant interesting ideas by engaging with new ideas, then it will grow interesting ideas on its own.


I wrote about that here: https://simonwillison.net/2022/Nov/6/what-to-blog-about/

TLDR version: publish TILs (Today I Learned) since then there's no pressure to say something new - just write about a thing you just figured out. And write about projects that you have done.


I love the fact you have a post for that! That's amazing! I will take your advice. Cheers.


This advice is quite dangerous. For senior tech leaders disclosure of what they are working on often leads to disclosure of what a large part of company is working on. Even if company leaked information on what you are working on adding to it in your blog is not only about NDAs. Even if you own your company or startup and have a right to disclose you can cause damage. Even if your project is 'boring' disclosing information is potentially affecting company future outcomes.

Ofc one can have his own pet projects and only blog about them. But in the world where a cat tiktok account was allegedly used for spying there is no such thing as private tech blogs anymore.


At a couple of companies I've maintained an internal tech blog (e.g. using Confluence) so that I can write about internal projects in a private-to-the-company way.


I use my google search history to find things.

I blog when I feel like writing rather than when I have something to write about. Then I go to https://myactivity.google.com/myactivity?pli=1&product=19 and see what I was researching in the last month or two.

Theres usually something there where the existing articles were out of date (because tech!) or maybe it took me multiple results to actually solve my own issue.

That might be a way for you to find things.

Also I write for myself, I'm basically documenting for my future self so I dont have to research the same thing again. Some of my tech posts are just 2 lines of shell script and brief description so I can search google for my own content later but these posts still seem to be useful to other people based on views.

I think this could work for any blog where you're just writing about your interests or hobbies!


"Me too." I have never had a blog but I feel this time it could be interesting to share what I do and discover. I'll treat each post as a "subject" that can be updated, this way I won't have any pressure to do everything perfectly when the blog entry is published. Good luck.


Maybe its just not worth it. Lots of people enjoy it, good for them. It doesn't mean everyone will enjoy it or benefit from it. Some people like skinny dipping in the middle of Winter - I dont do that either.


Just like you, I used to talk to myself in GitHub issues too. I stopped because my repos then were public and I thought it would be weird for people to see me do that when I eventually open sourced/brought on help. But after reading some of your posts and looking at your issues, I've started doing it again.

GitHub is a really amazing way to store information and it really didn't make sense to move discussions of those kinds elsewhere. The context gets easily lost when a lot of these 'self-discussion' was a simple one-liner like 'I found this bit on SO that refuted X'. I saw my thoughts evolve over several days as I uncovered new information and added it to the issue.

Thank you.


Had a blog that was seeing 40,000 monthly, but I deleted all the posts when my interests changed. I regret it deeply.

I started a new one this month - https://nosduhz.com

So I guess I meet both of your criteria for the best times to start a blog!


You might be able to dig your old content out of the Internet Archive. I used it to restore some of my lost content a few years ago: https://simonwillison.net/2017/Oct/8/missing-content/


The Internet Archive is, I suppose, the most underrated feature of the Internet.


Good point. I might grab a few of the more better posts.


> having a personal blog is an investment that just keeps on compounding over time

Why do you say so?


Being able to look back at things you wrote about 2, 5, 10 years ago is personally fascinating, but it's also a really good way of demonstrating how your skills and experience have grown over time.

I recently noticed I've been writing about SQLite since 2003! https://simonwillison.net/tags/sqlite/


Absolutely! One of my favorite things on my own website is the random button which takes me to a random page. It's a fun way to be teleported back in time to some post in the past.

https://www.splitbrain.org/blog?do=randompage


Not OP, but the act of writing not only solidifies knowledge, but creates it

PG has been beating that drum for a few decades, and I’ve experienced it too

And knowledge compounds — knowing stuff makes you learn faster, which can lead to new jobs, friends, projects, etc

I’ve also found it gratifying when undergrads are reading and referencing posts I wrote when they were 13 years old

There’s something very nice and human about that

Likewise I learned a ton from Joel Spolsky’s blog when I was 22


My own blog is now 22 years old! It began in my university dorm room. It was not really a blog in those days. Instead it was just a loose collection of pages. It acquired its blog shape and form much later when blogging became fashionable. I still update it occasionally.

https://susam.net/blog/

https://susam.net/maze/


I've got a personal blog I started when I moved to New Zealand in October 2000. It started as PHP Nuke, moved to PostNuke, then moved to Drupal where it's stayed ever since. I've looked at moving it to Hugo but it's too hard, all the old links etc break. I'm sure if I paid someone they'd be able to do it. It's got ~3100 entries. Most people thought I was nuts keeping my own blog when things like Livejournal etc existed. I'm glad I did it myself though, it keeps my Linux skills sort of relevant (it's a LAMP stack still though, so relevant might be a little bit of wishful thinking...)

Anyway I'm glad I've kept it up over the years - it documents me moving to NZ, the people I met, meeting my wife, buying our first house, our second house, our kids etc. I used to write in it every day, but as I've gotten older and more busy with life I'm lucky if I write in it more than 2-3 times a month. Plus life is a lot easier to document now I have a camera on me 24/7

I keep it out of Google / Search as best I can with robots and Meta-Headers, but it's there if you look hard enough.

Of course my blog is much less noteworthy than the linked one, mine's just for me (and my close family) and has zero useful public information (which is why I've kept it out of Google, I'd feel bad polluting search with my rantings)


Oh don't be too hard on yourself for polluting rankings, search engines are supposed to be good enough to not recommend someone's personal blog if it's irrelevant to their search. Assuming this is the catalyst for trying to avoid search.

I empathize with feeling as if your content is useless to others, but you really can't know what people are going to internalize from your writing. A post about someone you met could feel too mundane for you, but to someone else could be the very reason they make an important decision in life. You really can't ever know what someone else internalizes about it (unless they tell you about it!) so don't let that reason stop you or make you feel like you're polluting anything, you're doing the opposite of polluting rankings!


A LAMP stack is definitely not as uncommon as you think.

Perhaps LNMP (replace Apache with Nginx) is more common these days but not that dissimilar


Yea I keep meaning to look at using Nginx but my website is so small, gets so few hits etc. I know .htaccess, I know the Apache .conf file etc. I do have a nagging feeling I need to drag myself out of early 2000 thinking though...


I made a blog for each member of my family, but my sister [0] is the only one that actually uses it. It's let me keep up with her. When I made it for her, I told her to just write in it every time she wanted to write a book since she has said she wants to do that some point in life. She has started to use it for other things now, such as coping with grief or expressing joy at times in her own way, which is cool because she asked me to add categories after a couple years of use.

[0] https://jacquelinenader.com


I like it: just posts/categories/rss. It looks nice and loads fast. Does it use an existing CMS or did you roll your own blog engine for it?


Made in Django. She wanted to have posts not published and wanted auto save if she was typing and incase had her laptop/cell die, so I added those feautres as well. And django has rss and summernote is a decent enough editor. So was quick, fast, and stable to setup. No issues in years.


This is pretty cool :)


Thanks


Love Eli's blog...

One of the best productivity hacks I've come across in the blog is the permanent bash history [1].

Another favourite post is Understanding lvalues and rvalues in C and C++ [2].

Here's hoping for another 20 years of amazing content.

[1]: https://eli.thegreenplace.net/2013/06/11/keeping-persistent-...

[2]: https://eli.thegreenplace.net/2011/12/15/understanding-lvalu...


OMG, that persistent history post (and associated approach and script) is brilliant!


motion seconded!

these blogs are undeniably a treasure of the internet. Thanks Eli!


I've recently pivoted from blogging (which I did on and off since 2006) to digital gardening. The latter is more focused on a network/graph of interconnected nodes with backlinks. The idea is that you don't have to write one big reverse chronological list of "finished posts", but rather can have a sprawling network of ideas that loosely relate.

I started it last November and haven't kept up with it as much as I thought I would, sadly. This page outlines some of the sources I read to inspire the creation of it and some of the principles I'm trying to follow: https://garden.travisbriggs.com/garden/digital-gardening-pri...


Eli's blog is one of my favorite. High quality content. Looking forward reading you for another 20 years Eli.


It's interesting to see many people here post about their blog being 20 years old. Was that the golden age of RSS?

It turns out my blogs are also 20 years old (although my web site is older). My first posts[1][2] were not so interesting though. It took a while to figure out what I really wanted to do with the blogs. At first they were all over the place, but my work-related one ended up being a "making of" my work projects. My non-work blog ended up a mix of solutions to problems I ran across, and random ideas I wanted to share.

[1] https://simblob.blogspot.com/2003/02/simblob-2.html [2] https://amitp.blogspot.com/2003/04/playing-games-vs-programm...


What helped me when I started my blog was writing down every time I searched for an article on a specific topic and didn’t find anything satisfactory. Eventually I had about a half dozen things that became the basis for my first few blog posts. And even if you feel under qualified to write on a subject, if no one else is, you are the subject matter expert by default lol.


Eli's blog is one of my favorite out there and has been an inspiration and teacher many times.

Here's to another 20!


Its a bittersweet feeling. Blogging was an information dissemination revolution that was made possible by the web. Giving individuals unprecedented ability to self-publish on any niche subject and reaching remote audiences anywhere in the world (the famous long-tail).

The revolution was suppressed. While easy enough to setup by writers (especially if not self-hosted) and accessed by readers, the combination of bookmarks, rss, blog comments and web based search and discovery was ultimately overtaken by the "super-easy" setups offered by the social media walled gardens (social graphs, follows, viral "likes", algorithmic timelines and a race to the short-form bottom).

But not all is lost. The extreme commercialization, privacy concerns and algorithmic oppression of social media has all but ruined it as a platform. People have been thinking and working on somehow reinstating the original promise of the web as a decentralized platform for self-publishing. While not quite yet mainstream, projects such as the Wordpress activitypub plugin [1] suggest we could dream of a new blogosphere blooming.

Here's to the next 20 years!

[1] https://wordpress.org/plugins/activitypub/


Thanks Eli! Almost 15 years ago learned a lot about Python GUI work from your blog. Some of your examples helped me write some software for NASA!


Mine (https://xenodium.com) will hit 10 years in November. It started as a single org file for personal notes. One day, I decided to export it to HTML and make it accessible to me from anywhere. Sorta just became both notes and blog over time… While the tone of the posts may have evolved a bit, the blog still serve as personal notes/reference of sorts. The tech behind it hasn’t changed a whole lot. It remains is a single org file (https://raw.githubusercontent.com/xenodium/xenodium.github.i...) with my own ugly elisp hacks, but hey does the job ;-)


I've been writing bloggish stuff for Websites, since 1996 or so. I don't think I have had any site last too long. I have an old personal site[0], which is probably circa 2K or so, but it's pretty much moribund. I just have it up on blocks, and I'm stripping it for parts.

This guy has some pretty serious SO score[1]. I like that he's asked a number of questions, as well as provided answers.

[0] https://cmarshall.com

[1] https://stackoverflow.com/users/8206/eli-bendersky?tab=profi...


I learned a great deal from Eli’s blog over the years — one of the most consistent and high quality technical blogs out there!


I have to admit that when I started writing articles to https://two-wrongs.com, Eli was one of my inspirations, along with e.g. johndcook.com and apenwarr.ca.

I think what sets apart blogs I like is that the authors make it clear they're just regular people with regular jobs exploring the world in a playful way. I think I can still get better at setting that tone myself and not taking myself so seriously!


I started blogging a while ago, but all my contents are mid at best. How do you level up? There is constant pressure within me to produce but I can't write anything impressive that can help other people. All the things I do rely on collective knowledge of the common, hence I will not be adding anything new on the table. This sabotages my self confidence. Are you in similar situation too? I am in that 90% of the internet where everything is crap.


The first 'blog' entry of my personal website is from February 20, 1995. That is now 28 years ago. It is a blog in the original meaning of the word a 'binary log', a record of things I did, see or bought, not like blog that contain resourceful articles about a certain topic. It does have some technical content, but that is mostly about WIP projects I am working on in my private time.


Great blog! In addition to the technical posts, I also enjoy Eli's quarterly summaries of what he's been reading (which is a lot). The latest one is this:

https://eli.thegreenplace.net/2023/summary-of-reading-januar...


Mine just hit 10 years. I've started out without thinking much about what I would write about. At one point I've defined some target groups to get a regular readership. This changed the way I wrote my posts, but not in a good way. I was happy to abandon the "I want subscribers" in favor of (mainly) "I want to provide solutions". This mindset fits my style and my motivation for writing. If there's an issue I have solved, I hope for people finding my post explaining potential solutions. If there's something I have learned, I write it once and can share it with people when it's relevant. This leads to interesting results, where a post I have put much effort into doesn't get much views, while a short "My Putty color scheme" post is one of the most visited, despite myself not having used Putty for years. And that's totally fine.


My blog will turn 20 in July:

https://blog.rongarret.info/

I used to get lively discussions in the comments but lately it's been mostly crickets. Not sure why. It's been kind of discouraging, so if you happen to be a fan and want to see more please drop a comment.


Lisp at JPL is excellent and likely well known. I'm going to read the one on the axiom of choice now. Thank you for the writing


Can I have a list of articles without shortenings of headers? I have an obstruction to open that many items in the right column (20 years and months in every year) and despite struggle to see the items I can not read whole names of articles.


I'll see what I can do, but I haven't touched the template for that blog in a very long time. (Maybe that's part of the problem.)


I visit Eli's blog regularly. I love reading his book reviews and technical discussions. Keep up the good work Eli!


I've been blogging since 2006.

Not to please anyone, but simply to have a repository of interesting stuff that I can find again later. I've been disappointed early with bookmarking and indexing tools, and I figured this is the best and cheapest way of finding again later what I've read before.

My blogs are: https://janstechtalk.blogspot.com/

and

http://janromme.blogspot.com/

I still have the domain https://www.janromme.com, but somehow I messed up the settings and ever since, it doesn't redirect to Blogspot any more.


My blog is 16 now, but the first 8 years were very irregular. Now I publish a post every week and I love the experience. Note: I don't have analytics etc., I don't "monetize" it (apart from an occasional reminder about my book), I have no idea how many people read it (but I know a few do, since I get comments or emails about it every now and then, and sometimes other people link to it, too). I usually write about interesting stuff I did or learned (mostly Elisp/JavaScript/PostgreSQL), sometimes about some deeper stuff (an occasional book review or religious matters).

In fact, in a few weeks I'm going to start a second one. As many people here said, writing is useful for many reasons.


I used to have a blog about 10 years ago. The problem I felt is that either you get a recurrent base of readers or you will end up shouting to the void. Social media could have been the space for blogs to be shared but it ended up killing them.


I blog everyday, I journal thoughts down of software things I think are interesting.

I think multithreading, paralellism, programming language implementation and development, knowledge bases, exominds, performance, software architecture is deeply interesting - so I tend to write about those things.

I use GitHub repositories as my blog, I edit with Typora a windows based markdown editor or IntelliJ.

I've been journalling software ideas since 2012. You can find links in my profile.

I treat the README.md as a journal and add records to the bottom. My blog, I do the opposite. I do it in reverse order on my blog, the most recent entries go to the top.


Great stuff! Like many here, my blog/website seems to have been started at that magic ~20 year-old point. I also went back through the Internet Archive and revisited the different phases in my site's "life" at https://www.markround.com/about

It started off as static HTML - built in a tool called "AOL Press" I think I got on a CD from a magazine -and uploaded to the shared FTP space we got with our family's dial-up internet package. Under construction gifs and rainbow spacer bars galore...

Since then, it's moved to the various platforms of the day (Remember PHP Nuke ? Serenity ?), become virtualised, moved into the cloud, and now exists amongst various other things deployed to my public k8s cluster.

Having your own slice of the internet is a great experience, and I can't recommend it enough. Apart from the nostalgia trip of looking back through the various cheesy site designs and "fads" of the day, it's also fun to revisit the various tech stacks that have come and gone that I wrote about. There's still one of my earliest articles (a review of Solaris 9 - https://www.markround.com/blog/2002/07/02/Solaris-9-initial-...) online and I've tried hard through various migrations - eventually coming full-circle and back to static HTML with Jekyll - to keep the content presentable and avoiding link-rot.

It's an investment of time and money (domains, SSL before we had LetsEncrypt, hosting etc.) for sure but well worth it. I also take a certain amount of pride in stubbornly avoiding the trendy centralised blogging/content platforms that have come and gone over the last few decades - I miss the "old" Internet a great deal and I love that there's still a bunch of us preserving that spirit by running our own websites and tending to them over the years.

Here's to the next 20 years! Maybe we should start a HN webring :D

-Mark


I don't know how popular he is here, but if you're familiar with FreeBSD, Greg Lehey ("groggy") is still updating his diary daily:

http://www.lemis.com/grog/diary.php

His first 'entries' started way back in 1957 (on paper):

http://www.lemis.com/grog/diary-about.php#index

I find myself coming to it and reading it randomly from time to time.


My first Blog post was 22 years ago: https://www.splitbrain.org/blog/2002-02/05-2002_02_05

It has been on the same software (DokuWiki) for 18 years now: https://www.splitbrain.org/blog/2005-11/25-splitbrain_relaun...

How time flies when you're having fun ;-)


Writing blog taked time and it has become difficult to take time out for it between busy work schedule and personal life. I wonder how highly productive people do it.


Try to make it a habit and take the pressure out.

I've got a recurring calendar entry every two weeks for an hour. That keeps time free to write a post, maybe start drafting a second one. Not every blog entry needs to be a 2000+ words long-take on something.

Not every blog entry needs to be perfect, too. Quite a few of my blog posts are just something like "I used program X recently and if you want to do Y, doing it like Z worked fine for me". Sometimes I come back to these posts just for myself an copy the CLI code or whatnot.


On Dec 2023 it'll be 10 years since I started https://podviaznikov.com/writings.

It just so interesting for me to go back to things I wrote and check my arguments - see if it still holds true.

Some of the pieces I wrote surprise me.


It is nice to see well-aged surviving personal sites/blogs. Mine will be 22 years in couple of months. It has come a long way https://brajeshwar.com/2021/brajeshwar.com-2021/


As someone absolutely fascinated with the idea of having your own personal blog, this is an excellent thread for finding some very interesting blogs!

A big thanks to everyone who contributed in the comments!


I want to blog, but I feel like some topics are too controversial/personal/revealing to attach to my real name. I've considered blogging from an alias but haven't thought up a good name to use.

Is anyone here blogging behind an alias? How's that working out for you?


Maybe it depends on why you want to blog. I maintained a blog for probably 10 years, but in the end took to down. It was mostly a way for me to explore ideas and organise my thinking. As I got a bit older, I realised that this didn't really benefit from being done in public, so now I write what would have been blog posts and mostly never publish them.

That said, I do have a blog under an alias that I post to infrequently. Sometimes the spectre of an audience makes me write with more rigor.


Congrats on the milestone!

Mine is 19 years old and I’ll be writing a similar post to yours next June :)


Mine’s 21 years old now. Here’s a graph of all the entries: https://taoofmac.com/static/graph


My Firefox 102.10.0esr hangs on that page after enabling JS (the tab is unresponsive, one CPU core is loaded completely).


Yeah, my MacBook Pro (M1 Pro chip) also starts lagging with this page, although it does load. I'd say if high-end machines have trouble running stuff, maybe it should be refactored.


The graph is already pretty much optimized (I'm already cutting down on the data and polygons used to render it)...


FWIW, I waited longer (30 to 60 seconds) now, and it did load (though was too laggy to interact with). It would be too painful to profile/debug at these speeds, but if you will be looking into further optimization, a few options that come to mind are: a textual representation (an article name and lists of referenced and referencing ones), a 2D interactive graph (those made with D3.js tend to be not so laggy), or a static graph -- a picture. Pretty sure an interactive 3D graph can also be made to work, but likely that would require to find out what is causing the lags.


Actually, the graph library I’m using is D3-based. It is just too much data for it. But a 1-year-old iPad can render it fairly well, so that’s my baseline.

It also renders well on my M1 machines using Safari or Edge/Chromium, or in Fedora (Chromium) with an i7.


Looks like I have mine for 20 years too - https://senthil.learntosolveit.com/archive.html


  I took a moment from my day
  And wrapped it up in things you say
  And mailed it off to you

  Phish - Wading in the velvet sea
Thanks for the blog posts over all these years.


On a related note, Will AI kill blogging?

https://herman.bearblog.dev/will-ai-kill-blogging


Well, no. Why would it? Blogging is about writing. If you automate the writing, there is literally no point to blogging.


can chatgpt be an editor and proofreader for non native speakers who wanted to blog?


Of course - this is something that it does well. Have you tried running simple text transformations? Raycast AI even has some commands like "change the tone".

Actually its a major use of GPT: it understands and rewrites even very poorly written text.

This could teach the simplest people to write and read better once its integrated in Android/Whatsapp...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: