Show HN: Kiddo Paint - <AUTHOR> https://github.com/vikrum/kiddopaint <comment><AUTHOR> Hey HN — so, after finding a 15-30min block at the end of each day over the span of about a a month, this little side project is about done. I had a blast working on this with my kids acting as PMs :) I haven't tested it on non-OSX, and I imagine that the unicode/emoji support will be broken. I considered just including the OTF for those, but that's on order of ~40MB. Ideas welcome!

<comment><USER2> Don't let Bloomberg Magazine find this - they'll use it for all their covers!

Seriously though, this is a ton of fun!

</comment></comment><comment><USER3> I love the spirit of this, and I've been waiting for someone to make it for years, if I didn't get to it first!

If anyone wants to make a similar web app, I maintain an open source library whose sole purpose is putting JavaScript drawing programs on web pages with custom tools.

[http://literallycanvas.com/](http://literallycanvas.com/)

Here's a simple web app I made with it that saves to local storage and uploads to Dropbox and Imgur: [http://drawplz.com](http://drawplz.com)

(The text tool is slightly broken right now; the selection box drag corners are invisible.)

<comment><USER4> Oh, cool! I actually played with literally canvas a little while ago when I built this: [http://tekromancr.github.io/drawchat/](http://tekromancr.github.io/drawchat/)

I eventually decided to go with drawingboard, though I don't remember exactly why. But I was absolutely thinking about using literally canvas to build a kidpix-style webapp!

<comment><USER3> I'd guess there was some kind of missing API. I've done a lot of work on the API over the past six months, so you might find it to be a lot better these days.

</comment></comment></comment><comment><USER5> I loved it. Have you ever thought about adding a "replay" button? It'd clear the canvas and show, step by step, what the kid draw.

I've been building one similar, but for grown ups and I'm learning lots of cool stuff from your code. For instance, I just learned about `createPattern`. Thanks for sharing!

<comment><USER6> That reminds me of that one program where you would pick a scene and make Spider Man do different things, I forgot the name of it. It was a lovely chunk of my childhood, and my adulthood if I ever find the disk... Found a link while googling it:

[https://www.youtube.com/watch?v=2THuctqMXis](https://www.youtube.com/watch?v=2THuctqMXis)

Of course featuring audio might be a slight bit more than this project is designed for, but it is still neat haha!

</comment></comment><comment><USER7> Good job! I liked Kid Pix as a kid myself...big part of my childhood.

The other day I was thinking back to my school days when Apple's ImageWriter II's were everywhere, and people used Print Shop (I think?) to make banners all the time. Because of how the printing technology worked -- writing to a continuous stream of paper -- banners were easy to do. We had banners in many of our class rooms, birthday parties, etc. My guess is banners are just not done anymore, and it also seems like many of these kinds of creative tools aren't common place? Do kids even have printers? Anyone with kids care to chime in?

<comment><AUTHOR> I have many fond memories of Print Shop! I remember that program would also print "greeting cards" that you'd fold in quarters. The banners were a pre- birthday task that'd never get overlooked :)

It's interesting that an entire category of features fell by the wayside as a byprodct of the elimination of form-feed/perforated paper.

<comment><USER8> I fondly remember Print Shop printing cards and banners on the Epson LX-80 dot matrix on the Apple IIe monochrome (green and black screen). Piecing a banner together these days from a series of 8x10 sheets is just not the same. :)

</comment></comment></comment><comment><USER9> This is great! I can definitely see one of the reasons _why_ it works so well for kids: there aren't any weird menu buttons that you might accidentally press and get lost in. You just draw and push the buttons to see what difference they make.

<comment><AUTHOR> It's funny you mention that — the author of Kid Pix wrote about the motivation around his app and he specifically calls that out as well:

"I didn't want to use pull-down menus for this because, among other reasons, Ben had trouble with them. " [[http://red-green-blue.com/kid-pix-the-early- years/](http://red-green-blue.com/kid-pix-the-early-years/)]

I tried to stick to and follow as many of the directives he has listed with Kiddo Paint.

</comment></comment><comment><USER10> Nice! Couple of things:

\- Firefox on Ubuntu yields "TypeError: t.srcElement is undefined" when I try to change the colour.

\- I don't have any fonts for some of the icons in the buttons (e.g. the arrow). Seeing as you're presumably already loading the textures for drawing onto the canvas, you might as well just use an image for the buttons too.

Hope this helps.

<comment><AUTHOR> Thanks for the report; I have screenshots from others and will take a look at fixes shortly. Cheers!

</comment></comment><comment><USER11> It's worth mentioning TuxPaint[1], which has been around for over a decade. That said, well done! There's no reason we shouldn't have plenty of choices for free and open source childrens software.

1: [http://www.tuxpaint.org/](http://www.tuxpaint.org/)

<comment><USER12> I've never heard of KidPix before but KiddoPaint seems like a web based less colourful TuxPaint - always loved the sound effects, the kids liked them too.

</comment></comment><comment><USER13> Nice. Will test it out. As a parent of a 3 year old & 15 month I find it amazing how quickly the pickup on things. I also belive we are witnessing the "app generation" growing up. We limit ipad time etc. But my daughter does not ask for TV. .. she asks for youtube/netflix.

</comment><comment><USER14> Well done! My train-obsessed 3 year old would approve of the stamp toolbar defaulting to a train.

A button to download the canvas as a png or jpg would be nice for saving and sharing special creations.

<comment><AUTHOR> Same with my kids! See also the draggable train tracks! :D

not at all obvious: keyboard, 's' to save/download :)

<comment><USER14> Ah, nice! :) The Github did mention that there was a handful of hidden features.

</comment></comment></comment><comment><USER15> The explosion noise when clicking on the bomb is a nice touch :)

<comment><USER16> The original KidPix had that idea, an old drawing application that could desperately use a refresh to modern interfaces .....

<comment><AUTHOR> I actually got KidPix 1.0 running in a virtual machine— a handful of the "brushes" are as-faithful-as-I-could-make-them ports from KidPix! (including the skeleton and layout for Kiddo Paint) :) Fun fact: KidPix 1.0 was released into the public domain by the author; it was only subsequent versions that were commercial.

</comment></comment></comment><comment><USER17> Wow, so are we on the same wavelength or something? I made this a few weeks ago on JS fiddle with the idea of recreating kidpix. Even used unicode chars with a face for the undo!

[https://jsfiddle.net/97vLt5dj/24/](https://jsfiddle.net/97vLt5dj/24/)

</comment><comment><USER18> Sorry for asking here, but does anybody know of a web page where you get to see someone's drawing and then you write a caption for it, then someone else will have the caption open on their monitor and they get to draw it, and on and on? It was fun! Then I lost the URL...

</comment><comment><USER19> Windows + Firefox => looks like cars don't work - some icons are not visible and all of them are just creating rectangles in the picture [http://snag.gy/4fm3H.jpg](http://snag.gy/4fm3H.jpg)

<comment><AUTHOR> Thanks for the report & screenshot! What, in general, happens with other emoji on Windows? Namely, the Apple color emoji—is there an analogue that Windows users fall back to?

</comment></comment><comment><USER20> Great -- the very first button I press (the frowning cat) cleared out my entire painting. And I have no idea how to get it back.

Clicking on every button shows that clicking the cat again brings it back. What does this cat actually do? Labels would be useful.

<comment><USER21> The bomb feature could very easily turn creative play time into a traumatizing event for a child. I second the labelling of the buttons. With that being said, amazing product!

</comment></comment><comment><USER22> If you'd like a flashback of the original Kid Pix: [https://jamesfriend.com.au/pce-js/](https://jamesfriend.com.au/pce-js/)

</comment><comment><USER23> We had the same idea but wanted to go much much further. You should really try it out, its called Collusion. [https://col.lu/](https://col.lu/) You have to sign up but it keeps your drawings like google docs and is real-time collaborative without the other people signing up.

Works on everything too, tablets, laptops, supports ms surface etc and is free for public drawings.

The explore page on our website also shows you what others have drawn so also check that out. [https://collusionapp.com/explore](https://collusionapp.com/explore)

<comment><USER24> I don't know if I'd say it's really the same. There's tons of drawing apps, but this is much more of a nostalgic thing, and it's for kids.

Also, it's open source, which is a huge draw. (I'm going to be porting it to a web platform... probably tonight, I'm excited.)

<comment><USER23> Depends what you mean by kids, but actually we did a lot of work with schools and the kids love it.

</comment></comment></comment><comment><USER25> I love it! Great work man. Feel like a kid again :)

</comment><comment><USER26> Fantastic. So many hours spent in MS Paint and friends when I was younger. Firing up your demo site made me feel like a kid again.

Great idea :)

</comment><comment><USER27> > 15-30min block at the end of each day over the span of about a month

Admire your speed ! It's a fun app with lots of nifty features.

</comment><comment><USER28> The pencil sputters individual squares when you click and drag the mouse. It should draw a continuous line instead.

</comment><comment><USER29> I'm a... Commander Salamander... with a thousand toes and and a pickle in my nose... AND... I float in the ocean!

edit: Draw me

</comment><comment><USER30> On Ubuntu and Firefox, I can't seem to change the color.

</comment><comment><USER31> Nice. This would actually make for a nice iPad app.

</comment><comment><USER32> This is damn fun.

</comment><comment><USER24> I love the heck out of this.

</comment><comment><USER33> very nice! I'll try it with my kid</comment>


Ask HN: You are made Walmart's CEO, what would be your online retail strategy? - <AUTHOR> I have a feeling that the only thing Walmart lacks is a vision and spirit to fight.
I think board may have a role to play here by tying compensation to online retail performance- revenue, users and losses.
assuming that's there, what would you do to Walmart? <comment><USER2> I would corner the market in white flags.

</comment><comment><USER3> Offer for all</comment>


Ask HN: Tired of trying to catch the JavaScript train - <AUTHOR> Hi,
Since 4 years, I always tried to be up to date regarding a Javascript framework. Now, I'm really tired. I find that the time spent on learning is not worth the time I spend on projects.
I don't know if it's specific to the Javascript world, but I find that it moves very fast. Too fast. The problem is not with the language itself, but more with the frameworks and tooling.
My question is : how do you manage this tiredness ? How do you get over it ?
Regards. <comment><USER2> If this is for your job (and you are not a consulant chaning client every week) then they probably stick with the same frameworks for a long time, so just get to know those and ignore the rest.

If it is for a side project just use whatever you find comfortable. You don't have to learn them all.

E.g. for a side project just use vanilla JS, script tags (not NPM, Webpack etc.) and maybe a view framework, maybe JQuery and that'll probably sort you out. Then focus on building stuff rather than learning new frameworks.

</comment><comment><USER3> Do you really need to "keep up" with whatever changes are happening?

Are you using frameworks to solve your problems or are you learning about them because of some vague idea that you should?

I start my JavaScript projects with just an index.js and no dependencies and take it from there.

If I turn out to need some actual complex UI updating stuff, I'll throw in React and use it in the simplest way I can.

</comment><comment><USER4> What are your goals?

* If your goal is making money, find something that is longer lasting in terms of employer demand.

* If your goal is technical challenge, maybe switch to a different tech stack. E.g. start moving into other parts of web stack (see [https://codewithoutrules.com/2016/04/27/which-technology/](https://codewithoutrules.com/2016/04/27/which-technology/) for ideas).

* If your goal is using all the cool new technology, maybe it's time to pick a new goal that is less frustrating. Or, perhaps, a more stable tech stack than front-end web.

</comment><comment><USER5> It helps to take a step back and see that the JS ecosystem is a bit crazy right now, but it is quickly becoming more sane and more mature.

For a long time, the tooling available for building complex JavaScript applications was limited. Unless you were Google; the Closure library and Closure Compiler provided tools for building large, complex JavaScript apps long before the current JS ecosystem got up to speed. But they were relatively difficult to learn, and the available documentation wasn't great.

Right now, the JS ecosystem is rapidly relearning and iterating on ideas and concepts that other language communities learned long ago. This isn't all bad, as the JS community _does_ appear to be converging on a decent set of best practices. I've seen a lot of interested in code optimization, and reduction in the size of JS bundles sent across the wire to browsers. Rollup does a nice job here, and I've seen a renewed interest in the Closure Compiler - there's a Webpack plugin for it that does a good job of intergrating it into the JS build process.

I understand your frustration, though; if possible, maybe try not to worry about keeping up for now. Just use JS in a way that works for you, and in a year or two, check back in to see how things are going at the leading edge of the JS community. I can't say for sure, but I believe the pace of change will slow down a bit, and converge around a few major tools and frameworks.

</comment><comment><USER6> I don't think you can do it. Just pick what you actually work with, and try to stay up on that.

Someday, maybe, the churn will slow down. But I wouldn't bet on it. Just about the time JS settles down, WebAssembly will be finalized, and there will be a Cambrian explosion of new frameworks, as developers are freed from the shackles of JavaScript on the front-end and can use better languages. Once again, it will take years for a consensus on best practices to emerge, and a thousand flowers will bloom in the meantime.

</comment><comment><USER7> Take a step back and focus on JavaScript the language. Really learn how things work. Then take a step even further back. Learn more about data structures, about abstractions and how to think declaratively vs. imperatively. Rinse and repeat for the rest of the stack.

That way you'll have a solid foundation to build on top of. At some point you'll start to see patterns, and that all the "new" things are just incrementally improved materializations of patterns and concepts that have existed since way before the web was even thought of.

Spend most of your learning/experimenting time on fundamentals (timeless). Learn actual implementations and specifics when you need to, just in time. Avoid learning specifics (lib/fw) just in case.

Source: My own personal experience + the very insightful experience of teaching classes in JavaScript and React the last two years.

</comment><comment><USER8> Just ignore this JS nonsense until it consolidates. If you build something with it, pick a framework and use that. If you do not, why even bother?

Here's some truth.. if you're somewhat good with math, have a couple years of experience and have built real things, nobody is going to "not hire" you because you don't know the flavor of the month crap. Its going to change anyway. Because its flavor of the month crap.

Don't act as if you couldn't pick up react in a week if it was a job requirement, because that's how easy it is.

Spend your time on picking up a new paradigm. Never did functional programming? Learn some Elixir or Haskell. A lot more bang for your time than js framework #317 that is oh so much better than #316 until next month when there's another paradigm breaking framework that really just reduces syntax by a keyword.

</comment><comment><USER9> It is more specific to the JS landscape than others.

That said - once you do 'catch up' \- staying on top should not be so absolutely hard - you need to pick and chose your battles.

Node.js is probably something you need to learn.

Most other frameworks ... you can wait until they are popular, but then you should toy with them.

Once you get used to the concept, learning new one's won't be that-that hard.

You don't need to an expert in any of them - very few people are.

</comment><comment><USER10> since you've amassed so much JS experience, why not go into the stack, stop chasing the newest EMS standard and just put a product together using the MEAN stack?

time to settle, start earning, and slowly tweak/hone your skills.

edit; mind you, i see it all around me, how chasing the newest fad keeps many of my friends from doing anything. while me and my good ol` _linux skills_ just picked up vagrant and will hopefully be doing DevOps stuffs. I use whatever i need to get jobs done - Bash? no problem! JS? sure thing. Php? Python? some ambiguous framework? give me a couple of days to read up and it's done.

to quote Voltaire; ""A good plan violently executed today is far and away better than a perfect plan next week.""

just be a problem solver, and use your know-how and ability to learn as a tool to fix/do things. chasing dragons is often detrimental to growth.

</comment><comment><USER11> Know enough about programming that learning the n+1th framework isn't a particularly high bar to cross.

</comment><comment><USER12> Move to backend or another domain entirely like smart developers do.

</comment><comment><USER13> Elm.

<comment><USER2> Given the OP concerns I don't think Elm is the way to go. It is a very cool language and might be the future of web development BUT to get anything done requires mastering functional programming, the Elm way, the Elm FFI.

You can't (AFAIK) just drop in a Calendar control or whatever from the outside world, because the virtual DOM only allows Elm virtual-dom children. So you have to use the one calendar control in the libraries and hope that is good enough.

Then the embedding controls story is not mature enough IMO. Lots of boilerplate to bubble around the messages. Changing page on a calendar control? Yes your global state needs to deal with it. Maybe not directly know about it but some plumbing needs to be in place.

I'd recommend Elm for those diehard enough to keep at it despite the quirks but not for someone who is tired of all this learning new stuff in the JS world.</comment></comment>


Geocities Archive - <AUTHOR> https://www.geocitiesarchive.org/search.aspx?qry=guitar&checked=image <comment><USER2> Anyone remember when Geocities was a virtual city with neighborhoods?

I remember having to click around a visualization of a neighborhood block, and having to reserve a homepage. Homepages were limited per neighborhood. Each neighborhood had a name that was part of the URL path to the page.

That was very early in Geocities' life, and the artificial scarcity they tried to create didn't last long. But that's the story behind the name "Geocities".

<comment><USER3> I do! I was in the "Pines" neighborhood of Silicon Valley! I signed up for my first site in 1996 when I was 13.

I was a teen "community leader" for GeoCities from 1997 - 1999 (from the ages of 14-16), which basically meant I was unpaid tech support who would answer help emails about using GeoCitied and html and going through blocks in my neighborhood to make sure websites didn't violate the various community guidelines. In exchange I got more space and a custom domain. The problem is my custom username meant my site was never backed up in the GeoCities archived because when Yahoo moved to usernames, there were issues preserving/indexing sole of the old ones. The Wayback Machine has some of the site but not all of it or the images.

I got some free GeoCities stock that became Yahoo stock that became worth $400 a share that my mom wouldn't let me sell (I was 15 or 16 and it was an etrade custodial account), something that 20 years later I still bitch at my mom about (it was the only time she ever interjected in the managing of my finances).

After Yahoo bought GeoCities, they sent out this survey for the CLs to fill out, asking about community and some product things and thoughts on how they could integrate with Yahoo. I sent some detailed response and was asked to get on a conference call to talk more in-depth. The call went really well and they offered to fly me out to Sunnyvale to discuss more in person/maybe look at a job or some consulting. I was obviously excited, thinking they knew I was a teen CL — I was thinking it would be a cool internship or summer job. When they found out I was 16, the conversation ended and looking back, I get the impression they were embarrassed to be taking feedback from a teenager (today, company's actively seek that out).

The teen program was ended shortly after — I suppose someone realized it probably wasn't legal to have minors policing content. The whole CL program was shut down not long after after someone sued Yahoo for employing unpaid labor.

I will always love GeoCities — it was my Introduction not just to building for the web but to online communities in general.

<comment><USER4> I'm confused, did yahoo stock value peak before you turned 18 years old or something?

<comment><USER3> Yes. I was 16 or 17 when it was at its peak, thus unable to sell without my mom's permission. The e-trade account was a custodial account; the shares belonged to me but the account was controlled by my mom. When I did sell years later it was for $45 or something a share.

</comment></comment></comment></comment><comment><USER5> Sadly whatever my old website was, it was not popular enough to make any archives. I feel like it was my first name, or some combination of my first and last name.

<comment><USER6> Is it possible you went with "giancarlo" instead of "giancarlos"? I don't mean to be silly but I see 232 files with giancarlo and only 1 with giancarlos.

<comment><USER5> No, Giancarlos is my first name and I have never used Giancarlo. Thats a good question nonetheless!

</comment></comment></comment><comment><USER7> Just browsing around I stumbled onto this awesome page: [https://www.geocitiesarchive.org/arclc/h/u/humehwy31/aug1.ht...](https://www.geocitiesarchive.org/arclc/h/u/humehwy31/aug1.html)

This is someone doing an early form of blogging, chronicling a road trip all across Australia, with a bunch of photos. I love how simple the website is, and how the author took time to explain what links were and what you should do to navigate through the posts.

That's the kind of stuff that was so neat to explore back in the day. What a trip down memory lane!

<comment><USER8> I was looking for my travel diary of Australia I wrote on Geocities in 2000 and didn't find it. Then I saw your comment and it made my day:)

Also didn't find my Praguecheapflats geocities site which was basically a precursor of Airbnb from 2001 and allowed me to travel the world full time for 10 years.

Geocities was really amazing for me, a non technical guy who just wanted to put stuff online.

</comment></comment><comment><USER9> I'm surprise Angelfire and Tripod is still up. One of my first website was on Xoom sadly they went away.

Geocities had a lot of fanfictions and I would go around the webrings to jump to different fanfic websites. Those were good times.

I also remembered I had to use ftp to upload pictures onto those free hosting website.

<comment><USER10> At one point Tripod also lost a lot of sites in an incident. I know because my first homepage was among them...

</comment></comment><comment><USER11> Woah this was a Geocities website?! Chrono Cross fan pages. [https://www.geocitiesarchive.org/arclc/z/u/zulwarn1705//home...](https://www.geocitiesarchive.org/arclc/z/u/zulwarn1705//home.html#)

<comment><USER12> Wow - that's actually quite polished for a geocities site and time period...

<comment><USER13> There were quite a few sites with that level of polish on free hosting services at the time. Usually by people who either didn't have the means to pay for hosting/a domain name or simply didn't see the need to at that time. Came across quite a few of them when I used AOL's free hosting back in the early 90s, or Tripod/Angelfire/whatever.

<comment><USER5> Tripod allowed me to make some good sites back then.

</comment></comment></comment></comment><comment><USER14> Weak, doesn't seem to have my sites which are indexed on archive.org :\

<comment><AUTHOR> There's not going to be everything unfortunately. What was your site on archive.org?

</comment></comment><comment><USER15> Nice!

As a side note, there is also: [https://www.oocities.org/](https://www.oocities.org/)

And for some times (now dead) there was Reocities.com, some of which has been itself largely archived on the Wayback Machine: [https://web.archive.org/web/20180308165314/http://www.reocit...](https://web.archive.org/web/20180308165314/http://www.reocities.com/neighborhoods)

</comment><comment><USER16> Is the source of this the ~900GB torrent, or is there another Geocities backup?

<comment><AUTHOR> Hi, the source was the torrent which we needed to patch up with other sources

<comment><USER16> Cool, other sources? I'd like to help preserve them if you could pass on any links.

<comment><AUTHOR> You could try the archiveteams downloads

[https://archive.org/download/2009-archiveteam-geocities- part...](https://archive.org/download/2009-archiveteam-geocities-part1/)

</comment></comment></comment></comment><comment><USER17> In 1998-1999 or so, starwars.com and Homestead teamed up to make the fan.starwars.com/ wysisyg fan websites. I loved mine and it's been gone for ~20 years, with seemingly no chance at all of an archive. Hardly anyone seems to remember these in the first place, star wars fans and nerds included. Maybe some day.

<comment><AUTHOR> It's insane how all the early internet has effectively been destroyed with absolutely no recourse of ever getting any of it back :(

<comment><USER18> I feel the same that you describe. I was a kid in early 2000's and many things I used to access were not preserved in anyway. I'm so sad about it. That's why I mirror the sites nowadays. The problem is that sites are bigger now are harder to spider sometimes.

</comment></comment></comment><comment><USER19> I wish I could remember what my old geocities username was.

</comment><comment><USER20> Such a shame so many Web 1.0 websites went away. You can click "random username" and get a feel for what the Old Web was like. Props to this project for rescuing this many sites, although I'm kind of sad they couldn't get them all...

</comment><comment><AUTHOR> The Geocities Archive Project is slowly tagging old Geocities images using AI.

<comment><USER21> Is this really necessary? Wouldn't compiling a complete archive be a good first step?

<comment><AUTHOR> We are trying to archive and patch together as much as possible given the sources.

I don't think there is a full complete archive available anymore :(

Thanks for the feedback :)

</comment></comment></comment><comment><USER22> Just tried _Geocities Archive_ — it can't find archive of _Makoto_ 's page[0] with amazing addons for free _YSFlight_ simulator[1] ;(

[0] [http://www.geocities.jp/room_makoto/main/ysfs/](http://www.geocities.jp/room_makoto/main/ysfs/)

[1] [https://ysflight.org/download](https://ysflight.org/download)

</comment><comment><USER2> My old website is not here because I used Tripod.

But _it was worth it_.

<comment><USER23> Tripod is still around. I still have an account there from 2001, but unfortunately nothing is hosted there now but a default landing page.

It still has a cgi-bin, but I have no idea if perl scripts will run in it.

And surprisingly enough, Angelfire still exists. I just learned they're both sharing a database being run by Lycos because I tried to recover an old Angelfire account and it complained that my new password was the same as my Tripod account.

<comment><USER2> Tripod had more storage and offered cgi bin when Geocities had none, IIRC.

<comment><USER23> I can't remember if I actually got a forum from Matt's Script Archive running on Tripod, but I do remember writing by own horrible text-based forum that no one else used.

Now it looks like you have to pay for FTP. Sad.

</comment></comment></comment></comment><comment><USER24> Today's equivalent is [https://neocities.org/](https://neocities.org/) . Free 5MB account to upload your raw HTML&CSS.

If you feel nostalgic, have a look at [https://districts.neocities.org/](https://districts.neocities.org/)

</comment><comment><USER25> My website is also not here unfortunately...

</comment><comment><USER26> This is awesome and brings back so many memories! Thanks a ton for doing this.

What methodology did you use to construct this backup?

As an aside, is there any chance whatever remnant of Yahoo still exists might have disks lying around from the Geocities days that weren't formatted? Do you think we could go about getting them?

<comment><AUTHOR> The sites are from the torrent and also from the archive team as well. I had to write some code that went through all sites and update the links. I also at the same time tried to just extract the html body and use that for indexing.... Yahoo! must still have the original sites. Surely they could just put them online as a "Read Only" version. They would have nothing to lose

<comment><USER26> > Yahoo! must still have the original sites.

Are you sure? It cost money to maintain hardware and infrastructure.

</comment></comment></comment><comment><USER6> One Terabyte of Kilobyte Age has been blogging about individual pages and trends across Geocities pages. [https://blog.geocities.institute/](https://blog.geocities.institute/)

</comment><comment><USER27> Oblig- the Internet Archive's gif search engine, GifCities:

[https://gifcities.org/](https://gifcities.org/)

</comment><comment><USER28> I'm getting runtime errors when searching, internal errors I as a user shouldn't be able to see outside of some sort of debug mode. FYI

<comment><AUTHOR> Yeah, our little project is getting quite a few hits at the moment - I may have to upgrade the hosting lol. Sorry for the inconvenience. I didn't really think anyone was that interested in Geocities anymore :D

</comment></comment><comment><USER29> I feel like oocities.org has way more archived (except my Final Fantasy page from 1998).

<comment><USER30> I wonder how many of us got our start editing html on geocities/angelfire/tripod to create yet another Final Fantasy fan site...

<comment><AUTHOR> I did, notepad and Netscape was where it was at..

</comment></comment></comment><comment><USER31> Malwarebytes is blocking that site.

<comment><AUTHOR> Hi, yes, I think this is because a few of the old Geocities sites had zip files which allowed you to open CD trays and other "kewl hacks" back in the day.

We have run malwarebytes over all the files and they are coming up clean.

[https://www.virustotal.com/gui/url/713c45d3ac7560847f48cc107...](https://www.virustotal.com/gui/url/713c45d3ac7560847f48cc1078b5c92d11f6b0d92d560e4a450471f344e4eb7f/detection)

<comment><USER31> Yeah! I clicked through anyway. It seems safe.

</comment></comment></comment><comment><USER32> there are many geocities backups but I have yet to see a backup of the hotbot.com pages

</comment><comment><USER33> Reocities disappeared?</comment>


No, there is not correct keyboard - <AUTHOR> After a long search and testing a lot from some considered as the best and much more, the point is here, no, nowadays, there is not correct keyboard. Simple, correct design, correct keystroke, silent and backlight that just not exist. <comment><USER2> Really? What exactly are you trying to say????

</comment><comment><USER3> Ok.</comment>


Social porn: why people are sharing their sex lives online  - <AUTHOR> http://www.theguardian.com/lifeandstyle/2014/mar/18/social-porn-sharing-sex-lives-online-porntube-pinsex-pornostagram-pornography <comment><USER2> Not surprising, as a society we value privacy less and less these days. I feel old when I remember back when society as a whole was afraid of what personal information was on the internet. Now we get mad when it can't be posted online fast enough.

<comment><USER3> There are three things at play here:

1\. Narcissism is no longer frowned upon — even some people's hate for others' narcissism becomes a venue for their own narcissism

2\. Social mores have relaxed in much of the world, so the bikini selfie on Instagram won't get you shunned from your community

3\. We're having an instinctive response the advance of technology that enables mass surveillance; since we can't hide from the cameras, we're going to ignore their presence there or subvert them for our benefit</comment></comment>


A class on dynamic equity splits for Co-Founders - <AUTHOR> http://www.snapclass.com/classes/slicing-pie-how-to-dynamically-split-equity

<comment><USER2> It's funny using your math ycombinator would be taking majority shares in the startups they fund instead of the 6%.</comment>


Unicode, Perl 6, and You - <AUTHOR> https://perl6advent.wordpress.com/2015/12/07/day-7-unicode-perl-6-and-you/ <comment><USER2> Perl has had decent Unicode support longer than most similar languages (years before Ruby and Python, for instance), but Perl 6 is just ridiculously good at it, and I hope other languages follow suit. I'm unaware of any other language that handles Unicode this well...am I missing any languages that do? I guess JavaScript is coming along on this front and ES6 includes support for Unicode regexps, which is progress, so maybe that's the closest mainstream language.

<comment><USER3> > _ES6 includes support for Unicode regexps_

Will it provide \X for example? (\X matches extended grapheme cluster.)

> _am I missing any languages that do?_

Swift is one notable example. It has built-in and simple enough grapheme handling.

<comment><USER2> I haven't looked at Swift, at all. I don't buy Apple products, so have no familiarity with their ecosystem. But, now that it's been opened up, I'll have a look at it, though it seems likely to remain predominantly a language for Apple products for the foreseeable future (I think?), so not something I'd find myself using in production any time soon. But, I guess we'll see how that shakes out over time now that it is open.

Given the rate at which JavaScript is converging on a really nice set of modern features and is having warts removed and performance is accelerating, I wonder if any other language is as relevant long-term.

</comment></comment></comment><comment><USER4> > Don't worry though, standard Perl 6 does not demand that you be able to type > Unicode. If you can't, there are so-called "Texas" variants:

I've always loved the "everything's bigger in Texas" joke implicit inthe "texas" variant on some operators.

> If you're interested in working within a particular normalization, there's > the self-explanatory types of NFC, NFD, NFKC, and NFKD.

That would probably be better with a "Well, it's self explanatory at the point you know you want to work in a particular normalization", since I only vaguely know what those are, and I've beenhearing about some of them for years. ;)

Great post though!

</comment><comment><USER5> >say "नि".codes; # returns 3

How is "नि" 3 codepoints? There is only two: न and ि . Could this be a bug?

<comment><AUTHOR> Not sure how to interpret this, are you suggesting the hindi नि should be two code points because when translated to English it is 'Ni'(two letters)?

<comment><USER5> I'm suggesting this string has two Unicode codepoints. I don't know anything about Hindi language or Devanagari script.

</comment></comment></comment><comment><USER6> I haven't finished reading through the whole post yet, but if Perl 6 works on graphemes, are ligatures considered to be only one character?

<comment><USER3> Yes. Bear in mind however that ligatures are in Unicode only for the backward compatibility.

      > 'ffl'.chars
      1

<comment><USER7> that's sure to ruffle some feathers.

(see what I did there)

<comment><USER8> Try highlighting substrings of that text -- my browser doesn't even know it's multiple characters. (Separate is the idea of a browser displaying ligatures, which already works. But that's because ligatures are a display issue and the source text must have non-ligature text in it.)</comment></comment></comment></comment>


Man attacks self-driving car in SF Mission - <AUTHOR> https://missionlocal.org/2018/01/man-attacks-self-driving-car-in-sf-mission/ <comment><USER2> This will be the start of many Human-Car crimes where the self-driving car is the victim. /s</comment>


Donald Trump's voicemails hacked by Anonymous - <AUTHOR> http://www.independent.co.uk/news/world/americas/us-elections/donald-trumps-voicemails-hacked-by-anonymous-a6913861.html <comment><USER2> What they found matches what Trump himself said:

 _"I gave to many people before this -- before two months ago I was a businessman. I give to everybody. When they call, I give. And you know what, when I need something from them two years later, three years later, I call them. They are there for me. That 's a broken system."_</comment>


Visions of our far future - <AUTHOR> http://www.nature.com/nature/journal/v454/n7205/full/454696b.html

<comment><USER2> Man usually has a tendency to overestimate technological advance in the short run and underestimate it in the long run. I think tha speculation about what will happen in a million is, at best, an interesting intellectual exercise.

<comment><USER3> Sorry I downvoted by accident. I wanted to say I agree completely. It's good to see someone else who reads Kurzweil.

<comment><USER2> No worries - that's what happens :-)

And yes, blatantly stolen from Kurzweil, I should have given credit where credit is due.

</comment></comment></comment><comment><USER4> It has to have happened already. The universe is too big; we need bigger telescopes.

</comment><comment><USER5> Requires a Nature login.

<comment><AUTHOR> I almost did not post it because of that but you can read most of the article without a login.

</comment></comment><comment><USER6> _The Victorians' discovery of deep geological time was unsettling._

To them. Eastern religions already had, and used, words to describe billion- and trillion-year time spans. For example, time spent in even the worst of Buddhism's narakas (hells) is not eternal, but is posited to stretch beyond 10^19 years. Somehow, 10^19 years of agony sounds more frightening than "eternal hell".

 _Only one author, Dougal Dixon, thinks it probable that humans will be extinct within a million years._

Unless humanity evolves dramatically, as a collective, the odds do not favor a million-year lifespan for the species. I don't envision a war or environmental disaster rendering the whole species extinct, but I could see one leading to a genetic bottleneck that opens the species up to disease. Also, fully modern humans are rather like the (now extinct) passenger pigeon in terms of being requiring a huge flock to survive.

Personally, I think there will be dramatic improvements in artificial intelligence, and I expect technological progress to continue throughout my entire lifetime, but I tend to doubt that we'll ever reach the Singularity. I think the greatest discovery-- disappointing from a Singularitarian's point of view-- of the 22nd century will be a strong evidential argument, as close as humanly possible to proof, that consciousness is, in part, nonphysical, ruling out the possibility of a full-on Singularity.</comment>


Family Tree DNA permits FBI to use genetic database to help violent crime - <AUTHOR> https://www.buzzfeednews.com/article/salvadorhernandez/family-tree-dna-fbi-investigative-genealogy-privacy <comment><USER2> It appears that they have done this both in violation of their Terms of Service and their Privacy Statement, as they failed to notify customers of the change in policy when they began working with the FBI. These terms previously stated two things: (1) no use by law enforcement and (2) we will notify you of major changes in advance, providing the opportunity to opt out. They changed the agreement well after the FBI began using their database (with their consent and facilitation and profit motive) and it may have only been changed with the publication of the BuzzFeed News story.

> Changes to Privacy Statement: We may choose to modify this Privacy Statement > at any time. We will provide advance notice of any material changes to this > Statement, such as sending you an email or posting a notice to allow you the > opportunity to survey the changes and decide whether to continue using our > Services.

I'm curious whether this is also in violation of the GDPR. Most genealogy and DNA related companies, including Family Tree DNA, undertook huge changes to comply with the GDPR back in early 2018, so it would be strange to have them suddenly placed themselves in non-compliance.</comment>


80 Hours a Week ... For What? - <AUTHOR> http://onwebapps.com/80-hours-a-week-for-what/ <comment><USER2> I can't say the 20-30 hours contracting he mentions at the end is the best option in the context of _entrepreneurship_ (all other things being equal it's really hard to complain about; definitely don't tell any of my friends I'm naysaying). I've been doing it for a while now. What you don't realize is that you can't turn off wanting to solve problems and build stuff well. So whatever you're stuck building is going to suck up your thoughts. As long as there are problems to be solved you'll find yourself working on them. I'm guessing more generally thats how people get hackers to work for 80 hours for (relatively) nothing.

</comment><comment><USER3> Useless. Extrinsic motivation will never get someone to work productively for 80 hours a week.

After somewhere around 30-ish it's gotta be intrinsic desire-to-make-thing- better, not 'ooh I get paid more'

<comment><AUTHOR> Yes, to work 80 I'd better damn near have a crapload of equity.

OR, it's gotta be a YouTube, Facebook, or some other really hot startup with tons of growth and potential. (not another also ran like a good chunk of Web 2.0 startups are becoming... sadly)

<comment><USER4> you must hate what you do...

<comment><AUTHOR> you mean now, or what i'd be doing in the 80 hours?

i'm a developer/entrepreneur. i don't hate what i a do; i love it.

i hate working for people who make it annoying/hard/painful to do the work they want me to do.</comment></comment></comment></comment>


Interneting Trees with Python and Pi - <AUTHOR> http://blog.mattbierner.com/of-interneting-trees-with-python-and-pi/ <comment><USER2> Blot.re is what? Something about colors and a social network for the internet of things?

His tree's site is empty, but it looks sort of like a Twitter for toasters.

<comment><USER3> Blot.re's landing page pretty much sums up...nothing. As far as I can tell, it's a way to have a status page much like twitter, but instead of posting a message, you post a color.

<comment><USER4> From reading the article it seems to me that it's not you, but your sensors that post the colour. So you specify the min/max range of your sensor values, a colour which is mapped to middle of that range and then the colour changes depending on the sensors current value.

</comment></comment></comment><comment> semi-extrinsic If it was made with an ESP8266 instead, the hardware cost would be $10 rather than $60, and it would be simpler to build.</comment>


"Resource Not Found: GroupKey" Randomly Appears - <AUTHOR> https://github.com/google/google-api-nodejs-client/issues/166 <comment><USER2> I run into this with Dito GAM[1] when handling groups/calendar access. I workaround by just making it try three times. It always succeeds on the second try.

1\. [https://github.com/jay0lee/GAM](https://github.com/jay0lee/GAM)

<comment><AUTHOR> Thanks a lot! Looks like the current best solution. (That GAM project looks really good, we are using "raw" Google APIs)

</comment></comment><comment><AUTHOR> Related: GCDS error messages

[https://support.google.com/a/answer/3011361?hl=en](https://support.google.com/a/answer/3011361?hl=en)

</comment><comment><USER3> Having run into similar issue to this in the past, this is most likely caused by caching of group data by the backend servers, possibly coupled with multiple servers answering queries.

</comment><comment><USER4> Why is this posted here?</comment>


Show HN: CoinTracker (YC W18) on iOS and Android - <AUTHOR> https://itunes.apple.com/us/app/cointracker-crypto-portfolio/id1401499763 <comment><AUTHOR> Hi — we're Chandan and Jon, co-founders of CoinTracker ([https://cointracker.io](https://cointracker.io)). CoinTracker is a cryptocurrency portfolio manager that automatically pulls balances and transactions from top exchanges and wallets, and delivers tax information to users.

About five months ago we launched CoinTracker web on Hacker News ([https://news.ycombinator.com/item?id=16386419](https://news.ycombinator.com/item?id=16386419)). We really appreciated all the kind words and have been hard at work trying to improve with the features you requested. The top request was to bring CoinTracker to iOS & Android, so we're excited to announce our mobile apps are now live:

Android: [https://play.google.com/store/apps/details?id=io.cointracker...](https://play.google.com/store/apps/details?id=io.cointracker.android)

iOS: [https://itunes.apple.com/us/app/cointracker-crypto- portfolio...](https://itunes.apple.com/us/app/cointracker-crypto- portfolio/id1401499763)

We would love to get your feedback on the apps and on how we could further improve CoinTracker for you.

</comment><comment><USER2> There's no actual price charts, is there? Just the current price? What markets are you using to source the information from?

<comment><AUTHOR> We are working on adding price charts; thanks for the feedback!

The data is sourced from a number of sources including multiple exchanges that we integrate with.</comment></comment>


RMS at TEDx: Introduction to Free Software and the Liberation of Cyberspace - <AUTHOR> https://www.fsf.org/blogs/rms/20140407-geneva-tedx-talk-free-software-free-society?pk_campaign=RMSTEDx&pk_kwd=email

<comment><USER2> If I didn't already know about free software I'd find this talk baffling. I thought TED talks were supposed to be inspiring?

<comment><AUTHOR> You think? I suppose it's interesting to hear an opposing viewpoint, because it seemed like a good introduction to someone who doesn't know. What did you think would be confusing to the general public?

What about this interview instead?

[https://www.youtube.com/watch?v=SUJtMlEwd6Q&t=1m15s](https://www.youtube.com/watch?v=SUJtMlEwd6Q&t=1m15s)

<comment><USER2> I think there is too much information crammed into a very short talk, so it makes fairly large leaps of logic at some points and makes weird claims about "universal back doors" etc. It's not made clear exactly what proprietary software even is. It all sounds very pessimistic and doesn't offer much advice beyond telling people to throw away all their proprietary software.

It might be better to explain examples of free software that people may already be using, or things that they might want to use. Perhaps show examples of why for example free access to source code allows poor schools in africa to customise software to their needs etc.</comment></comment></comment>


Study: GM corn causes organ failure in mice - <AUTHOR> http://www.biolsci.org/v05p0706.htm#headingA11 <comment><USER3> Even if this is true, the way it's written qualifies it as (not necessarily deliberate) scaremongering, as it identifies the commonality between the experimental varieties of corn as being that they were genetically modified, rather than that they were genetically modified to produce pesticides. The latter could plausibly have such a uniform effect, whereas the former could not. They need to be precise and say what they mean.

<comment><USER4> The real results are the meta-results: that such a small and narrow study is all we have in the way of research into the possible effects of GM foods.

<comment><USER5> This is far from the only study that's been done on the matter:

[http://en.wikipedia.org/wiki/Genetically_modified_food_contr...](http://en.wikipedia.org/wiki/Genetically_modified_food_controversies#Present_knowledge_on_GM_food_safety)

"However, an article in 2007 by Vain found 692 research studies focusing on GM crop and food safety and identified a strong increase in the publication of such articles in recent years"

Though the veracity (and funding sources) of said studies is a different matter entirely.

</comment></comment></comment><comment><USER6> This probably has to be one of the least-controlled experiments I've ever seen published! It did the experiments at different labs with different non-GM feeds with what was likely different strains of mice. Also, sample sizes were rather small...

There's a chance that there are effects. However, this study proves nothing.

<comment><USER7> Hey Monsanto rep, how's it hanging? Glad you could create your new account an hour ago and post a single time using it.

<comment><USER8> Wow, at least try to argue the points he puts forward, or go back to Youtube to post comment.

<comment><USER9> I agree that the comment wasn't helpful but it is somewhat suspicious that an account was created just to refute this study.

</comment></comment></comment></comment><comment><USER10> This study has been debunked. It was paid for by an environmentalist group and the people behind the study used a faulty methodology to get the results that they wanted.

<comment><USER11> Citation?

<comment><USER12> Here is Monsanto's response to a more recent paper by the same authors:

"The authors present no new information, raise no new issues, and reiterate theoretical concerns that already have been dismissed by experts and regulatory authorities around the world."

[http://www.monsanto.com/newsviews/Pages/IJBS-GMO-health- risk...](http://www.monsanto.com/newsviews/Pages/IJBS-GMO-health-risk-article- not-backed-by-data.aspx)

<comment><USER13> That is what you'd expect from the company who produces GM corn. Any third- party non-partial analyses of papers by those same authors?

<comment><USER14> Sorry, accidental downvote (big thumb, small screen).

I'd like to add that, partiality aside, the Monsanto's argument is fallatious and unconvincing (appeal to authority). Give me data from independent, properly designed studies, not the mere opinion of experts.

<comment><USER15> Consider a set of politicized disciplines, S1, S2, .. Sn (e.g. climate science, GM foods research). Let P1, P2.. Pn be proponents of prevailing theory in respective discipline, and D1, D2, ...Dn be their detractors.

Define _coherence_ K as cardinality of (P1 & P2 &... &Pn) | (D1 & D2 &...&Dn).

Varjag's conjecture: as n approaches infinity, K asymptotically approaches zero. Therefore if true, the argument from authority is rendered relevant.

(the proof is left as an exercise to a reader)

<comment><USER14> I'm not sure I follow you.

P_i and D_i are sets of proponenents/detractors for discipline S_i, right?

I so, I assume that the & and | boolean operators you use are substitutes for set union and intersection, respectively.

Assuming that the opinions on the various topics are independent, I would rather see K tend to

        \sum |P_i| == \sum |D_i|

What am I missing?

___

Also, for my previous post:

        s/(appeal to authority)/(appeal to potentially corrupt authority)/

<comment><USER15> The point was: people are incoherent in their dismissal of argument from authority. E.g. many (most?) in anti-GM movement also acknowledge anthropogenic global warming as true, obviously having no issue with IPCC authority on it.

Given enough controversial subjects people care for, no one is going to be knowledgeable in all of them. But people invoke "arguing from authority is a fallacy" only when they are not sided with the said authority.

<comment><USER16> >The point was: people are incoherent in their dismissal of argument from authority. E.g. many (most?) in anti-GM movement also acknowledge anthropogenic global warming as true, obviously having no issue with IPCC authority on it.

This is just using an ad hominem to attack people who cite the argument from authority fallacy. Science is also based on careful examination of empirical evidence, not unsubstantiated pronouncements by authority figures.

<comment><USER15> Oh, if only it was that easy!

Consider how long it took to get rid of phlogiston theory in physics, even when falsified by experiments. The physicists of the day were careful and rigorous, honest scientists, and their opponents did not have (initially) any alternative theory to replace it with.

And perhaps we are giving too much credit to most people involved in public debates for examination of empirical evidence. I can say honestly that I tried to read the whole IPCC report, but got barely 1/4th in (it is incredibly thick and dense with facts). Very few of my peers though even glanced as the cover, yet their opinions on it are not any less strong.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> We are doomed because big business is protected by politicians on both sides.

It's too late now and it will never be banned.

And why the heck does the USA continue to do welfare for the corn industry which is massively profitable.

<comment><USER18> Corn is an Iowa thing; Iowa has the first Presidential caucus in the nation: U.S. Presidents are beholden to corn.

Bear in mind, this is a gross over-simplification of the core problem (e.g. Archer-Daniels-Midland seems to have an amazingly powerful set of lobbyists), but it should still give you a sense of what's what.

Setting aside native sons (Tom Harkin 1992; plus, Clinton's 'bimbo eruptions' didn't help), you have to go all the way back to 1988 to find a Presidential candidate who won without carrying Iowa.

<comment><USER19> The wasteful corn ethanol subsidy is another example of American agri- corporatism.

</comment></comment></comment><comment><USER20> Study from 2009. I wonder why I haven't heard much about this.

<comment><USER21> Either because it was debunked or because corn farmers have a large lobby/subsidies/etc. Take your pick, though the first theory is probably easier to prove that the second one.

<comment><USER22> You can see studies which cite that study (which would include debunkings) by doing a google scholar search: [http://scholar.google.com/scholar?cites=3661119272352849363&...](http://scholar.google.com/scholar?cites=3661119272352849363&as_sdt=5,44&sciodt=0,44&hl=en)

One of the those studies has this to say about the study linked by the OP: "Weaknesses in the statistical methods used for reanalysis (see Doull et al. . .) " [1].

That paper also has a nice summary of other studies on GM foods.

[1] G. Flachowsky and C. Wenk, The role of animal feeding trials for the nutritionaland safety assessment of feeds from genetically modified plants – Present stage and future challenges, Journal of Animal and Feed Sciences, 19, 2010, 149–170

</comment></comment></comment><comment><USER23> Similar results described here: [http://www.democracynow.org/2010/12/23/wikileaks_cables_reve...](http://www.democracynow.org/2010/12/23/wikileaks_cables_reveal_us_sought_to) at 18:10

British scientist (GMO advocate) that was payed by gov to figure out how to test for safety at GMO foods. He discovered that generic process (not the insecticide) of GM was probably the reason for smaller brains, livers and testicles..

</comment><comment><USER24> There is a clearer evidence of GM-soya hazardousness.

[http://www.mindfully.org/GE/2005/Modified-Soya- Rats10oct05.h...](http://www.mindfully.org/GE/2005/Modified-Soya- Rats10oct05.htm)

Similar to this case, it is also probably caused by RoundUp herbicide, rather that GM itself, but anyway numbers are dreadful.

</comment><comment><USER25> "The scientists concluded that orally administering one kilogram of the corn into the mice was fatal in 100% of cases"

<comment><USER26> Still, this was nothing compared to the results from the _alternate administration_ groups.

</comment></comment><comment><USER27> The paper itself says it can't separate out the effects of the pesticides on the corn (or produced by the corn) and the GMness of the corn itself - <USER2> think greenpeace would fake a paper this inconclusive?

(That said, I have no special knowledge of the concept or this field.)

<comment><USER7> How is that inconclusive?

</comment></comment><comment><USER28> Rats- not mice. Huge difference</comment>


Ask HN: why shouldn't browsers come embedded with font-awesome like icons? - <AUTHOR>

I have been thinking why should not browsers give some icons  which can be used just like we use css styling properties. may be like,
.somediv{ font-icon:"icon-facebook"; } It would be just too good for developers not to worry during development. We can avoid loading extra scripts and stylesheets just for this. Just a thought and would like to hear comments on this. <comment><USER2> Because that's not the browser job.

Facebook, Twitter maybe are de-facto standards for some stuff, but by no means we should mark, use them as is it. Let people use what they want. If you want fonts with symbols, you get system ones.

@font-face will be the answer and the real freedom.

</comment><comment><USER3> They kind of do [https://en.wikibooks.org/wiki/Unicode/List_of_useful_symbols](https://en.wikibooks.org/wiki/Unicode/List_of_useful_symbols)</comment>


Catch the London underground with Google - <AUTHOR> http://google-latlong.blogspot.com/2011/07/catch-london-underground-with-google.html

<comment><USER2> The Transit Navigation android app is a welcome addition, but I wish these types of android apps would work without constant need for data connection (i.e. would cache results and work offline once route downloaded) as nothing is worse than taking an underground train and losing all route information due to loss of signal. On a side-note "Pubtran London" is another good (and free) android app for London travel which also takes into account route/line closures and can also find National Rail train times/route info (for entire UK) from within same tool.

<comment><USER3> Google Maps has an experimental feature for downloading map information. I don't think it currently includes transit yet but I'm sure it will in the future.

[http://googlemobile.blogspot.com/2011/07/download-map- area-a...](http://googlemobile.blogspot.com/2011/07/download-map-area-added- to-labs-in.html)

For cities that provide the information to Google, Maps includes realtime delays and closures.

[http://googlemobile.blogspot.com/2011/06/know-when-your- bus-...](http://googlemobile.blogspot.com/2011/06/know-when-your-bus-is-late- with-live.html)

</comment></comment><comment><USER4> Looks very nice, but doesn't take into account tube status. This is especially important on weekends where lots of closures occur due to engineering works. Hopefully it will soon, otherwise the TfL site is the still the best bet if you already have an idea of where you're going and just want to take a quick look to see if anything will affect your journey.

</comment><comment><USER5> Excellent. Now maybe we can start putting pressure on these bastards:

[http://www.wired.co.uk/news/archive/2010-11/03/railtrack- ope...](http://www.wired.co.uk/news/archive/2010-11/03/railtrack-open-data- apps)

[http://mocko.org.uk/b/2011/01/08/open-uk-rail-data-media- cov...](http://mocko.org.uk/b/2011/01/08/open-uk-rail-data-media-coverage- broken-appeals-process/)

Apologies for the bile the situation regarding access to UK Rail Network data gets me really irritated.

<comment><AUTHOR> Network rail arn't a touch on TFL.

..In terms of crappiness.

<comment><USER6> I could be wrong, but I suspect the reason Londoners think that is just because they use it so regularly. If you're catching 2+ TFL tubes a day, and national services maybe a few times a year, maybe even a couple of times a week, if they both have pretty similar success rates then TFL will feel much worse, because it will get so many more bad memories.

I probably go to London at least ten times a month (either for a day or just for an evening), and have slightly more network rail trips a month (all my trips to london are an hour away by train), and in my experience I have much more trust for TFL.

<comment><USER7> This sort of perception is what makes one think that train services in other countries are always better than in your own backyard. The truth is that, in Europe, the average level of railway service is more or less the same everywhere these days; the exception is recent high-speed technology, which is only available in a handful of countries ( <http://en.wikipedia.org/wiki/High- speed_rail_in_Europe> ).

<comment><USER6> Yep, and in other (non-travel) areas as well - grass is greener and all that.

</comment></comment></comment></comment></comment><comment><USER8> This is great - I rarely use buses because it's just too much of a headache trying to determine how far I need to walk to get one, when the next one is, and how far I need to walk at the other end - then trying to compare mutliple options against those criteria! In central London I just grab the Tube because it's an easier decision - the visual element of this makes buses far easier to assess as an option.

<comment><USER9> It's worth investing the time to familiarize yourself with London's bus network. I'm a big fan of the "spider maps" they introduced a few years ago. They're kind of like mini tube-style maps for each neighbourhood:

[http://www.tfl.gov.uk/tfl/gettingaround/maps/buses/busdiagra...](http://www.tfl.gov.uk/tfl/gettingaround/maps/buses/busdiagrams.asp?borough=WES)

</comment></comment><comment><USER10> How is this only just happening? I live in Adelaide, Australia (1.2 million approx) with some of the worst public transport I've experienced in the developed world and we've had Google Maps with public transport integration for years.

Incidentally, there was a cool iPhone app called TubeMap that made travelling on the tube a breeze when I was there last which included service downtimes which are apparently quite common, worked fine offline and was pretty fully featured in all ways you could want. However, the Tube is only a small part of the public transport for greater London.

<comment><USER11> Because bureaucracies are slow, and it's taken this time for London to release up-to-date and machine readable data.

<comment><USER10> That's the easy and somewhat circular answer. I'd be curious to know what rationale the service had for not integrating with Google Maps or vice versa. Cost is the only legitimate one that comes to mind - I can't imagine concerns about open data were a massive issue given that third parties have been using and providing a subset of the same data for some time.

<comment><USER12> Google didn't want more transit partners for a long time: the sign-up page just said "check back later".

I think they are very concerned that the data feed will be bad or unreliable, and that they will be providing bad directions. I know in NYC, the schedule and such for subways is generally simple, but has crazy exception rules every weekend for maintenance.

</comment></comment></comment></comment><comment><USER13> Great to see but it didn't work that great for the couple of searches I tried. For London Bridge to Marylebone it confused London Bridge with Tower Bridge, much like Robert McCulloch ;)

<comment><USER10> I wouldn't be too hard on them - any sentient AI would probably make the same mistake on a first pass given how widespread the confusion is. For instance do a Google Image search on London Bridge.

</comment></comment><comment><USER14> This is worlds better than TfL's route planner. However, it seems to be confused about where King's Cross/St. Pancras is located.

Moreover appears prone to suggesting some peculiar routes: <http://bit.ly/qNyvHb>

<comment><USER15> That's not very peculiar though, is it? A short walk and a single direct bus.

On the weekend I prefer to catch buses over the underground (no pun intended) even if it takes a bit longer.

I'm not in a rush and I enjoy the scenery (the front top seat of a double deck bus is a very cheap VIP way to tour London).

I'd probably use that route.

</comment></comment><comment><USER16> When I was in London recently, I used the London Transport iPhone app for getting around:

[http://itunes.apple.com/gb/app/london- transport/id393119892?...](http://itunes.apple.com/gb/app/london- transport/id393119892?mt=8)

It was a little quirky (the bus arrival times seemed to be off a bit), but overall quite nice. It includes all forms of transport (bus, tube, DLR, ferry, and even Boris's bikes), lets your limit your travel options to just certain types (e.g., "I only want to see bus routes right now"), and has nice heuristics like whether you prefer to walk, how fast a walker you are, etc.

</comment><comment><USER17> I used it a few times here in São Paulo / Brazil to catch a bus and it worked like a charm, but I would love some offline caching of routes since the 3G sinal here is terrible and expensive.

</comment><comment><USER18> Doesn't seem to have London Overground ([http://maps.google.co.uk/maps?saddr=canonbury&daddr=west...](http://maps.google.co.uk/maps?saddr=canonbury&daddr=west+croydon&hl=en&sll=51.394465,-0.146805&sspn=0.08965,0.154324&mra=ls&dirflg=r&ttype=dep&date=28%2F07%2F11&time=12:52&noexp=0&noal=0&sort=def&z=12&start=0)) though it does have Tramlink.

</comment><comment><USER6> Really awesome to see, I appreciate it so much whenever I'm in NYC or LA, good to finally have it over here too.

</comment><comment><USER19> All I can say is finally! It shouldn't have taken this long but will be very welcome by everyone.</comment>


Woopra live analytics 188.8.131.52 released and more invites sent - <AUTHOR> http://www.woopra.com/blog/2008/04/26/woopra-beta-1110-released/ <comment><AUTHOR> I have to say I'm sold so far, which is why I'm posting this. This really feels like the way things should be for traffic monitoring.

I'm trying this out on <http://bug.gd> at the moment, as they increased beta allowance at the same time as this release.

It makes me feel like the site is a lot more like a high-traffic BBS. You get to see live what features people are bouncing around and the "Sysop chat" tool is really interesting. I think the biggest risk is that people will think that the site owner isn't really there and it's one of those fake "Speak to a sales rep now!" popups.

But I have to say, woopra is impressive-looking and very fast (in this build at least).

</comment><comment><USER2> i've signed up for them since last month and until now, the website is in pending status.

<comment><USER3> It's been a couple of months for me.

<comment><USER2> Just after this post, my site got approved.</comment></comment></comment>


How to find a co-founder online (a success story) - <AUTHOR> http://blog.buildv1.com/article/21/how-to-find-a-co-founder-a-success-story <comment><USER2> This is a really good article. It reminds me of when I was starting up my real estate business. For real estate transactions, there are a ridiculous amount of moving parts. For real estate investors that are testing all boundaries of how transactions are done, you really need an experienced, knowledgeable team to help guide you through everything.

I churned through 6 title companies, 10 different real estate agents, more than 15 different private investors and more contractors than I care to remember in a 3 year period before I formed a great, reliable team.

You won't really know how good a co-founder is until you "try him out." The best point about this article is to establish a steady supply of talented, entrepreneurial people and keep trying out co-founders (or replace whatever position you need) until you find a great match.</comment>


How a random bug in Deep Blue may ultimately have led to Kasparov's defeat - <AUTHOR> http://www.washingtonpost.com/blogs/ezra-klein/wp/2012/09/26/nate-silvers-the-signal-and-the-noise/ <comment><USER2> From the article:

      Kasparov had concluded that the counterintuitive play must
      be a sign of superior intelligence. He had never considered
      that it was simply a bug.

Does anyone know the source for that? Game 2 was definitely pivotal, but I couldn't find any reference to indicate that he gave up because of the random move in Game 1.

Regarding Game 2, from [http://www.washingtonpost.com/wp- srv/tech/analysis/kasparov/...](http://www.washingtonpost.com/wp- srv/tech/analysis/kasparov/kasparov.htm)

      In that game, Deep Blue made a series of brilliant moves
      but then failed to anticipate one Kasparov could have made
      -- but didn't -- to force a tie. Kasparov, who didn't
      notice the possible move until it was pointed out to him
      after the game, said: "I still don't understand how the
      machine couldn't see that."

<comment><USER3> I read an article years back and I think it was in the Wall Street Journal. My understanding was that an unexpected grandmaster-level move at a point where Kasparov was expecting to see a different move occurred.

Kasparov suspected user intervention. Unfortunately the event was sponsored by IBM, so ther was potential for a conflict of interest.

He requested to see the source code and the game logs which was denied by IBM. IBM also disassembled the computer immediately after the match to re-purpose the computer for protein folding.

I think this book is rewriting history. Kasparov was devastated.

<comment> T-hawk I remember that incident as well; it was the next game after the random rook move and Kasparov was already unsettled about the computer's capabilities. By my memory, it went like this:

In a complicated midgame, Kasparov moved a pawn to a square under attack. He intended to sacrifice it for positional gain, opening up his attack lines and compromising the opponent's defensive structure. Kasparov expected that a computational chess engine would seize the calculable material gain and not see the deeper positional subtleties. (Deep Blue 'only' searched ahead about 10 to 15 moves, not nearly as deep as today's computers.) Deep Blue did in fact decline the pawn sacrifice, causing Kasparov to accuse IBM of intervention, that only a human grandmaster would see the response.

This Wikipedia article mentions Kasparov setting a trap that the computer did not fall for, but it doesn't mention the details. [http://en.wikipedia.org/wiki/Game_Over:_Kasparov_and_the_Mac...](http://en.wikipedia.org/wiki/Game_Over:_Kasparov_and_the_Machine)

It happened in game 2 of the 1997 match, the moves of which are recorded here. I haven't got the time at the moment to find the position in the game but perhaps someone can. <http://en.wikipedia.org/wiki/Deep_Blue_versus_Garry_Kasparov>

<comment><USER4> It was a little different from what you recall. 37. Be4 (instead of 37. Qb6) is the move that really made Garry suspect human intervention. Be4 is a much more positional move than Qb6.

</comment></comment></comment></comment><comment><USER5> This story reminds me of an episode of the American TV show "Cheers", where the bar tender (Sam) was playing against an experienced player. However, since he wan't good at chess, he was cheating by having a computer play his moves, and having someone in another room give him directions over an earpiece. Inevitably, the computer crashed (or the earpiece failed, can't remember which), so he made a random move. This threw off his opponent, who over- analysed the situation, and ended up losing.

Now I'm wondering, which happened first -- that TV show episode, or the Kasparov game?

<comment><USER6> Cheers ended in 1993. The first Kasparov v. Deep Blue match was in 1996.

</comment></comment><comment><USER7> As learned in CLRS ... when you're stuck, randomize. That turned out to be a great solution in way more problems than I had anticipated.

<comment><USER8> Making a choice (any choice) is often better than making no choice at all, although not choosing at all is itself an often _overlooked_ valid choice (" _A strange game. The only winning move is not to play_ "). There's an oxymoronic french expression reflecting that often overlooked possibility, especially in dire situations: "Il est urgent d'attendre" which could be translated as "it is most pressing to wait".

<comment><USER9> There's also the phrase by Dr. Linda A. Lewis: "Don't just do something, stand there!" to exhort careful consideration even in face of a crisis.

</comment></comment></comment><comment><USER10> Man, Kasparov has been salty about that loss for decades. This is probably the tenth article I've read about it. An interesting new theory though.

</comment><comment><USER11> This reminds me of when veteran professional poker players play complete novices. They often say that beating a brand new player is harder than beating a mediocre player, since a novice player will do things that make no sense seemingly randomly.

<comment><USER12> Or they try to do things that work in their "normal" games: bet sizing, giving off false tells, etc. that just go right over the head of the novice player.

There's a quote from probably Doyle Brunson or Amarillo Slim along the lines of "It's like trying to show a dog a magic trick"

</comment></comment><comment><USER13> Amazon seems to have two different Kindle editions of this, with different prices:

1\. For $19.54 you get this: [http://www.amazon.com/The-Signal-Noise- Predictions-ebook/dp/...](http://www.amazon.com/The-Signal-Noise-Predictions- ebook/dp/B007V65R54/ref=sr_1_1?s=digital- text&ie=UTF8&qid=1348729749&sr=1-1&keywords=the+signal+and+the+noise) (The Penguin Press)

2\. And for $13.79, you get this: [http://www.amazon.com/The-Signal-Noise- Prediction-ebook/dp/B...](http://www.amazon.com/The-Signal-Noise-Prediction- ebook/dp/B0097JYVAU/ref=sr_1_1?s=digital-text&ie=UTF8&qid=1348729820&sr=1-1) (Allen Lane)

I have no idea if there is any difference in the editions besides the price. Page numbers differs but that means nothing

EDIT: grammar.

<comment><USER14> When I follow your links I see the Penguin edition for $14.99 and the other edition "not available".

<comment><USER13> Might be an Amazon territory thing, then. I'm in Europe.

<comment><USER15> I'm in the UK and I get "pricing information unavailable) for both of them.

EDIT: Using UK amazon I get this ([http://www.amazon.co.uk/The-Signal-Noise- Prediction-ebook/dp...](http://www.amazon.co.uk/The-Signal-Noise-Prediction- ebook/dp/B0097JYVAU/ref=sr_1_1?s=digital-text&ie=UTF8&qid=1348738888&sr=1-1)) which shows £14.99 for me.

This is what pisses me off about ebooks. I understand that they can't be dirt cheap because you still need editors and proofreaders and setters and authors, and all those people need paying, but $15 = £9. (£15 = $24).

Amazon UK charges a 20% sales tax (VAT) for UK ebooks. (I have no idea if Amazon actually pay their tax or if they're the type of company using vigorous avoidance schemes.)

<comment><USER16> _I have no idea if Amazon actually pay their tax or if they're the type of company using vigorous avoidance schemes._

My understanding is that for eBooks and other digital downloads, they do. They get around VAT for DVDs and similar items by subbing out to companies on the Channel Islands, which are not in the EU VAT zone, and shipments below a certain value are not subject to import VAT. This is why if you buy 10 DVDs on Amazon, you get 10 distinct shipments and invoices (and your bank might block your credit card because of 10 separate transactions happening simultaneously… I speak from experience).

As far as I know, it would be highly illegal for them to charge VAT and not actually pass it on to HMRC.

</comment></comment></comment></comment></comment><comment><USER17> The game itself, replayable online: <http://www.chessgames.com/perl/chessgame?gid=1070912>

</comment><comment><USER18> There's an idea that richard garfield likes to bring up, which is that if a player plays random moves, they have a chance (a very small chance) of beating a grandmaster.

I wonder what would happen if you interjected very occasional random moves on purpose to extremely advanced chess AI. How often would it make a top player second guess themselves?

<comment><USER19> Essentially never, if the top player knew it was a possibility.

</comment></comment><comment><USER20> > Kasparov had concluded that the counterintuitive play must be a sign of > superior intelligence. He had never considered that it was simply a bug.

I think this says quite a bit about chess as a game.

That a top player can't recognize a bad move near the final stage of the game.

In contrast, the game of Go is rich with examples where one player makes a bad move and the opponent takes advantage of it; and I'm talking about top players; not amateurs.

Following the opponent and/or always responding to his moves is considered a typical sign of a weak player. One of the things you learn as you get better is to never assume that the last move of your opponent is necessarily a good move.

Imagining that your opponent has a threat you haven't yet figured out is one of the bad habits that weak players must get rid of before they can become stronger.

<comment><USER21> I'm not aware of the move in question, but you are overinterpreting wildly. Of course top chess players recognize obviously bad moves.

In this case though Kasparov was trying to defeat Deep Blue with an anti- computer style, he had a particular model in mind for how the computer would play and when it didnt, he thought it meant that the computer was more far- sighted than it actually was.

<comment><USER20> > Of course top chess players recognize obviously bad moves.

I'm not talking about obviously bad moves.

I'm not trying to imply that Kasparov is a bad player either.

But _why_ did he conclude the computer has seen a very complicated sequence that Kasparov himself can't even begin to see?

It's because of the nature of the game.

Remember, we're talking about a completely random move here ..

<comment><USER22> _But why did he conclude the computer has seen a very complicated sequence that Kasparov himself can't even begin to see?_

The reason is rather obvious, IMO. Kasparov assumed, with good reason, that a computer is not likely to make tactical mistake. Especially in an end game the computer can see x moves deep perfectly. Computers historically are far weaker strategically -- doing things like creating good pawn structures.

So when Kasparov saw a move that appeared to be a tactical flaw his first belief wasn't, "Oh, must be a bug in the program, that was a random move." He thought, "There's an attack vector here I'm not familiar with."

It would be like sitting with John Carmack in a coding session and suddenly he deletes a function that seems like it would be useful to you. Your first thought would be, "Oh, John must have realized this function isn't useful. He's smarter than me. I just don't know the whole story." You likely won't think, "Must be a bug in John's brain that on occassion he will randomly delete a function."

<comment><USER23> The imagery of pair programming with Carmack was just too rich. Thank you for the laughs, mate.

</comment></comment></comment></comment></comment><comment><USER24> So we can add this to the incredibly small list of "it's not a _bug_ it's a _feature_ " where it's actually true.

</comment><comment><USER25> I just sent a LinkedIn InMail to Kasparov (0 connections on LinkedIn) trying to gain attention of this thread.

</comment><comment><USER26> "Kasparov had concluded that the counterintuitive play must be a sign of superior intelligence."

and that is how we humans come undone: we worry too much.

<comment><USER27> Except that this exact situation had happened in earlier games - see cube13's link: <https://news.ycombinator.com/item?id=4583135>

</comment></comment><comment><USER28> 44...Rd1 <http://www.youtube.com/watch?v=8guNB96rVgw> See 3:10. Deep Blue resigned at move 45.

</comment><comment><USER29> Kindle version: [http://www.amazon.com/gp/product/B007V65R54/ref=as_li_ss_tl?...](http://www.amazon.com/gp/product/B007V65R54/ref=as_li_ss_tl?ie=UTF8&camp=1789&tag=asdfdsa-20&creative=390957&creativeASIN=B007V65R54&linkCode=as2)</comment>


Understanding Git for real by exploring the .git directory - <AUTHOR> https://medium.com/@pierreda/understanding-git-for-real-by-exploring-the-git-directory-1e079c15b807#.pxkhiceli <comment><USER2> I worked with someone whose approach was very interesting: he committed the .git directory of a newly initialized repo to a separate, newly initialized repo. And then watched what changed when he added a file, changed things, branched, etc, in the committed .git directory.

It's always seemed worthwhile to me to dig into git's model more, but if you're already comfortable and productive with stuff like detached head/rebasing/basic workflows, it's hard to justify when you're already trying to find time to learn new languages, frameworks and devops tools ...

<comment><USER3> for about six months my git workflow was this:

git add -A

git commit -am "fixed some stuff"

but I've finally found some time to start digging into how to really use it.

The issue I have with it is that if you step outside the basics it's so easy to get yourself into a thorn bush and the way that git is explained most places is really not intuitive at all.

<comment><USER4> Ah yes, the "subversion" method of using git.

...

I also do this. :|

<comment><USER5> Also the method that gets logging, debuggers and temp files committed by accident.

<comment><USER6> Or authentication tokens. How many ssh keys or database passwords have been lost like this?

</comment></comment></comment></comment></comment><comment><USER7> The most enlightening introduction to git internal model (graph of commits) and how the main commands alter it I have read so far: [https://jwiegley.github.io/git-from-the-bottom- up/](https://jwiegley.github.io/git-from-the-bottom-up/)

I think it is slightly more relevant to understand the model than the .git/ structure since the .git/ folder is just an implementation detail.

<comment><USER8> Could someone please post a link to a PDF version of this article?

<comment><USER9> For offline use? But git is a dvcs... ahem, anyhow, wkhtmltopdf[1] is a reasonable choice for converting arbitary urls to pdfs, and can be installed via apt, homebrew cask etc.

[1] [http://wkhtmltopdf.org/](http://wkhtmltopdf.org/)

</comment></comment></comment><comment><USER10> Obligatory link to Charles Duan's most excellent git tutorial:

> you can only really use Git if you understand how Git works. Merely > memorizing which commands you should run at what times will work in the > short run, but it's only a matter of time before you get stuck or, worse, > break something.

[http://www.sbf5.com/~cduan/technical/git/](http://www.sbf5.com/~cduan/technical/git/)

Somehow I do not see this mentioned often despite it is, in my opinion, hands down the best tutorial for git. Not too short, not too long, not too simplifying, not too complicated. Just right.

<comment><USER8> Is this article available as a PDF document?

</comment></comment><comment><USER11> The article claims to be aimed a beginners: "There are a lot of posts out there about learning the basic commands of git, this is not one of them. What I'm going to try here is a different approach."

The article rings a lot of bells because I actually do understand how Git works. I'm not so sure it is understandable by someone who is new to git.

The second sentence of the actual tutorial part: "When you create a git repo, using git init". I'm sorry, what is a repository? Some sentences later: "Here is what's your .git will look like before your first commit:". What is a commit exactly?

I once read another tutorial, which I can't find now. It reads as a story of a group of people exchanging files and in order to avoid administrative mess, eventually end up inventing the core of git, because it solves their problems. I think that tutorial is much better for explaining the concepts of git to beginners.

Edit: I think this is the tutorial i mentioned: [http://tom.preston- werner.com/2009/05/19/the-git-parable.htm...](http://tom.preston- werner.com/2009/05/19/the-git-parable.html)

<comment><USER12> One can be new to git but familiar with i.e. SVN or with VCS theory in general. Sometimes I really do hate it when I'm trying to learn how to use a new tool and every beginner's tutorial starts with explaining how computers work or with some story that is somewhat relevant.

</comment></comment><comment><USER13> I saw this posted a couple years ago, but it was a great guide to starting out with git: [http://pcottle.github.io/learnGitBranching/](http://pcottle.github.io/learnGitBranching/)

<comment><USER14> I just have to say, I've gone through that guide and it was great. It really helped me understand the refs (branching) model.

It was a couple of years ago, so it may be even better now.

Thanks for posting it. I always had a really hard time trying to track down the link.

</comment></comment><comment><USER15> I feel this one is more well-written and complete:

[https://codewords.recurse.com/issues/two/git-from-the- inside...](https://codewords.recurse.com/issues/two/git-from-the-inside-out)

<comment><USER16> That and The Git Parable ([http://tom.preston-werner.com/2009/05/19/the-git- parable.htm...](http://tom.preston-werner.com/2009/05/19/the-git- parable.html)) gave me a wonderful understanding of Git.

</comment></comment><comment><USER17> I've been using git at work for a couple of years and I haven't spent very much time thinking about the internals at all. It just seems to work pretty much, though sometimes I get into a weird state and just delete and redownload.

<comment><USER18> That's the thing, there is almost no reason to ever have to delete and redownload. Moreover, the reason that git is dominant is (network effects, and) because it is solving the right problem with the right internal abstractions. It has even managed to become popular in spite of its user interface.

<comment><USER19> There _is_ a reason to re-clone. It fixes every weird git state. And you don't even need to learn a bunch of theory to do it.

<comment><USER18> We are all ignorant in most respects; there is an opportunity cost in knowing anything. If you use git daily, I submit that it does not make sense to be ignorant of how it works. Yes, you will take no physical harm from misusing this tool, but you're setting yourself up for failure. Reading about how git works will prevent you from making the mistakes that lead to an unworkable state, and allow you to resolve any unexpected situations or errant keystrokes. To make something of an analogy, git has the most powerful and flexible form of "undo" that has been conceived to date, and you are discarding this because you can always re-download an old copy and redo your work. If it is something that you use only rarely, there is nothing wrong with choosing to study other things. If you are employed as a software developer then I would consider you to have very little excuse for ignorance.

<comment><USER19> I have never had to resort to this technique. However, there's a lot in git I don't understand. I've spent multiple days learning git, and at some point, the diminishing returns of further investment don't justify themselves. If I broke my repo in such a way that caused me to consider re-cloning to "get out of jail", I probably would only do it if I didn't lose a significant amount of work. (e.g. copy in-progress files to a safe location before recloning)

You say I have very little excuse for my ignorance, but I would also say that I have very little excuse to spend any more time learning a tool with as many dark corners as git.

</comment></comment></comment></comment></comment><comment><USER20> How many "Understanding Git" posts have hit #1 on Hacker News? More than a few. How many have hit top 10? Surely dozens.

Can we, please, take this as an indicator that Git is too fucking complicated? After the first thousand "Git made easy" blog posts it should have been apparent.

Le sigh.

<comment><USER21> Indeed, the miracle here is how git got so popular.

It has _NOTHING_ to do with meeting needs or doing things spectacularly better than other tools. There was version control before git and it worked just fine. I just think some "cool kids" started using it, it developed a certain Caché that made it desirable and that was it: here we are with the most popular version control system in the world with an absolutely shitty, inscrutable interface.

For the vast majority of git "users", this doesn't matter. They use git as little more than filestorage.

<comment><USER22> Cachet _

</comment></comment></comment><comment><USER23> The most inscrutable part of Git is rebasing and how it works. It took me really long to form a mental model where I can visualise how it does its job.

I agree with the author that understanding how Git works is the only way to get comfortable with it. For eg, Rebasing is hard but you will have your "Aha!" moment when you realise that it is nothing but a combination of _hard reset_ and _cherry-pick_

<comment><USER24> I don't understand why most people find the concept of rebasing so alien. Maybe it's because I've never used another VCS, but it's all just very rudimentary graph theory.

</comment></comment><comment><USER25> Nice article. [https://codewords.recurse.com/issues/three/unpacking-git- pac...](https://codewords.recurse.com/issues/three/unpacking-git-packfiles) is another article that i found very useful to understand packing and unpacking. (I found this when I was building a standalone html viewer for .git directory)

</comment><comment><USER26> I'm finding this comment thread to be a great example of the idea that everyone has different and particular learning styles. 6 comments, 4 different git tutorials (not counting the original post.)

</comment><comment><USER27> The CLI is a complete mystery and that makes it hard to explain to people. Most of the commands and arguments differ so much that it makes little sense. Delete a branch, commit or tag in a similar way; the commands to do this are totally different.

How Git works can be easily drawn out on paper to explain it to someone. The branches, commits and merges is simple to draw.

When we lose sense of our state we always take a piece of paper and draw it out. Most of the time you can just figure it out what's up.

<comment><USER28> Yeah, I used to race through svn workflows without a second thought. With svn, I still don't understand how to (just one example) throw away all the local changes. (No, not git reset --hard. At least that didn't work when I last tried).

It came to the point where I thought about spending a week just learning git to defend my berd creds.

Instead, I just use a gui for anything beyond add/comit/push. I still don't like not to understand one of my daily tools, but I have real work to do.

<comment><USER29> I found I had to build a whole parallel patch management system to rationally deal with svn. Applying the same patch in multiple branches was a royal PITA in svn; in git, it's trivial.

git status will tell you how to throw away local changes, btw. Depending on the kinds of changes (e.g. edit/delete added, staged or not) need different commands.

</comment></comment></comment><comment><USER30> The best way to understand Git is to learn Mercurial. It teaches you the things that matters with none of the useless implementation bullshit.

If you start with git, you won't have a clue where the interface ends and the implementation details starts. Which is why, I think, people find git hard.

I still hope that the whole development world will come to their senses and start using Mercurial more and more...

</comment><comment> a2-47 [http://pcottle.github.io/learnGitBranching/](http://pcottle.github.io/learnGitBranching/)

This one really helped me in the beginning. Visualisation in general helps when learning git (branching, rebasing etc). Ungit is my goto when I want to just see how it (repo) looks like.

</comment><comment><USER31> I have read enough of all these tutorials that I understand how git and the git commands work. I could pass a test. But still I have a hard time feeling comfortable enough to spit out commands as needed. I've created a lot of aliases to do common things but that is not the same thing.

</comment><comment><USER32> My entire git workflow is based on these tutorials (don't seem to need much else): [https://git-scm.com/book/en/v2/Git-Branching-Basic- Branching...](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching- and-Merging) and [http://nvie.com/posts/a-successful-git-branching- model/](http://nvie.com/posts/a-successful-git-branching-model/)

Anyone knows what would be most usefull outside the scope of the tutorials above?

</comment><comment><USER33> Everyone has their favourite explanation of how git works. Mine is:

Knowledge is Power: Getting out of trouble by understanding Git by Steve Smith [1]

[1] [https://www.youtube.com/watch?v=sevc6668cQ0](https://www.youtube.com/watch?v=sevc6668cQ0)

</comment><comment><USER34> For anyone looking for a video/demo on this, here's a great presentation by Tim Berglund - [https://www.youtube.com/watch?v=MYP56QJpDr4](https://www.youtube.com/watch?v=MYP56QJpDr4)

</comment><comment><USER35> I wrote a series back in 2011 that looked at a bite-sized chunk each week, including how the git repository works, and although the series is long over there is a summar/index page here:

[http://alblue.bandlem.com/2011/12/git-tip-of-week- finale.htm...](http://alblue.bandlem.com/2011/12/git-tip-of-week-finale.html)

As a meta note; it can be really difficult to keep up a continual blog series. It helped that I advertised it in advance and then wrote around two in advance so that writers block or holidays didn't impact the schedule.

</comment><comment><USER36> And this is my favourite tutorial so far: [https://www.youtube.com/watch?v=ZDR433b0HJY](https://www.youtube.com/watch?v=ZDR433b0HJY) I think it explains everything in 80 minutes.

<comment><USER36> Too late to edit. I meant this one: [https://www.youtube.com/watch?v=xbLVvrb2-fY](https://www.youtube.com/watch?v=xbLVvrb2-fY)

</comment></comment><comment><USER37> If this kind of approach to learning Git interests you, I took a similar approach with A Hacker's Guide To Git ([https://wildlyinaccurate.com/a-hackers-guide-to- git/](https://wildlyinaccurate.com/a-hackers-guide-to-git/)). It is much longer and goes into a bit more detail than the OP but (hopefully) is arranged in a way that you can read it a few sections at a time.

</comment><comment><USER38> There was a very cool resource (video, ebook) on how git works on a website called peepcode. I just realised they're no longer operational. It was by Scott Chacon I think. Can't find it anywhere else now. Would have made a good addition to the resources listed here.

<comment><USER39> It seems that the old website is availible via archive.org[0], however it was part of a payment system at the time, so archive.org does not store a copy.

However, after some digging it turns out that Pluralsight put it under a Creative Commons license, so the git guide I think that you're talking about seems to be availible on Github[1].

[0]: [http://web.archive.org/web/20121015074953/https://peepcode.c...](http://web.archive.org/web/20121015074953/https://peepcode.com/products/git- internals-pdf)

[1]: [https://github.com/pluralsight/git-internals- pdf](https://github.com/pluralsight/git-internals-pdf)

</comment></comment><comment><USER40> A little late, but this really opened my eyes:

[https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Po...](https://git- scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain)

</comment><comment><USER41>
        info/exclude
        you can put the files you don't want git to deal with in your .gitignore file.

Since .gitignore is committed itself this is very useful.

</comment><comment><USER42> I look at this, and then I look at people wondering why non-coders don't use version control, and I laugh and laugh.

<comment><USER43> I don't think this article is a very good argument why non-coders don't use it. They don't care about the internals. Git's CLI, well, that's a good reason why they don't. (but you can get quite a lot of the benefits with a few basic commands via a GUI tool, and you totally can explain that to many non-coding users)</comment></comment>