
Neocities: Free, modern Geocities reboot - matthberg
https://neocities.org/
======
kyledrake
Hi! I started Neocities. I read HN regularly.

Neocities was actually launched _and_ bootstrapped on HN about 3 years ago,
and donations from HN users bankrolled the first year of operating it. Things
have been going really well, the site is growing and still sustains it's own
existence through donations and supporter accounts.

I still work on the site heavily. We're launching some big features soon (more
space, Github webhook deploys, etc.). We just finished migrating to SSL (for
everything, including hosted sites).

I've had to do some pretty crazy stuff to make the site work, some of which is
not documented well and I think the HN crowd would find pretty interesting.
For example, we figured out how to run our own global anycast network for
"cheap". I would love to share how to do that with people, there is
approximately zero information online or in books on operating anycast
networks.

My new years resolution was to get better at writing about some of the crazy
tech I've had to do for the site. If you're interested, there's an RSS feed
you can subscribe to for our blog where it will be posted in the future:
[https://blog.neocities.org/feed.xml](https://blog.neocities.org/feed.xml)

Again, thanks go to HN. Site literally wouldn't exist without it, you were
basically our seed investor. Feel free to ask me questions, I'll try to
answer. That's something you're supposed to do with your investors, right?

~~~
shams93
Geocities was my first job out of school, at that time it took a small army of
apache module c coders. Its awesome you're bringing back the concept, when
Yahoo bought us out and then killed it they took out a huge part of the
history of the early web.

~~~
cableshaft
I still have a clone of my geocities site in my archives. It was the first
website I made, and highlighted my love of video games, anime, and adnd. It
was so 'massive' it had to span two geocities accounts to hold it (different
links went to different sites).

I made a lot custom graphics for the site too, which helped me practice using
Photoshop, which has helped me ever since, letting me mock things up and still
look decent before real artists get their hands on them. In fact several games
I've made I just used my own graphics and they still found success.

------
jmduke
Original discussion from Neocities' launch:
[https://news.ycombinator.com/item?id=5918724](https://news.ycombinator.com/item?id=5918724)

Personally, I don't have any reason to use Neocities but I am _enormously
happy_ that it exists. Geocities and Angelfire and all of those weird web
sandboxes are where I first wrote code, and what led me to pursue software
engineering as a career.

~~~
krapp
Back in the stone ages, Tripod offered Perl hosting with its free accounts,
and that, along with javascript, was my introduction to programming.

I wrote what may have been the worst ever attempt at a messageboard, and I
think only one other person ever even used it. Every post was a single line in
a URL-encoded textfile. Good times.

~~~
marktangotango
I built a service specifically to be a CORS sql database and user management
api backend for neocities last year. The example app was forum single page
app. I pimped it here but it didn't get any traction. It was my "wouldn't it
be cool if" from building geocities sites back in the day. I guess there are a
lot of other avenues for learning to code nowadays.

------
tbirdz
Kyle, thanks so much for all your hard work setting up Neocities! I think it's
a wonderful thing you are doing.

Also, since we're talking about neocities, here, does anyone have any cool
neocities sites they know of and want to share? Just post a reply to this
comment, so folks who want to have other neocities discussions can easily
collapse all the links at once.

~~~
xanamander
This Serial Experiments Lain fan site gets passed around a lot. Be careful,
it's a bit of a rabbit hole.
[https://fauux.neocities.org/](https://fauux.neocities.org/)

~~~
akavel
Note: [SEIZURE WARNING] I suppose, for those for whom it may apply -- the
linked page has a weird moire-like fast-blinking pattern, epileptics be
careful.

------
steve918
I really love Neocities. I have used it to host
[https://www.makersatwork.com/](https://www.makersatwork.com/) for some time
and have donated to Neocities and participated in their Kickstarter campaign.

------
avenoir
Ah, the name brings back some memories. A long time ago, about 15 years in
total, when hosting a PHP site was too expensive for a 15-year-old and free
hosting usually came with ads there was a community on neopages.net which
offered no cost ad-free PHP hosting. The only thing you had to do to get it
was submit an entry on neopages forums containing a link to your current site
along with a description of why you deserve a subdomain on neopages. You'd
then get judged by hosted members and either get an account or try again.
Neopages was the community of teenage geeks that got me hooked on PHP after I
outgrew GeoCities. Curious if any of you guys know what i'm talking about or
had a site hosted there? :) Some of you are likely in your early to mid 30s
now.

------
partycoder
I used Geocities. I think it still exists in Japan. Back then, HTML
templates/generators were very mainstream.

Nowadays that use case was largely replaced by what we now call blogs. Many of
those websites were in fact proto-blogs.

Later, as bandwidth increased, digital cameras became mainstream and
processing power increased, photo sharing was added as common use case. Try
downloading a 2 megapixel+ PNG with a dial-up connection... very slow. Now we
take it was granted.

Now in addition to blogs, you also have Google Sites, wikia, and countless
others... including Wikipedia.

------
lawpoop
let's create a crowd-sourced effort to migrate archived geocities sites to
neocities.

~~~
kyledrake
Easter egg time:

[https://neocities.org/SiliconValley/Peaks/2790/](https://neocities.org/SiliconValley/Peaks/2790/)

Works for any Geocities neighborhoods.

Jason Scott (@textfiles) gave me the idea when I was at the Internet Archive.

~~~
bisby
I love easter eggs in open source code. I was able to easily find this in the
code and learned a bit about neocities and geocities URL formats in the
process.

I was expecting that neocities sites would have similar URLs to geocities (in
the neocities.org/server/user/page format). This is a fun way of learning
about stuff.

~~~
kyledrake
Unfortunately the way web security works these days, there is no concept of
path origin security, so sites in the neocities.org domain would be able to
execute XSS attacks and steal session cookies and whatnot. Subdomains
(site.neocities.org) are considered a different origin, and that allows us to
prevent attacks to the main site. It's not perfect, there have been attack
vectors in the past (which have been mitigated by some security features, such
as HttpOnly cookies).

Path origin policies are being considered right now. They're currently being
referred to as suborigins: [https://w3c.github.io/webappsec-
suborigins/](https://w3c.github.io/webappsec-suborigins/)

What I would really like to see is a CSP option for cookie access control, but
unfortunately it appears to have been shelved for the moment:
[https://www.w3.org/TR/csp-cookies/](https://www.w3.org/TR/csp-cookies/)
[https://twitter.com/kyledrake/status/818931856238407680](https://twitter.com/kyledrake/status/818931856238407680)

------
rdiddly
Neocities is a brilliant name on 3 levels:

Obvious: rhymes with Geocities, and is one letter different from Geocities

Less obvious: the prefix neo makes it a "new" Geocities

Subtle, and my favorite: seemingly everyone on the web today is jacked into a
Matrix of "walled gardens" where they are tended and farmed, and Neo is the
name of a guy who undoes that shit.

------
Kapura
I've used Neocities for something like two years now to host my game
development portfolio and other miscellaneous docs. I've been super happy with
the ease of creating and uploading content, and I recommend it whenever
somebody technical is looking for a cheap static hosting option.

------
bredren
The welcome page, including the UX on how card data entry works is really
great. Taking notes.

------
jimnotgym
I showed my 9yo this and now he has a site about minecraft. I showed my 14yo
and now she is building a gallery for her manga. My other kid is away but he
is the one who is really going to love it. I really like this site.

------
Apocryphon
I wonder what the Yahoo! dismantling will do to all of the Geocities content.
Hopefully they lay dormant in archive somewhere, clearly labelled.

~~~
kyledrake
As I understand it, it's gone. They possess no archive, except for what was
backed up by web archivers. I could be mistaken.

I spent years trying to acquire what remains of Geocities, which is the domain
itself, geocities.com. I got closer than you would expect, but was told it was
being "used internally" so they couldn't divest of it. I was also told I
wasn't the first person that inquired.

As I understand it, geocities.com will go to Verizon (unless that falls
apart), who will do god knows what with it. Right now it redirects to Aabaco
Small Business, which I think is a spinoff that's not part of the deal. Aabaco
curiously has an office in Beaverton, OR, a suburb of Portland, where I live.
I've been meaning to drop by their office randomly with a jello mold or
something and say hi.

I really want to relaunch geocities.com. I'd love it if someone gave me the
domain so I could do that, but I'm not holding my breath.

~~~
aidenn0
FWIW the e-mail address foo@geocities.com is an alias for foo@yahoo.com and I
still have several accounts using that address.

------
cJ0th
Thanks for this! I remember the first time Neocities was introduced to HN.
Very happy to see it is still going strong!

------
dicroce
I've always thought geocities could have been facebook. People just wanted a
page to post pictures and share with their friends. Geocities could have
automated something like that....

~~~
pbhjpbhj
MySpace shows that it wasn't just about having a page to share images and
stuff IMO.

Geocities & MySpace had little consistency across pages. But Facebook won by
starting off with trend-setters (college kids) and using network effect as
it's foundation.

In the UK FriendsReunited filled the "share pictures and info" hope too and
briefly was pretty massive.

------
ausjke
what is the key difference comparing to wordpress.com

~~~
marktangotango
There are a lot of differences. A Wordpress sites html is generally rendered
serverside, by php code with access to plugins and a database. Wordpress can
do things like post forms, run surveys, you can pretty much implement any web
app you care to with Wordpress and plugins. It's a very mature platform.

Neocities sites are static HTML, meaning once your files are uploaded,they
don't change. Neocities doesn't do POST, there is no database backend or code
running on the server.

Now in 2017, CORS allows client side apps to do just about anything
traditional web apps have done, without page tranistions, given an appropriate
backend. The difference is that html rendered by javascript on the client
typically isn't indexed by search engines, while html served from a domain
are. That's one significant difference, there are others.

~~~
ausjke
Thanks. that helps a lot, though I don't quite get "CORS allows client side
apps to do just about anything traditional web apps have done, without page
tranistions, given an appropriate backend", thought CORS is just a secure
measure.

~~~
jodoherty
Browsers implement what they call the "same-origin policy" as a cross-site
scripting prevention measure. This prevents you from using XMLHttpRequest
calls on other hostnames/ports, which effectively means if you're making a
static website on a host with no API endpoints, your website can't interact
with any backend services. As a result, you can't save or load data from a
server-side database or do a lot of other operations that traditional web
applications can do.

There's pre-CORS workarounds. You could build an HTML multipart/form-data POST
form inside an iframe and submit it with JavaScript for example. And if the
server API supports JSONP, you can inject a script tag into your page that
loads the target content as a script which then executes the data in a
callback to read it back into the client page.

If you don't care about REST, and you only need to do GET/POST requests with a
limited set of mime types, you could make a client-side application that gets
around the same-origin policy without using CORS. But it's ugly.

With CORS though, you can potentially make any type of request across origins,
because the CORS preflight OPTION requests allow a server to specify what
request methods and what headers a client from a certain origin can access at
a given URI. And these days, you can find CORS-enabled third-party REST APIs
that you can use with things like client-side OAuth to provide all the same
functionality that you would have in a traditional web applications.

I've been thinking about using a completely split API/client-side app
architecture in my own projects lately, because scaling a bare API is much
easier and cheaper than scaling a web application.

So yes, CORS is just a security measure, but it gives you more functionality
in a client-side application by allowing you to bypass an older security
measure, the same-origin policy, in a very clean and explicit way.

~~~
ausjke
Very insightful, again Thanks for all the writing, I'm studying CORS now due
to the info you shared :)

------
RUG3Y
I've been on Neocities for a while and I really love it! It's refreshing.

------
hoodoof
What is the underlying architecture?

