Is It Time for Germany's Doorless Elevators to Move On? - <AUTHOR> http://www.wsj.com/articles/SB10907564710791284872504581068283842808972 <comment><USER2> 1\. > "Modern lifts are so idiot-proof you could use them in your sleep," says Mr. Pfaff. "In fact, they are disenfranchising. Paternosters make you free to hurt yourself if you don't pay attention."

For those thinking it is odd to want to have some potential pain in your life, keep in mind that Germany is the birthplace of the PainStation [1]. Wanting your elevator to be gunning for you then makes more sense.

2\. In case it was not clear, the passenger carts do not flip over when they go over the top (or under the bottom). They are suspended in a way that keeps them upright. If you fail to get off at the top you just come around and have another shot at your floor on the down side.

(Although a version that did flip would probably be extra popular there. See #1).

3\. In an earlier discussion of paternosters, a link to a video of a modern take on this, by Hitachi, was posted [2].

It's an interesting approach. It has many of the advantages, but with no more injury risk than a conventional elevator. The basic idea is that the circulating cars are divided into matched pairs on opposite sides, with each pair independently driven by a cable. The shaft is not completely filled with cars like in the paternoster. There are gaps. Those gaps allow a pair to stop for passengers while other pairs are still moving.

[1] [https://en.wikipedia.org/wiki/PainStation](https://en.wikipedia.org/wiki/PainStation)

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

<comment><USER3> And it utterly fails anyone in a wheelchair, pushing a pram, lugging a heavy suitcase etc.

<comment><USER4> Which is why these aren't built anymore, I guess. Especially the wheelchair example is a very good reason (I'd argue the other reasons can be largely considered irrelevant, depending on the building/use case).

So, they're neat, interesting, but probably irrelevant.

But removing them for safety? That's just stupid - just like the article.

<comment><USER5> > Especially the wheelchair example is a very good reason

Yet they still build stairs and escalators.

</comment></comment></comment></comment><comment><USER6> Unbelievably, the only quote I could find even vaguely related to actual statistics was, "And yet, TÜV chief engineer Reimo Simon says he can't recall a fatal incident in Germany in the past 15 years. Official statistics don't differentiate between elevator and paternoster accidents."

Come on, WSJ.

</comment><comment><USER7> I don't know how much truth there is to this, but my father once told me there had been very few fatalities on the original 7 mile bridge in the Florida keys. But since the new bridge opened in 1982, there have been fatal accidents every few years. The reason being the old bridge was so narrow (originally it was a railroad bridge), folks really paid attention driving it, but with the new wider bridge, drivers became complacent.

I guess no one would use a paternoster without exercising care.

<comment><USER8> I've heard a similar argument about bike helmets.

It seems like there should be a fancier name for this effect.

<comment><USER9> Risk Homeostasis - [https://en.wikipedia.org/wiki/Risk_compensation#Risk_homeost...](https://en.wikipedia.org/wiki/Risk_compensation#Risk_homeostasis)

</comment></comment></comment><comment><USER10> The article cites no statistics on actual injuries. Neither do the politicians wanting to ban them out of safety concerns. For something around for this long, you'd think they'd be able to at least give an example of someone getting hurt.

<comment><USER11> Denmark had a fatal accident a month ago involving a 80 year old man who got his head stuck.

But beyond that episode, I know of no statistics.

Article in Danish: [http://ekstrabladet.dk/112/80-aarig-draebt-i-elevator-paa- ax...](http://ekstrabladet.dk/112/80-aarig-draebt-i-elevator-paa- axelborg/5582988)

</comment></comment><comment><USER12> Interestingly, they're mostly found in official buildings ( fiscal authorities etc.), not exactly environments that are usually known to be particularly risk-prone.

Anyway, though I've yet to use one of those lifts to me they look like a rather ingenious design (another aspect official buildings usually aren't exactly renowned for). Sure, they're not accessible but for most people they provide a more swift experience than common lifts.

This reminds me of the new (old) Routemaster bus models reintroduced recently that allow you to hop on and off while the bus is already / still driving (slowly, that is): Sure, it's a bit dangerous but to those willing to take that little risk and extra thrill they quite possibly provide a better user experience.

</comment><comment><USER13> I saw one of these in brno, czech republic. It was a real treat. I also thought, in the u.s., this is lawsuit waiting to happen... and then I felt sad.

<comment><USER14> 'Treat' and 'threat' are only 1 letter apart.

</comment></comment><comment><USER15> We have four paternosters in our office here in cologne and I'm using them every day. It's really cool, because you have mostly no wait time to get into it.

Two of them are out of order at the moment. I heard, that fixing one would cost about 900k €.

<comment><USER16> There are several in Bremen and most are accessible to the public. There is a set of them in the Finanzamt (tax office) so any tax abiding or non-abiding citizen can go ride it!

</comment></comment><comment><USER17> Previously in paternosters: [https://news.ycombinator.com/item?id=9642158](https://news.ycombinator.com/item?id=9642158) (includes link to the discussion before that - note that these aren't all referring to the same link, but the careful reader may spot a theme)

</comment><comment><USER18> They are quite rare actually. I have never seen one (living in Germany all my life). You'd have to actively seek one out to encounter them.

<comment><USER19> This is exactly my experience. I think the only existing ones are preserved for historic reasons.

This being said, according to German Wikipedia in May 2015 there were still 240 paternosters in operation. You can browse the list at: [http://www.flemming-hamburg.de/patlist.htm](http://www.flemming- hamburg.de/patlist.htm)

<comment><USER18> Thanks to your list I realized there is one in a building I walk by almost every week. Guess I'll be riding a Paternoster soon :-)

</comment></comment></comment><comment><USER20> I think paternosters are really, really cool. I'd love to ride one.

However, I must wonder whether they can be used by the elderly or disabled. How do you board one with a wheelchair? Or do they just run alongside modern elevators in buildings where handicapped accessibility is a requirement?

<comment><USER21> It doesn't look like a substitute for an elevator. More like a substitute for an escalator. Those aren't accessible either.

Using it looks to require a skill set similar to that for riding an escalator. There's potential for mishap with either device. I wonder how safe the paternoster would be if it had modern safety devices, like a switch to shut it down if someone gets stuck in the parts? But one problem is that then everyone is stuck inside. You can just walk on an escalator when it's off.

<comment><USER22> > I wonder how safe the paternoster would be if it had modern safety devices, > like a switch to shut it down if someone gets stuck in the parts? But one > problem is that then everyone is stuck inside. You can just walk on an > escalator when it's off.

Albeit somehow crude with no computers, infrared sensors or whatever, such safety devices are decades old.

For example, before the upward traveling cabin leaves the floor, there is a freely hanging wood panel -- if any part of you is sticking out, instead of being crushed in between the cabin and the next floor, you first hit the panel and lift it up, which trips a safety button shutting the whole elevator off. Or the last few inches of floorboards, both in the cabin and on the individual floors, are hinged.

As for being stuck inside when the safety trips -- having approximately one cabin per floor, each for two occupants at max, you are no worse than having a single cabin with multiple persons stuck in a traditional elevator. You can still walk on the adjacent staircase or use a traditional elevator. These elevators are also required to have a designated attendant (that does not mean a full time person sitting and doing nothing, for example a concierge can be in charge of that) and it is his or her role to immediately free (or call help) stuck people in case of safety cut out or power outage.

</comment></comment></comment><comment><USER23> I made a special detour to ride one of these in Kobenhavn in the Axelborg building. If the statistics show them to be safe, I think they should be preserved.

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

For most human traffic, they are less tedious than elevators: less waiting, no stop and go, a constant sense of motion. I don't think their riders would feel trapped the way I sometimes do in slow, busy elevators.

I think of them like a compacted escalator. I wonder if they actually are more compact.

<comment><USER24> While that does look incredibly unsafe (and would get vandalised/abused a lot of left unattended) it also looks quite fun to use and I can see why people like them.

<comment><USER25> I tried one back when the UK still had them.

They _are_ fun - so fun I went up and down a few times. (It was late, and the building was almost empty.)

They feel reliable. You hop on, you go up/down, you hop off.

You don't wait to see if the button you pushed actually did something, you don't try to find a place in a small herd of anxious people with decreased personal space, none of whom are talking, you don't get claustrophobia or any other phobia, and the jump on/off experience adds a frisson of excitement to your day.

And it's hard to get trapped in one. (Not impossible. But certainly hard.)

I suppose contact/proximity sensors at the limb/head-chopping edges would add to the cost, but conventional elevators are hardly 100% safe, so I don't really see the rationale for killing them off.

<comment><USER26> There still seems to be one at Sheffield University

[https://en.wikipedia.org/wiki/Arts_Tower](https://en.wikipedia.org/wiki/Arts_Tower)

<comment><USER27> Glad to see someone posted this! I was a student at Sheffield and did ride this one a couple of times. I was always skeptical about the safety but have never heard of any accidents happening.

What I found most amusing is that you pass through a floor with full view of the people waiting, and so there's plenty of opportunity for awkward eye contact.

</comment></comment></comment></comment></comment><comment><USER28> The first time I saw it in some old US silent-movie comedy as I was kid. I was scared just as I've seen it. You can imagine that those guys managed to make gags with that.

I can't find that movie (maybe somebody knows) (Edit: German Wikipedia mentions Charlie Chaplin?) the only thing I can find is something completely different I've also remembered:

[https://www.youtube.com/watch?v=bXBmUOjgWJE&t=8m20s](https://www.youtube.com/watch?v=bXBmUOjgWJE&t=8m20s)

Back to the chain elevator, as a grown-up I rode in it, and it felt not scary, more like "safe enough" and even interesting.

But it surely isn't made for everybody.

<comment><USER29> Twin steps into up elevator, twin steps out of opposite side. People completely confused.

</comment></comment><comment><USER30> I remember using something similar in US paper mills during the mid-late '80s. We called it a manlift. It was basically a vertical rubber conveyor belt with a small platform and a handhold located every 10' or so. It ran through holes in the floor. You just approached it, stepped onto the platform, and grabbed the handhold. There was a limit switch to stop the belt if you didn't get off at the highest floor, because it did just return down the other side.

<comment><USER14> They have those in Star Trek:TNG Engineering!

</comment></comment><comment><USER31> > "The paternoster is the VW-beetle of elevators. Not many people use it, but > many love it," Ms. Nahles wrote in a Facebook post.

Oh come on, VW is the largest car company in the world...

<comment><USER32> Yes, and they produce other models of cars besides the beetle.

<comment><USER33> They haven't made the Beetle in 12 years, and they haven't made it outside Brazil and Mexico since 1979, 37 years ago.

<comment><USER14> What do they call the car they do make then? Its on the Golf frame, has the curved top and looks like the Beetle on steroids.

<comment><USER33> The New Beetle.

</comment></comment></comment></comment></comment><comment><USER34> There is something oddly satisfying about this design. Other concerns aside, it just operates so smoothly. Seems to take all the friction of an elevator ride away.

<comment><USER14> It works for 5 floors or so. After that the delay becomes noticeable? Elevators can and do accelerate drastically when moving long distances.

</comment></comment><comment><USER35> I have seen this type of lift in a parking garage in the US, for use by the garage employees. It was even more barebones than the pictures of paternoster lifts I've seen. It was more like a moving continuous ladder.

</comment><comment><USER36> Thinking about them, can't they be made safish with a dectors for stuck limbs ? (Basically a big button the width of the elevator on top of the elevtor and on top of the ceiling.)

<comment><USER22> I don't know if it is typical or not, but at least some of them have that. I saw one in Prague, Czech Republic (there was an ACM contest hosted on Czech Technical University).

When you look at the frame, where you enter the elevator ("door", "door frame" or however it should be called):

\- a part of the floor is on hinges, so if you had your foot stuck between an oncoming floor board and cabin floor while traveling up, it would "open" and trip the safety,

\- upper part is actually a freely hanging piece of wood, so if you had your head or limbs sticking out while traveling up, you would lift the piece of wood and trip the safety.

No idea about the actual cabins -- for example if you kept hanging on the floor while the cabin travels down onto you -- but I suspect that the top of the cabin works similarly to the top of the "door frame". If my memory is correct, the cabins also had hinges near the edge of their floorboards (e.g., foot between the floor and the cabin traveling down), but no idea if these also stop the entire system.

Only the visible chain mechanism when overriding top or bottom looked unsafe to me, because I stick my hands everywhere :)

<comment><USER22> PS: These safety parts looked almost as old as the elevator, so if they weren't a part of the original design, I would guess they were added a long time ago...

EDIT: I actually found a mention of regulation from 1982 stating that the sliding upper parts are mandatory both on the cabin and on the "door frame" and moving them must stop the elevator. The hinged floorboards on cabins and floors are also mandatory, but there is no mention that they should also stop the elevator. See [1] (in Czech) for pictures.

[1] [http://paternoster.archii.cz/bezpecnost.html](http://paternoster.archii.cz/bezpecnost.html)

</comment></comment></comment><comment><USER37> Parking garages use something similar, but to my eye more dangerous, to get the staff quickly to different floors. I have no idea what they are called.

<comment><USER38> Manlifts.[1] Those are more dangerous than a paternoster. They're essentially a powered ladder. The biggest hazard is failing to get off at the top, because the belt just goes over a pulley and back down, which would throw the rider down the shaft head first. OSHA: _At the top floor an illuminated sign shall be displayed bearing the following wording: "TOP FLOOR - GET OFF" ... a red warning light of not less than 40-watt rating shall be provided immediately below the upper landing terminal and so located as to shine in the passenger's face. ... Two separate automatic stop devices shall be provided to cut off the power and apply the brake when a loaded step passes the upper terminal landing."_

[1] [https://www.osha.gov/pls/oshaweb/owadisp.show_document?p_tab...](https://www.osha.gov/pls/oshaweb/owadisp.show_document?p_table=STANDARDS&p_id=9733)

</comment></comment><comment><USER39> They have them in the Czech Republic, too. I've been on one in Prague.

</comment><comment><USER33> It seems like you could dramatically improve the standard elevator system now that microcontrollers make it easy to have what used to be sophisticated control systems and modern power semiconductors make it easy to control large amounts of electrical power at high speeds.

Here's a braindump. The overlong sentences are probably a symptom of too much coffee.

You'd have an "up" lane on the left and a "down" lane on the right, as in a paternoster or in Hitachi's system mentioned in [https://news.ycombinator.com/item?id=9786871](https://news.ycombinator.com/item?id=9786871), but the cars wouldn't stop in them; instead, you'd have a "station" at each floor in between the two lanes for the car to stop in without blocking traffic. (Popular floors, like typically the ground floor, would have several stations.) The cars would be small and light, holding two friends or a parent with some small children comfortably, with seatbelts and a maximum gross weight of maybe 300 kg; you could have a door to keep you from accidentally falling out of the car while it was moving, but it wouldn't need to be automatic, since if you didn't manage to get it closed, it would inconvenience only you (and whoever else is waiting to reach your floor, if you're on a single-station floor.)

Once you are in motion, you continue to your destination floor without stopping; because you are sharing the elevator shaft with other cars, you don't need to share the elevator car with other people. Your trajectory through spacetime to the destination station is reserved by the control computer before you leave the station, so that other cars will only crash into yours if there is a malfunction, such as a rail jam or a cable break. Much of the time, cars will travel through the shaft in convoys with their bumpers in contact with one another, limited by the speed of the frontmost car, which will greatly limit potential collision damage if a malfunction should happen.

(Probably the optimal number of stations on most floors is two, not one, because with two stations, there will almost always be one unoccupied station that your arrival can be scheduled into.)

Power and non-emergency braking are applied to the cars using the same cable- traction system all current elevators use (except for those shitty Otis hydraulic elevators, and those few rack-and-pinion elevators), but the energy is not applied to or removed from the cable by a motor; it is delivered to your car entirely from counterweights connected to your car's cable through a system of CVTs and clutches. Low-power electric motors lift spare counterweights continuously to replace energy either lost to friction or stairway descents or currently stored in people or objects that haven't returned back down to street level.

This system removes electric-power constraints to maximum acceleration, so that a continuous-jerk spline trajectory should allow comfortable ascents and descents with accelerations as large as ±⅓g. For a Burj-Khalifa-scale tower of 900 meters, ⅓g means you can comfortably travel from the bottom to the top, in any of the 100 or so cars, in about 20 or 30 seconds, reaching about 70 MPH in the middle of the trip, ten times normal elevator speed.

(Accelerating 300kg at ⅓g at 70MPH is about 43 horsepower, which is within the range of normal elevator power capacities, so it wouldn't be impractical to build such a high-speed elevator system without the complicated CVT/clutch system, just inefficient.)

As with public-transit cable-car systems or cable tramways, your car can grasp and release cables dynamically, but it can grasp any of several different cables, allowing us to have more cars running at different velocities than we have cable loops and preventing cable breaks from being an emergency under normal circumstances.

And you would do all of this while taking up only the floor footprint of three small elevator cars on most levels, unlike the Burj Khalifa's 57 large shafts, which run at one-third the peak speed described here and have to stop frequently because you share the car with a dozen other people.

(If you build a subway along these principles, you could use a 48-volt DC third rail; lightweight four-seat vehicles running on bicycle wheels powered by independent motors in the vehicle, rather than cableways; dirt-floored tunnels, unless you're below the water table; and stations and lines spaced some 50 meters apart instead of 500.)

</comment><comment><USER40> Holy crap! This thing exists? Just reading about it, and it overcame my fear of heights... and by that I mean it's more scary than what I'm most scared of.

</comment><comment><USER41> If it was indeed "Time for Germany's Doorless Elevators to Move On", WSJ wouldn't have felt the need to phrase it as a question.

Betteridge's law of headlines in action, folks.</comment>


Defense Officials Preparing for Civil Breakdown - <AUTHOR> http://m.truthdig.com/eartotheground/item/defense_officials_preparing_for_civil_breakdown_20140613

<comment><USER2> why not post a link to the Guardian article directly? [http://www.theguardian.com/environment/earth- insight/2014/ju...](http://www.theguardian.com/environment/earth- insight/2014/jun/12/pentagon-mass-civil-breakdown)</comment>


You are not who you think you are - <AUTHOR> https://medium.com/p/9343d4f631f0

<comment><USER2> I didn't really connect with this piece until the end.

>Remind yourself, that you are not that thing. This will help you to see the other person's point of view, instead of lashing out irrationally.

I'm pretty sure the entire reason I went to art school was to learn how to do this. I disagree with the post's description of 'who/what you are' but this point holds.

<comment><AUTHOR> Great feedback. Thanks for that. The primary point (although possibly poorly communicated so) was meant to help us detach from the things we identify too strongly with. And no not be insulted when those things with which we associate (our art or other things) are criticized. > We are how we make other people feel Is a very bias and really a choice of a perspective more than an absolute truth.</comment></comment>


Gene therapy for metastatic melanoma in mice produces complete remission   - <AUTHOR> http://www.eurekalert.org/pub_releases/2010-11/iuso-gtf111810.php

<comment><USER2> "Indiana University School of Medicine researchers used a modified lentivirus to introduce a potent anti-melanoma T cell receptor gene into the hematopoietic stem cells of mice. Hematopoietic stem cells are the bone marrow cells that produce all blood and immune system cells."

Has this type of gene therapy ever been tried on humans? Any successes so far (not necessarily in curing something, but just in using a virus to carry genetic information)?

<comment><USER3> Yes: gene therapy has been used investigationally since the 90s (<http://en.wikipedia.org/wiki/Gene_therapy>). It has a bad tendency to kill human patients or cause cancer, but it's very widespread in research. For example, optogenetics (<http://en.wikipedia.org/wiki/Optogenetics>) uses lentivirii to insert DNA into specific classes of neurons to get them to express a protein.

</comment></comment><comment><USER4> This is excellent news. I knew someone who died prematurely from metastatic melanoma. I hope these results can be extended to human use, so that some day others don't have to suffer the same fate, hopefully within my lifetime.</comment>


Ask HN: Best IRC channels? - <AUTHOR> What are the best IRC channels for developers, security, networks, programming, general tech discussion, data science, etc. Just looking for some recco's. <comment><USER2> There is one particular use of IRC channels that is insanely useful, that I'd like to share.

On various programming language channels, there are ad-hoc expression evaluation bots that experienced people use to guide newcomers through the intricacies of the language. If you're new to Haskell, for example, what you can do is grab the logs for the past 3 years, grep for "> " (used to invoke the evaluator) and you have instant insight into how an experienced Haskeller's mind works. It can speed up your learning by a factor of 10 compared to reading papers / blogs / formal tutorials. I know because it did this for me.

<comment><USER3> excerpt of #haskell quality of life [https://gist.github.com/quchen/5280339](https://gist.github.com/quchen/5280339)

<comment><USER4> "< quchen> Haskell is invariant under gender. Really!"

Some great stuff in there :)

<comment><USER5> I think merijn got the highscore in the conversation though :-P

<comment><USER6> I think the whole channel joining in on the "we're going to troll you back by being super nice" is the real winner.

<comment><USER3> And turning half-trolls into students like an Aikido move.

</comment></comment></comment></comment></comment></comment><comment><USER7> Tangentally related: #gaygeeks on FreeNodes. Tired of being the old LGBT person amoung you geeky friends? Tired of being the only geeky person amoung your LGBT friends?

</comment><comment><USER8> I don't know that there are too many interesting "abstract" IRC communities, beyond those Freenode channels specific to a given programming language or technology.

I leave a connection to Freenode running while I'm at work, in a few channels related to my job... so that during builds, or other short bursts of idle time, I can glace over and see if there are any questions I can answer. Likewise, I throw out a quick question of my own every now and then, when I'm afraid it's too subjective in nature to avoid being closed by StackOverflow- lawyers.

I've lost interest in general chat, outside of specific questions and answers. From what I've seen, the nicer communities are the newer channels. Ironically, they degrade over time as their underlying technology matures. You would think that channels like #clojure and #go-nuts would be populated by immature hipsters, while ##java would be made up of 40-something corporate types. However, I've found that those first two channels are welcoming and thoughtful, with interesting discussion always taking place... whereas ##java (even its mods) frequently sound like pre-teens yelling profanity at each other on XBox Live.

<comment><USER9> As has been extensively documented, the mainstream kills discussion communities. Being hard to find is a proxy for an intelligence filter. And ones without moderation (such as IRC) suffer the worst.

</comment></comment><comment><USER10> This is going to be borderline off-topic as it's not general for developers.

I have to mention #clojure on freenode for being an incredibly welcoming IRC channel. The discussions you will see can be very interesting, and the community is more than often willing to help. Living in Japan, I was worried about the timezones being an issue, but there seems to be people from different parts of the world on the channel, making it very nice.

<comment><USER11> Second on #clojure. Although I've noticed it got a bit 'crowded' the last couple of months. It sucks for me since now my questions often get drowned. :P

</comment></comment><comment><USER12> Personally, I never found IRC to be a helpful tool for learning new things from unfamiliar people.

To me, IRC has always been a "grapevine" tool, where etiquette, social pecking orders and gossip are shared amongst a smallish close-knit social circle. IRC always feels more like a social scene, and a distraction.

If anything, perhaps an IRC channel is useful for managing fluid, rapidly changing situations, where you might need an up-to-date, live information source, to use in immediate decision making (hence, why bot net command and control tends to be integrated into IRC programs), but, otherwise, chat logs from IRC usually read like a disorganized array of participant's various scattered streams of consciousness.

Are you looking for reading material, or a hangout?

<comment><USER13> On the flip side hanging out in #nginx taught me so much. I started helping out other people. Started a blog to write about common topics which caused me to write a book about nginx and currently planning another one. Ultimately IRC is a tool and like most other tools it is what you make of it. Become a contributor to channels and you will learn so much.

</comment></comment><comment><USER14> #wikipedia-en is a channel where english wikipedia editors and admins hang out, and it is fun watching their discussions. #wikimedia-dev is where most of Mediawiki development happens these days, so that is nice too. #wikimedia- opearations is fun too once you ignore the icinga bot spam - not often do you get to see a world class ops team operate that transparently :)

</comment><comment><USER11> I've found #bash to be full of very helpful people. They don't get tired at all of being asked common bash questions. On most channels, if you ask a common question, they tell you to RTFM. But not on #bash. They still tell you to RTFM, but nicely, and usually _after_ they give you an actual answer. Especially that greybot guy.

<comment><USER15> +1. Bash people are great.

</comment></comment><comment><USER16> I've recently been using SaltStack and have found #saltstack on Freenode to be very welcoming and helpful which is nice. Often you go into a channel and it's a ghost town or out right hostile to relatively simple questions. I think OSS projects in general could learn a bit of "marketing" in this regard, if your IRC channels are toxic, I immediately think your community as a whole may be toxic.

<comment><USER17> I'll second this -- #salt is a welcoming channel full of informed and helpful types. Similarly #mynt. Heck, I'd suggest that almost any free software project where at least one of the primary developers loiters would be an answer to your question.

</comment></comment><comment><USER18> I hang out on Freenode, in #nimrod, ##php, #elementary-dev and a couple of others.

I'd love to know some good security ones to idle in; I've got a bit of experience in it and am trying to expand it some more, and would love a place to ask questions regarding web security and the like.

<comment> vezzy-fnord ##security (Freenode) is the channel to go.

</comment></comment><comment><USER19> Nowadays, I mainly hang out on irc because of the #lesswrong channel on freenode. There is plenty of intelligent discussion, HN readers and no real topic.

</comment><comment><USER20> The #postgresql community on freenode has won me over many times for being mature, and absolutely competent over their domain. Solid stuff.

<comment><USER21> Agreed. One can learn a lot of practical postgres from camping out in there.

It's also where I found out about a handy tool for demystifying EXPLAIN output: [http://explain.depesz.com/](http://explain.depesz.com/)

</comment></comment><comment><USER22> just connect to some popular network like freenode, and retrieve the channel list, and sort by users.

#ubuntu 1701 #archlinux 1695 #bitcoin 1602 #debian 1492 ##linux 1360 #python 1349 #freenode 1304 #haskell 1200 #Node.js 1186 #dogecoin 1120 #gentoo 1091 #git 1047 #puppet 956 ##javascript 941 #vim 936 #python-unregistered #go-nuts 893 #android 889 #bash 858 #ruby 847 #jquery 750 #postgresql 747 #litecoin 711 ##math 701 #bitcoin-otc 700 #emacs 700 #openstack 697 #docker 693 #clojure 679 #perl 653 #mysql 646 ##networking 642 #angularjs 621 ##security 611 #defocus 599 ##php 596 ##electronics 595 #nginx 584 #cisco 582 #digitalocean 569

<comment><USER23> And then pick the channels with the least users.

</comment></comment><comment><USER24> ##programming on freenode is terrible. Don't go there.

</comment><comment><USER25> #startups on Freenode was mentioned here before, I think.

<comment><USER26> The last time I checked, that channel has almost nothing to do with startups.

<comment><USER27> Nope, but it's entirely full of HN readers.

</comment></comment></comment><comment><USER28> Usually I join topic-specific channels, got tons of answers in #django , #javascript, #drupal, #flask, #python, #celery, #nodejs etc ..

Those are on freenode, there are channels for software users (e.g: photoshop) but on a different servers.

</comment><comment><USER29> I have always found a bunch of nice people with a lot of knowledge in the various programming and tech channels on Freenode, like #twisted and #pocoo

#debian on EFNet also has a great bunch of people.

<comment><USER30> The official #debian is on OFTC, not EFNet.

<comment><USER29> I did not know that, but the guys on EFNet are still awesome :-)

</comment></comment></comment><comment><USER31> #rust on irc.mozilla.org. They're a super helpful bunch.

</comment><comment><USER32> #programming-language-you-really-like and #distro-you-really-like on Freenode I guess...

</comment><comment><USER33> Is there a #hn or #hackernews?

<comment><USER34> Not that I know of. One should really be started, as the suggestion given is usually #startups on Freenode, and I didn't last 5 minutes in that room. Really poor experience from the start. Not that sharing #hn around is going to result in a better room, but it would be great to have some faster conversation around stories posted on HN, among other topics. I know I have had my mind changed, or at least challenged, regarding some of my beliefs from discussion here.

</comment></comment><comment><USER35> Freenode #emacs, ##linux, #nimrod, #julia and #d.

Nimrod's gang (including Araq) are very friendly and welcoming.

#julia and #d are very quiet though (except for the bots).

And #emacs -- well, that one channel which is lenient towards off-topic chats!

<comment> bulte-rs No... #emacs is not lenient... It's just that everything is applicable to Emacs and vice-verse. ;-)

</comment></comment><comment><USER36> An approach that seems to work well for me is to use IRC as a way to communicate with groups people that mostly I know in person and share a common interest with. That way, I'm able to avoid a social pecking order or having to be "initiated" into a group. You may already be in one of these groups already, though the medium isn't necessarily always IRC--think Skype (text) chats groups with a subset of regulars.

Remember, you can always drag others along with you and start your own channel.

</comment><comment><USER37> You're welcome to join #nirc, it's a channel originally created for [https://github.com/cjstewart88/nirc](https://github.com/cjstewart88/nirc) but its since turned into a hangout for old coworkers and friends. We are all developers. Sometimes we are helping each other and other times we are talking about random shit... or in the event someone has a nirc question, we talk about that!

</comment><comment><USER38> I'm a bit late to the party, but I've found ##csharp to be a fantastic channel, Very rarely do I not get a great and thoughtful response back to any issues I've had. They're also incredibly helpful when it comes to general .NET questions, which tend to get asked in ##csharp because ##asp.net is usually dead.

</comment><comment><USER39> I really enjou #infra-talk on FreeNode, sysadminy stuff without ties to any specific product or tool.

</comment><comment><USER40> I hang out on #email@example.com, very talented people help each other out there.

</comment><comment><USER4> #lp101 on ...I think?...EFNet was the hotbed of locksport/mechanical security discussion and research for quite a while. I was amazed by some of the results of IRC-based collaboration in that community.

</comment><comment><USER41> #linux, #ruby, #rubyonrails, #bitcoin, #javascript, #nginx, #ubuntu, #rubymotion ... to name a few I visit. They are all on the Freenode network.

<comment><USER42> More or less the same for me...

</comment></comment><comment><USER43> #installgentoo on irc.installgentoo.com

</comment><comment><USER44> #web on freenode for web development

<comment><USER45> What up Jayflux, #web is good place full of helpful people regarding all around web development topics.

</comment></comment><comment><USER46> #postgresql and #qgis on freenode can both be really helpful when you are running into problems.

</comment><comment><USER47> For various tech subjects, servers, bsd, etc. #baot on irc.rizon.net is my go- to.

</comment><comment><USER48> Networks, #networker in ircnet and #ix in /irc.terahertz.net

</comment><comment><USER49> One that i run is www.chatwebdev.com webby types mainly UK based.

</comment><comment><USER50> I'd recommend #iphonedev on Freenode for anything iOS.

<comment><USER51> I haven't had great experiences there personally. The conversations aren't the most enlightening and there's a lot of ripping on new developers asking obvious questions. I'm a decent developer at this point, but early on, asking questions in there wasn't pleasant. I'm a big proponent of encouraging new developers of asking lots of questions and those that discourage it are really not helping the community.

That said, it's not all bad. I still hop in every now and then.

</comment></comment><comment><USER52> Lots of good discussion on ##hott and #agda...

</comment><comment><USER53> #irssi on freenode, really helpful people

</comment><comment><USER54> #shitfire!!! (on freenode). ;)

</comment><comment><USER55> #wizardchan on irc.rizon.net

<comment><USER56> A+ website

</comment></comment><comment><USER56> #lounge @ entropynet

<comment><USER57> irc.entropynet.net is the server, as for some unknown reason they didn't think entropy.net was a good idea.

<comment><USER58> It was already registered?

</comment></comment></comment><comment><USER59> irc.mozilla.org has a lot of cool channels

</comment><comment><USER60> #web

</comment><comment><USER61> #defocus / ##defocus

</comment><comment><USER62> #marketmakers

</comment><comment><USER63> HACKED!</comment>


John Cochranes Unppleasant Fiscal Arithmetic  - <AUTHOR> http://blogs.forbes.com/bretswanson/2011/03/15/john-cochranes-unpleasant-fiscal-arithmetic/

<comment><AUTHOR> This blog posting gives an overview; see the primary paper, Understanding policy in the great recession: Some unpleasant

fiscal arithmetic, [http://faculty.chicagobooth.edu/john.cochrane/research/Paper...](http://faculty.chicagobooth.edu/john.cochrane/research/Papers/understanding_policy_EER.pdf), for more detail.</comment>


A tool that encodes 128 bytes into a GIF without changing any pixel values - <AUTHOR> https://github.com/CalderWhite/gif-msg/tree/b8aed6f88572dbfd4d112a4be8dce953943072a2 <comment><USER2> very cool!</comment>


Why I gave up on MS' TypeScript - <AUTHOR> http://randomnessy.quora.com/Why-I-gave-up-on-TypeScript

<comment><USER2> That's annoying and I'd probably walk away if I encountered that out of the box. Seems to be another silo`ing issue of dev teams in MS unfortunately. They have folks smarty enough to fix these types of issues.

<comment><AUTHOR> chris ortman just pointed to me that using the lambda like syntax would safeguard from context changes

so () => { } would work.

The compiler implied guarantee bugs me nonetheless.</comment></comment>


MongoDB lessons - <AUTHOR> http://arbiesamong.com/mongodb-lessons-or-how-not-to-f-up-hard-when

<comment><USER2> > I chose MongoDB because it seemed very lightweight and the ease of changing > the models.

This makes me think that the author didn't put enough effort into determining the right solution for this problem. Using something like MongoDB requires experience too, which the author lacked.

<comment> mh- >Sharding also assumes a replica set, which will help bring in secondaries when your primary goes down.

I'm not sure they used more than a single _mongod_. I'm not sure any datastore would have been forgiving of the lack of attention to best practices.

</comment></comment><comment><USER3> The author couldn't be more right about picking an asynchronous driver. It makes me wonder how long it will take for the official MongoDB drivers to adopt this approach too. I've been using ReactiveMongo for Scala for the past two months and would recommend it without hesitation.

<comment><USER4> Asynchronous driver isn't always needed, but he was working with Tornado, an asynchronous framework. Using anything non asynchronous that has the possibility to block for any significant period of time (i.e. network call or database call) with tornado defeats the whole purpose. Hardly MongoDB's fault.

</comment></comment><comment><USER5> Anyone care the explain "2. Create your indexes as you develop." a little deeper.

<comment><USER6> I'm guessing the authors deployed to production with no indexes on their collections. This means the cost of most queries was probably O(n). This could go unnoticed in development where N is small, but is unacceptable once you have any real data. I think they are recommending thinking about and adding indexes while you are developing as opposed to trying to do so post-hoc, once queries are taking tens of seconds.</comment></comment>


Apple Strategy 2017. Very important change to iPhone coming - <AUTHOR> https://virtualrealitypop.com/im-inside-tim-cook-s-head-but-i-really-wonder-what-s-going-on-inside-mark-zuckerberg-s-head-5babf01c5713#.1618nqvj0 <comment><USER2> iPhone is getting rid of the microphone..we would texting in future and through our fingers be able tell siri whatever we need ..</comment>


PURE: Generate HTML from JSON data - <AUTHOR> http://www.lieuwejan.com/article/show/2/pure-generate-html-from-json-data

<comment><USER2> oh, I like those pure HTML templates, without data-binding dirt!</comment>


Best Way to Show Home Feed According to User Preference - <AUTHOR> I'm working on a startup where I need to show data according to user preferences. I successfully collect what user likes, dislikes, whom to follow, and other stuff, etc... Now I need to show the user data or you can say the Home Feed like how Reddit, Twitter, Facebook, and other Social Media Platform shows.
You may be saying that you get the posts of user preferences from the database and show it. But you see if a user following someone and the followee has uploaded three or four posts since the previous visit of my user. Now, this is where my first question arises.
1. Should I show all the posts one after another or show a couple of posts then insert a couple of different follower posts and later show the remaining post?
 2.  Another question if the above scenario is correct how do I randomize the user preferences and show them with proper pagination. Because I can't just load all the data to the website or app. This will cost me performance issues.
Thanks for your time. <comment><USER2> Display it in a reverse-chronological view. This has worked just fine for a decade. The main advantage is that the user can remember the last item they saw, so when they next check the app and scroll down they know that they're caught up once they reach that post they remember.

This is also why it's been discontinued from all advertising-funded social media, because turns out you get people to stay on the app longer and see more ads if they _can 't_ tell whether they've caught up or not.</comment>


[Ask HN] Teach me how to unit test - <AUTHOR>

Unit testing... Everyone knows what it is. However, when ever I try, I feel like I ended up wasting a lot of time and feel that my tests do nothing. Even worst, I feel like I cannot write tests for many things that I feel are important.<p>How can one learn to do proper unit testing? I see bunch of examples but none that really help me. I almost feel like a unit testing needs to be taught and hard to learn on your own. <comment><USER2> Unit testing is all about abstracting / mocking out all the modules connected to the unit you are testing & just test your unit.

If you are programming in python, [http://www.voidspace.org.uk/python/mock/](http://www.voidspace.org.uk/python/mock/) would be the most preferred way of mocking out other external units connected to your unit under test.

[http://alexmarandon.com/articles/python_mock_gotchas/](http://alexmarandon.com/articles/python_mock_gotchas/) should make you an expert on mocking</comment>


The Boiled Frog - <AUTHOR> http://allaboutfrogs.org/stories/boiled.html

<comment><USER2> This story is old, and false. <http://www.snopes.com/critters/wild/frogboil.asp>

<comment><AUTHOR> Thanks for posting this.</comment></comment>


Was Twitter's May 8 Downtime on Purpose? - <AUTHOR> http://www.picwing.com/blog/?p=715

<comment><USER2> Never attribute to cunning that which can be adequately explained by incompetence.

<comment><USER3> ...except for web 2.0 marketing gimmicks.

(I agree with you though).

</comment></comment><comment><USER4> God, I'm so sick of hearing about twitter.

So, important people that I follow are no longer going to post on their blog, I have to follow them on twitter?

I've signed up for an account, and yes it wires you in to whats really short term hip and happening, and it certainly does have value in some situations. But with basically an infinite number of people to follow on RSS as it is, where there are meaty articles posted, I still don't see the point.

If it's important enough, it will be posted on their blog, and for most subjects, RSS is more real time than I'd like to see.

Is it only me that thinks that twitter is yet another supposed massive paradigm change, that will actually amount to nothing terribly interesting because the last paradigm worked just fine thank you very much?

<comment><USER5> That was my opinion at first, but more and more I'm starting to be use Google Reader less and less to stay updated. Once you find some good people to follow on both Twitter and FriendFeed and hook them up in a desktop application with filters, I think that they are becoming more and more useful.

</comment></comment><comment><USER6> When people start making up ridiculous conspiracy theories about your company you know you've made it.

</comment><comment><USER7> It was scheduled:

[http://status.twitter.com/post/104738920/planned- maintenance...](http://status.twitter.com/post/104738920/planned-maintenance- tomorrow-monday)

<comment><USER8> Who schedules maintenance during peak time?

<comment><USER9> Don't forget, Twitter is used outside the US as well. Where it was already late evening / early morning.

<comment><USER10> In India, Twitter went down at 2:00 AM. Nevertheless, people were outraged :p

</comment></comment></comment></comment><comment><USER11> or insanity

these people have way too much time on their hands</comment>


Show HN: Allowcation – a simple allowance tracking app for your kids - <AUTHOR> http://www.allowcation.com <comment><AUTHOR> My wife and I started giving our kids allowance a year or so ago and it's been so frustrating. We don't generally carry cash, so having to remember to get cash out to pay the kids' allowances was tough. And when we forgot, that meant we had to track how much we owed them for the next week.

In addition to those frustrations, kids lose everything...including money. So, unless we managed the cash for them, there was a good chance some of the cash would end up lost.

For all these reasons, I built this simple allowance tracking app. It's built on Blockstack for simple, secure authentication, so my kids could actually have their own user accounts if we want them to. It also has a feature where my kids can see what their money would be worth in bitcoin if they had invested there instead of holding/spending the cash.

Let me know what you all think!</comment>


The case for piracy - <AUTHOR> http://www.abc.net.au/technology/articles/2011/10/20/3344351.htm

<comment><USER2> I'll play the role of devil's advocate / British Royal Navy here.

This article demonstrates a shaky grasp of the entertainment industry's structure, and that shaky grasp leads the author to make unwarranted assumptions and misguided conclusions about the intent of almost wholly unrelated parties.

Contrary to most gut-level consumer assessments of the industry, the industry itself is not some monolithic and homogenous unit. Within the industry are countless different companies and parties, as different from one another as, say, Apple is from Google. (Though Apple's products and Google's products often intermingle, it would be silly to conflate the two companies altogether into one, single-minded unit; this is essentially what the author of this piece does with companies in the entertainment business).

To wit:

 _"Gladiator, Channel 10....What better time for a giant cartoon helicopter to fly around the screen announcing, "Don't forget, Merrick and Rosso! The B-Team! Every Wednesday night at 7.30!"

I remember every syllable of that ad. Positioning ads like this is, Gruen has told us, is most effective as we're at our most vulnerable. But at the same time this was like the network raising its middle finger at the us..._

First of all, more likely than not, this wasn't the "network." This was your local affiliate station (Channel 10). In this case, the station's general manager was the one "raising his middle finger" at you. He purchased the broadcast rights to the movie. He is one person. He is not employed by the network whose programs he carries on the national portions of his airtime. (And this movie airing was likely a local portion).

More to the point: neither he, nor the network with which his station is affiliated, had anything to do with the making of the movie. To be angry at this promo placement is fine; to draw conclusions that the company who made the movie bears any responsibility for this placement is silly. If you don't want to watch "Gladiator" with local promos thrown in, don't watch it on local TV. Watch the DVD, the Blu-ray, Netflix, iTunes, cable on-demand, or any of the other legitimate ways to view "Gladiator" that are at your disposal. It's absurd to make the claim that piracy is your only hassle-free way of viewing the film, or that it's the only reasonable resort left to someone so offended by a local promo in a local broadcast.

At the end of the day, much of this piece is the same, warmed-over and intellectually lazy argument in favor of piracy that we've all heard a million times before. It's an argument that attempts to justify theft by pointing to the supposedly heavy burdens born by legal purchase, and by villifying the producers and distributors of said product. And that argument doesn't hold up. The consumer burdens (some forms of DRM notwithstanding) really aren't that onerous, and the companies behind the content -- while slow to grok the technology disrupting them, and thus highly reactionary -- aren't some evil cabal hell-bent on fucking you over. Let's call this what it really is: piracy is convenient, cheap, and mostly consequence-free. That's why everyone likes it. Let's not add a veneer of moral justification to it.

People can find post-facto justifications for pretty much anything they like doing. If people found a way to steal gasoline cheaply and easily, they'd come around to the idea that the oil companies were getting what they deserved. If stealing produce off the shelves of Whole Foods were no big thing, we'd point to our least favorite Whole Foods business practices as justification for our actions. And so on and so forth.

Two wrongs don't make a right. Hollywood does a lot of things wrong. No question about it. But piracy _predated_ many of everyone's critiques of the business, and the practices everyone hates so much. Furthermore, piracy has only made the situation _worse_ , by making the entertainment companies more paranoid, more reactionary, and more defensive.

If we really want to change the Hollywood distribution model -- which certainly _does_ need rethinking -- then let's act constructively about it. Let's form startups in that space. Let's support, by voting with our wallets, disruptive and interesting players in that space. Let's not rebel against the marketplace, but rather, let's demonstrate the voice of the consumer _in_ the marketplace by shifting power and resources to the companies making strides in favor of the consumer.

<comment><USER3> Copyright infringement isn't theft.

Pirates _do_ vote with their wallets -- they keep their wallets closed and don't support _any_ players in the market. You seem to be of the opinion that supporting the least-evil companies will slowly shift the standard MO in the market towards less evil activities, but there's two problems: (1) This hasn't actually helped unseat the incumbent corporations, and (2) there's nobody who is sufficiently not-evil to the point where they are worth supporting.

This isn't a consumer-and-business problem. This is not something that can be fixed by improving consumer awareness. The problem isn't that consumers aren't making smart choices, the problem is that this market exists at all. Copyright was never meant to be abused this way, and our continued compliance towards the market and the corporations participating in it are not helping.

I'd like to make an analogy. Consider the bottled water market. This is a market which takes a free good (water) which is generally considered too cheap to meter, and sets a relatively outrageous price on it. The markup is justified through the packaging, quality assurance process, and a general insistence on part of the producer that the bottled water is somehow superior to non-bottled water.

What's the answer to bottled water? Supporting bottled water startups? Seeking out and raising awareness of disruptive bottled water producers? I'd say that the answer is simply to not buy bottled water.

At this point, you're gonna say that bottled water isn't a good analogy because piracy would equate to stealing pallets of bottled water. You're right; the analogy doesn't carry that far. Feel free to come up with a more accurate analogy.

(I'm gonna get US-specific at this point.)

Do you recognize this? "To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries." This is the clause of the Constitution which authorizes Congress to establish copyright. This is the _only_ authority under which copyright may operate: It must be limited, it must be aimed at content _creators_ , not merely redistributors or advertisers; it must promote common culture. The point of copyright, as we historically know, is to ensure that artists can make money without patronization, in order to permit an artist who _continually makes work_ to be remunerated for that work. The idea of a limit on copyright was to ensure that the common culture, the public domain, which was considered more important than the right of an artist to be compensated, would not be ignored; anything which is published will eventually belong to everybody and not any single person or group.

Know how long copyright was originally? 14 years plus an optional 14-year renewal, if the author was still alive. That was in 1790, for the "encouragement of learning." It was intended for copyright to eventually _shrink_ as distribution improved; after all, why would we need a long copyright when authors are nearly instantly remunerated in this age of speedy international distribution? And now copyright lasts longer than most people.

You and I, and everybody else, have minds filled with cultural information. It really should belong to all of us, shouldn't it? Isn't it a damn shame that Mickey Mouse, after three-quarters of a century, being a character our _grandparents_ enjoyed, isn't somebody we can have? That the cultural contributions of John Coltrane aren't ours to enjoy? I'm not gonna keep listing things from the twentieth century which we all know but aren't available to us; there's just too much stuff and too little space in this tiny textarea.

So, in this space, who do you see as a disruptive or interesting player, and why? Who will _you_ support with your wallet? Because I'm done. I'm tired of it.

<comment><USER2> _"Pirates do vote with their wallets -- they keep their wallets closed and don't support any players in the market."_

But yet, they still take the content. It's a half-hearted and disingenuous form of boycott. If the goal were really to send Hollywood a message, and to take an absolute moral high ground in doing so, then wouldn't a more effective message be sent in not consuming the product whatsoever? Not buying it _and_ not pirating it?

For what it's worth, I don't disagree _whatsoever_ with your anger toward the industry, or with your critiques of their business practices. The only functional difference in our positions is that I don't try to pretend that downloading a product I haven't paid for is somehow justified by a post-facto moral facade I bolt onto my actions.

Now, all of that aside, let's get to the heart of the matter here: people enjoy quality content. Hollywood produces a lot of quality content (despite Michael Bay's best attempts to undermine that fact). What people enjoy about Hollywood is the _production_ side of the business. What they don't enjoy is the _distribution_ side. Historically, those two have been intertwined because production -- in and of itself -- is not profitable. It is the cost center of the industry. Spending $200MM to produce a tentpole movie, or even $2MM to produce a little indie movie, is an investment that can only generate a return when packaged, distributed, and monetized somehow.

Therein lies the challenge. We all want Hollywood to make product, but we don't want Hollywood to sell us that product. Eventually, Hollywood might pull out of the distribution side of the business altogether, and find a way to monetize its production by charging its distributors (Apple, Netflix, Amazon, etc.) higher fees of some stripe. But eventually, those fees will get passed onto the consumer, one way or the other.

<comment><USER4> _But yet, they still take the content. It's a half-hearted and disingenuous form of boycott. If the goal were really to send Hollywood a message, and to take an absolute moral high ground in doing so, then wouldn't a more effective message be sent in not consuming the product whatsoever? Not buying it and not pirating it?_

Not participating in a societies culture is a very high price to pay for not wanting to support how companies distribute said culture.

If libraries were to disappear, would you still claim people should stop reading if they won't want to or can't afford to support the publication of certain books?

</comment></comment></comment></comment><comment><USER5> _On a personal note, I suspect that once the world's internet infrastructure comes up to speed, we'll all be using on-demand subscription models and the notion of buying content to keep will feel archaic. Even so, more needs to be done to protect the public from ham-fisted copyright industries demanding payment for everything._

By the time the infrastructure is in place, high-capacity media will be so much more affordable that one can cram hundreds, if not thousands of shows/movies/music and view them locally, without requiring a network streaming connection.

It is all about distribution.

</comment><comment><USER6> There is no case for piracy per se. There IS a case for faster, more efficient distribution models that combine lower costs and wider reach into a more modern operating structure. Such a business model would easily be able to attract rights-holders anyway; copy-rights are not the problem, they are just a symptom. By a lot of measures piracy is just a symptom as well.

Both sides will have to give a little in order to make an alternative business structure possible. For rights-holders this means abiding by shorter copyright terms, compulsory licensing for orphaned works, etc. For pirates this means abiding by actually paying and participating in the system as well as agreeing to the safeguards that reward lawful participation.

If pirates are never willing to accept reasonable safeguards that form the legal structure for their side of the 'agreement', rights-holders can hardly be expected to accept destruction of their own safeguards.

<comment><USER7> >There is no case for piracy per se.

You are right. However - at least for me - it was never about making a case for piracy. It was making a case _against copyright_. Piracy is merely (as you point out yourself) a symptom, a consequence. The true cause is the completely absurd concept of copyright, the notion that you can own ideas, and the abstruse line of argument that correlates existence of art and innovation to the restriction of distribution and usage thereof.

<comment><USER6> The concept of copyright is not absurd at all. The notion that one has rights to their own ideas is a marvelous development of liberal productive societies; it is a hallmark. It has allowed value to accrue to things that were actually valuable while also being intangible.

The mere existence of art and innovation is not enough to make up for the destruction of rights to one's own work or ideas. Putting the progress of art and innovation solely in the hands of hobbyists is like saying the start-up world will work fine if no one gets funding anymore because people can always code stuff themselves at home on the weekend.

I am not saying at all that the status quo form of those rights is the only viable form. But to dismiss rights out-of-hand is throwing the baby out with the bathwater and choosing a very weird solution [turning back the clock] to a very modern problem.

<comment><USER8> Marvelous? It is an interesting idea, yes, but if even Landes & Posner express clear doubt over whether it does any good overall, one ought not overdo it.

> It has allowed value to accrue to things that were actually valuable while > also being intangible.

It allowed _price_ to be given to them, but since that _detracts_ from the value we can immediately see it is not such a clearly good proposition -- it is very questionable.

Copyright gets by to a large degree on a conservative mind-set. It is almost impossible to see alternative ideas, but very easy to appreciate what actually exists. Caution is not all wrong, but when the greatest information tech in history has recently been invented, one would think the situation is more about turning the clock forward not back.

<comment><USER6> "It allowed price to be given to them, but since that detracts from the value we can immediately see it is not such a clearly good proposition -- it is very questionable."

Something can only be priced because it has value already.

As for seeing alternative ideas: while hardly a conservative - I think it's a great development to allow ideas to be monetized. If someone has an alternative system to copyright that can do that I am truly all-ears . . .

What I find illogical is this idea that we should move forward to a world where we run a knowledge-based economy but that that knowledge shouldn't have any monetary value. Are we going to barter ideas between one another to make ends meet? I'd love to hear how . . .

<comment><USER7> > Something can only be priced because it has value already.

You're missing the point. Ideas are invaluable. Assigning them a price detracts that value.

> I think it's a great development to allow ideas to be monetized.

The idea that everything needs to be monetize-able to be worth investing in/spending time on is, for lack of better words, a disease.

> What I find illogical is this idea that we should move forward to a world > where we run a knowledge-based economy but that that knowledge shouldn't > have any monetary value.

How is this illogical? Knowledge had no monetary value to being with, because it's worth more than any amount of money.

Also, we're not going to run a "knowledge-based economy". We're going to move to a knowledge-based _society_ that most likely will depend on a _service- based_ economy in which everyone can profit off each other's innovations, allowing for incremental development that will speed up progress by magnitudes.

> Are we going to barter ideas between one another to make ends meet? I'd love > to hear how . . .

But that's exactly what we're doing right now (licensing etc), and which you rightly point out is illogical to the point of utter absurdness.

</comment></comment></comment></comment></comment></comment><comment><USER9> For me there are 3 things that I used to download. Music, Movies and TV shows.

I was most prolific with music. I didn't share the music, I didn't burn the music to disks. I just acquired it to listen at home. The reason was I simply didn't have the money to buy every album of every artist I liked. Instead I downloaded the music and paid to see them live.

This really all changed with Spotify. A flat monthly fee to listen to as much music as I want. This was all I wanted all along. I don't care for owning music. Now I buy the albums of a handful of artists for my iPod. Then use Spotify around the house. This is the music industry adapting to the needs of the listener. Its good stuff.

With movies. I love the cinema and watch most movies there. I hate the cost of dvd's. If I buy a DVD I watch it maybe once a year... if that. I will watch the extra's once. The cost of a new DVD is like £12, BluRay is higher... I just don't see the value in it. There is rental but again, its bad value. It costs like £4 for one night. Often the disk doesn't include the special features. The ad's at the start of the disk cannot be skipped.. It requires a lot of planning to ensure your night is actually free to watch the film.

If I was in the states I would get NetFlix but where I am there still isn't much alternative to downloading a film for the single viewing or waiting 6 months till it eventually comes into the sale.

My main gripe is with TV shows. I enjoy US TV shows. I don't want the worlds most expensive TV package to catch them all scattered across ten's of channels. Even if I had all the channels. Watching it week by week with ad's. Boring. Even when the US season end's. The DVD or paid download version doesn't come out in my country for 6-12 months later because local TV is still waiting to show it...

This model to me seems broken. It is too slow and separate's fans of the show from the show itself. I download most shows I watch. I then buy the boxed set when it comes out here so I can get the extra's and support the show.

In my opinion piracy in terms of downloading for individual consumption is - in many cases - understandable. It is the failure of industries to understand why people are doing it and not catering for them which is the larger problem.

</comment><comment><USER10> I've always tried to pursue legal avenues for media content. As an UK expat I understand the woes described quite acutely.

I recently subscribed to the BBC iPlayer global. Bitterly disappointed. You are restricted to watching the content on the iPad (no Airplay to APTV). Not sure then why I own a fucking widescreen tv. Idiots.

Not to mention that you can't download the iPlayer Global from the UK Apple store where the vast majority of UK expats have their iTunes account. You have to use the local store. Great when it is in German and won't accept your UK credit card.

Really, how hard are you trying to stop me giving you money? Here's money, take it. Um, you need to jump through 15 million effing hoops first and then you can give us your money. Astonishing...

</comment><comment><USER11> My problem with current music distribution platforms is that they don't cater to a lot of the music I listen to.

Spotify may have 15 million songs, but if half of the albums I want to listen to aren't on there, what's the point in using it at all?

Pandora may be nice for digging deeper if you listen to mainstream indie rock, but if they don't have 90% of the artists you want to make a station of in their database, and the other 10% give you more terrible/mainstream music, it's just a waste of time.

Last.fm radio is great, except when multiple artists use the same name, and you get a track nothing like what you expect every few songs and have to babysit it. iTunes and other mp3 album purchasing sites suffer from poor quality of files, and no way to check if there is terrible transcoding.

CDs and records are the best way to get what you want, but the price is steep, and if the album you want doesn't have a local distributor, a full length album can cost $45+ to import.

And that's _just_ music.

</comment><comment><USER12> > Around this time Sony also came up with other ways to stop people listening > to the music they had bought. A system appeared which inserted noise and > interference when people tried to compress music from CDs.

I never heard about this, but I'm very interested. Can't seem to find anything about it on Google, can anyone link me?

<comment><USER13> "Sony rootkit" should be more than sufficient to satisfy you.

<comment><USER14> No, he's asking about something else - an audio technology.

</comment></comment></comment><comment><USER15> Pfffffff, it's not piracy, no one is getting thrown into the sea, burned alive, hanged from a mast, flogged, ransomed or separated from his limbs. :-(</comment>


24 Claims of Lodsys '565 Patent Rejected - <AUTHOR> http://www.groklaw.net/article.php?story=2011101614244373

<comment><USER3> How interesting.

Google was bashed for taking so long to respond, and for not backing their developers on the cases, etc. It turns out, they were taking their time preparing to fight the patents and invalidate them, and in the end, it may be their attack on the patents themselves that saves the day for developers on all platforms.

<comment><USER4> I still believe that Google could have done a better job of communicating with developers and the community. But this is good news indeed.

</comment></comment><comment><USER5> Note that this is a Non-Final action - which I believe means that Lodsys has not had a chance to respond. In general reexaminations take a long time...

"Based on our calculations, it takes more than 3 ½ years (43.5 months) for the average case to proceed through the basic reexam process to a final conclusion... A 95% confidence interval suggests an average pendency for appealed cases (again, assuming no rework) is between 5 and 8 years" [http://271patent.blogspot.com/2008/05/another-critical- study...](http://271patent.blogspot.com/2008/05/another-critical-study-on- inter-partes.html)

This is to the point where I'm not sure the courts take reexaminations seriously as a defense. In the handful of patent cases I've paid attention to, the fact that a patent was initially rejected in a reexamination had little impact on how the court proceeded with a case. While it's possible the USPTO will fast track this particular case, if I was a developer currently being sued I would not have any confidence that the USPTO will bring any relief before I was due in court.

<comment><USER6> > _I'm not sure the courts take reexaminations seriously as a defense._

That generally depends in part on how far along the court case is when the reexamination request is filed.

On one hand, federal judges want to keep their cases moving; they themselves are judged by the peers (reputationally only; they have life tenure) in part by their average time to final disposition. If an accused infringer files a reexamination request in the USPTO just as its infringement case is about to go to trial, the chances are the judge might order the trial to proceed anyway.

On the other hand, a reexamination proceeding could make a case go away, or even just narrow the triable issues significantly. That would free up the judge and his or her law clerks to work on other cases.

And random factors can make a difference. I once had a judge fast-track a patent case about programmable thermostats. He did so because one of his law clerks that year had his undergraduate degree in electrical engineering. The judge wanted to finish the case while that law clerk was still around to help him. The law clerk informed me and the other side of this at the first case management conference; he also noted for the record that my law firm had turned him down the previous year when he applied for a job with us; ouch .... (The case settled soon afterwards for unrelated reasons.)

</comment></comment><comment><USER7> There is an interesting question in the comments...one of the patent claims specifies incrementing a counter - so is decrementing the counter instead a valid workaround?

EDIT: thinking more about this, what if you pushed/popped them with a stack, or FIFO'd them with a queue. Seems there are various ways around the increment semantics.

<comment><USER8> Semantics. Are you decrementing the counter by a positive number, or incrementing it by a negative number?

<comment><USER9> Yeah that's the point. Sometimes semantics distinctions matter to the law. So can you just decrement by a negative number to get around it, legally?

<comment><USER10> Semantics especially matter in patents. There is a famous historical case where a patent specified a horizontal beam - since you can never have a perfect horizontal beam in a real machine everyone was free to break it.

It's why every second word in a patent is "substantially"

</comment></comment></comment></comment><comment><USER11> So, does Lodsys (actually they are just a shell for Intellectual Ventures) still have firepower left, or is this the end of the game?

<comment><USER12> The actual court case will drag on forever I'm sure. But their ability to force a settlement seems pretty badly hurt. It's much easier for a corporate legal department to take a wait-and-see approach, waiting for a resolution here. The perceived risk is lower.

<comment><USER11> One college student running an app ("69 Positions") already caved.

Unfortunately, it sounds like Lodsys still has most of what it needs to lean on the indie developers - the fact that the devs simply can't afford to pay for defense.

</comment></comment></comment><comment><USER13> Which claims have not been rejected?

</comment><comment><USER14> Can someone explain dependent and independent claims to me?

<comment><USER15> An independent claim stands alone. For example, if you had invented the bicycle, an independent claim might look something like this:

       1. A device for transportation consisting of two
       wheels joined by a frame on which one or more
       passengers sit.

A dependent claim depends on an another claim. Here's an example that depends on the above independent claim:

       2. The device of claim 1 where one of the wheels is in
       the front of the vehicle and one of the wheels is in the
       back of the vehicle.

Note how it starts with claim 1, and then further refines it.

Here's an example of a dependent claim depending on another dependent claim:

       3. The device of claim 2 where the front wheel is mounted
       in a turnable fork for steering the vehicle.

<comment><USER10> The important part being I could still have a patent on the steering even if the first 2 claims are denied.

It's very common in patents to only really have invented the last claim - <USER2> the previous claims are thrown out but the last one stands. It's partly an easy way of getting all your points across logically and partly a tactic of having some ground to give up in a legal battle</comment></comment></comment>


Adding Real-time Features to Videopixie - <AUTHOR> https://www.firebase.com/blog/2013-11-11-videopixie-guest-blog.html

<comment><USER2> "Want your audience to listen to you, tell a story."

\- Nice job.</comment>


Cello – High Level C - <AUTHOR> http://libcello.org/ <comment><USER2> The strategy in the GC for determining the stack top for hunting GC roots will not work on all architectures.

On aaarch-64, the address of a local dummy variable may be above a register save area in the stack frame, and thus the scan will miss some GC roots.

In TXR Lisp, I used to use a hacked constant on aarch64: STACK_TOP_EXTRA_WORDS. It wasn't large enough to straddle the area, and so operation on aarch64 was unreliable.

[http://www.kylheku.com/cgit/txr/commit/?id=3aa731546c4691fac...](http://www.kylheku.com/cgit/txr/commit/?id=3aa731546c4691fac333846f15950578425f43da)

A good stack-top-getting trick occurred to me: call alloca for a small amount of memory and use _that_ address. It has to be below everything; alloca cannot start allocating above some register save area in the frame, because then it would collide with it; alloca has not know the real stack top and work from there.

Since we need to scan registers, we use _alloca_ for the size of the register file (e.g. setjmp jmp_buf), and put that there: kill two birds with one stone.

[http://www.kylheku.com/cgit/txr/commit/?id=7d5f0b7e3613f8e8b...](http://www.kylheku.com/cgit/txr/commit/?id=7d5f0b7e3613f8e8be84ac0d541a7bbcb4782f1d)

<comment><USER3> > On aaarch-64, the address of a local dummy variable may be above a register > save area in the stack frame

Then use two stack frames! Every problem can be solved by adding an additional level of indirection. ;-)

<comment><USER2> In this case it won't help, because:

0\. We are already in a frame that doesn't take any arguments of the "val" object type; how come that's not good enough?

1\. The current stack frame is entered with a bunch of callee-saved registers, some of which contain GC roots.

2\. The current stack frame's code saves _some_ of them: those ones that it clobbers locally. It leaves others in their original registers.

3\. Thus, if a another stack frame is called, there are still some callee- saved registers, probably containing GC roots, and some of these will go into the area below the locals.

4\. You might think that if the save all the necessary registers ourselves into the stack and _then_ make another stack frame, we would be okay. But in fact, no. Because by the time we save registers, the compiler generated function entry has already executed and saved some of those registers into the below-locals save area and clobbered them for its own use! So our snapshot possibly misses GC roots. The compiler generated code always has "first dibs" at the incoming registers, to push them into the below-locals save area, thus kicking the GC roots farther up the stack.

</comment></comment></comment><comment><USER4> Seen this posted here years ago. Now as then, my gut feeling is that anyone doing serious work in C would never use something like this-- I feel like the fine grained low level control is exactly the reason they chose C in the first place, and they're not looking to escape from it or they would just choose a different language.

<comment><USER5> > I feel like the fine grained low level control is exactly the reason they > chose C in the first place

That's not the only reason, there is also simplicity, static typing and performance. If you favor the later two for whatever reason it can be used in places where you'd normal write a python/shell script or small program without too much extra effort (see [https://github.com/RhysU/c99sh](https://github.com/RhysU/c99sh) or suckless tools). Complexity is where Cello seems to fall down though, it seems like it introduces much more complexity than just using plain C with a decent "standard" library like glib.

<comment><USER6> > That's not the only reason, there is also simplicity, static typing and > performance.

I think the only meaningful benefit here is performance.

Simplicity is at best determined by the nature of the problem and at worst a completely subjective opinion for C.

Similarly, static typing is not usually something the programmer should care about that much. You need to know which paradigm your language uses, of course, but beyond that it does not matter all that much. IMX, you're more concerned with type safety, and C is not fully type safe like, say, Java is.

<comment><USER5> Yes it's somewhat subjective, but other languages for the use case usually contain a lot more abstractions. They're more complex languages but they might enable less complex solutions to the problem at hand.

> IMX, you're more concerned with type safety, and C is not fully type safe > like, say, Java is.

I'm concerned with finding errors, preferably at compile time. There have been very few times being fully type safe runtime like the jvm have done much for me compared to the java compiler. If I wanted more down that road then rust or ada would probably be better.

</comment></comment></comment></comment><comment><USER7> This is just an amusing aside: C is the lowest level of an actual cello. ;-)

<comment><USER8> I would have never gotten the wordplay at hand. Thanks ! Very clever.

</comment></comment><comment><USER9> Isn't this sort of what Glib is getting at? Bringing higher level data structures and capabilities (extendable arrays, hash tables, heaps, etc.) into C.

[https://developer.gnome.org/glib/stable/glib-data- types.html](https://developer.gnome.org/glib/stable/glib-data-types.html)

You don't get Cello's macros, and it uses reference counting instead of invisible garbage collection, but you get a lot of fun high-level capabilities.

<comment><USER10> And if you really want to go high-level wouldn't Vala be the language?

<comment><USER11> Vala is actually a really pleasant way to interact with the various bits of the Gnome environment.

It's a shame, in my opinion, that it never really received widespread love.

I think all serious work on it stopped about a decade ago.

<comment><USER10> Isn't it still used by gnome, elementary, etc?

I suppose it's very gnome specific.

<comment><USER11> It's used but some of the core gnome developers have advocated for people to stop using it.

What I can find with a quick search this morning: [1] [2]

Then again, there are also several people who still say it's worth using: [3] [4]

So maybe it's just Emmanuele Bassi advocating against it. If you look at the development pace, though, it hasn't really seen any significant development for quite a long time.

[1] [https://twitter.com/ebassi/status/827482509982195712](https://twitter.com/ebassi/status/827482509982195712)

[2] [https://www.bassi.io/articles/2017/02/13/on- vala/](https://www.bassi.io/articles/2017/02/13/on-vala/)

[3] [https://blogs.gnome.org/mcatanzaro/2017/02/19/on-problems- wi...](https://blogs.gnome.org/mcatanzaro/2017/02/19/on-problems-with-vala/)

[4] [https://blogs.gnome.org/despinosa/2017/02/14/vala-is-not- a-p...](https://blogs.gnome.org/despinosa/2017/02/14/vala-is-not-a- programming-language/)

</comment></comment></comment></comment></comment><comment><USER12> There was a snippet I saw a while ago where someone made C look like Java for a joke, using macros. I wish I could find it to share here, it's great.

<comment><USER13> The original bourne shell source was using mac.h ( [https://minnie.tuhs.org/cgi- bin/utree.pl?file=V7/usr/src/cmd...](https://minnie.tuhs.org/cgi- bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h) ), a bunch of macros, according to wikipedia, "to give the C source code an ALGOL 68 flavor."

Here's the original source tree, if you're interested: [https://minnie.tuhs.org/cgi- bin/utree.pl?file=V7/usr/src/cmd...](https://minnie.tuhs.org/cgi- bin/utree.pl?file=V7/usr/src/cmd/sh)

</comment></comment><comment><USER14> Previously [https://news.ycombinator.com/item?id=14091630](https://news.ycombinator.com/item?id=14091630)

<comment><USER15> Also 2015: [https://news.ycombinator.com/item?id=10526159](https://news.ycombinator.com/item?id=10526159)

2014: [https://news.ycombinator.com/item?id=8799070](https://news.ycombinator.com/item?id=8799070)

2013: [https://news.ycombinator.com/item?id=6047576](https://news.ycombinator.com/item?id=6047576)

</comment></comment><comment><USER2> I'm left wondering about the iteration example that is also quoted in the home page:

[https://github.com/orangeduck/Cello/blob/master/examples/ite...](https://github.com/orangeduck/Cello/blob/master/examples/iteration.c)

Okay, so the vector is garbage-collectable once the function terminates ... but it has references to stack-allocated integers i0, i1 and i2. That leaves me wondering: won't the GC walk these and trample on stack memory that has been deallocated/reused.

(Maybe those integer values have a tag right in the _val_ pointer that gets the GC to avoid dereferencing them.)

</comment><comment><USER16> Just my opinion, don't mean to be inflammatory, but if the user has to know and manually manage stack vs heap objects, then I wouldn't call it "High Level" language.

<comment><USER17> That raises a question, would you call C# a "High Level" language?

<comment><USER18> In C# it's more relevant to understand semantics (ref/value type) than allocation details (unless you actually care about low level details for performance/interop)

</comment></comment></comment><comment><USER19> Didn't C++ start out as a set of hacks on C? Fairly sure it was originally a preprocess stage ahead of an ordinary c compiler.

Raises the question of how usefully far you can make C twist using macros / preprocessor.

Candidates like Forth or Lisp seem possible. A few weekends at most. Might need to take a few liberties.

Python... Perhaps if you implement a less dynamic subset? Duck typing may trip you up. To what extent?

What about Elixir?

<comment><USER20> I wrote my own Lisp. The virtual machine, which is a stack machine, is written in C. The interpreter, which runs until the system compiles itself, is written in C, but makes heavy use of C macros. The rest of the code, including the compiler, is in Lisp.

Code in the interpreter is directly converted to byte code, e.g. the macro Car generates the virtual machine instruction Car, rather than executing the code for car. The alternative would have been to generate byte code by hand, would have been error-prone. Here's the code for cons and let:

        Define("cons", 2)
          Local1 Local2 Cons Ret
        Termin

        DefineF("let")
          Local1 Car
          Local2 /* initialize new env */
          Prog(1)
          Ret

          Params(2)
          Until Local1 Null Do
            Local1 Caar /* var */
            Local1 Cadar Free12 Call("eval") /* val in old env */
            Local2 /* env */
            ACons
            SetLocal2 Pop /* update new env */
            PopLocal1
          Od
          Free11 Cdr Local2 Call("progn") /* use new env */
          Ret
        Termin

It is actually C, with heavy use of macros. But it can be read as Reverse Polish Lisp. It can also be thought of as a Lispy Forth.

<comment><USER19> Interesting approach. maybe develop it further into a JIT arrangement or a library builder.

Brainf*ck is another classic.

</comment></comment></comment><comment><USER21> Thanks. I didn't know about this library. Interesting, but perhaps I am missing something... about stack "allocation":

      var i0 = $(Int, 5);

vs

      int i0[5];

In both cases it doesn't need GC. What would be the reasons for redefining it? I wonder how it couples with local _static_ variables.

</comment><comment><USER22> Is it using macros to achieve that?

</comment><comment><USER23> For a different take for "better C", try Zig language, it looks pretty cool.

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

</comment><comment><USER24> This gets reposted every couple years and it's still bad for all of the same reasons.

It's not higher level than C in the sense that you get any additional safety guarantees or real beneficial abstractions. If you are fine without the safety but want abstractions, use C++. If you want safety and abstractions, use Rust or Go or Zig. If you really want a transpile-to-C language, you've got Nim.

Finally, it's not good at being C; everything it does is poor practice and should be quickly recognized as such by experienced C developers, IMO. It's got no developer community and no real-world production consumers.

</comment><comment><USER25> What type of sorcery is this?

<comment><USER26> The good one, dark, very dark.

<comment><USER27> Yeah, the foreach macro is particularly interesting to me in that respect. Quite a neat bit of sorcery.

</comment></comment></comment><comment><USER28> This is great. It made me smile.

</comment><comment><USER29> Why not just C++?

<comment><USER30> Speaking for myself, I've never found C++'s complexity appealing, and it only seems to be getting worse over the last 20 years.

As the creator says, it's not for production use. If I'm doing a side project, I'd give this a serious look.

<comment><USER17> > Speaking for myself, I've never found C++'s complexity appealing, and it > only seems to be getting worse over the last 20 years.

True, but that's why we've got Rust these days. (Rust is actually _more_ optimized than C, e.g. it will automatically reshuffle your structs to get rid of excess padding, and reference accesses will automatically take advantage of compiler-checked 'restrict' constraints, thus equalizing performance with e.g. FORTRAN.)

<comment><USER31> How is Rust an answer to not liking C++'a complexity. With the complexities inherent in the borrow semantics (with the box ref cell stuff that comes with it) and the complexities inherent in the type system and trait system, Rudy seems to be at least as complex as C++. In fact this point gets tossed out a lot, Rust is not a C replacement for C developers, it is at best a C++ replacement for developers who want something more complex than C. Not commenting on the quality of the complexity, just that it seems odd that you would say Rust is an answer to disliking complexity.

<comment><USER32> But note what those complexities buy you: they bring restrictions and limitations that allow you reason _more_ about the code.

This is in stark contrast to some other complex features that allow more stuff to happen with less code.

Rust is indeed, complex in the sense that it's features are non-trivial, but I find it less complex than C++ in the sense that it has 1) less surface syntax (because of lack of historical baggage) 2) more cohesive, principled feature set (again, hindsight is 20/20) 3) it's inherently more limiting, which helps reading, understanding and reasoning about code.

</comment></comment></comment></comment></comment><comment><USER33> This isn't a library, it's a sort-of-a-modification of C, it seems.

Well, for a non-C language with high-level abstractions that lets me use C code relatively seamlessly - I'm content with C++. Many complain about its complexity, but you can actually avoid a lot of that complexity in _your_ code using facilities with complex implementation but relatively easy use.

</comment><comment><USER34> Looks interesting, but I can't help but notice they're distributing their source tarball via that site, and it doesn't have HTTPS. I don't understand why projects don't have SSL certs these days, especially considering Let's Encrypt has automated it all and made it free.</comment>


How To Fix Google's Busted Android App Market - <AUTHOR> http://www.businessinsider.com/10-ways-to-fix-googles-busted-android-app-market-2010-1

<comment><USER2> I'm not sure the statistics show it's quite that busted. 140,000 apps vs. 25,000 apps is sort of what you'd expect given the time advantage the iPhone had. The iPhone native app SDK was released in July 2008, to a built-in market of millions of iPhones already out there. The Android SDK was released in September 2008 (beta in August 2008), to a much smaller market of shipped devices. It wasn't until mid-2009 that Android as a platform became a serious iPhone competitor and started attracting app developers. Since then I think it's been holding its own reasonably well: I think if you looked at new apps shipped in the past 6 months, the gap would be much smaller.</comment>