Yes, You Should Walk Your Cat - <AUTHOR> https://www.nytimes.com/2018/12/05/opinion/walk-cat-leash.html <comment><USER2> I live in a urban area with a freight train line running along the back of the house, apart from any roadways or people. Trains run a few times a day, and are slow and massive.

I take my three cats for an unleashed walk along the tracks a short way. They instinctively form a hunting party around me as we walk; they treat me like the platoon commander or some such. One is the scout, the senior maintains discipline, etc.

At the first sign of a distant train, they inform me, and we go back to the yard and watch the train pass. They must consider them some kind of mighty, blind worms.

It is not quite the same as a leash-walk through the forest, but I feel very lucky to have a little pocket for the cats to reveal their outdoor personalities in this way.

<comment><USER3> Excellent.

I've "had" a cat for 10 years but it's completely free (hence the quotes: I don't feel I own it at all). It comes in and out of the house at will, sleeps in the house during the day and does things outside during the night (but sometimes it also does the opposite, sleeps at night and wanders during the day).

I keep food for the cat inside the house, but no litter box; it does its thing outside -- not sure where: not in our garden.

There are other cats in the neighborhood, also walking free. There has never been a cat hit by a car.

It must be wonderful to be able to herd cats! Ours kind of responds to voice commands when it feels like it (it seems to understand "no!" mostly) and is able to make itself understood when food is missing, but not much else.

<comment><USER4> I'm by no means a tree hugger, but seriously? "Outdoor" cats, whether feral or otherwise are absolutely decimating birds and small mammals.

Of all the low hanging fruit on the "stop destroying the planet for no reason", keeping your cats inside or on a leash requires basically 0 effort.

[https://www.smithsonianmag.com/science-nature/moral-cost- of-...](https://www.smithsonianmag.com/science-nature/moral-cost-of- cats-180960505/)

<comment><USER5> Sorry, but no: Don't keep cats indoors or on a leash.

Cats are predators. And they need freedom. If you're concerned for birds et al. don't get a cat.

Don't be cruel to cats to satisfy your need for a pet by forcing your view of how nature should work onto them.

<comment><USER6> Cats are domesticated. They made the indoor outdoor decision a long time ago.

<comment><USER3> My cat lives more than 50% of its time outside the house. It also can sit for hours on a window sill.

</comment></comment></comment></comment></comment></comment><comment><USER7> I've been walking my 1.5 y/o cat on a leash since he was about six months old.

I walk him just about every morning. I can't sit down to program until he's had his time outside, or he'll meow incessantly for it.

Walking a cat is much like she describes. They don't walk at all like dogs, but rather sort of zig zagging at what is interesting at that moment. There are certain leashes that work better than others.

I see in this thread a lot of people that "tried it" and the cat didn't like it. There is a lot of build up to walking a cat outside, that starts with just having the harness around. There are guides on how to do it, but you don't just throw a leash on the cat and see how it goes, then give up.

I posted some photos [1] of my cat on his walks, including one showing him climbing a tree while on his leash. It shows a bit how much fun they can have outside.

[1] [https://imgur.com/a/EdwhS52](https://imgur.com/a/EdwhS52)

<comment><USER8> Your cat should totally take up modeling.

</comment></comment><comment><USER9> My cat is indoors only and made a couple escape attempts that were a little traumatizing for me (helicopter cat mom here), so while I considered getting him a leash once, I ultimately decided against it because I was afraid it'd make him a little more comfortable with the outside world and might emboldened him to make more escape attempts in the future. Not happening in a rural place where there's coyotes, oh hell no.

So instead of walks, we play catch. I wad up paper scraps and throw them and he'll leap into the air to catch them with his paws or swat them away. His ability to catch is honestly amazing to me, he gets it the vast majority of the time, and sometimes he'll leap a good 3 feet in the air, it's super impressive. It's also extremely entertaining! I have a lot of fun with "cat baseball practice", and I think the reason he's so responsive to paper wads is because those were the only cat toys I had for him as a kitten, so every time he hears the sound of paper crumpling he perks up and comes running.

He also loves diving into 12 pack cardboard boxes with the ends ripped off to make them into a tube. My living room floor is constantly covered in trash cat toys but I love it.

<comment><USER10> My mom taught her cat to fetch with thin plastic rings the size of bracelets. She'd sort of chuck them like a mini Frisbee and her cat would swipe them out of the air like a pro athlete. She used to get her cat toys but they had a tendency of mysteriously disappearing forever.

<comment><USER11> They are all under the refrigerator. Guaranteed to find them, along with milk jug rings, hair ties, and other circles.

</comment></comment></comment><comment><USER12> We tried this with a cat we had several years back. He had been an indoors cat his whole life. After a few very successful outdoor walks, he would sit at the door screaming until we let him out again and he didn't stop at night either... It became so bad that we had to place him at a new home at a farm where he can be outside as much as he wants. It's a better life for him for sure, even if we do miss him a lot it would be selfish to rob him of that desire for the outdoors.

<comment><USER13> I'm so sorry for you and so happy for your cat! Good on you

<comment><USER12> Thanks, I'm alright. I'm just happy that he's happy! :-)

</comment></comment></comment><comment><USER14> I had a cat who would walk on a leash. I had another one that liked going for "walks" where he would perch on my shoulder while I walked, like a pirate's parrot.

My current cats aren't walkers. One hates the leash, and the other hates the mere idea of "outside."

</comment><comment><USER15> I think one of the easier ways to do right by your cats is to always have two or more. When we got Gentle Ben, Max Power suddenly reverse-aged by like five years.

<comment><USER16> This. A lot of the reason people think cats are aloof or un-social is because they have only known solitary cats, who like people in solitary situations, are likely to be depressed and have other issues.

I've had a number of cats over the years, but the best experience for me and for the cats has been with pairs from the same litter or who grow up together. It makes a huge difference when they have company.

<comment><USER17> Some cats do better with a companion, some are much happier when they are "only cats".

You have to know your cat well enough to know which is right for them.

<comment><USER18> how do you figure this out if your cat has never met another cat since being a kitten at the shelter? I've considered having him meet a friend's cat, but I would imagine it takes a few weeks to really judge whether they're happier together.

<comment><USER16> It depends, but if your cat is young and the cat you introduce is a kitten, and your cat is demanding a lot of play time from you, chances are a second cat will work. If your cat is old and cranky, not so much. It will definitely take a couple weeks of contact for them to work it out. Even if they don't get along particularly well, it still might be a net win.

</comment></comment></comment></comment></comment><comment><USER19> I used to see my neighbor walking his cat on a leash every morning. It was always an amusing sight to behold, but the cat seemed alright with it. I think the practicality of it varies from individual cat to cat though.

</comment><comment><USER20> Grew up with an outdoor cat in a suburb with backyard. Would let her in when she wanted and out when she wanted.

She would occasionally follow us on a walk without any invitation or leash. We were a little surprised "Do cats do that?" I think first time we tried to shoo her back but then we realized it was fine and just let her come with us.

Worst that happened was one time a dog scared her up into a tree but she came down eventually.

A neighboring family were not so lucky. Theirs kept getting run over by cars (Not because of walks just because of being outside).

</comment><comment><USER21> I've enjoyed the company of cats most of my life, and have had a few that really enjoyed being outside with me:

One loved to perch on my shoulder and go everywhere with me.

Another (not strictly mine, he came with a long-term relationship) would bring his harness to me for walks.

My current loves to look out the windows, but will not go outside on her own. Instead, she has a backpack that she loves to travel in, and is extremely happy to go for "walks". She's been the delight of the local pub, and gets jealous if I leave without her.

I am still wary to leave cats on their own outside, mostly due to health of them and the local wildlife population, but am happy to facilitate outside interaction.

</comment><comment><USER22> A lot of people here are talking about how cats that go outside don't live as long.

That may be true for the median but growing up my grandmother had a cat on her farm that went outside whenever it pleased.

It lived to be 21 years old.

It used to be normal to let both cats and dogs run free around the neighborhood. I understand why people don't want to do that anymore, but it's fascinating how quickly our culture has forgotten what used to be completely normal.

<comment><USER23> Anecdotes aren't as useful as data for making real decisions. Average lifespan of an indoor cat is 15 years average lifespan of an outdoor cat is 5. This is like you dying in your 20s.

<comment><USER24> Isn't 5 years for a homeless cat? I doubt that a cat that has a home and food would live so little.

<comment><USER23> Have you owned outdoor roaming cats? It's not pretty. Some areas are worse than others.

I had one that accidentally got out one night and got killed by a coyote.

<comment><USER24> Ok, I got it. We just don't have such animals here, and volwes, who could catch a cat, are rare.

</comment></comment></comment></comment></comment><comment><USER25> Hey a relative article. The wife and I have been walking both of our cats on leashes daily for 10 years. They love it, and importantly, it fulfills them - they sleep better, they are happier, they have less anxiety. Warning though: once you start, every day they will be demanding it.

</comment><comment><USER26> First the goat link, now this. Is HN shifting away from its technology focus? CRISPR is great, but I don't think we're ready to talk about reimplementing lisp on top of a mammalian genome. :)

<comment><USER27> I'm still waiting for GPS trackers to get small enough for cats to wear comfortably on their collars. It would be fun making an app that did interesting things with that data.

I'd be more curious to look at my cat's "fitbit" data than my own. A lot of cat owners would love to check on their cat's roaming data.

There, a little tech for you without straying too far from cats, pardon pun.

<comment><USER28> [https://www.whistle.com/](https://www.whistle.com/)

<comment><USER27> Only one cat image on that page and he doesn't look pleased about his collar to be honest. Cats need their agility unobstructed by an anchor around their neck. I'm still waiting for smaller tags.

[https://www.whistle.com/images/whistle3/testimonials/tomsell...](https://www.whistle.com/images/whistle3/testimonials/tomselleck.png)

<comment><USER28> Cats in general do not look pleased most of the time. I have this tracker on my cat and two dogs. After a couple of days cat got used to collar, as he never had one before. Tag itself doesn't seem to disturb him, unlike, for example absence of 24/7 food supply and presence dogs that want to play with him.

</comment></comment></comment></comment></comment><comment><USER29> Tried this once with my old childhood cat. She hated it, and would wiggle out of the collar. What she would do is follow us around on walks in our suburban neighborhood leash free. She would usually stay a house or two behind us and run from hedge to hedge.

We were worried that she would follow me all the way to school, when I started walking there, but we tested this, and she would refuse to cross a big street on the way.

</comment><comment><USER30> I had the good fortune to live with the same cat from when I was 11-30. He was an indoor cat for the first large chunk of his life. In his waning years we escorted him into the back yard for short visits. He loved it, but at the slightest sign of "bigger creatures" or anything spooky to him he'd book it indoors.

</comment><comment><USER31> Our cat was indoor/outdoor that we would keep in at night due to a (justified) fear of larger predators. He lived a very long and healthy life and I definitely attribute that to him spending many of his waking hours outside engaged in hunting and patrolling behavior. I'm not sure that a leeshed walk would be a good substitute though, since a patrolling cat wants to be able to start hunting a rodent or fleeing danger at a moment's notice, and I suspect that some of the exercise is in sprinting, running up trees, and pouncing on prey. In my cat's later years he lost the boldness to stalk our entire yard by himself, but would enjoy it if we walked out there with him so he could smell everything without fear. The benefit of the walk is probably keeping the cat mentally active rather than physically.

<comment><USER32> I came home from a trip one day and there was a beautiful cat sitting in my driveway. He was super friendly and chatty. It was getting cold, so we let him sleep just inside the front door on a towel. In the morning he would wait to be let out.

Before he arrived we had a problem with mice and rats. He immediately went to work cleaning up the area, and leaving us tributes on the front porch. When we didn't take them, he would finish them off. He only came in at night, and loved being outside.

He did get into it with a raccoon (we assume). He had a tooth imbedded near his tail. Had to have minor surgery and wear a cone and stay inside for 3 weeks. I caught this while he was using the litter in front of the house: [https://i.redd.it/i8gwk5nod2321.png](https://i.redd.it/i8gwk5nod2321.png)

I agree with others that outdoor cats can live a shortened life. He was with us for 6 years and was probably a few years old when he arrived.

If your cat likes the leash and walking, it will be a treat. I think lots of cats might not like it.

</comment></comment><comment><USER33> Adding to the many anecdotes here.. I had an orange tabby growing up in a quiet suburban neighborhood. Our property abutted a golf course. The cat was mostly an outdoor cat, coming and going as weather and food swayed it. Quite the hunter of snakes/squirrel/rabbit and birds, she was regularly dive bombed by blue jays when crossing the golf course.

We were also a dog family and the cat followed on our walks, golf course during the day and around the block at night. Quite a few times she 'protected' the dog from other cats on the nightly walk. I always found it a bit strange that she did this but I guess it is not all that uncommon to follow the family.

</comment><comment><USER34> I put a harness on my rescue every day before feeding him for the first few months so he's totally fine with it as an adult.

The problem when going outdoors is he just squats in the grass and meows; very happy to go back inside.

<comment><USER35> I adopted a one year old stray cat and after a few indoor attempts he seeemed to be okay wearing a harness but trying to get him to go outside was impossible. He REALLY prefers to be inside.

I do have a small 15x15ft balcony with some plants and overlooks some trees. When it's warm I keep a window open for him to go out and he definitely likes watching the birds and the bees that come by, but apart from that he seems to prefer being inside.

</comment></comment><comment> 08-15 > cats are a blight on ecosystems, killing countless [...] small mammals

They do. Cats kill _mice_. And while domestic cats may have some difficulty killing rats, they definitely make life uncomfortable for rats. That's why the Egyptians decided 6000 years ago that cats are sacred.

Killing "small animals" such as mice and rats is a good thing. Ever heard about the Black Death? It was spread by rats (their fleas, to be precise). Yes, if we somehow managed to drive mice and rats to extinction, that would "reduce biodiversity", but it would be _a good thing_.

<comment><USER36> It's likely they're referring to the effect outdoor cats have on bird populations. They're credited with the the extinction of 63 species: [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5056110/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5056110/)

<comment><USER37> The problem is this doesn't delineate very well between the feral and urban populations. While feral cats are enormously destructive to some ecosystems, and irresponsible pet ownership is obviously going to contribute to the feral cat population, it's far less clear that urban domestic cat populations contribute to ecosystem damage in any serious fashion - because _far more_ damage was done when we went and paved over hundreds of sq miles of that ecosystem to build a city there.

<comment><USER38> These feral cat populations came from what used to be domestic cats, which got out and bred.

Nobody is claiming that humans haven't caused damage to the ecosystem. But you're just spouting a whataboutism when we _know_ that cats are also incredibly damaging when let to roam free.

</comment></comment></comment></comment><comment><USER39> A problem with cats is their natural reaction to a leash: they start moving backwards, where dogs move forwards. It always fascinated me how different cats and dogs are, in many ways.

</comment><comment><USER40> I've got three cats, one little girl with a violent past, I was sure several times that she would kill herself in various ways (including having 7 Kittens at 5 months old). 18 years later her every single day has been complete indulgence and she expects it! She changed from being an indoor cat 2 years ago into 'bush girl' and she's never looked better. The point being, as long as your cat is super happy. Enough.

</comment><comment><USER41> my cat likes to pretend like he enjoys going outside, then when he gets outside he flops around for about 10 minutes and then goes back inside.

</comment><comment><USER42> Let me know how that works out for you... Cats do a fair amount of environmental damage to birds and the like, but they also contribute to the natural order as food - my neighbor takes in strays, but never has many cats, as the (too few) remaining coyotes in the canyons here in Austin yomp a couple of them every year.

</comment><comment><USER43> Umm no, a thousand times no, first off my cat walks himself, he is free to come and go as he pleases. second and most importantly if you value your flesh actually being attached to your skeleton youd be wise to not attempt to put a lead on my cat, he would happily peel your face off for putting a collar on him let alone a harness

<comment><USER44> > he is free to come and go as he pleases

The problem with indoor/outdoor cats is that they eat all they need at home, but still hunt and kill birds. A lot of them. Some species may be risking extinction. Plus, if you live in a condo 13 stories up, that's not possible.

> he would happily peel your face off for putting a collar on him let alone a > harness

Takes time and effort, but cats are trainable. I grew up with a murder-mitted beast who didn't put up with anything. My cats now, I take the time to train them rather than let them be violent.

<comment><USER45> How many birds do they actually eat? The study I've seen has been mostly speculation as it's an incredibly hard thing to measure generally.

<comment><USER46> Feel free to explore the sources here: [https://en.wikipedia.org/wiki/Cat_predation_on_wildlife](https://en.wikipedia.org/wiki/Cat_predation_on_wildlife)

"Our findings suggest that free-ranging cats cause substantially greater wildlife mortality than previously thought and are likely the single greatest source of anthropogenic mortality for US birds and mammals. Scientifically sound conservation and policy intervention is needed to reduce this impact."

</comment></comment></comment></comment><comment><USER47> I've been walking my dog in very busy parts of Seattle for hours almost every day for the last 7 months, and have encountered hundreds of other dogs... and exactly ONE cat the whole time. It was a beautiful bengal cat on a leash. In any case, around here, people very rarely walk their cats. I always wondered why.

</comment><comment><USER48> my grandma had cats, who wandered anywhere in village but i guess that's normal in village if you have your own house, but my neighbor nearby has cat which they let wander outside here in the 1.5M city, i am a bit surprised they are not afraid of some teenagers killing their cat, biggest issue AFAIK was that many people didn't like the cat walking around sandpits with toddlers/infants paint littering there, though i have never seen it and just let my child touch the nice cat

so sorry for not finding article revolutionary in any way, you might as well let them roam free which is much more natural than cat on leash, personally if i would be cat owner i would use GPS tracker to know cat's whereabouts

</comment><comment><USER49> Our cat used to follow us without harness 2km in to the woods and back, but only in the night. :)

<comment><USER31> That sounds like fun for you and the cat. They love running around at night. Flashlights or night vision goggles?

</comment></comment><comment><USER50> I often go on walks with my cat without a leash up the mountain that I live at the base of. She just follows me; occasionally she'll lag behind if something interests her, but she catches up eventually if I just keep walking.

</comment><comment><USER51> I tried this with my first ex-wife's cat, sixteen years ago. It didn't work out very well.

</comment><comment><USER42> Let me know how that works out for you...

</comment><comment><USER52> Took my cat for a walk once. Traumatized him so much he now just sits in the corner and talks to himself and chain smokes. Poor guy is still suffering flash backs of his time on the outside. Who can blame him?

<comment><USER53> Thats not healthy. I've convinced my cat to switch to vaping. Now, he only smokes when he drinks. But I'm a realist about this sort of thing.

</comment></comment><comment><USER54> If you have to trap an animal inside of your home at all times because if it had the chance it would run away forever and you would never see it again, what is the best word to describe relationship? I don't think "pet" is the right word.

Having an animal like a cat live its life mostly indoors is contradictory to its nature and will likely have negative effects on its health. If you want to own an indoor cat that's fine but one should not be deluded into thinking that the animal's best interest is in living inside with occasional outdoor excursions on a tether.

<comment><USER55> Cats are not kept indoors to keep them from running away. Cats are kept indoors to keep them from killing birds and other small creatures, to keep them out of traffic, and sometimes keep them from breeding.

You can't make blanket statements about all breeds of house cats like you do. These are _domesticated_ animals, even if they do still have some wild instincts and capable of becoming feral. Cats have been living on tiny boats for literally _thousands_ of years.

<comment><USER54> There is a distinction between domestication and permanent indoor confinement. Horses are domesticated and so are dogs, donkeys, cows and cats. Just because some of them are of a convenient size to be kept indoors at all times or tied to a string to be paraded around an urban does not mean that it is in the best interest of the animal to do so.

From your comment it seem that you imagine an animal is either confined to indoors with occasional walks or they are feral. Keeping a domesticated animal is normal. Keeping an animal locked in your house or on a leash at all times is weird. Dogs and cats need open space to run and explore. If you want to keep an animal in a way that contradicts their nature, fine. Just don't lie to yourself about adapting to your lifestyle to their needs. You are adapting their lifestyle to your ego.

<comment><USER56> Is there an ideological bent behind your opinion? I'm not going to assume there is, but this sounds like something a radical vegan or a PETA supporter would say.

In any event, as several other people have chimed in, ask any vet.</comment></comment></comment></comment>


Show HN: Walk around unusual geometries - <AUTHOR> http://parametricity.com/pages/diffgeo/Main.html

<comment><USER2> Feature request: always show the line that you will walk when you keep going forward (e.g. in a light color).

</comment><comment><USER3> Suggestion: allow me to move in discrete steps of a specified length, and rotate in discrete steps too. Then I can see what happens in different geometries when I go forward n, left 90 degrees, forward n, etc.

In fact, how about implementing a Logo turtle graphics system :)?

<comment><USER4> This is really cool. My suggestion is similar to (perhaps the same as) jameshart's. I want to be able to form a sequence of known steps in flat space (say, draw a square), then see what that same sequence of steps produces in other spaces. It may help build some sort of intuition for the different spaces.

</comment></comment><comment><USER5> Looks really cool! One question though, how did you implement the movement? When you press up and left at the same time in the flat you'd expect to trace the same circle over and over again, but instead it diverts in some apparently non-deterministic way.

<comment><AUTHOR> Movement is implemented by using approximate numerical solutions to the geodesic equations (a system a differential equations whose solutions give geodesics in a Riemannian manifold). As such, there are some numerical inaccuracies due both to an imprecise solution to the equations and (I can only assume) due to accumulation errors from adding thousands of floating points together.

<comment><USER6> Looking at the source code (I think this is it: [https://github.com/imeckler/diffgeo/blob/master/Main.elm#L32...](https://github.com/imeckler/diffgeo/blob/master/Main.elm#L320), [https://github.com/imeckler/diffgeo/blob/master/Native/ODE.j...](https://github.com/imeckler/diffgeo/blob/master/Native/ODE.js#L19)) it looks like the Dormand-Prince method is being used.

In general, ODE solvers can't be expected to maintain invariants of the ODE system, such as periodicity. This is typically handled by choosing a solver that maintains such invariants by construction, e.g., symplectic methods for Hamiltonian systems conserve symplectic 2-form. Adding many floating-point numbers together causes serious problems only in relatively rare cases, unlikely to occur here (e.g., see Higham's accuracy and stability book).

If I were to guess, the issue is maybe here ([https://github.com/imeckler/diffgeo/blob/master/Main.elm#L45...](https://github.com/imeckler/diffgeo/blob/master/Main.elm#L458)), where the direction change is applied when the key is pressed, which means that the direction change doesn't happen inside the ODE itself: in effect this might be solving "go straight-tiny turn-go straight-tiny turn...", which would not be periodic even with perfectly exact solutions. If this is the case, this is like applying a first-order splitting method in which turns are handled with the forward Euler method, which would be quite inaccurate.

An extra source of error would be a positive Lyapunov exponent of the geodesic flow. When it is positive, the errors in the geodesic ODE solutions accumulate, causing exponentially large (in time) changes, meaning that the accumulated errors are much more noticeable than in geometries with non- positive Lyapunov exponents of geodesics (e.g., flat geometry would have smaller errors).

That said, it's not clear that you should actually expect to get periodic case in every case like this. I just kind of assumed they would be periodic based on how close they got. Still, flat circles seem to deviate after about half a dozen orbits. ( _Edit:_ With a bit of further experimenting, it seems curves in the hyperbolic upper half-plane that constantly turn should be periodic, so there's probably a bug.)

<comment><AUTHOR> A friend of mind suggested the very good idea of solving the diffeq for the constantly turning curve and using this when the user is simultaneously turning and going forward instead of doing one or the other first.

<comment><USER7> Another thing you could do is add an analog input ('virtual joystick') in the corner. Basically, a little box which someone could touch/click inside of to start moving the arrow with a specific turning radius + velocity.

</comment></comment></comment></comment></comment><comment><USER8> Nice work. I'm curious if there are any similar projects which use Oculus/VR to put you in the midst of these strange worlds. I wonder if it could be used to improve your intuition about things like hyperbolic space.

<comment><USER9> It ain't VR, but check out HyperRogue: A roguelike game in hyperbolic space.

[http://www.roguetemple.com/z/hyper/](http://www.roguetemple.com/z/hyper/)

</comment></comment><comment><USER10> Feature suggestion: use the arrow's frame of reference instead of a global one.

<comment><USER11> Wouldn't they all look the same from the arrow's frame of reference? They're all locally flat.

I guess the lines of curvature in e.g. the cylindrical geometry would look different.

<comment><USER10> The trail lines and any distant landmarks would move differently

</comment></comment></comment><comment><USER12> This is awesome!

Reminds me of a game that was featured recently on HN: HyperRogue[0]. It's a simple roguelike on a hyperbolic plane.

[0] - [http://www.roguetemple.com/z/hyper/](http://www.roguetemple.com/z/hyper/)

</comment><comment><USER13> I tried this in Firefox (latest) and the scrollbars kept perpetually disappearing/reappearing, causing the entire page to just shake violently.

<comment><AUTHOR> Hm. Do you have any other info about your setup? I can't reproduce the behavior.

<comment><USER13> I'm on Ubuntu 15.04 with Firefox 39.0+build5-0ubuntu0.15.04.1, and with my window maximized the <body> alternates between 1411x689px and 1404x689px (with the difference being related to the size of the scrollbars that keep (dis)appearing.

I can see the style attributes of some <div>s are being manually updated by JavaScript, probably reacting to a window resize event caused by the (dis)appearing scrollbars changing the viewport size (which probably triggers the contents to change, which triggers showing/hiding the scrollbars...).

</comment></comment></comment><comment><USER14> >Use the up arrow key to go forward along the geodesic in the direction you're facing and the left and right arrow keys to change direction. > >Scroll to zoom, click and drag to pan.

How do you scroll to zoom? Down arrow and Page Up/Down do nothing, and there's no scroll bar.

<comment><USER15> Using a two finger scroll on my touchpad works fine. I'd try that or a scroll wheel on a mouse or similar.

</comment></comment><comment><USER16> Great work! Can you add the Klein model?

It's kind of interesting that moving while turning at a constant rate in the hyperbolic plane makes you gradually "drift". Is that actually true, or is it an artifact of the software?

<comment><USER7> I think it's just an artifact of the way the ODE gets discretized. You could probably figure out more precisely by reading the code, though it seems to be written in an ML-like language without any comments, so code readability is going to depend a bit on your familiarity with such languages.

[https://github.com/imeckler/diffgeo/blob/master/Main.elm](https://github.com/imeckler/diffgeo/blob/master/Main.elm)

[https://github.com/imeckler/diffgeo/blob/master/ODE.elm](https://github.com/imeckler/diffgeo/blob/master/ODE.elm)

<comment><USER17> The actual guts of the algorithm are in compiled javascript

[https://github.com/imeckler/diffgeo/blob/master/Native/ODE.j...](https://github.com/imeckler/diffgeo/blob/master/Native/ODE.js)

However, this seems to simply be using the numeric library.

[http://www.numericjs.com/documentation.html](http://www.numericjs.com/documentation.html)

Which uses 'Dormand-Prince RK'.

[https://en.wikipedia.org/wiki/Dormand%E2%80%93Prince_method](https://en.wikipedia.org/wiki/Dormand%E2%80%93Prince_method)

</comment></comment></comment><comment><USER18> Thank you for creating this. It is beautifully implemented.

</comment><comment><USER19> Regarding the infobox: a given geodesic path between two points is not necessarily the shortest path between them.

<comment><AUTHOR> Yes yes, just wanted to keep things simple for those without much mathematical background (and for a small infobox. I didn't want to try to explain that they locally minimize distance, or that the vector field given by the derivative has zero covariant derivative, etc. in such a small space.)

</comment></comment><comment><USER20> Really cool!

Yet another feature request: support moving backwards</comment>


Smalltalk: Welcome to the Balkans - <AUTHOR> http://www.threeriversinstitute.org/blog/?p=466

<comment><USER2> This surely will sound like a troll, but the main thing that struck me here was the statement: "Just getting the code out of VisualWorks was a pain." How can anybody use a development environment that doesn't expose the source code in plain-text files?

Can somebody who likes VW expound on the advantages it provides?

<comment><USER3> Smalltalk has been using images since ever. The image contains your world - your code, development tools and all your complete environment, preserving its state between your sessions. When it's time to deliver the application to its users, you just take out whatever is not the application and its dependencies and give the image to your client.

That said, I too find it a bit disturbing not to be able to import/export changes to the base image as text-files and being unable to build a clean image from source-code only.

<comment><USER4> There are objects in the modern day Squeak image that were created when Smalltalk-80 was released. In fact, if you explore around Squeak's image, you can find all sorts of disconnected bits and pieces that nobody uses anymore, that are just along for the ride because they are in the image. Sort of Smalltalk pseudogenes. It's organic, very different, and to me as a biologist who likes to program, quite fascinating.

<comment><USER3> I know I shouldn't, but this organic thing makes me worry that one day my working image could develop some kind of disease ;-)

<comment><USER5> Use a purifying/tree-shaking tool then. I am sure STs have them.

</comment></comment></comment></comment></comment><comment><USER6> It didn't used to be this bad:

1 - I used to have a commercial app framework in smalltalk. You could take a fresh Digitalk smalltalk system (or even one with lots of mods as long as there were no namespace conflicts) and "file-in" my app framework code and all was well. The tools of that day allowed you to "file-out" the code to a plain text file(s) or save it in object repos with revision history.

2 - Porting between the two major vendors of the day, Digitalk and ParcPlace, was trivial if you were a solid smalltalk programer.

For the last 10 years, I've on and off tried to use smalltalk again, but the tool sets are horrid compared to what they used to be. A 1994 Digitalk smalltalk was a great toolset. Maybe in a few years, Pharo will be on par with what we had then.

</comment><comment><USER7> what does this has to do with the Balkans?

<comment><USER8> He's referring to Balkanization:

<http://en.wikipedia.org/wiki/Balkanization></comment></comment>


Show HN: Classifying substansive comments via metadata - <AUTHOR> https://github.com/kodiaklabs/AskHistoriansBot/blob/master/Building%20an%20AskHistorians%20Comment%20Classifier.ipynb <comment><AUTHOR> Hi all,

This is part of a build process for an auto-moderator for the AskHistorians' subreddit. The full project description is available here:

[https://github.com/kodiaklabs/AskHistoriansBot](https://github.com/kodiaklabs/AskHistoriansBot)</comment>


Pay Day Loan Rankings: The shady tale of Joomla hacks and Drupal leaks - <AUTHOR> http://www.seoconsult.com/seoblog/pay-day-loan-rankings-the-shady-tale-of-joomla-hacks-and-drupal-leaks.html

<comment><USER2> This is quite the HN title/link bait ( _currently: "3 Lines of Code to Rank a Website to 1# on Google"_ ). The real title of the article is "Pay Day Loan Rankings: The shady tale of Joomla hacks and Drupal leaks". The article is about how a Joomla plugin added malicious code to their plugins to get referral links via spam on websites.

<comment><USER3> No, this method actually applies to all languages and all platforms with the same given tactics. Anything with an open ecosystem of plugin/themes where other users can download will be affected.

I've seem some similar activity in wordpress themes a while back. And if the results are as good as this post says, this kind of activity will only keep growing.

<comment><AUTHOR> The results are exactly as reported. The ones published are from last week, but today the top 20 results are still dominated by websites doing the same.

</comment></comment></comment><comment><USER4> I seriously despise "search engine optimization" as an "industry" or specialization of this internet industry.

What a bullshit term. Read it back to yourself:

> Search Engine Optimization

They're already liars. They aren't optimizing anybody's search engine. They're optimizing HTML so that it can be easily parsed and crawled, but that doesn't sound as sexy.

It's marketing hocus pocus, tantamount to chart reading for day traders in the stock market. Just like chart readers, gazing into the Rorschach blots of spikes and trends in the stock market, they don't truly understand, and can't honestly answer to, how their composite numbers tie back to reality.

They honestly have no control over the search engines they claim to optimize for, and have only an outsider's probed understanding of the internal workings of the search engines they target. The exception to this is when former employees of search engines are hired as consultants at these places that claim to offer these services, but honestly aside from that sort of intra- industry incest, what else do they have to offer?

SEO as a term is a throwback to the late 90's when a lot of people didn't really understand what search engines do, and got sold on a trend.

Yes, yes, robots.txt. Yes, unobtrusive JavaScript. Yes, structure your DOM in a well-organized, logical manner. Yes, simplify unauthenticated link URLs, and try to correlate references semantically. Yes, use the alt, title and name attributes, to further orient semantics. I get it, okay. Y'know, these same ideas overlap well-enough with accessibility standards. Anything beyond this kind of coding practice is really either link spam, or simple tasks like requesting that a search engine crawl your domain. And that's a marketing campaign. Nothing is being optimized.

Can I stop putting this archaic buzzword on my resume? I don't optimize search engines, and unless you're posting an ad for a position at one, neither do you.

THEYYYYY!

/rant

<comment><USER5> SEO is just a form of Marketing consulting. I work with lawyers and insurance agents - and I don't do blackhat,or greyhat, nor do I make promises. What we do is go after our keywords by writing quality content, and press releases mostly - as well as very good on-page optimization.

I guarantee that people need the service, I also do web development, which gives me even more insight into how everything plugs together.

Most lawyers and Insurance agents don't even know what a robots.txt file is, or javascript, or the dom, or alt / title tags - they just want leads for their business.

I do think some people place a little too much emphasis being #1 for specific searches, because #1 doesn't always mean tons of money, or business.

A/B testing is also important, as is other methods of business gathering. Also, a lot of times adwords can be more beneficial and less costly than SEO -- if you're paying an SEO 300 a month, vs a 300 a month Adwords budget where adwords is guaranteed clicks -though there's optimization there as well.

The best solution in my opinion is to hire a web developer who knows SEO and SEM, because to lower Adwords costs, and rank high requires some level of programming - for instance I had a site that was costing $2.49 per click, I made it so that the adwords landed on a dynamic url which would grab the keyword they searched for, load it strategically throughout the webpage in specific locations including description, title, keyword tags. This increased the page value in Google's eyes, and brought my cost per click down to $1.68 which was a huge savings! My client could never have come up with that on their own, and would've lost a thousand dollars by just spending the extra money without knowing how to optimize..

Where ever there is something technical, there are people who don't know jack about it, and sometimes people take advantage of them, sometimes people are honest, same goes for other industries like Plumbing, or house repairs...

<comment><USER6> "I made it so that the adwords landed on a dynamic url which would grab the keyword they searched for, load it strategically throughout the webpage in specific locations including description, title, keyword tags. This increased the page value in Google's eyes, and brought my cost per click down to $1.68 which was a huge savings!"

This reminds me of shill bidding; instead of fake bids that drive up the apparent value, your insert fake content (keywords) and thus fake "votes" for the searched term on your page. That doesn't strike you as a little scammy?

The Google algorithm is supposed to let me find the item I'm interested in. Your fake "detour" signs may drive more traffic to your web site but they detract from the usability of the web search for everyone else.

</comment></comment></comment><comment><USER7> Interesting article.

Makes me wonder how many Wordpress plugins are rogue. I have seen a few plugins on the Wordpress site that are suspect, but there is no way to report them to anyone at Wordpress, there is no report this plugin link anywhere. Anyone know how to report plugins on the Wordpress site?

<comment><AUTHOR> I've not seen an Wordpress ones, although I have heard of them. I happened to stumble across the Joomla one.

I know Wordpress have a user rating system which is pretty good in my experience.

<comment><USER7> The problem I find is most users who leave a rating don't read the code, just the features. Ratings can be faked too...

<comment><AUTHOR> Yes, this is true. Nobody really knows how many of these contain elements that should not be there. I can't think of a concrete way around it that's realistic. But I think user ratings on an official site are a good thing and are normally fairly accurate.

</comment></comment></comment></comment><comment><USER8> Google cache: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.seoconsult.com/seoblog/pay- day-loan-rankings-the-shady-tale-of-joomla-hacks-and-drupal-leaks.html)

<comment><AUTHOR> Yeah we had an issue with the site yesterday after I posted the blog. It has since been resolved and hopefully Google will update the cache soon.

</comment></comment><comment><USER9> Beside the link bait title (right now "3 Lines of Code to Rank a Website to 1# on Google"), I found it very misleading that the article mentions that a CWS being open source is a problem because it can be exploited.

It is implying security by obscurity, and this is always bad advice, obscuring your source code, won't make it safer, quite the opposite, it will make easy to if someone find a vulnerability, you won't have enough resources to close it fast enough.

<comment><AUTHOR> I am not implying this at all. In fact, I am a huge fan of open source software. I simply offer the advice to check what you are using first as there can be issues, as reported.</comment></comment>


Can Bing steal Google's traffic by using Adwords? - <AUTHOR> http://marcgayle.com/can-bing-steal-googles-traffic-by-using-adwor <comment><USER2> Bing, Yahoo, Ask and dozens or hundreds of smaller, niche search engines already spend millions of dollars per month on Google Adwords.

<comment><AUTHOR> How do you know that? Have any links?

<comment><USER3> Google "search engine" and you'll see ads for Bing. I don't know what their monthly spend is, but I see Bing ads all the time when searching on Google for a variety of keywords.

EDIT: Here's a chart that claims to show the top spenders on AdWords, and there aren't any search engines I can see:

<http://adage.com/digital/article?article_id=145720>

<comment><AUTHOR> I see no Bing....but I love that adage chart. Thanks.

Btw, I don't think it makes sense for Bing to buy the keyword search engine. I can't see how that makes any sense. Unless consumers are REALLLLY dumb. Then again, I might be expecting too much.

<comment><USER3> I have seen Bing ads on other search queries...that was the one I could think of that gives me a Bing ad 100% of the time. I think it makes sense to advertise for the keyword "search engine" because you may catch people who are looking to leave Google but don't know the alternatives. Seeing a Bing ad might be what lures a loyal user. And it could be that the naive user is the one who is more likely to click on ads once there.</comment></comment></comment></comment></comment>


Private Beta Access to Geeklist for YC News Readers (code: YCREADERS1) - <AUTHOR> http://geekli.st/invite/hackers

<comment> mike-cardwell I prefer to sign up to things _after_ I know what they do. No idea what your service does other than some wishy washy claims about increasing credibility.

<comment><AUTHOR> Hi Mike! not wishy washy at all, we are all devs here <https://github.com/geeklist> run by devs for devs. Go to the about to learn more, but is pretty straight forward... an achievement based street cred builder for developers.. easy.

</comment></comment><comment><USER2> I don't user Twitter. Is that an issue?

<comment><USER3> for now we only are open to twitter users.

</comment></comment><comment><USER4> Why do you need so much privileges for my twitter account ?

<comment><USER5> Seems like they use twitter with a hashtag instead of an internal messaging system

<comment><USER6> Wrong.

</comment></comment></comment><comment> the-kenny {"response":"ok","errors":null}

</comment><comment><USER3> happy holidays :)</comment>


Feds put heat on Web firms for master encryption keys - <AUTHOR> http://www.cnet.com/news/feds-put-heat-on-web-firms-for-master-encryption-keys/ <comment><USER2> The master encryption key is as useful as a cupful of snot when it hits a custom rom with a custom crypt module.

I don't care how many keys the fed gets from manufacturers. They don't have mine :-)</comment>


Parents are worried the Amazon Echo is conditioning their kids to be rude - <AUTHOR> http://qz.com/701521/parents-are-worried-the-amazon-echo-is-conditioning-their-kids-to-be-rude/ <comment><USER2> Parents always worry. Big surprise...</comment>


Critics Blame Airbnb for San Francisco's Housing Problems - <AUTHOR> http://www.npr.org/2014/08/11/338830807/critics-blame-airbnb-for-san-francisco-s-housing-problems <comment><USER2> I like Sausalito (pop 8,000), but I've come to think it should be covered in high-density housing, with a BART stop. Same for the vast areas of the Penninsula owned by Stanford. If you drive from AT&T park southward, keeping close to the water, you will see an enormous amount of unused land. Drive through Palo Alto and you'll see McMansions with huge lawns where there should be apartment buildings. Drive up San Bruno Mountain and look around, and you'll see entire swathes of Visitacion Valley that are just empty wasteland. Colma is an entire city made of graveyards.

What's missing is any kind of regional government capable of coming up with a housing and transit plan and finding the money to fund it. The result is no new homes in an area that is seeing a huge influx of workers, most of them in tech. Since those workers earn a lot of money, they price out other people.

We know how to build out our cities, but for some reason that is politically impossible in the Bay Area. It's a pretty despicable abrogation of responsibility.

<comment><USER3> BART was originally intended to reach Marin, but fierce opposition kept it out.

Sausalito doesn't have the infrastructure for high density living, there certainly isn't room for, say, 5x as many people to commute into SF.

A lot more people need to start both living and working in the east bay, it's not tenable for most of the lucrative work to be isolated in downtown SF, leaving vast swaths of the bay area largely vacant during the day, with basically noone able to live near their work in the city.

Those other communities have worries about gentrification and displacement as well, but the bay area as a whole would be better off if growth were spread more evenly.

This is why I oppose the luxury shuttles. If you want to work in Palo Alto, Sausalito, or Mountain View, I think you should live there.

<comment><USER4> I don't know why you refer to them as "luxury" shuttles. As far as I can tell, most of them don't even have working Wi-Fi. Those shuttles are keeping extra cars off the highway and the road. Why is that not a good thing?

Also, not all of those shuttles are for Apple or Google, and many of them are not going anywhere near SF. They're going to areas of the South Bay where there are no practical public transport options.

Even people that live in or near Mountain View take those shuttles (instead of driving) to places where they work in the South Bay.

Same goes for Santa Clara caltrain and the Fremont BART station. Shuttles go from there to other places too.

Personally, I think the shuttles would have been far less necessary or popular if the California Bay Area had a fast, efficient transport system that actually covered it.

It's no wonder most people want to live in San Francisco, Palo Alto or Mountain View -- those locations all have some of the best public transport options and connections to other forms of transport as well. There are obviously other desirable aspects to those cities as well.

As for your argument that people should live where they work -- there's not enough housing for that. Mountain View alone certainly doesn't have enough space for everyone that works at Google. Likewise, San Francisco doesn't have enough space for everyone that works there.

Oh, sorry, let me correct that, Mountain View has plenty of housing -- if you're willing to pay ~$2700 a month for a two-bedroom apartment built in the 70s, $1.5 million+ for a new house (attached) or $2 million+ for a new, detached house.

So before you grouse about so-called Luxury shuttles, stop and think about what the real problem is.

<comment><USER2> It literally says "LUXURY" on the side of some of these buses.

<comment><USER4> Yeah, so do some of the bars of soap in the dollar store, but that doesn't make them "luxury" in the dictionary sense of the word.

</comment></comment></comment></comment></comment><comment><USER5> San Francisco is has extremely low population density across vast swaths of its territory for a city with such a high demand for housing. And, unlike other world cities, most of the buildings are not architectural masterpieces with historic value. They're cheaply built, ugly little boxes. The only things that will reduce this tension would be limiting the number of people allowed to move into the city (obviously not legal) or increasing the supply of housing. There isn't a lot of new land, but it would be easy to increase the density by a factor of 2-3x by giving developers incentive to raze lower density housing and replace it with larger buildings. The could be compelled to pay impact fees and fund neighborhood improvements to ensure that transit capacity, parking, public amenities, and street life are actually improved rather than degraded.

Unfortunately, the current regulatory climate in SF is 180 degrees opposed to this solution, with NIMBYism run rampant and any improvement or expansion of existing housing stock subject to a thicket of roadblocks and regulations.

<comment><USER2> This holds even more strongly for Silicon Valley, where housing density is even lower, and zoning way more restrictive. A lot of people would like to live in San Francisco, but I bet a lot of people would be happy to live in Palo Alto or Mountain View if it stopped pretending to be a suburb and became halfway affordable.

<comment><USER6> Agreed. The entire Bay Area needs a lot more apartment buildings and far fewer suburbs.

I'm surprised, sometimes, with all the perks that Google offers, they don't own an apartment building near the Googleplex. They're already 90% of the way to "company town" status; might as well embrace it.

<comment><USER3> Do you really want to live in a building owned by your employer? I lived in corporate housing when I went to a corporate school and when your relationship with that entity ends, you become homeless fucking _real_ fast.

It should be tenable to increase density with the right community support in MV, Palo Alto, etc.. - a regional agreement which is perhaps not as binding as it should be requires those cities to approve housing equal to the population increase of all the office developments they approve.

When Mountain View and Palo Alto approve office developments which welcome 100k new workers and apartments for 20k, they shuck the responsibility for residential civic planning onto SF and surrounding areas and collect the corporate taxes. And fuck them for that.

<comment> k-mcgrady >> "Do you really want to live in a building owned by your employer? I lived in corporate housing when I went to a corporate school and when your relationship with that entity ends, you become homeless fucking _real_ fast."

Just make sure the lease includes some clause that requires around 3 months notice if being evicted due to losing your job. If enough employees refuse to use the housing unless they are given those kinds of assurances the employer would have to cave.

</comment></comment></comment></comment></comment><comment><USER7> The article mentions that Amsterdam has recently allowed short-term rental. I live in Amsterdam. While it's true that this law exists, it was created to set rules surrounding the practice. It doesn't exactly encourage it, in fact the law limits short term rental:

      only allowed by the main occupant
      less than 2 months per year
      you must pay tourist tax
      you must have permission from home ownership association
      your house must be rated safe by the fire department
      maximum 4 people
      no disturbances of any kind

The list (in Dutch): [http://www.amsterdam.nl/wonen- leefomgeving/wonen/informatie/...](http://www.amsterdam.nl/wonen- leefomgeving/wonen/informatie/verhuren/particuliere/@663963/pagina/)

In practice hardly anyone complies with the full list. All rent-controlled apartments are excluded from short term rental anyway, as are most free-market rental apartments.

edit: removed unrelated rant :)

</comment><comment><USER8> I think the problem isn't the conversion of rent controlled apartments, it's that there are rent controlled apartments.

Rent control artificially limits supply and drives up prices for everyone else. This is one of the few things economists can agree on regardless of political affiliation. This isn't Airbnb's fault.

<comment><USER2> Rent control is a political tool that allows at least some poorer people to keep living in the city. The underlying problem is severe and chronic lack of supply in absolute terms.

Rent control is a way to mitigate social tension enough so the people on Google buses don't end up with their heads on a pike.

<comment><USER9> The problem is that this tool to satiate the plebs actually makes the problem worse, because it introduces more plebs. Rent control _reduces the quantity and quality of housing_. This raises prices, making non-poor people poor.

<comment><USER8> [http://www.nytimes.com/2000/06/07/opinion/reckonings-a- rent-...](http://www.nytimes.com/2000/06/07/opinion/reckonings-a-rent- affair.html)

This is an old Krugman Op-Ed from 2000 that says exactly that.

</comment></comment></comment></comment><comment><USER10> One of my friends said that their friend bought a unit at Divisidero and Fell and then another one in the same location a few years later, and AirBNB both for over $5000/month. I asked why they don't just rent it out, and they said it's easier to rent it out vs getting a tenant and being subject to draconian SF rent-control laws.

<comment><USER11> I'm guessing that these are rentals for less than 30 days? If so, your friend is making a lot of money by breaking the law. Your friend may have contempt for this particular law, so in this case, this profit is an assumption of risk. Illegal activities tend to be quite profitable because they are higher risk.

Honestly, though, I doubt there's all that much risk to this. Maybe even less than renting out to a permanent tenant (who has powerful rights in SF).

Unfortunately, SF seems to be unusually good at passing restrictive laws with low enforcement, encouraging people to test the limits and profit, and making chumps of people who follow the rules. I just paid over $8k for permits (hell, I paid a few hundred in permit fees to replace my windows and furnace with energy efficient ones). In response, SF wouldn't allow me to put a sink in my laundry room "to make sure that I'm not putting in an illegal in-law". Meanwhile, there are illegal in-laws left and right, all done with zero permits, and no apparent enforcement. Here's the thing, I don't have contempt for the law. I think that a structural engineer and licensed electrical work with required firewalls to prevent an inferno that starts in the illegal in- law from spreading next door are actually pretty good regulations.

It sounds like SF may soon allow legal airbnb with some restrictions, but like permits, this will probably be an option to register, pay money, and be regulated vs breaking the law in a nearly zero consequence environment.

<comment><USER10> Yep, undoubtedly they are breaking the law. But no one appears to care.

Ss I was reading your comment, I was thinking "There are so many unpermitted remodels in SF I wonder why this person actually paid for permits?" If you try to buy a house, I would say every single house I saw in SF had some sort of unpermitted remodelling, and no one cares, not even the real estate agents.

It's almost as if SF likes to penalize the people that follow the law, which is backwards and sad.

</comment></comment></comment><comment><USER12> Yes, of course. When there is a big, ugly design flaw in the program, blame the big, ugly workaround for it.

City planning is difficult. The engineering itself is actually pretty straightforward for skilled laborers, but that isn't the only thing to it. The problems usually stem from all the buildings being filled with irrational yard apes that hate and fear change, and have an unjustified interest in what their neighbors do with their property.

SF needs a higher density of residental building space. People who live in SF use their political power to make demolition and construction projects aimed at increasing housing density unprofitable, or at least less profitable than similar projects undertaken elsewhere.

Result: housing shortage. Solution: blame AirBnB and continue to ignore the underlying problem.

The critics should be blaming those actually responsible: every person in the Bay Area that has ever opposed new construction, by any means, for any reason.

<comment><USER13> Agreed, there seem to be a lot of scapegoats for the SF housing problems and AirBnB is just the latest one to be pilloried.

</comment></comment><comment><USER14> I guess AirBNB is also responsible for the vast number of high-paying jobs in the SF vicinity and the utter lack of housing development.[2]

[1] [https://news.ycombinator.com/item?id=8120070](https://news.ycombinator.com/item?id=8120070)

[2] [http://www.newgeography.com/content/003899-plan-bay-area- tel...](http://www.newgeography.com/content/003899-plan-bay-area-telling- people-what-do)

</comment><comment><USER15> Local building policies are creating a huge problem here, but a big part of what's causing prices to skyrocket is not tech workers, it's foreign investment...

 _for the period April 2013 through March 2014, total international sales have been estimated at $92.2 billion, an increase from the previous period's level of $68.2 billion_ [1]

And according to some reports, 90% of new condos sold in Miami are to foreign buyers.

 _A soon-to-be-released study by New York consulting firm Integra Realty Resources for the Miami Downtown Development Authority, an economic- development agency, found that about 90% of the buyers of new residential units are from abroad. Despite steadily increasing prices, their appetite doesn 't appear to be waning..._ [2]

Rules for purchasing real estate in the US are generally pretty relaxed, and as wealth grows in the rest of the world, people are looking for places to invest (and probably in some cases "hide") their money. The "premier" cities receive the bulk of that investment.

Tech workers and private buses do make it more convenient to live in SF and I'm sure it helps drive up the cost of renting in the city, but only 7% of the population of the city works in Tech. There are much bigger forces at play here.

[1] [http://www.realtor.org/news- releases/2014/07/international-h...](http://www.realtor.org/news- releases/2014/07/international-home-buyers-continue-to-invest-in-profitable- us-market-realtors-report)

[2] [http://online.wsj.com/articles/condo-builders-fuel-land- rush...](http://online.wsj.com/articles/condo-builders-fuel-land-rush-in- miami-1406052941)

</comment><comment><USER16> I was complaining to a friend recently about how the city of Mountain View has approved so much new commercial property development while approving very little residential property development. And he brought up a good point. A lot of the unused space in Mountain View is superfund sites. The development of new commercial space is happening at these sites (the whole area around Moffett including Google). It's easy to ensure commercial entities are meeting the requirements to mitigate the pollutants in these areas (proper HVAC and ventilation systems, etc) than with individual residences - and the limits on the amount of exposure are also lower for commercial areas vs. residential areas. So this could be a strong factor on why there's way more commercial development than residential in Mountain View and surrounding communities.

</comment><comment><USER17> I blame the fact that BART was never extended down the Peninsula.

<comment><USER2> Or into Marin! Even a BART line along Geary to the ocean would be transformative.

<comment><USER18> Almost equivalently, a Muni subway along Geary that wasn't slow, overcrowded, and prone to breakdowns would be transformative. The N-Judah should also become a subway for most of its aboveground route; there's too much traffic now for it to run at street level.

There used to be Muni streetcar tracks along Geary, but they became buses long ago. Both are subject to sitting in traffic for long periods.

They have been talking about a Geary Bus Rapid Transit line -- a dedicated bus-only lane. If it works, it'll be better. I am at a loss to explain how the city requires 8 years (and counting) to debate whether to paint "BUS ONLY" on a street.

</comment></comment></comment><comment><USER19> What's really funny is the AirBnb hosts often will not let you stay 30 days, but are fine with it if you have a day missing, then book another thirty. So the hosts understand and fight really hard to prevent anyone from possibly being considered a tenant which would give them more protections under the law. If it weren't for that I'd say, yay, AirBnb, help us make more efficient use of our housing. But really it is very prejudiced against long term residency in practice, so it is really choosing a certain type of tenant and taking long term housing off market.

</comment><comment><USER20> There is not enough housing and we won't allow people to build more... It must be Airbnb causing the shortage.</comment>


The geeks who saved Usenet (2002) - <AUTHOR> http://www.salon.com/technology/feature/2002/01/07/saving_usenet/index.html

<comment><USER2> Is HN being archived?</comment>


Read Committed Isolation Level in Postgres - <AUTHOR> https://miuv.blog/2019/11/13/understanding-read-committed-isolation-level-in-postgresql/ <comment><USER2> I learned RDBMS systems via Oracle, the default is READ COMMITTED isolation level, seeing people from non RCI systems experiencing RCI is always interesting. Good little article.</comment>


My Early Career Crisis (2014 – 2015) - <AUTHOR> https://yihui.name/en/2018/02/career-crisis/ <comment><USER2> It is a reflection of an open source (R) developer's experience during and after his completion of his Ph.D.

I can relate a lot since I also did a Ph.D. and have been contributing to an open source programming language (Haxe). I even also got an open source remote job right after graduate as he did. I share the same struggle of procrastination and the problem of lack of communication. To me, it feels like finding another me in a parallel world.</comment>


Show HN: Countly, real-time mobile application analytics with a style - <AUTHOR> http://count.ly

<comment><AUTHOR> Hi guys, for a couple of months we have been working on this mobile analytics platform and we wanted to show it to the community to get feedback, opinions etc. It has a demo for now and will be available in less than a month.

<comment><USER2> UI looks great, good job. I can say that there are some important features that need to be implemented such as comparison of multiple apps. I know that flurry and others have custom metrics but I couldn't find such a feature in your dashboard. May be I missed it but that one is also crucial.

<comment><AUTHOR> Thanks! Those two features are planned for the next version since most probably they will not be ready for the first release.

</comment></comment></comment><comment><USER3> Great job keep up the good work. Im pretty impressed that this will be open source. Never seen such a beautiful looking open source project :)

</comment><comment><USER4> Which technologies did you use? I also wonder if you plan to have an API to read all this data from my dashboard?

<comment><AUTHOR> Node.js and mongodb. We actually have an API to read the data even our demo uses this. The API will be released together with the whole platform.

<comment><USER5> Any estimated time for launch?

<comment><AUTHOR> In less than 30 days the version you can see in the demo (<http://count.ly/dashboard>) will be available together with the SDK that needs to be embedded into your app.

</comment></comment></comment></comment><comment><USER6> I liked the detail in your dashboard and the clarity of available data. Graphs look like flot?

<comment><AUTHOR> Yea we used flot but its a little bit custom. Its also planned to be released as a patch.</comment></comment>


Lampsort:  Leslie Lamport's Non-recursive Quicksort - <AUTHOR> http://bertrandmeyer.com/2014/12/07/lampsort/

<comment><USER2> TL;DR: if you have an algorithm that makes two recursive calls and it doesn't matter what order you do them in (e.g. Quicksort) then you can rewrite that algorithm to use a set of sub-problems in stead of a stack of sub-problems. The latter is what you (implicitly) get when you write an algorithm recursively.

A much more interesting observation would have been to note that you could accomplish the same thing by introducing a new language construct that explicitly noted that the order of two calls doesn't matter. That would allow a compiler to automatically produce code that used a set-of-intervals data structure, or -- much more relevant in today's world -- code that used multiple cores. (But that would have defeated the real purpose of the article, which was to be a tacit plug for Eiffel, which doesn't have such a construct.)

<comment><USER3> "you could accomplish the same thing by introducing a new language construct that explicitly noted that the order of two calls doesn't matter"

Effectively, this is what Golang's "go" construct does. Combined with channels you can construct an arbitrary dependency graph as well.

<comment><USER4> A very common need is to do an bunch of independent RPCs. Small wish: Allow returning values from a goroutine, along the lines of "results <\- go rpc(args)".

</comment></comment></comment><comment><USER5> > His trick is to ask the audience to give a non-recursive version of > Quicksort, and of course everyone starts trying to remove the recursion, for > example by making the stack explicit or looking for invertible functions in > calls. But his point is that recursion is not at all fundamental in > Quicksort.

I'm not completely sure what distinction Meyer is trying to draw between the implementation he discusses, and "making the stack explicit". He ends up with a "set" of intervals that he pushes onto and pops from, which might as well have been a stack of arguments.

Is the point that the order you pull things out of the set doesn't matter, so demanding that it behave as a stack is overly prescriptive?

<comment><USER6> Watching the source lecture[0], it's not about how the code is written so much as how the function is specified. It's easier to describe quicksort as a few set equations without invoking the concept of recursion, but since we don't write code like that people can't get to it easily.

The nuts-and-bolts difference is in fact that it's a set and not a stack, but the underlying question is, why do we all treat the set implementation as the derived version?

[0] [http://channel9.msdn.com/Events/Build/2014/3-642](http://channel9.msdn.com/Events/Build/2014/3-642) ~35m

<comment><USER7> > since we don't write code like that people can't get to it easily.

I've lately been trying to write code with no recursion - as in able to be implemented with each function having a variable indicating where to return to, no implicit stack in sight. (Statically-determinable stack size, to put it another way.)

It took me a bit to get the hang of, but I'd argue that it ends up being easier in the long run. Far easier to change the priority operator on your queue than trying to reason what behavior different orders of recursion get you, for example.

Ditto with graph search algorithms. It's enlightening to teach graph search algorithms as a single algorithm with a queue, where changing the priority gives you Dijkstra's algorithm (least cost first), DFS (LIFO), BFS (FIFO), A* (current cost + underestimating huristic of cost left), or whatever. Also easy to show that A* degenerates into Dijkstra's algorithm when you use a null heuristic (i.e. a heuristic that returns a constant) if you teach them as variants of the same algorithm.

</comment></comment></comment><comment><USER6> If I understand the argument, the use of a set rather than a stack encodes the observation that the order of execution of adjacent partition operations isn't important. That ordering is information you don't have to store, meaning you can choose any set-like data structure, and being able to choose your access is theoretically useful: For example, by following a rule like "partition the smallest interval first", you could keep the set size ("depth") to a minimum. (That might be handy due to random pivot choice?) You don't have the freedom to choose that in a stack-backed implementation, whether recursive or "non".

So it is reasonable to argue this is a more abstract, "fundamental" implementation of the sort. Intuitively, I'm not sure it's that different from "remov[ing] the recursion, for example by making the stack explicit", then removing the stack, but it's sure interesting.

Edit: See [https://news.ycombinator.com/item?id=8713160](https://news.ycombinator.com/item?id=8713160) for more context; this is correct, but the point is not really about how the code works.

<comment><USER8> "Smallest interval first" is exactly what naive recursion gives you.

<comment><USER7> Not quite.

Naive recursion doesn't generally change the order between the two subproblems at a single stage. It's generally just sort(first half), sort(second half).

Think of the case of a really bad pivot as the first choice - say, the second- highest element. Naive recursion generally will recurse on the lower chunk first, whereas smallest chunk first will recurse on the higher chunk.

<comment><USER8> Fair point. I assume you get a reasonable pivot.

Recursing on one of the two halves of the "current" partition is the cache friendliest option. Smallest interval will guarantee this by induction, I think, but I've never heard that the size of the stack is really a problem in quicksort. If you continuously partition out only a single element, your runtime is going to suck, even if you "sort" those elements first.

<comment><USER7> > I've never heard that the size of the stack is really a problem in quicksort

Naive quicksort tends to, in pathological cases, run out of stack space as opposed to having performance issues.

Smallest-interval ends up with a strict upper limit of O(log n) elements in the running set, as opposed to O(n) for naive quicksort. This can be useful.

</comment></comment></comment></comment></comment><comment><USER9> Where Quicksort uses the recursion stack to maintain the `intervals` implicitly, Lampsort instead uses some set data structure to maintain this set of subproblems explicitly.

It reminds me of the way you turn recursive depth-first search (recurse on children that have not been visited) into non-recursive depth-first search (push the children that have not been visited onto the DFS stack). Calling it "non-recursive" is a bit misleading, since you're trading recursion stack space for an actual data stack to maintain the recursion you are supposed to avoid -- but it is a useful program transformation to know.

<comment><USER10> There are ways to do a DFS of a tree without any sort of stack, though. This sounds more like a nitpick on stack vs set. You still have a data structure that grows in lg(n).

<comment><USER11> > There are ways to do a DFS of a tree without any sort of stack, though

What do you mean by this? You need a way to say that the unexplored nodes we've most recently found are the ones we explore first. How do you do that (with constant time operations) without what's effectively a stack?

<comment><USER10> Threaded trees was what I had in mind.[1] I believe the example there still talks of checking a visited list, though. Either a misunderstanding on my part, or on that page. I'll have to check on my books. Later, sadly. :)

[1] [http://en.wikipedia.org/wiki/Threaded_binary_tree](http://en.wikipedia.org/wiki/Threaded_binary_tree)

Edit: Apologies for a quick edit. I remembered I had a short implementation on my computer. Basically, when you follow a link, you know if it was a regular link or a thread. If it was a regular link, you could still go left from the new node. Otherwise, you visit and go right. Again, keep note of whether it was a thread or not. Repeat until done. (Make sense?)

<comment><USER12> "Again, keep note of whether it was a thread or not."

This sounds like the visited list again...

<comment><USER10> You only have to remember the link you just followed. Basically, make a boolean "followedThread" and initialize to false. Then, go to the root and follow this algorithm

        if (!followedThread && left != null)
            set followedThread <- curNode.left.isThread
            set curNode <- curNode.left.node
        else
            set followedThread <- curNode.right.isThread
            set curNode <- curNode.right.node

Only node you really have to special case is the root node, and you can do that by making its right.node == null. Then you just do this while curNode != null.

That make sense? (Also... very possible that I made a mistake here...)

</comment></comment></comment></comment></comment></comment><comment><USER13> > Formal specification languages look remarkably like programming > languages; > to be usable for significant applications they must meet > the same > challenges: defining a coherent type system...

Lamport disagreed with this statement before [1], wonder what he'd say nowadays (he's been known to change his mind). Gossip warning: Lamport gave a talk at Meyer's university a few years back, bashing OOP. Meyer's a huge OOP proponent.

[1]: [http://research.microsoft.com/en- us/um/people/lamport/pubs/l...](http://research.microsoft.com/en- us/um/people/lamport/pubs/lamport-types.pdf)

</comment><comment><USER14> I hiss at the term "non-recursive quicksort" which is used a lot. Quicksort per definition is recursive logically. The _same computation recurs_ in the subarrays, you know.

Whether you maintain the state by using the programming language's own stack, a separate stack, a queue, or some other data structure either implicitly or explicitly is a matter of implementation. The amount of space you need to allocate for the program state as a function of the size of the input is the same regardless.

In a high level enough language it doesn't matter because you are to encode, in that language, your intent to apply the same process again and again to the subpartitions until everything is sorted, and a sufficiently smart compiler could choose any implementation that best suits the underlying hardware.

<comment><AUTHOR> "The same computation recurs"

Hmm...you mean like in a loop?

<comment><USER14> Nope.

You can run, for example, bubble sort or insertion sort in a loop, always iterating over the same set of data (with some fixed amount of state) until the array is sorted.

Conversely and per definition, quicksort divides the data flow into subarrays and then sub-subarrays recursively which means that a plain single loop with constant space for state won't do. You need extra space for storing state and the amount of that extra space needed depends on the size of the input; logarithmically, in quicksort's case.

The implementation of recursion can vary but the control and data flow still does recur in a nested fashion.

</comment></comment></comment><comment><USER15> Here's a Python version I quickly threw together, for people like me who don't know Eiffel:

[https://gist.github.com/joelgrus/9dc47ebb22243fe990e5](https://gist.github.com/joelgrus/9dc47ebb22243fe990e5)

I think it's right. :)

</comment><comment><USER16> I am not sure what's the point is. It's still recursion it just bypasses using frame pointer and simulates its own. Here with set but stack is customary way to do that.

The idea isn't new either. Link to C implementation of quicksort without function calls: [http://www.ucw.cz/libucw/#what](http://www.ucw.cz/libucw/#what) (simple implementations is in array-simple.h). This implementation is very similar to the one in the article and is way (in my experience often more than 2x) faster than qsort or std::qsort so worth taking a look at.

</comment><comment><USER17> I'm not sure I agree with the idea that this somehow characterizes the idea of quicksort better.

Technically, you can always convert a recursive algorithm to iterative and back again (and not just with existence arguments -- it can be generally constructed), so why pick on quicksort specifically?

The only thing achieved here is putting the partitioning of the list and sorting in two separable parts. Whether that characterizes quicksort any better is a matter of opinion, I reckon.

</comment><comment><USER18> Is this a useful thing to implement as a parallel algorithm, or would I be better of just using mergesort as my choice?

</comment><comment><USER8> First question was why anybody would present this using Eiffel. That's apparently answered at the bottom, but I still don't understand. Eiffel is good at being abstract or something? But isn't the code presented a concrete implementation of a single way to do things?

<comment><USER19> I think it probably has a lot to do with the fact that the author, Bertrand Meyer, invented Eiffel ([http://en.wikipedia.org/wiki/Bertrand_Meyer#Computer_languag...](http://en.wikipedia.org/wiki/Bertrand_Meyer#Computer_languages)).

<comment><USER20> Eiffel is considered by some people to be one of the better programming languages (maybe even near the top of the heap, though of course a lot depends on application area you are using it for, just as with any other language). Features in it may have influenced other languages. Not sure, but I think Design by Contract is one of them - preconditions, postconditions and invariants, which can be implemented somewhat, using assertions, in languages that provide assertions. But Eiffel provides language support for them. Search for some Eiffel success stories. There was one very good one - I don't have the link right now - about someone at Hewlett Packard using it to develop software for printers, maybe a device driver, after earlier attempts using other languages turned out to have many problems - IIRC.

Edit: after a quick search, I found an article that is about the same story, of HP using Eiffel - though I don't think it is the same article I read a while ago:

[https://archive.eiffel.com/eiffel/projects/hp/creel.html](https://archive.eiffel.com/eiffel/projects/hp/creel.html)

From the article:

``Eiffel is the perfect embedded language...'': an interview of Christopher Creel, HP CCD (Color laserjet and Consumables Division) How HP used ISE Eiffel to develop leading-edge printer software, used Design by Contract to preserve the work of its best designers, and in the process found bugs in its legacy software, discovered a flaw in a hardware chip, and learned a few lessons -- such as how to do in weeks what used to require months.

I've used design by contract principles (in C) in a successful middleware software that I was the team leader for, ensured (pun intended :) that my team used it extensively in the code, and the end result met its goals and was somewhat widely used in projects by the company where it was developed.

Edit 2: Bertrand Meyer is also the author of a very well-known and respected book, Object Oriented Software Construction. It's a big book. I read a lot of it, some years ago. It has some very good points in it. Bertrand Meyer is one person who seems to have thought and done a great deal about the process of software development (with a view to getting better results), on many levels, from theory through practice to industrial application.

[http://en.wikipedia.org/wiki/Bertrand_Meyer](http://en.wikipedia.org/wiki/Bertrand_Meyer)

[http://en.wikipedia.org/wiki/Object- Oriented_Software_Constr...](http://en.wikipedia.org/wiki/Object- Oriented_Software_Construction)

<comment><USER21> Better is always subjective. Eiffel is not exactly in common usage in real programs. Lots of people think their language is better at something but until lots of people start using it, we don't really know.

<comment><USER20> >Better is always subjective. True, and I implied that in my first sentence. It is well known that Eiffel is not used by a lot of people. That does not automatically mean it is not good, though.

</comment></comment></comment></comment></comment><comment><USER22> How does it compare speed-wise?

</comment><comment><USER23> require j >= a.upper seems wrong.</comment>


Ask HN: Tools to diagnose bottlenecks on a home network - <AUTHOR> I am looking for some simple tools to identify network bottlenecks on my home network.
Here's the situation I am trying to debug
I have a 2018 google wifi mesh and have encountered a peak transfer rate of 5MB/s when transferring files from my laptop to a Synology DS418play NAS that is 2 mesh hops away.
Each of the devices and network hops should be capable of much more and I can't tell what the bottleneck is.
FWIW
- The mesh reports a connection speed of 455Mbps with my laptop
- I can read from the SD card on my laptop at about 70MB/s
- The Synology drive has a Raid 5 config with 4 5400 Western Digital Red Drives <comment><USER2> Iperf and Iftop are your friends</comment>


Ask HN: How to get started Moonlighting for established companies? - <AUTHOR> I'm wondering if anyone has any practical advice for getting started moonlighting, in particular with 'boring' companies and industries. I'm not all that attracted to 'change the world' and typical startup hype. I'd prefer a company that's been around for 45 years, that I can layer technology on top of and see person weeks per month saved because of small, focused projects to capture efficiencies. It isn't about size really, it's about process maturity.
My ideal client is someone that could benefit from technology automation in their business process. Think excel spreadsheet to web app. Or maybe they're using what is now considered a 'legacy' system and need functionality added or need it moved to a modern platform that allows for faster technology development. I have a lot of experience moving from legacy systems to more modern systems in a way that keeps the business moving, but also delivers business value along the way.
What I'm looking for is something is semi-long term (or at least could be), where I'd work 10-15 hours a week, and ideally would be using Ruby on Rails. I'm not attached to Ruby on Rails, but I feel that is how I could provide the most value to whoever I'm working with.
Is what I'm looking for a unicorn? Even if I'd be moonlighting? If not, how do I find the first couple clients? <comment><USER2> Cold call with your exact description. I did that now for home health care agencies. I called a few in multiple states and offered to help build internal tools, most weren't interested but some were. I was able to sit down and interview multiple team member which was helpful. We actually purchased a small company from an owner that wanted to transition to another industry, so that could be an option, you'd be surprised how one inexpensive small companies are...think less than a used car. Happy to answer any questions about our experience. If you want to moonlight, we are in the beginning stages of a rails app ourselves.</comment>


The Two Thousand Year Old Computer - <AUTHOR> http://en.wikipedia.org/wiki/Antikythera_mechanism

<comment><AUTHOR> A friend introduced me to this, an amazing device that caused the rewrite of many a history book. More than a thousand years would go by before anything similar could be built again in Europe.

A compelling video from the BBC can be found here:

<http://www.youtube.com/watch?v=-YeQ_497Uko></comment>